	.file	"312452.c"
	.intel_syntax noprefix
	.text
	.globl	font_name
	.data
	.align 32
	.type	font_name, @object
	.size	font_name, 1024
font_name:
	.string	"myFont"
	.zero	1017
	.globl	ascii_art
	.bss
	.align 4
	.type	ascii_art, @object
	.size	ascii_art, 4
ascii_art:
	.zero	4
	.globl	glyphs
	.align 32
	.type	glyphs, @object
	.size	glyphs, 5080
glyphs:
	.zero	5080
	.globl	bits_width
	.align 4
	.type	bits_width, @object
	.size	bits_width, 4
bits_width:
	.zero	4
	.globl	bits_height
	.align 4
	.type	bits_height, @object
	.size	bits_height, 4
bits_height:
	.zero	4
	.globl	bits_delta
	.align 4
	.type	bits_delta, @object
	.size	bits_delta, 4
bits_delta:
	.zero	4
	.globl	bits_xoffset
	.align 4
	.type	bits_xoffset, @object
	.size	bits_xoffset, 4
bits_xoffset:
	.zero	4
	.globl	bits_yoffset
	.align 4
	.type	bits_yoffset, @object
	.size	bits_yoffset, 4
bits_yoffset:
	.zero	4
	.globl	bits_index
	.align 4
	.type	bits_index, @object
	.size	bits_index, 4
bits_index:
	.zero	4
	.globl	font_size
	.align 4
	.type	font_size, @object
	.size	font_size, 4
font_size:
	.zero	4
	.globl	line_space
	.align 4
	.type	line_space, @object
	.size	line_space, 4
line_space:
	.zero	4
	.globl	cap_height
	.align 4
	.type	cap_height, @object
	.size	cap_height, 4
cap_height:
	.zero	4
	.globl	is_bold
	.align 4
	.type	is_bold, @object
	.size	is_bold, 4
is_bold:
	.zero	4
	.globl	is_italic
	.align 4
	.type	is_italic, @object
	.size	is_italic, 4
is_italic:
	.zero	4
	.text
	.globl	pixel
	.type	pixel, @function
pixel:
.LFB6:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	DWORD PTR -32[rbp], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -28[rbp], eax
	jl	.L2
	mov	eax, 0
	jmp	.L3
.L2:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -32[rbp], eax
	jl	.L4
	mov	eax, 0
	jmp	.L3
.L4:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	add	eax, 7
	sar	eax, 3
	imul	eax, DWORD PTR -32[rbp]
	mov	ecx, eax
	mov	eax, DWORD PTR -28[rbp]
	sar	eax, 3
	add	eax, ecx
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -1[rbp], al
	movzx	edx, BYTE PTR -1[rbp]
	mov	eax, DWORD PTR -28[rbp]
	not	eax
	and	eax, 7
	mov	ecx, eax
	sar	edx, cl
	mov	eax, edx
	and	eax, 1
	test	eax, eax
	je	.L5
	mov	eax, 1
	jmp	.L3
.L5:
	mov	eax, 0
.L3:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	pixel, .-pixel
	.section	.rodata
.LC0:
	.string	"/* "
.LC1:
	.string	"Glyph %d: "
.LC2:
	.string	"size=%dx%d, "
.LC3:
	.string	"offset=%d,%d, "
.LC4:
	.string	"delta=%d\n"
.LC5:
	.string	"*/"
	.text
	.globl	print_glyph
	.type	print_glyph, @function
print_glyph:
.LFB7:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	lea	rdi, .LC0[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 20[rax]
	mov	esi, eax
	lea	rdi, .LC1[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	mov	esi, eax
	lea	rdi, .LC2[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 12[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	mov	esi, eax
	lea	rdi, .LC3[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	mov	esi, eax
	lea	rdi, .LC4[rip]
	mov	eax, 0
	call	printf@PLT
	mov	DWORD PTR -4[rbp], 0
	jmp	.L7
.L12:
	mov	edi, 9
	call	putchar@PLT
	mov	DWORD PTR -8[rbp], 0
	jmp	.L8
.L11:
	mov	edx, DWORD PTR -4[rbp]
	mov	ecx, DWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	pixel
	test	eax, eax
	je	.L9
	mov	eax, 42
	jmp	.L10
.L9:
	mov	eax, 32
.L10:
	mov	edi, eax
	call	putchar@PLT
	add	DWORD PTR -8[rbp], 1
.L8:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -8[rbp], eax
	jl	.L11
	mov	edi, 10
	call	putchar@PLT
	add	DWORD PTR -4[rbp], 1
.L7:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -4[rbp], eax
	jl	.L12
	lea	rdi, .LC5[rip]
	call	puts@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	print_glyph, .-print_glyph
	.globl	output_state_byte
	.bss
	.type	output_state_byte, @object
	.size	output_state_byte, 1
output_state_byte:
	.zero	1
	.globl	output_state_bitcount
	.type	output_state_bitcount, @object
	.size	output_state_bitcount, 1
output_state_bitcount:
	.zero	1
	.globl	output_state_linelen
	.type	output_state_linelen, @object
	.size	output_state_linelen, 1
output_state_linelen:
	.zero	1
	.globl	output_state_bytecount
	.align 4
	.type	output_state_bytecount, @object
	.size	output_state_bytecount, 4
output_state_bytecount:
	.zero	4
	.text
	.globl	output_newline
	.type	output_newline, @function
output_newline:
.LFB8:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	movzx	eax, BYTE PTR output_state_linelen[rip]
	test	al, al
	je	.L15
	mov	edi, 10
	call	putchar@PLT
	mov	BYTE PTR output_state_linelen[rip], 0
.L15:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	output_newline, .-output_newline
	.section	.rodata
.LC6:
	.string	"0x%02X,"
	.text
	.globl	output_bit
	.type	output_bit, @function
output_bit:
.LFB9:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	movzx	eax, BYTE PTR output_state_bitcount[rip]
	movzx	edx, al
	mov	eax, 7
	sub	eax, edx
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	mov	BYTE PTR -1[rbp], al
	cmp	DWORD PTR -20[rbp], 0
	je	.L17
	movzx	eax, BYTE PTR output_state_byte[rip]
	or	al, BYTE PTR -1[rbp]
	mov	BYTE PTR output_state_byte[rip], al
	jmp	.L18
.L17:
	movzx	eax, BYTE PTR -1[rbp]
	not	eax
	mov	edx, eax
	movzx	eax, BYTE PTR output_state_byte[rip]
	and	eax, edx
	mov	BYTE PTR output_state_byte[rip], al
.L18:
	movzx	eax, BYTE PTR output_state_bitcount[rip]
	add	eax, 1
	mov	BYTE PTR output_state_bitcount[rip], al
	movzx	eax, BYTE PTR output_state_bitcount[rip]
	cmp	al, 7
	jbe	.L21
	mov	BYTE PTR output_state_bitcount[rip], 0
	movzx	eax, BYTE PTR output_state_byte[rip]
	movzx	eax, al
	mov	esi, eax
	lea	rdi, .LC6[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR output_state_bytecount[rip]
	add	eax, 1
	mov	DWORD PTR output_state_bytecount[rip], eax
	movzx	eax, BYTE PTR output_state_linelen[rip]
	add	eax, 1
	mov	BYTE PTR output_state_linelen[rip], al
	movzx	eax, BYTE PTR output_state_linelen[rip]
	cmp	al, 9
	jbe	.L20
	call	output_newline
.L20:
	mov	BYTE PTR output_state_byte[rip], 0
.L21:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	output_bit, .-output_bit
	.globl	output_number
	.type	output_number, @function
output_number:
.LFB10:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	DWORD PTR -4[rbp], edi
	mov	DWORD PTR -8[rbp], esi
	jmp	.L23
.L24:
	mov	eax, DWORD PTR -8[rbp]
	sub	eax, 1
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	and	eax, DWORD PTR -4[rbp]
	mov	edi, eax
	call	output_bit
	sub	DWORD PTR -8[rbp], 1
.L23:
	cmp	DWORD PTR -8[rbp], 0
	jg	.L24
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	output_number, .-output_number
	.globl	output_line
	.type	output_line, @function
output_line:
.LFB11:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	DWORD PTR -4[rbp], 0
	jmp	.L26
.L27:
	mov	edx, DWORD PTR -28[rbp]
	mov	ecx, DWORD PTR -4[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	pixel
	mov	edi, eax
	call	output_bit
	add	DWORD PTR -4[rbp], 1
.L26:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -4[rbp], eax
	jl	.L27
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	output_line, .-output_line
	.globl	output_pad_to_byte
	.type	output_pad_to_byte, @function
output_pad_to_byte:
.LFB12:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	jmp	.L29
.L30:
	mov	edi, 0
	call	output_bit
.L29:
	movzx	eax, BYTE PTR output_state_bitcount[rip]
	test	al, al
	jne	.L30
	nop
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE12:
	.size	output_pad_to_byte, .-output_pad_to_byte
	.globl	lines_identical
	.type	lines_identical, @function
lines_identical:
.LFB13:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 32
	.cfi_offset 3, -24
	mov	QWORD PTR -32[rbp], rdi
	mov	DWORD PTR -36[rbp], esi
	mov	DWORD PTR -40[rbp], edx
	mov	DWORD PTR -12[rbp], 0
	jmp	.L32
.L35:
	mov	edx, DWORD PTR -36[rbp]
	mov	ecx, DWORD PTR -12[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	pixel
	mov	ebx, eax
	mov	edx, DWORD PTR -40[rbp]
	mov	ecx, DWORD PTR -12[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	pixel
	cmp	ebx, eax
	je	.L33
	mov	eax, 0
	jmp	.L34
.L33:
	add	DWORD PTR -12[rbp], 1
.L32:
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -12[rbp], eax
	jl	.L35
	mov	eax, 1
.L34:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE13:
	.size	lines_identical, .-lines_identical
	.globl	num_lines_identical
	.type	num_lines_identical, @function
num_lines_identical:
.LFB14:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	eax, DWORD PTR -28[rbp]
	add	eax, 1
	mov	DWORD PTR -4[rbp], eax
	jmp	.L37
.L40:
	mov	edx, DWORD PTR -4[rbp]
	mov	ecx, DWORD PTR -28[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	lines_identical
	test	eax, eax
	je	.L42
	add	DWORD PTR -4[rbp], 1
.L37:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -4[rbp], eax
	jl	.L40
	jmp	.L39
.L42:
	nop
.L39:
	mov	eax, DWORD PTR -4[rbp]
	sub	eax, DWORD PTR -28[rbp]
	sub	eax, 1
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE14:
	.size	num_lines_identical, .-num_lines_identical
	.globl	output_glyph
	.type	output_glyph, @function
output_glyph:
.LFB15:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -8[rbp], 0
	mov	eax, DWORD PTR ascii_art[rip]
	test	eax, eax
	je	.L44
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	print_glyph
.L44:
	mov	esi, 3
	mov	edi, 0
	call	output_number
	mov	edx, DWORD PTR bits_width[rip]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	mov	esi, edx
	mov	edi, eax
	call	output_number
	mov	edx, DWORD PTR bits_height[rip]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 4[rax]
	mov	esi, edx
	mov	edi, eax
	call	output_number
	mov	edx, DWORD PTR bits_xoffset[rip]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	mov	esi, edx
	mov	edi, eax
	call	output_number
	mov	edx, DWORD PTR bits_yoffset[rip]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 12[rax]
	mov	esi, edx
	mov	edi, eax
	call	output_number
	mov	edx, DWORD PTR bits_delta[rip]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	mov	esi, edx
	mov	edi, eax
	call	output_number
	jmp	.L45
.L49:
	mov	edx, DWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	num_lines_identical
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 0
	jne	.L46
	mov	edi, 0
	call	output_bit
	mov	edx, DWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	output_line
	jmp	.L47
.L46:
	mov	edi, 1
	call	output_bit
	cmp	DWORD PTR -4[rbp], 6
	jle	.L48
	mov	DWORD PTR -4[rbp], 6
.L48:
	mov	eax, DWORD PTR -4[rbp]
	sub	eax, 1
	mov	esi, 3
	mov	edi, eax
	call	output_number
	mov	edx, DWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	output_line
	mov	eax, DWORD PTR -4[rbp]
	add	DWORD PTR -8[rbp], eax
.L47:
	add	DWORD PTR -8[rbp], 1
.L45:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -8[rbp], eax
	jl	.L49
	call	output_pad_to_byte
	mov	eax, DWORD PTR ascii_art[rip]
	test	eax, eax
	je	.L51
	call	output_newline
.L51:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE15:
	.size	output_glyph, .-output_glyph
	.section	.rodata
	.align 8
.LC7:
	.string	"static const unsigned char %s_data[] = {\n"
.LC8:
	.string	"};"
	.align 8
.LC9:
	.string	"/* font data size: %d bytes */\n\n"
	.align 8
.LC10:
	.string	"static const unsigned char %s_index[] = {\n"
	.align 8
.LC11:
	.string	"/* font index size: %d bytes */\n\n"
.LC12:
	.string	"/*"
.LC13:
	.string	"typedef struct {"
.LC14:
	.string	"\tconst unsigned char *index;"
	.align 8
.LC15:
	.string	"\tconst unsigned char *unicode;"
.LC16:
	.string	"\tconst unsigned char *data;"
.LC17:
	.string	"\tunsigned char version;"
.LC18:
	.string	"\tunsigned char reserved;"
.LC19:
	.string	"\tunsigned char index1_first;"
.LC20:
	.string	"\tunsigned char index1_last;"
.LC21:
	.string	"\tunsigned char index2_first;"
.LC22:
	.string	"\tunsigned char index2_last;"
.LC23:
	.string	"\tunsigned char bits_index;"
.LC24:
	.string	"\tunsigned char bits_width;"
.LC25:
	.string	"\tunsigned char bits_height;"
.LC26:
	.string	"\tunsigned char bits_xoffset;"
.LC27:
	.string	"\tunsigned char bits_yoffset;"
.LC28:
	.string	"\tunsigned char bits_delta;"
.LC29:
	.string	"\tunsigned char line_space;"
.LC30:
	.string	"\tunsigned char cap_height;"
.LC31:
	.string	"} HX8357_t3_font_t;"
	.align 8
.LC32:
	.string	"const HX8357_t3_font_t %s = {\n"
.LC33:
	.string	"\t%s_index,\n"
.LC34:
	.string	"\t0,"
.LC35:
	.string	"\t%s_data,\n"
.LC36:
	.string	"\t1,"
.LC37:
	.string	"\t%d,\n"
.LC38:
	.string	"\t%d\n"
.LC39:
	.string	"\n\n"
	.text
	.globl	main
	.type	main, @function
main:
.LFB16:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	edx, 5080
	mov	esi, 0
	lea	rdi, glyphs[rip]
	call	memset@PLT
	mov	rax, QWORD PTR stdin[rip]
	lea	rsi, glyphs[rip]
	mov	rdi, rax
	call	parse_bdf
	call	compute_min_max
	lea	rsi, font_name[rip]
	lea	rdi, .LC7[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rax, glyphs[rip+1280]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L53
.L54:
	mov	edx, DWORD PTR output_state_bytecount[rip]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	output_glyph
	add	QWORD PTR -8[rbp], 40
.L53:
	lea	rax, glyphs[rip+5040]
	cmp	QWORD PTR -8[rbp], rax
	jbe	.L54
	call	output_newline
	lea	rdi, .LC8[rip]
	call	puts@PLT
	mov	eax, DWORD PTR output_state_bytecount[rip]
	mov	DWORD PTR -16[rbp], eax
	mov	eax, DWORD PTR -16[rbp]
	mov	esi, eax
	lea	rdi, .LC9[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR output_state_bytecount[rip]
	mov	edi, eax
	call	bits_required_unsigned
	mov	DWORD PTR bits_index[rip], eax
	lea	rsi, font_name[rip]
	lea	rdi, .LC10[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rax, glyphs[rip+1280]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L55
.L56:
	mov	edx, DWORD PTR bits_index[rip]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 24[rax]
	mov	esi, edx
	mov	edi, eax
	call	output_number
	add	QWORD PTR -8[rbp], 40
.L55:
	lea	rax, glyphs[rip+5040]
	cmp	QWORD PTR -8[rbp], rax
	jbe	.L56
	call	output_pad_to_byte
	call	output_newline
	lea	rdi, .LC8[rip]
	call	puts@PLT
	mov	eax, DWORD PTR output_state_bytecount[rip]
	sub	eax, DWORD PTR -16[rbp]
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
	mov	esi, eax
	lea	rdi, .LC11[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR ascii_art[rip]
	test	eax, eax
	je	.L57
	lea	rdi, .LC12[rip]
	call	puts@PLT
	lea	rdi, .LC13[rip]
	call	puts@PLT
	lea	rdi, .LC14[rip]
	call	puts@PLT
	lea	rdi, .LC15[rip]
	call	puts@PLT
	lea	rdi, .LC16[rip]
	call	puts@PLT
	lea	rdi, .LC17[rip]
	call	puts@PLT
	lea	rdi, .LC18[rip]
	call	puts@PLT
	lea	rdi, .LC19[rip]
	call	puts@PLT
	lea	rdi, .LC20[rip]
	call	puts@PLT
	lea	rdi, .LC21[rip]
	call	puts@PLT
	lea	rdi, .LC22[rip]
	call	puts@PLT
	lea	rdi, .LC23[rip]
	call	puts@PLT
	lea	rdi, .LC24[rip]
	call	puts@PLT
	lea	rdi, .LC25[rip]
	call	puts@PLT
	lea	rdi, .LC26[rip]
	call	puts@PLT
	lea	rdi, .LC27[rip]
	call	puts@PLT
	lea	rdi, .LC28[rip]
	call	puts@PLT
	lea	rdi, .LC29[rip]
	call	puts@PLT
	lea	rdi, .LC30[rip]
	call	puts@PLT
	lea	rdi, .LC31[rip]
	call	puts@PLT
	lea	rdi, .LC5[rip]
	call	puts@PLT
.L57:
	lea	rsi, font_name[rip]
	lea	rdi, .LC32[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rsi, font_name[rip]
	lea	rdi, .LC33[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdi, .LC34[rip]
	call	puts@PLT
	lea	rsi, font_name[rip]
	lea	rdi, .LC35[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdi, .LC36[rip]
	call	puts@PLT
	lea	rdi, .LC34[rip]
	call	puts@PLT
	mov	esi, 32
	lea	rdi, .LC37[rip]
	mov	eax, 0
	call	printf@PLT
	mov	esi, 126
	lea	rdi, .LC37[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdi, .LC34[rip]
	call	puts@PLT
	lea	rdi, .LC34[rip]
	call	puts@PLT
	mov	eax, DWORD PTR bits_index[rip]
	mov	esi, eax
	lea	rdi, .LC37[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR bits_width[rip]
	mov	esi, eax
	lea	rdi, .LC37[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR bits_height[rip]
	mov	esi, eax
	lea	rdi, .LC37[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR bits_xoffset[rip]
	mov	esi, eax
	lea	rdi, .LC37[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR bits_yoffset[rip]
	mov	esi, eax
	lea	rdi, .LC37[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR bits_delta[rip]
	mov	esi, eax
	lea	rdi, .LC37[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR line_space[rip]
	mov	esi, eax
	lea	rdi, .LC37[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR cap_height[rip]
	mov	esi, eax
	lea	rdi, .LC38[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdi, .LC8[rip]
	call	puts@PLT
	lea	rdi, .LC39[rip]
	call	puts@PLT
	mov	eax, 0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE16:
	.size	main, .-main
	.section	.rodata
.LC40:
	.string	"STARTCHAR"
.LC41:
	.string	"SIZE %d %d %d"
.LC42:
	.string	"FAMILY_NAME \"%[^\"]\""
.LC43:
	.string	"WEIGHT_NAME \"Bold\""
.LC44:
	.string	"SLANT \"I\""
.LC45:
	.string	"FONT_ASCENT %d"
.LC46:
	.string	"FONT_DESCENT %d"
.LC47:
	.string	"ENCODING %d"
.LC48:
	.string	"DWIDTH %d %d"
.LC49:
	.string	"DWIDTH x negative, at line %d"
.LC50:
	.string	"DWIDTH y not zero, at line %d"
.LC51:
	.string	"BBX %d %d %d %d"
.LC52:
	.string	"BBX width negative, line %d"
.LC53:
	.string	"BBX height negative, line %d"
.LC54:
	.string	"BITMAP"
.LC55:
	.string	"missing ENCODING, line %d"
.LC56:
	.string	"missing DWIDTH, line %d"
.LC57:
	.string	"missing BBX, line %d"
.LC58:
	.string	"unable to allocate memory!"
.LC59:
	.string	"non-hex char on line %d"
.LC60:
	.string	"ENDCHAR"
.LC61:
	.string	"expected ENDCHAR at line %d"
.LC62:
	.string	"_%d"
	.text
	.globl	parse_bdf
	.type	parse_bdf, @function
parse_bdf:
.LFB17:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 2216
	.cfi_offset 3, -24
	mov	QWORD PTR -2216[rbp], rdi
	mov	QWORD PTR -2224[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -24[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -2148[rbp], 0
	mov	DWORD PTR -2144[rbp], 0
	mov	DWORD PTR -2140[rbp], -1
	mov	DWORD PTR -2136[rbp], -1
	mov	DWORD PTR -2132[rbp], -1
	mov	DWORD PTR -2128[rbp], 0
	mov	DWORD PTR -2124[rbp], 0
	mov	DWORD PTR -2164[rbp], 0
	mov	DWORD PTR -2160[rbp], 0
	jmp	.L60
.L92:
	add	DWORD PTR -2144[rbp], 1
	cmp	DWORD PTR -2148[rbp], 0
	jne	.L61
	lea	rax, -2080[rbp]
	mov	rdx, rax
	lea	rax, .LC40[rip]
	mov	ecx, 10
	mov	rsi, rdx
	mov	rdi, rax
	repz cmpsb
	seta	al
	setb	dl
	sub	eax, edx
	movsx	eax, al
	test	eax, eax
	jne	.L62
	mov	DWORD PTR -2140[rbp], 0
	mov	DWORD PTR -2136[rbp], 0
	mov	DWORD PTR -2132[rbp], 0
	jmp	.L60
.L62:
	lea	rsi, -2152[rbp]
	lea	rcx, -2156[rbp]
	lea	rdx, -2168[rbp]
	lea	rax, -2080[rbp]
	mov	r8, rsi
	lea	rsi, .LC41[rip]
	mov	rdi, rax
	mov	eax, 0
	call	__isoc99_sscanf@PLT
	cmp	eax, 3
	jne	.L63
	mov	eax, DWORD PTR -2168[rbp]
	mov	DWORD PTR font_size[rip], eax
.L63:
	lea	rdx, -1056[rbp]
	lea	rax, -2080[rbp]
	lea	rsi, .LC42[rip]
	mov	rdi, rax
	mov	eax, 0
	call	__isoc99_sscanf@PLT
	cmp	eax, 1
	jne	.L64
	lea	rax, -1056[rbp]
	mov	QWORD PTR -2112[rbp], rax
	lea	rax, font_name[rip]
	mov	QWORD PTR -2104[rbp], rax
	jmp	.L65
.L67:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -2112[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	rax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8
	test	eax, eax
	je	.L66
	mov	rax, QWORD PTR -2104[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -2104[rbp], rdx
	mov	rdx, QWORD PTR -2112[rbp]
	movzx	edx, BYTE PTR [rdx]
	mov	BYTE PTR [rax], dl
.L66:
	add	QWORD PTR -2112[rbp], 1
.L65:
	mov	rax, QWORD PTR -2112[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L67
	mov	rax, QWORD PTR -2104[rbp]
	mov	BYTE PTR [rax], 0
.L64:
	lea	rax, -2080[rbp]
	mov	edx, 18
	lea	rsi, .LC43[rip]
	mov	rdi, rax
	call	strncmp@PLT
	test	eax, eax
	jne	.L68
	mov	DWORD PTR is_bold[rip], 1
.L68:
	lea	rax, -2080[rbp]
	mov	edx, 9
	lea	rsi, .LC44[rip]
	mov	rdi, rax
	call	strncmp@PLT
	test	eax, eax
	jne	.L69
	mov	DWORD PTR is_italic[rip], 1
.L69:
	lea	rdx, -2164[rbp]
	lea	rax, -2080[rbp]
	lea	rsi, .LC45[rip]
	mov	rdi, rax
	mov	eax, 0
	call	__isoc99_sscanf@PLT
	cmp	eax, 1
	jne	.L70
	mov	DWORD PTR -2128[rbp], 1
.L70:
	lea	rdx, -2160[rbp]
	lea	rax, -2080[rbp]
	lea	rsi, .LC46[rip]
	mov	rdi, rax
	mov	eax, 0
	call	__isoc99_sscanf@PLT
	cmp	eax, 1
	jne	.L71
	mov	DWORD PTR -2124[rbp], 1
.L71:
	lea	rdx, -2196[rbp]
	lea	rax, -2080[rbp]
	lea	rsi, .LC47[rip]
	mov	rdi, rax
	mov	eax, 0
	call	__isoc99_sscanf@PLT
	cmp	eax, 1
	jne	.L72
	mov	DWORD PTR -2140[rbp], 1
	jmp	.L60
.L72:
	lea	rcx, -2188[rbp]
	lea	rdx, -2192[rbp]
	lea	rax, -2080[rbp]
	lea	rsi, .LC48[rip]
	mov	rdi, rax
	mov	eax, 0
	call	__isoc99_sscanf@PLT
	cmp	eax, 2
	jne	.L73
	mov	eax, DWORD PTR -2192[rbp]
	test	eax, eax
	jns	.L74
	mov	eax, DWORD PTR -2144[rbp]
	mov	esi, eax
	lea	rdi, .LC49[rip]
	mov	eax, 0
	call	die
.L74:
	mov	eax, DWORD PTR -2188[rbp]
	test	eax, eax
	je	.L75
	mov	eax, DWORD PTR -2144[rbp]
	mov	esi, eax
	lea	rdi, .LC50[rip]
	mov	eax, 0
	call	die
.L75:
	mov	DWORD PTR -2136[rbp], 1
	jmp	.L60
.L73:
	lea	rdi, -2172[rbp]
	lea	rsi, -2176[rbp]
	lea	rcx, -2180[rbp]
	lea	rdx, -2184[rbp]
	lea	rax, -2080[rbp]
	mov	r9, rdi
	mov	r8, rsi
	lea	rsi, .LC51[rip]
	mov	rdi, rax
	mov	eax, 0
	call	__isoc99_sscanf@PLT
	cmp	eax, 4
	jne	.L76
	mov	eax, DWORD PTR -2184[rbp]
	test	eax, eax
	jns	.L77
	mov	eax, DWORD PTR -2144[rbp]
	mov	esi, eax
	lea	rdi, .LC52[rip]
	mov	eax, 0
	call	die
.L77:
	mov	eax, DWORD PTR -2180[rbp]
	test	eax, eax
	jns	.L78
	mov	eax, DWORD PTR -2144[rbp]
	mov	esi, eax
	lea	rdi, .LC53[rip]
	mov	eax, 0
	call	die
.L78:
	mov	DWORD PTR -2132[rbp], 1
	jmp	.L60
.L76:
	lea	rax, -2080[rbp]
	mov	edx, 6
	lea	rsi, .LC54[rip]
	mov	rdi, rax
	call	strncmp@PLT
	test	eax, eax
	jne	.L60
	cmp	DWORD PTR -2140[rbp], 1
	je	.L79
	mov	eax, DWORD PTR -2144[rbp]
	mov	esi, eax
	lea	rdi, .LC55[rip]
	mov	eax, 0
	call	die
.L79:
	cmp	DWORD PTR -2136[rbp], 1
	je	.L80
	mov	eax, DWORD PTR -2144[rbp]
	mov	esi, eax
	lea	rdi, .LC56[rip]
	mov	eax, 0
	call	die
.L80:
	cmp	DWORD PTR -2132[rbp], 1
	je	.L81
	mov	eax, DWORD PTR -2144[rbp]
	mov	esi, eax
	lea	rdi, .LC57[rip]
	mov	eax, 0
	call	die
.L81:
	mov	eax, DWORD PTR -2180[rbp]
	mov	DWORD PTR -2120[rbp], eax
	mov	eax, DWORD PTR -2184[rbp]
	add	eax, 7
	sar	eax, 3
	mov	DWORD PTR -2116[rbp], eax
	mov	eax, DWORD PTR -2196[rbp]
	cmp	eax, 31
	jle	.L82
	mov	eax, DWORD PTR -2196[rbp]
	cmp	eax, 126
	jg	.L82
	mov	eax, DWORD PTR -2120[rbp]
	imul	eax, DWORD PTR -2116[rbp]
	cdqe
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -2088[rbp], rax
	cmp	QWORD PTR -2088[rbp], 0
	jne	.L83
	lea	rdi, .LC58[rip]
	mov	eax, 0
	call	die
.L83:
	mov	eax, DWORD PTR -2196[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	mov	rax, QWORD PTR -2224[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -2184[rbp]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -2196[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	mov	rax, QWORD PTR -2224[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -2180[rbp]
	mov	DWORD PTR 4[rdx], eax
	mov	eax, DWORD PTR -2196[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	mov	rax, QWORD PTR -2224[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -2176[rbp]
	mov	DWORD PTR 8[rdx], eax
	mov	eax, DWORD PTR -2196[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	mov	rax, QWORD PTR -2224[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -2172[rbp]
	mov	DWORD PTR 12[rdx], eax
	mov	eax, DWORD PTR -2196[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	mov	rax, QWORD PTR -2224[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -2192[rbp]
	mov	DWORD PTR 16[rdx], eax
	mov	eax, DWORD PTR -2196[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	mov	rax, QWORD PTR -2224[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -2196[rbp]
	mov	DWORD PTR 20[rdx], eax
	mov	eax, DWORD PTR -2196[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	mov	rax, QWORD PTR -2224[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -2088[rbp]
	mov	QWORD PTR 32[rdx], rax
	jmp	.L84
.L82:
	mov	QWORD PTR -2088[rbp], 0
.L84:
	mov	DWORD PTR -2148[rbp], 1
	jmp	.L60
.L61:
	cmp	DWORD PTR -2120[rbp], 0
	jle	.L85
	cmp	DWORD PTR -2116[rbp], 0
	jle	.L85
	lea	rax, -2080[rbp]
	mov	QWORD PTR -2096[rbp], rax
	mov	DWORD PTR -2156[rbp], 0
	jmp	.L86
.L90:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -2096[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	rax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 4096
	test	eax, eax
	je	.L87
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -2096[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	movsx	rax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 4096
	test	eax, eax
	je	.L87
	cmp	QWORD PTR -2088[rbp], 0
	je	.L89
	mov	rbx, QWORD PTR -2088[rbp]
	lea	rax, 1[rbx]
	mov	QWORD PTR -2088[rbp], rax
	mov	rax, QWORD PTR -2096[rbp]
	mov	rdi, rax
	call	hex2
	mov	BYTE PTR [rbx], al
	jmp	.L89
.L87:
	mov	eax, DWORD PTR -2144[rbp]
	mov	esi, eax
	lea	rdi, .LC59[rip]
	mov	eax, 0
	call	die
.L89:
	add	QWORD PTR -2096[rbp], 2
	mov	eax, DWORD PTR -2156[rbp]
	add	eax, 1
	mov	DWORD PTR -2156[rbp], eax
.L86:
	mov	eax, DWORD PTR -2156[rbp]
	cmp	DWORD PTR -2116[rbp], eax
	jg	.L90
	sub	DWORD PTR -2120[rbp], 1
	jmp	.L60
.L85:
	lea	rax, -2080[rbp]
	mov	edx, 7
	lea	rsi, .LC60[rip]
	mov	rdi, rax
	call	strncmp@PLT
	test	eax, eax
	jne	.L91
	mov	DWORD PTR -2148[rbp], 0
	jmp	.L60
.L91:
	mov	eax, DWORD PTR -2144[rbp]
	mov	esi, eax
	lea	rdi, .LC61[rip]
	mov	eax, 0
	call	die
.L60:
	mov	rdx, QWORD PTR -2216[rbp]
	lea	rax, -2080[rbp]
	mov	esi, 1024
	mov	rdi, rax
	call	fgets@PLT
	test	rax, rax
	jne	.L92
	cmp	DWORD PTR -2128[rbp], 0
	je	.L93
	cmp	DWORD PTR -2124[rbp], 0
	je	.L93
	mov	edx, DWORD PTR -2164[rbp]
	mov	eax, DWORD PTR -2160[rbp]
	add	eax, edx
	mov	DWORD PTR line_space[rip], eax
.L93:
	mov	rax, QWORD PTR -2224[rbp]
	add	rax, 2760
	mov	rax, QWORD PTR 32[rax]
	test	rax, rax
	je	.L94
	mov	rax, QWORD PTR -2224[rbp]
	add	rax, 2760
	mov	edx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR -2224[rbp]
	add	rax, 2760
	mov	eax, DWORD PTR 12[rax]
	add	eax, edx
	mov	DWORD PTR cap_height[rip], eax
.L94:
	mov	edx, DWORD PTR font_size[rip]
	lea	rax, -1056[rbp]
	lea	rsi, .LC62[rip]
	mov	rdi, rax
	mov	eax, 0
	call	sprintf@PLT
	lea	rax, -1056[rbp]
	mov	rsi, rax
	lea	rdi, font_name[rip]
	call	strcat@PLT
	mov	eax, DWORD PTR is_bold[rip]
	test	eax, eax
	je	.L95
	lea	rdi, font_name[rip]
	call	strlen@PLT
	mov	rdx, rax
	lea	rax, font_name[rip]
	add	rax, rdx
	mov	DWORD PTR [rax], 1819230815
	mov	WORD PTR 4[rax], 100
.L95:
	mov	eax, DWORD PTR is_italic[rip]
	test	eax, eax
	je	.L98
	lea	rdi, font_name[rip]
	call	strlen@PLT
	mov	rdx, rax
	lea	rax, font_name[rip]
	add	rax, rdx
	movabs	rbx, 27981936906750303
	mov	QWORD PTR [rax], rbx
.L98:
	nop
	mov	rax, QWORD PTR -24[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L97
	call	__stack_chk_fail@PLT
.L97:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE17:
	.size	parse_bdf, .-parse_bdf
	.type	hex1, @function
hex1:
.LFB18:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, edi
	mov	BYTE PTR -20[rbp], al
	mov	BYTE PTR -1[rbp], 0
	cmp	BYTE PTR -20[rbp], 47
	jle	.L100
	cmp	BYTE PTR -20[rbp], 57
	jg	.L100
	movzx	eax, BYTE PTR -20[rbp]
	sub	eax, 48
	mov	BYTE PTR -1[rbp], al
	jmp	.L101
.L100:
	cmp	BYTE PTR -20[rbp], 64
	jle	.L102
	cmp	BYTE PTR -20[rbp], 70
	jg	.L102
	movzx	eax, BYTE PTR -20[rbp]
	sub	eax, 55
	mov	BYTE PTR -1[rbp], al
	jmp	.L101
.L102:
	cmp	BYTE PTR -20[rbp], 96
	jle	.L101
	cmp	BYTE PTR -20[rbp], 102
	jg	.L101
	movzx	eax, BYTE PTR -20[rbp]
	sub	eax, 87
	mov	BYTE PTR -1[rbp], al
.L101:
	movzx	eax, BYTE PTR -1[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE18:
	.size	hex1, .-hex1
	.type	hex2, @function
hex2:
.LFB19:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 8
	.cfi_offset 3, -24
	mov	QWORD PTR -16[rbp], rdi
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	edi, eax
	call	hex1
	movzx	eax, al
	sal	eax, 4
	mov	ebx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	edi, eax
	call	hex1
	or	eax, ebx
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE19:
	.size	hex2, .-hex2
	.globl	bits_required_unsigned
	.type	bits_required_unsigned, @function
bits_required_unsigned:
.LFB20:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	mov	DWORD PTR -4[rbp], 1
	cmp	DWORD PTR -20[rbp], 0
	jns	.L108
	mov	DWORD PTR -20[rbp], 0
	jmp	.L108
.L109:
	add	DWORD PTR -4[rbp], 1
.L108:
	mov	eax, DWORD PTR -4[rbp]
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	cmp	DWORD PTR -20[rbp], eax
	jge	.L109
	mov	eax, DWORD PTR -4[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE20:
	.size	bits_required_unsigned, .-bits_required_unsigned
	.globl	bits_required_signed
	.type	bits_required_signed, @function
bits_required_signed:
.LFB21:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	mov	DWORD PTR -24[rbp], esi
	mov	DWORD PTR -4[rbp], 2
	cmp	DWORD PTR -20[rbp], 0
	jle	.L112
	mov	DWORD PTR -20[rbp], 0
.L112:
	cmp	DWORD PTR -24[rbp], 0
	jns	.L114
	mov	DWORD PTR -24[rbp], 0
	jmp	.L114
.L115:
	add	DWORD PTR -4[rbp], 1
.L114:
	mov	eax, DWORD PTR -4[rbp]
	sub	eax, 1
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	neg	eax
	cmp	DWORD PTR -20[rbp], eax
	jl	.L115
	jmp	.L116
.L117:
	add	DWORD PTR -4[rbp], 1
.L116:
	mov	eax, DWORD PTR -4[rbp]
	sub	eax, 1
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	cmp	DWORD PTR -24[rbp], eax
	jge	.L117
	mov	eax, DWORD PTR -4[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE21:
	.size	bits_required_signed, .-bits_required_signed
	.globl	compute_min_max
	.type	compute_min_max, @function
compute_min_max:
.LFB22:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	DWORD PTR -36[rbp], 0
	mov	DWORD PTR -32[rbp], 0
	mov	DWORD PTR -28[rbp], 0
	mov	DWORD PTR -24[rbp], 0
	mov	DWORD PTR -20[rbp], 0
	mov	DWORD PTR -16[rbp], 0
	mov	DWORD PTR -12[rbp], 0
	lea	rax, glyphs[rip+1280]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L120
.L129:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 20[rax]
	test	eax, eax
	jne	.L121
	lea	rdx, glyphs[rip]
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, rdx
	sar	rax, 3
	mov	rdx, rax
	movabs	rax, -3689348814741910323
	imul	rax, rdx
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 20[rax], edx
.L121:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -36[rbp], eax
	jge	.L122
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -36[rbp], eax
.L122:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -32[rbp], eax
	jge	.L123
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 4[rax]
	mov	DWORD PTR -32[rbp], eax
.L123:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	DWORD PTR -24[rbp], eax
	jle	.L124
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	mov	DWORD PTR -24[rbp], eax
.L124:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	DWORD PTR -20[rbp], eax
	jge	.L125
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	mov	DWORD PTR -20[rbp], eax
.L125:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 12[rax]
	cmp	DWORD PTR -16[rbp], eax
	jle	.L126
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 12[rax]
	mov	DWORD PTR -16[rbp], eax
.L126:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 12[rax]
	cmp	DWORD PTR -12[rbp], eax
	jge	.L127
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 12[rax]
	mov	DWORD PTR -12[rbp], eax
.L127:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	cmp	DWORD PTR -28[rbp], eax
	jge	.L128
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	mov	DWORD PTR -28[rbp], eax
.L128:
	add	QWORD PTR -8[rbp], 40
.L120:
	lea	rax, glyphs[rip+5040]
	cmp	QWORD PTR -8[rbp], rax
	jbe	.L129
	mov	eax, DWORD PTR -36[rbp]
	mov	edi, eax
	call	bits_required_unsigned
	mov	DWORD PTR bits_width[rip], eax
	mov	eax, DWORD PTR -32[rbp]
	mov	edi, eax
	call	bits_required_unsigned
	mov	DWORD PTR bits_height[rip], eax
	mov	edx, DWORD PTR -20[rbp]
	mov	eax, DWORD PTR -24[rbp]
	mov	esi, edx
	mov	edi, eax
	call	bits_required_signed
	mov	DWORD PTR bits_xoffset[rip], eax
	mov	edx, DWORD PTR -12[rbp]
	mov	eax, DWORD PTR -16[rbp]
	mov	esi, edx
	mov	edi, eax
	call	bits_required_signed
	mov	DWORD PTR bits_yoffset[rip], eax
	mov	eax, DWORD PTR -28[rbp]
	mov	edi, eax
	call	bits_required_unsigned
	mov	DWORD PTR bits_delta[rip], eax
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE22:
	.size	compute_min_max, .-compute_min_max
	.globl	die
	.type	die, @function
die:
.LFB23:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 224
	mov	QWORD PTR -216[rbp], rdi
	mov	QWORD PTR -168[rbp], rsi
	mov	QWORD PTR -160[rbp], rdx
	mov	QWORD PTR -152[rbp], rcx
	mov	QWORD PTR -144[rbp], r8
	mov	QWORD PTR -136[rbp], r9
	test	al, al
	je	.L131
	movaps	XMMWORD PTR -128[rbp], xmm0
	movaps	XMMWORD PTR -112[rbp], xmm1
	movaps	XMMWORD PTR -96[rbp], xmm2
	movaps	XMMWORD PTR -80[rbp], xmm3
	movaps	XMMWORD PTR -64[rbp], xmm4
	movaps	XMMWORD PTR -48[rbp], xmm5
	movaps	XMMWORD PTR -32[rbp], xmm6
	movaps	XMMWORD PTR -16[rbp], xmm7
.L131:
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -184[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -208[rbp], 8
	mov	DWORD PTR -204[rbp], 48
	lea	rax, 16[rbp]
	mov	QWORD PTR -200[rbp], rax
	lea	rax, -176[rbp]
	mov	QWORD PTR -192[rbp], rax
	mov	rax, QWORD PTR stderr[rip]
	lea	rdx, -208[rbp]
	mov	rcx, QWORD PTR -216[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	vfprintf@PLT
	mov	edi, 1
	call	exit@PLT
	.cfi_endproc
.LFE23:
	.size	die, .-die
	.ident	"GCC: (Ubuntu 10.5.0-1ubuntu1~20.04) 10.5.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	 1f - 0f
	.long	 4f - 1f
	.long	 5
0:
	.string	 "GNU"
1:
	.align 8
	.long	 0xc0000002
	.long	 3f - 2f
2:
	.long	 0x3
3:
	.align 8
4:

	.arch armv5t
	.eabi_attribute 20, 1
	.eabi_attribute 21, 1
	.eabi_attribute 23, 3
	.eabi_attribute 24, 1
	.eabi_attribute 25, 1
	.eabi_attribute 26, 2
	.eabi_attribute 30, 6
	.eabi_attribute 34, 0
	.eabi_attribute 18, 4
	.file	"312452.c"
	.text
	.global	font_name
	.data
	.align	2
	.type	font_name, %object
	.size	font_name, 1024
font_name:
	.ascii	"myFont\000"
	.space	1017
	.global	ascii_art
	.bss
	.align	2
	.type	ascii_art, %object
	.size	ascii_art, 4
ascii_art:
	.space	4
	.comm	glyphs,4064,4
	.comm	bits_width,4,4
	.comm	bits_height,4,4
	.comm	bits_delta,4,4
	.comm	bits_xoffset,4,4
	.comm	bits_yoffset,4,4
	.comm	bits_index,4,4
	.global	font_size
	.align	2
	.type	font_size, %object
	.size	font_size, 4
font_size:
	.space	4
	.global	line_space
	.align	2
	.type	line_space, %object
	.size	line_space, 4
line_space:
	.space	4
	.global	cap_height
	.align	2
	.type	cap_height, %object
	.size	cap_height, 4
cap_height:
	.space	4
	.global	is_bold
	.align	2
	.type	is_bold, %object
	.size	is_bold, 4
is_bold:
	.space	4
	.global	is_italic
	.align	2
	.type	is_italic, %object
	.size	is_italic, 4
is_italic:
	.space	4
	.text
	.align	2
	.global	pixel
	.syntax unified
	.arm
	.fpu softvfp
	.type	pixel, %function
pixel:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #28
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	blt	.L2
	mov	r3, #0
	b	.L3
.L2:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	blt	.L4
	mov	r3, #0
	b	.L3
.L4:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #28]
	ldr	r2, [fp, #-16]
	ldr	r2, [r2]
	add	r2, r2, #7
	asr	r2, r2, #3
	ldr	r1, [fp, #-24]
	mul	r1, r2, r1
	ldr	r2, [fp, #-20]
	asr	r2, r2, #3
	add	r2, r1, r2
	add	r3, r3, r2
	ldrb	r3, [r3]
	strb	r3, [fp, #-5]
	ldrb	r2, [fp, #-5]	@ zero_extendqisi2
	ldr	r3, [fp, #-20]
	mvn	r3, r3
	and	r3, r3, #7
	asr	r3, r2, r3
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L5
	mov	r3, #1
	b	.L3
.L5:
	mov	r3, #0
.L3:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	pixel, .-pixel
	.section	.rodata
	.align	2
.LC0:
	.ascii	"/* \000"
	.align	2
.LC1:
	.ascii	"Glyph %d: \000"
	.align	2
.LC2:
	.ascii	"size=%dx%d, \000"
	.align	2
.LC3:
	.ascii	"offset=%d,%d, \000"
	.align	2
.LC4:
	.ascii	"delta=%d\012\000"
	.align	2
.LC5:
	.ascii	"*/\000"
	.text
	.align	2
	.global	print_glyph
	.syntax unified
	.arm
	.fpu softvfp
	.type	print_glyph, %function
print_glyph:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r0, .L13
	bl	printf
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #20]
	mov	r1, r3
	ldr	r0, .L13+4
	bl	printf
	ldr	r3, [fp, #-16]
	ldr	r1, [r3]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	mov	r2, r3
	ldr	r0, .L13+8
	bl	printf
	ldr	r3, [fp, #-16]
	ldr	r1, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	mov	r2, r3
	ldr	r0, .L13+12
	bl	printf
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #16]
	mov	r1, r3
	ldr	r0, .L13+16
	bl	printf
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L7
.L12:
	mov	r0, #9
	bl	putchar
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L8
.L11:
	ldr	r2, [fp, #-8]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-16]
	bl	pixel
	mov	r3, r0
	cmp	r3, #0
	beq	.L9
	mov	r3, #42
	b	.L10
.L9:
	mov	r3, #32
.L10:
	mov	r0, r3
	bl	putchar
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L8:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	blt	.L11
	mov	r0, #10
	bl	putchar
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L7:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	blt	.L12
	ldr	r0, .L13+20
	bl	puts
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L14:
	.align	2
.L13:
	.word	.LC0
	.word	.LC1
	.word	.LC2
	.word	.LC3
	.word	.LC4
	.word	.LC5
	.size	print_glyph, .-print_glyph
	.comm	output_state_byte,1,1
	.global	output_state_bitcount
	.bss
	.type	output_state_bitcount, %object
	.size	output_state_bitcount, 1
output_state_bitcount:
	.space	1
	.global	output_state_linelen
	.type	output_state_linelen, %object
	.size	output_state_linelen, 1
output_state_linelen:
	.space	1
	.global	output_state_bytecount
	.align	2
	.type	output_state_bytecount, %object
	.size	output_state_bytecount, 4
output_state_bytecount:
	.space	4
	.text
	.align	2
	.global	output_newline
	.syntax unified
	.arm
	.fpu softvfp
	.type	output_newline, %function
output_newline:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L18
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L17
	mov	r0, #10
	bl	putchar
	ldr	r3, .L18
	mov	r2, #0
	strb	r2, [r3]
.L17:
	nop
	pop	{fp, pc}
.L19:
	.align	2
.L18:
	.word	output_state_linelen
	.size	output_newline, .-output_newline
	.section	.rodata
	.align	2
.LC6:
	.ascii	"0x%02X,\000"
	.text
	.align	2
	.global	output_bit
	.syntax unified
	.arm
	.fpu softvfp
	.type	output_bit, %function
output_bit:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r3, .L26
	ldrb	r3, [r3]	@ zero_extendqisi2
	rsb	r3, r3, #7
	mov	r2, #1
	lsl	r3, r2, r3
	strb	r3, [fp, #-5]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L21
	ldr	r3, .L26+4
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldrb	r3, [fp, #-5]
	orr	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, .L26+4
	strb	r2, [r3]
	b	.L22
.L21:
	ldrsb	r3, [fp, #-5]
	mvn	r3, r3
	lsl	r3, r3, #24
	asr	r2, r3, #24
	ldr	r3, .L26+4
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r3, r3, r2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r2, r3, #255
	ldr	r3, .L26+4
	strb	r2, [r3]
.L22:
	ldr	r3, .L26
	ldrb	r3, [r3]	@ zero_extendqisi2
	add	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, .L26
	strb	r2, [r3]
	ldr	r3, .L26
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #7
	bls	.L25
	ldr	r3, .L26
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, .L26+4
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r0, .L26+8
	bl	printf
	ldr	r3, .L26+12
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L26+12
	str	r3, [r2]
	ldr	r3, .L26+16
	ldrb	r3, [r3]	@ zero_extendqisi2
	add	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, .L26+16
	strb	r2, [r3]
	ldr	r3, .L26+16
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #9
	bls	.L24
	bl	output_newline
.L24:
	ldr	r3, .L26+4
	mov	r2, #0
	strb	r2, [r3]
.L25:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L27:
	.align	2
.L26:
	.word	output_state_bitcount
	.word	output_state_byte
	.word	.LC6
	.word	output_state_bytecount
	.word	output_state_linelen
	.size	output_bit, .-output_bit
	.align	2
	.global	output_number
	.syntax unified
	.arm
	.fpu softvfp
	.type	output_number, %function
output_number:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	b	.L29
.L30:
	ldr	r3, [fp, #-12]
	sub	r3, r3, #1
	mov	r2, #1
	lsl	r2, r2, r3
	ldr	r3, [fp, #-8]
	and	r3, r3, r2
	mov	r0, r3
	bl	output_bit
	ldr	r3, [fp, #-12]
	sub	r3, r3, #1
	str	r3, [fp, #-12]
.L29:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bgt	.L30
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	output_number, .-output_number
	.align	2
	.global	output_line
	.syntax unified
	.arm
	.fpu softvfp
	.type	output_line, %function
output_line:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L32
.L33:
	ldr	r2, [fp, #-20]
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-16]
	bl	pixel
	mov	r3, r0
	mov	r0, r3
	bl	output_bit
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L32:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	blt	.L33
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	output_line, .-output_line
	.align	2
	.global	output_pad_to_byte
	.syntax unified
	.arm
	.fpu softvfp
	.type	output_pad_to_byte, %function
output_pad_to_byte:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	b	.L35
.L36:
	mov	r0, #0
	bl	output_bit
.L35:
	ldr	r3, .L37
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L36
	nop
	nop
	pop	{fp, pc}
.L38:
	.align	2
.L37:
	.word	output_state_bitcount
	.size	output_pad_to_byte, .-output_pad_to_byte
	.align	2
	.global	lines_identical
	.syntax unified
	.arm
	.fpu softvfp
	.type	lines_identical, %function
lines_identical:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #28
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L40
.L43:
	ldr	r2, [fp, #-28]
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-24]
	bl	pixel
	mov	r4, r0
	ldr	r2, [fp, #-32]
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-24]
	bl	pixel
	mov	r3, r0
	cmp	r4, r3
	beq	.L41
	mov	r3, #0
	b	.L42
.L41:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L40:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	blt	.L43
	mov	r3, #1
.L42:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
	.size	lines_identical, .-lines_identical
	.align	2
	.global	num_lines_identical
	.syntax unified
	.arm
	.fpu softvfp
	.type	num_lines_identical, %function
num_lines_identical:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-8]
	b	.L45
.L48:
	ldr	r2, [fp, #-8]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	lines_identical
	mov	r3, r0
	cmp	r3, #0
	beq	.L50
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L45:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	blt	.L48
	b	.L47
.L50:
	nop
.L47:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-20]
	sub	r3, r2, r3
	sub	r3, r3, #1
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	num_lines_identical, .-num_lines_identical
	.align	2
	.global	output_glyph
	.syntax unified
	.arm
	.fpu softvfp
	.type	output_glyph, %function
output_glyph:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-12]
	ldr	r3, .L60
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L52
	ldr	r0, [fp, #-16]
	bl	print_glyph
.L52:
	mov	r1, #3
	mov	r0, #0
	bl	output_number
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, .L60+4
	ldr	r2, [r2]
	mov	r1, r2
	mov	r0, r3
	bl	output_number
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	ldr	r2, .L60+8
	ldr	r2, [r2]
	mov	r1, r2
	mov	r0, r3
	bl	output_number
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	ldr	r2, .L60+12
	ldr	r2, [r2]
	mov	r1, r2
	mov	r0, r3
	bl	output_number
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	ldr	r2, .L60+16
	ldr	r2, [r2]
	mov	r1, r2
	mov	r0, r3
	bl	output_number
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #16]
	ldr	r2, .L60+20
	ldr	r2, [r2]
	mov	r1, r2
	mov	r0, r3
	bl	output_number
	b	.L53
.L57:
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-16]
	bl	num_lines_identical
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L54
	mov	r0, #0
	bl	output_bit
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-16]
	bl	output_line
	b	.L55
.L54:
	mov	r0, #1
	bl	output_bit
	ldr	r3, [fp, #-8]
	cmp	r3, #6
	ble	.L56
	mov	r3, #6
	str	r3, [fp, #-8]
.L56:
	ldr	r3, [fp, #-8]
	sub	r3, r3, #1
	mov	r1, #3
	mov	r0, r3
	bl	output_number
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-16]
	bl	output_line
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	str	r3, [fp, #-12]
.L55:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L53:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	blt	.L57
	bl	output_pad_to_byte
	ldr	r3, .L60
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L59
	bl	output_newline
.L59:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L61:
	.align	2
.L60:
	.word	ascii_art
	.word	bits_width
	.word	bits_height
	.word	bits_xoffset
	.word	bits_yoffset
	.word	bits_delta
	.size	output_glyph, .-output_glyph
	.section	.rodata
	.align	2
.LC7:
	.ascii	"static const unsigned char %s_data[] = {\012\000"
	.align	2
.LC8:
	.ascii	"};\000"
	.align	2
.LC9:
	.ascii	"/* font data size: %d bytes */\012\012\000"
	.align	2
.LC10:
	.ascii	"static const unsigned char %s_index[] = {\012\000"
	.align	2
.LC11:
	.ascii	"/* font index size: %d bytes */\012\012\000"
	.align	2
.LC12:
	.ascii	"/*\000"
	.align	2
.LC13:
	.ascii	"typedef struct {\000"
	.align	2
.LC14:
	.ascii	"\011const unsigned char *index;\000"
	.align	2
.LC15:
	.ascii	"\011const unsigned char *unicode;\000"
	.align	2
.LC16:
	.ascii	"\011const unsigned char *data;\000"
	.align	2
.LC17:
	.ascii	"\011unsigned char version;\000"
	.align	2
.LC18:
	.ascii	"\011unsigned char reserved;\000"
	.align	2
.LC19:
	.ascii	"\011unsigned char index1_first;\000"
	.align	2
.LC20:
	.ascii	"\011unsigned char index1_last;\000"
	.align	2
.LC21:
	.ascii	"\011unsigned char index2_first;\000"
	.align	2
.LC22:
	.ascii	"\011unsigned char index2_last;\000"
	.align	2
.LC23:
	.ascii	"\011unsigned char bits_index;\000"
	.align	2
.LC24:
	.ascii	"\011unsigned char bits_width;\000"
	.align	2
.LC25:
	.ascii	"\011unsigned char bits_height;\000"
	.align	2
.LC26:
	.ascii	"\011unsigned char bits_xoffset;\000"
	.align	2
.LC27:
	.ascii	"\011unsigned char bits_yoffset;\000"
	.align	2
.LC28:
	.ascii	"\011unsigned char bits_delta;\000"
	.align	2
.LC29:
	.ascii	"\011unsigned char line_space;\000"
	.align	2
.LC30:
	.ascii	"\011unsigned char cap_height;\000"
	.align	2
.LC31:
	.ascii	"} HX8357_t3_font_t;\000"
	.align	2
.LC32:
	.ascii	"const HX8357_t3_font_t %s = {\012\000"
	.align	2
.LC33:
	.ascii	"\011%s_index,\012\000"
	.align	2
.LC34:
	.ascii	"\0110,\000"
	.align	2
.LC35:
	.ascii	"\011%s_data,\012\000"
	.align	2
.LC36:
	.ascii	"\0111,\000"
	.align	2
.LC37:
	.ascii	"\011%d,\012\000"
	.align	2
.LC38:
	.ascii	"\011%d\012\000"
	.align	2
.LC39:
	.ascii	"\012\012\000"
	.text
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	mov	r2, #4064
	mov	r1, #0
	ldr	r0, .L69
	bl	memset
	ldr	r3, .L69+4
	ldr	r3, [r3]
	ldr	r1, .L69
	mov	r0, r3
	bl	parse_bdf
	bl	compute_min_max
	ldr	r1, .L69+8
	ldr	r0, .L69+12
	bl	printf
	ldr	r3, .L69+16
	str	r3, [fp, #-16]
	b	.L63
.L64:
	ldr	r3, .L69+20
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	str	r2, [r3, #24]
	ldr	r0, [fp, #-16]
	bl	output_glyph
	ldr	r3, [fp, #-16]
	add	r3, r3, #32
	str	r3, [fp, #-16]
.L63:
	ldr	r2, .L69+24
	ldr	r3, [fp, #-16]
	cmp	r3, r2
	bls	.L64
	bl	output_newline
	ldr	r0, .L69+28
	bl	puts
	ldr	r3, .L69+20
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r1, [fp, #-12]
	ldr	r0, .L69+32
	bl	printf
	ldr	r3, .L69+20
	ldr	r3, [r3]
	mov	r0, r3
	bl	bits_required_unsigned
	mov	r3, r0
	ldr	r2, .L69+36
	str	r3, [r2]
	ldr	r1, .L69+8
	ldr	r0, .L69+40
	bl	printf
	ldr	r3, .L69+16
	str	r3, [fp, #-16]
	b	.L65
.L66:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #24]
	ldr	r2, .L69+36
	ldr	r2, [r2]
	mov	r1, r2
	mov	r0, r3
	bl	output_number
	ldr	r3, [fp, #-16]
	add	r3, r3, #32
	str	r3, [fp, #-16]
.L65:
	ldr	r2, .L69+24
	ldr	r3, [fp, #-16]
	cmp	r3, r2
	bls	.L66
	bl	output_pad_to_byte
	bl	output_newline
	ldr	r0, .L69+28
	bl	puts
	ldr	r3, .L69+20
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	sub	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r1, [fp, #-8]
	ldr	r0, .L69+44
	bl	printf
	ldr	r3, .L69+48
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L67
	ldr	r0, .L69+52
	bl	puts
	ldr	r0, .L69+56
	bl	puts
	ldr	r0, .L69+60
	bl	puts
	ldr	r0, .L69+64
	bl	puts
	ldr	r0, .L69+68
	bl	puts
	ldr	r0, .L69+72
	bl	puts
	ldr	r0, .L69+76
	bl	puts
	ldr	r0, .L69+80
	bl	puts
	ldr	r0, .L69+84
	bl	puts
	ldr	r0, .L69+88
	bl	puts
	ldr	r0, .L69+92
	bl	puts
	ldr	r0, .L69+96
	bl	puts
	ldr	r0, .L69+100
	bl	puts
	ldr	r0, .L69+104
	bl	puts
	ldr	r0, .L69+108
	bl	puts
	ldr	r0, .L69+112
	bl	puts
	ldr	r0, .L69+116
	bl	puts
	ldr	r0, .L69+120
	bl	puts
	ldr	r0, .L69+124
	bl	puts
	ldr	r0, .L69+128
	bl	puts
	ldr	r0, .L69+132
	bl	puts
.L67:
	ldr	r1, .L69+8
	ldr	r0, .L69+136
	bl	printf
	ldr	r1, .L69+8
	ldr	r0, .L69+140
	bl	printf
	ldr	r0, .L69+144
	bl	puts
	ldr	r1, .L69+8
	ldr	r0, .L69+148
	bl	printf
	ldr	r0, .L69+152
	bl	puts
	ldr	r0, .L69+144
	bl	puts
	mov	r1, #32
	ldr	r0, .L69+156
	bl	printf
	mov	r1, #126
	ldr	r0, .L69+156
	bl	printf
	ldr	r0, .L69+144
	bl	puts
	ldr	r0, .L69+144
	bl	puts
	ldr	r3, .L69+36
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L69+156
	bl	printf
	ldr	r3, .L69+160
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L69+156
	bl	printf
	ldr	r3, .L69+164
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L69+156
	bl	printf
	ldr	r3, .L69+168
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L69+156
	bl	printf
	ldr	r3, .L69+172
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L69+156
	bl	printf
	ldr	r3, .L69+176
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L69+156
	bl	printf
	ldr	r3, .L69+180
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L69+156
	bl	printf
	ldr	r3, .L69+184
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L69+188
	bl	printf
	ldr	r0, .L69+28
	bl	puts
	ldr	r0, .L69+192
	bl	puts
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L70:
	.align	2
.L69:
	.word	glyphs
	.word	stdin
	.word	font_name
	.word	.LC7
	.word	glyphs+1024
	.word	output_state_bytecount
	.word	glyphs+4032
	.word	.LC8
	.word	.LC9
	.word	bits_index
	.word	.LC10
	.word	.LC11
	.word	ascii_art
	.word	.LC12
	.word	.LC13
	.word	.LC14
	.word	.LC15
	.word	.LC16
	.word	.LC17
	.word	.LC18
	.word	.LC19
	.word	.LC20
	.word	.LC21
	.word	.LC22
	.word	.LC23
	.word	.LC24
	.word	.LC25
	.word	.LC26
	.word	.LC27
	.word	.LC28
	.word	.LC29
	.word	.LC30
	.word	.LC31
	.word	.LC5
	.word	.LC32
	.word	.LC33
	.word	.LC34
	.word	.LC35
	.word	.LC36
	.word	.LC37
	.word	bits_width
	.word	bits_height
	.word	bits_xoffset
	.word	bits_yoffset
	.word	bits_delta
	.word	line_space
	.word	cap_height
	.word	.LC38
	.word	.LC39
	.size	main, .-main
	.section	.rodata
	.align	2
.LC40:
	.ascii	"STARTCHAR\000"
	.align	2
.LC41:
	.ascii	"SIZE %d %d %d\000"
	.align	2
.LC42:
	.ascii	"FAMILY_NAME \"%[^\"]\"\000"
	.align	2
.LC43:
	.ascii	"WEIGHT_NAME \"Bold\"\000"
	.align	2
.LC44:
	.ascii	"SLANT \"I\"\000"
	.align	2
.LC45:
	.ascii	"FONT_ASCENT %d\000"
	.align	2
.LC46:
	.ascii	"FONT_DESCENT %d\000"
	.align	2
.LC47:
	.ascii	"ENCODING %d\000"
	.align	2
.LC48:
	.ascii	"DWIDTH %d %d\000"
	.align	2
.LC49:
	.ascii	"DWIDTH x negative, at line %d\000"
	.align	2
.LC50:
	.ascii	"DWIDTH y not zero, at line %d\000"
	.align	2
.LC51:
	.ascii	"BBX %d %d %d %d\000"
	.align	2
.LC52:
	.ascii	"BBX width negative, line %d\000"
	.align	2
.LC53:
	.ascii	"BBX height negative, line %d\000"
	.align	2
.LC54:
	.ascii	"BITMAP\000"
	.align	2
.LC55:
	.ascii	"missing ENCODING, line %d\000"
	.align	2
.LC56:
	.ascii	"missing DWIDTH, line %d\000"
	.align	2
.LC57:
	.ascii	"missing BBX, line %d\000"
	.align	2
.LC58:
	.ascii	"unable to allocate memory!\000"
	.align	2
.LC59:
	.ascii	"non-hex char on line %d\000"
	.align	2
.LC60:
	.ascii	"ENDCHAR\000"
	.align	2
.LC61:
	.ascii	"expected ENDCHAR at line %d\000"
	.align	2
.LC62:
	.ascii	"_%d\000"
	.align	2
.LC63:
	.ascii	"_Bold\000"
	.align	2
.LC64:
	.ascii	"_Italic\000"
	.align	2
.LC65:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	parse_bdf
	.syntax unified
	.arm
	.fpu softvfp
	.type	parse_bdf, %function
parse_bdf:
	@ args = 0, pretend = 0, frame = 2160
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #2160
	sub	sp, sp, #12
	str	r0, [fp, #-2168]
	str	r1, [fp, #-2172]
	ldr	r3, .L111
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-2104]
	mov	r3, #0
	str	r3, [fp, #-2100]
	mvn	r3, #0
	str	r3, [fp, #-2096]
	mvn	r3, #0
	str	r3, [fp, #-2092]
	mvn	r3, #0
	str	r3, [fp, #-2088]
	mov	r3, #0
	str	r3, [fp, #-2084]
	mov	r3, #0
	str	r3, [fp, #-2080]
	mov	r3, #0
	str	r3, [fp, #-2132]
	mov	r3, #0
	str	r3, [fp, #-2128]
	b	.L72
.L104:
	ldr	r3, [fp, #-2100]
	add	r3, r3, #1
	str	r3, [fp, #-2100]
	ldr	r3, [fp, #-2104]
	cmp	r3, #0
	bne	.L73
	sub	r3, fp, #2048
	sub	r3, r3, #12
	sub	r3, r3, #4
	ldr	r1, .L111+4
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L74
	mov	r3, #0
	str	r3, [fp, #-2096]
	mov	r3, #0
	str	r3, [fp, #-2092]
	mov	r3, #0
	str	r3, [fp, #-2088]
	b	.L72
.L74:
	sub	r1, fp, #2112
	sub	r1, r1, #12
	sub	r2, fp, #2112
	sub	r2, r2, #12
	sub	r2, r2, #12
	sub	r0, fp, #2048
	sub	r0, r0, #12
	sub	r0, r0, #4
	sub	r3, fp, #2096
	sub	r3, r3, #12
	sub	r3, r3, #12
	str	r3, [sp]
	mov	r3, r1
	ldr	r1, .L111+8
	bl	__isoc99_sscanf
	mov	r3, r0
	cmp	r3, #3
	bne	.L75
	ldr	r3, [fp, #-2136]
	ldr	r2, .L111+12
	str	r3, [r2]
.L75:
	sub	r2, fp, #1024
	sub	r2, r2, #12
	sub	r2, r2, #4
	sub	r3, fp, #2048
	sub	r3, r3, #12
	sub	r3, r3, #4
	ldr	r1, .L111+16
	mov	r0, r3
	bl	__isoc99_sscanf
	mov	r3, r0
	cmp	r3, #1
	bne	.L76
	sub	r3, fp, #1024
	sub	r3, r3, #12
	sub	r3, r3, #4
	str	r3, [fp, #-2116]
	ldr	r3, .L111+20
	str	r3, [fp, #-2112]
	b	.L77
.L79:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-2116]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8
	cmp	r3, #0
	beq	.L78
	ldr	r3, [fp, #-2112]
	add	r2, r3, #1
	str	r2, [fp, #-2112]
	ldr	r2, [fp, #-2116]
	ldrb	r2, [r2]	@ zero_extendqisi2
	strb	r2, [r3]
.L78:
	ldr	r3, [fp, #-2116]
	add	r3, r3, #1
	str	r3, [fp, #-2116]
.L77:
	ldr	r3, [fp, #-2116]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L79
	ldr	r3, [fp, #-2112]
	mov	r2, #0
	strb	r2, [r3]
.L76:
	sub	r3, fp, #2048
	sub	r3, r3, #12
	sub	r3, r3, #4
	mov	r2, #18
	ldr	r1, .L111+24
	mov	r0, r3
	bl	strncmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L80
	ldr	r3, .L111+28
	mov	r2, #1
	str	r2, [r3]
.L80:
	sub	r3, fp, #2048
	sub	r3, r3, #12
	sub	r3, r3, #4
	mov	r2, #9
	ldr	r1, .L111+32
	mov	r0, r3
	bl	strncmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L81
	ldr	r3, .L111+36
	mov	r2, #1
	str	r2, [r3]
.L81:
	sub	r2, fp, #2112
	sub	r2, r2, #12
	sub	r2, r2, #8
	sub	r3, fp, #2048
	sub	r3, r3, #12
	sub	r3, r3, #4
	ldr	r1, .L111+40
	mov	r0, r3
	bl	__isoc99_sscanf
	mov	r3, r0
	cmp	r3, #1
	bne	.L82
	mov	r3, #1
	str	r3, [fp, #-2084]
.L82:
	sub	r2, fp, #2112
	sub	r2, r2, #12
	sub	r2, r2, #4
	sub	r3, fp, #2048
	sub	r3, r3, #12
	sub	r3, r3, #4
	ldr	r1, .L111+44
	mov	r0, r3
	bl	__isoc99_sscanf
	mov	r3, r0
	cmp	r3, #1
	bne	.L83
	mov	r3, #1
	str	r3, [fp, #-2080]
.L83:
	sub	r2, fp, #2144
	sub	r2, r2, #12
	sub	r2, r2, #8
	sub	r3, fp, #2048
	sub	r3, r3, #12
	sub	r3, r3, #4
	ldr	r1, .L111+48
	mov	r0, r3
	bl	__isoc99_sscanf
	mov	r3, r0
	cmp	r3, #1
	bne	.L84
	mov	r3, #1
	str	r3, [fp, #-2096]
	b	.L72
.L84:
	sub	r3, fp, #2144
	sub	r3, r3, #12
	sub	r2, fp, #2144
	sub	r2, r2, #12
	sub	r2, r2, #4
	sub	r0, fp, #2048
	sub	r0, r0, #12
	sub	r0, r0, #4
	ldr	r1, .L111+52
	bl	__isoc99_sscanf
	mov	r3, r0
	cmp	r3, #2
	bne	.L85
	ldr	r3, [fp, #-2160]
	cmp	r3, #0
	bge	.L86
	ldr	r1, [fp, #-2100]
	ldr	r0, .L111+56
	bl	die
.L86:
	ldr	r3, [fp, #-2156]
	cmp	r3, #0
	beq	.L87
	ldr	r1, [fp, #-2100]
	ldr	r0, .L111+60
	bl	die
.L87:
	mov	r3, #1
	str	r3, [fp, #-2092]
	b	.L72
.L85:
	sub	r1, fp, #2128
	sub	r1, r1, #12
	sub	r1, r1, #8
	sub	r2, fp, #2128
	sub	r2, r2, #12
	sub	r2, r2, #12
	sub	r0, fp, #2048
	sub	r0, r0, #12
	sub	r0, r0, #4
	sub	r3, fp, #2128
	sub	r3, r3, #12
	str	r3, [sp, #4]
	sub	r3, fp, #2128
	sub	r3, r3, #12
	sub	r3, r3, #4
	str	r3, [sp]
	mov	r3, r1
	ldr	r1, .L111+64
	bl	__isoc99_sscanf
	mov	r3, r0
	cmp	r3, #4
	bne	.L88
	ldr	r3, [fp, #-2152]
	cmp	r3, #0
	bge	.L89
	ldr	r1, [fp, #-2100]
	ldr	r0, .L111+68
	bl	die
.L89:
	ldr	r3, [fp, #-2148]
	cmp	r3, #0
	bge	.L90
	ldr	r1, [fp, #-2100]
	ldr	r0, .L111+72
	bl	die
.L90:
	mov	r3, #1
	str	r3, [fp, #-2088]
	b	.L72
.L88:
	sub	r3, fp, #2048
	sub	r3, r3, #12
	sub	r3, r3, #4
	mov	r2, #6
	ldr	r1, .L111+76
	mov	r0, r3
	bl	strncmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L72
	ldr	r3, [fp, #-2096]
	cmp	r3, #1
	beq	.L91
	ldr	r1, [fp, #-2100]
	ldr	r0, .L111+80
	bl	die
.L91:
	ldr	r3, [fp, #-2092]
	cmp	r3, #1
	beq	.L92
	ldr	r1, [fp, #-2100]
	ldr	r0, .L111+84
	bl	die
.L92:
	ldr	r3, [fp, #-2088]
	cmp	r3, #1
	beq	.L93
	ldr	r1, [fp, #-2100]
	ldr	r0, .L111+88
	bl	die
.L93:
	ldr	r3, [fp, #-2148]
	str	r3, [fp, #-2076]
	ldr	r3, [fp, #-2152]
	add	r3, r3, #7
	asr	r3, r3, #3
	str	r3, [fp, #-2072]
	ldr	r3, [fp, #-2164]
	cmp	r3, #31
	ble	.L94
	ldr	r3, [fp, #-2164]
	cmp	r3, #126
	bgt	.L94
	ldr	r3, [fp, #-2076]
	ldr	r2, [fp, #-2072]
	mul	r3, r2, r3
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-2068]
	ldr	r3, [fp, #-2068]
	cmp	r3, #0
	bne	.L95
	ldr	r0, .L111+92
	bl	die
.L95:
	ldr	r3, [fp, #-2164]
	lsl	r3, r3, #5
	ldr	r2, [fp, #-2172]
	add	r3, r2, r3
	ldr	r2, [fp, #-2152]
	str	r2, [r3]
	ldr	r3, [fp, #-2164]
	lsl	r3, r3, #5
	ldr	r2, [fp, #-2172]
	add	r3, r2, r3
	ldr	r2, [fp, #-2148]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-2164]
	lsl	r3, r3, #5
	ldr	r2, [fp, #-2172]
	add	r3, r2, r3
	ldr	r2, [fp, #-2144]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-2164]
	lsl	r3, r3, #5
	ldr	r2, [fp, #-2172]
	add	r3, r2, r3
	ldr	r2, [fp, #-2140]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-2164]
	lsl	r3, r3, #5
	ldr	r2, [fp, #-2172]
	add	r3, r2, r3
	ldr	r2, [fp, #-2160]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-2164]
	lsl	r3, r3, #5
	ldr	r2, [fp, #-2172]
	add	r3, r2, r3
	ldr	r2, [fp, #-2164]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-2164]
	lsl	r3, r3, #5
	ldr	r2, [fp, #-2172]
	add	r3, r2, r3
	ldr	r2, [fp, #-2068]
	str	r2, [r3, #28]
	b	.L96
.L94:
	mov	r3, #0
	str	r3, [fp, #-2068]
.L96:
	mov	r3, #1
	str	r3, [fp, #-2104]
	b	.L72
.L73:
	ldr	r3, [fp, #-2076]
	cmp	r3, #0
	ble	.L97
	ldr	r3, [fp, #-2072]
	cmp	r3, #0
	ble	.L97
	sub	r3, fp, #2048
	sub	r3, r3, #12
	sub	r3, r3, #4
	str	r3, [fp, #-2108]
	mov	r3, #0
	str	r3, [fp, #-2124]
	b	.L98
.L102:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-2108]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #4096
	cmp	r3, #0
	beq	.L99
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-2108]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #4096
	cmp	r3, #0
	beq	.L99
	ldr	r3, [fp, #-2068]
	cmp	r3, #0
	beq	.L101
	ldr	r4, [fp, #-2068]
	add	r3, r4, #1
	str	r3, [fp, #-2068]
	ldr	r0, [fp, #-2108]
	bl	hex2
	mov	r3, r0
	strb	r3, [r4]
	b	.L101
.L99:
	ldr	r1, [fp, #-2100]
	ldr	r0, .L111+96
	bl	die
.L101:
	ldr	r3, [fp, #-2108]
	add	r3, r3, #2
	str	r3, [fp, #-2108]
	ldr	r3, [fp, #-2124]
	add	r3, r3, #1
	str	r3, [fp, #-2124]
.L98:
	ldr	r3, [fp, #-2124]
	ldr	r2, [fp, #-2072]
	cmp	r2, r3
	bgt	.L102
	ldr	r3, [fp, #-2076]
	sub	r3, r3, #1
	str	r3, [fp, #-2076]
	b	.L72
.L97:
	sub	r3, fp, #2048
	sub	r3, r3, #12
	sub	r3, r3, #4
	mov	r2, #7
	ldr	r1, .L111+100
	mov	r0, r3
	bl	strncmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L103
	mov	r3, #0
	str	r3, [fp, #-2104]
	b	.L72
.L103:
	ldr	r1, [fp, #-2100]
	ldr	r0, .L111+104
	bl	die
.L72:
	sub	r3, fp, #2048
	sub	r3, r3, #12
	sub	r3, r3, #4
	ldr	r2, [fp, #-2168]
	mov	r1, #1024
	mov	r0, r3
	bl	fgets
	mov	r3, r0
	cmp	r3, #0
	bne	.L104
	ldr	r3, [fp, #-2084]
	cmp	r3, #0
	beq	.L105
	ldr	r3, [fp, #-2080]
	cmp	r3, #0
	beq	.L105
	ldr	r2, [fp, #-2132]
	ldr	r3, [fp, #-2128]
	add	r3, r2, r3
	ldr	r2, .L111+108
	str	r3, [r2]
.L105:
	ldr	r3, [fp, #-2172]
	add	r3, r3, #2208
	ldr	r3, [r3, #28]
	cmp	r3, #0
	beq	.L106
	ldr	r3, [fp, #-2172]
	add	r3, r3, #2208
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-2172]
	add	r3, r3, #2208
	ldr	r3, [r3, #12]
	add	r3, r2, r3
	ldr	r2, .L111+112
	str	r3, [r2]
.L106:
	ldr	r3, .L111+12
	ldr	r2, [r3]
	sub	r3, fp, #1024
	sub	r3, r3, #12
	sub	r3, r3, #4
	ldr	r1, .L111+116
	mov	r0, r3
	bl	sprintf
	sub	r3, fp, #1024
	sub	r3, r3, #12
	sub	r3, r3, #4
	mov	r1, r3
	ldr	r0, .L111+20
	bl	strcat
	ldr	r3, .L111+28
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L107
	ldr	r0, .L111+20
	bl	strlen
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L111+20
	add	r3, r2, r3
	ldr	r2, .L111+120
	mov	r0, r3
	mov	r1, r2
	mov	r3, #6
	mov	r2, r3
	bl	memcpy
.L107:
	ldr	r3, .L111+36
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L110
	ldr	r0, .L111+20
	bl	strlen
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L111+20
	add	r3, r2, r3
	ldr	r2, .L111+124
	mov	r0, r3
	mov	r1, r2
	mov	r3, #8
	mov	r2, r3
	bl	memcpy
.L110:
	nop
	ldr	r3, .L111
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L109
	bl	__stack_chk_fail
.L109:
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L112:
	.align	2
.L111:
	.word	.LC65
	.word	.LC40
	.word	.LC41
	.word	font_size
	.word	.LC42
	.word	font_name
	.word	.LC43
	.word	is_bold
	.word	.LC44
	.word	is_italic
	.word	.LC45
	.word	.LC46
	.word	.LC47
	.word	.LC48
	.word	.LC49
	.word	.LC50
	.word	.LC51
	.word	.LC52
	.word	.LC53
	.word	.LC54
	.word	.LC55
	.word	.LC56
	.word	.LC57
	.word	.LC58
	.word	.LC59
	.word	.LC60
	.word	.LC61
	.word	line_space
	.word	cap_height
	.word	.LC62
	.word	.LC63
	.word	.LC64
	.size	parse_bdf, .-parse_bdf
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	hex1, %function
hex1:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	mov	r3, r0
	strb	r3, [fp, #-13]
	mov	r3, #0
	strb	r3, [fp, #-5]
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	cmp	r3, #47
	bls	.L114
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	cmp	r3, #57
	bhi	.L114
	ldrb	r3, [fp, #-13]
	sub	r3, r3, #48
	strb	r3, [fp, #-5]
	b	.L115
.L114:
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	cmp	r3, #64
	bls	.L116
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	cmp	r3, #70
	bhi	.L116
	ldrb	r3, [fp, #-13]
	sub	r3, r3, #55
	strb	r3, [fp, #-5]
	b	.L115
.L116:
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	cmp	r3, #96
	bls	.L115
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	cmp	r3, #102
	bhi	.L115
	ldrb	r3, [fp, #-13]
	sub	r3, r3, #87
	strb	r3, [fp, #-5]
.L115:
	ldrb	r3, [fp, #-5]	@ zero_extendqisi2
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	hex1, .-hex1
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	hex2, %function
hex2:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #12
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r0, r3
	bl	hex1
	mov	r3, r0
	lsl	r3, r3, #4
	lsl	r3, r3, #24
	asr	r4, r3, #24
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r0, r3
	bl	hex1
	mov	r3, r0
	lsl	r3, r3, #24
	asr	r3, r3, #24
	orr	r3, r4, r3
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r3, r3, #255
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
	.size	hex2, .-hex2
	.align	2
	.global	bits_required_unsigned
	.syntax unified
	.arm
	.fpu softvfp
	.type	bits_required_unsigned, %function
bits_required_unsigned:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bge	.L122
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L122
.L123:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L122:
	mov	r2, #1
	ldr	r3, [fp, #-8]
	lsl	r3, r2, r3
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	bge	.L123
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	bits_required_unsigned, .-bits_required_unsigned
	.align	2
	.global	bits_required_signed
	.syntax unified
	.arm
	.fpu softvfp
	.type	bits_required_signed, %function
bits_required_signed:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	mov	r3, #2
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	ble	.L126
	mov	r3, #0
	str	r3, [fp, #-16]
.L126:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bge	.L128
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L128
.L129:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L128:
	ldr	r3, [fp, #-8]
	sub	r3, r3, #1
	mov	r2, #1
	lsl	r3, r2, r3
	rsb	r3, r3, #0
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	blt	.L129
	b	.L130
.L131:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L130:
	ldr	r3, [fp, #-8]
	sub	r3, r3, #1
	mov	r2, #1
	lsl	r3, r2, r3
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	bge	.L131
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	bits_required_signed, .-bits_required_signed
	.align	2
	.global	compute_min_max
	.syntax unified
	.arm
	.fpu softvfp
	.type	compute_min_max, %function
compute_min_max:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	mov	r3, #0
	str	r3, [fp, #-36]
	mov	r3, #0
	str	r3, [fp, #-32]
	mov	r3, #0
	str	r3, [fp, #-28]
	mov	r3, #0
	str	r3, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-12]
	ldr	r3, .L144
	str	r3, [fp, #-8]
	b	.L134
.L143:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #20]
	cmp	r3, #0
	bne	.L135
	ldr	r3, [fp, #-8]
	ldr	r2, .L144+4
	sub	r3, r3, r2
	asr	r3, r3, #5
	mov	r2, r3
	ldr	r3, [fp, #-8]
	str	r2, [r3, #20]
.L135:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldr	r2, [fp, #-36]
	cmp	r2, r3
	bge	.L136
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	str	r3, [fp, #-36]
.L136:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-32]
	cmp	r2, r3
	bge	.L137
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-32]
.L137:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	ble	.L138
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-24]
.L138:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	bge	.L139
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-20]
.L139:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	ble	.L140
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-16]
.L140:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	bge	.L141
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-12]
.L141:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #16]
	ldr	r2, [fp, #-28]
	cmp	r2, r3
	bge	.L142
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-28]
.L142:
	ldr	r3, [fp, #-8]
	add	r3, r3, #32
	str	r3, [fp, #-8]
.L134:
	ldr	r2, .L144+8
	ldr	r3, [fp, #-8]
	cmp	r3, r2
	bls	.L143
	ldr	r0, [fp, #-36]
	bl	bits_required_unsigned
	mov	r3, r0
	ldr	r2, .L144+12
	str	r3, [r2]
	ldr	r0, [fp, #-32]
	bl	bits_required_unsigned
	mov	r3, r0
	ldr	r2, .L144+16
	str	r3, [r2]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-24]
	bl	bits_required_signed
	mov	r3, r0
	ldr	r2, .L144+20
	str	r3, [r2]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-16]
	bl	bits_required_signed
	mov	r3, r0
	ldr	r2, .L144+24
	str	r3, [r2]
	ldr	r0, [fp, #-28]
	bl	bits_required_unsigned
	mov	r3, r0
	ldr	r2, .L144+28
	str	r3, [r2]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L145:
	.align	2
.L144:
	.word	glyphs+1024
	.word	glyphs
	.word	glyphs+4032
	.word	bits_width
	.word	bits_height
	.word	bits_xoffset
	.word	bits_yoffset
	.word	bits_delta
	.size	compute_min_max, .-compute_min_max
	.section	.rodata
	.align	2
.LC66:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	die
	.syntax unified
	.arm
	.fpu softvfp
	.type	die, %function
die:
	@ args = 4, pretend = 16, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 1
	push	{r0, r1, r2, r3}
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	ldr	r3, [fp, #4]
	str	r3, [fp, #-16]
	ldr	r3, .L148
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	add	r3, fp, #8
	str	r3, [fp, #-12]
	ldr	r3, .L148+4
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	ldr	r1, [fp, #-16]
	mov	r0, r3
	bl	vfprintf
	mov	r0, #1
	bl	exit
.L149:
	.align	2
.L148:
	.word	.LC66
	.word	stderr
	.size	die, .-die
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
