	.file	"135244.c"
	.intel_syntax noprefix
	.text
	.data
	.type	rcsid, @object
	.size	rcsid, 5
rcsid:
	.string	"$Id$"
	.globl	infile
	.bss
	.align 8
	.type	infile, @object
	.size	infile, 8
infile:
	.zero	8
	.globl	outfile
	.align 8
	.type	outfile, @object
	.size	outfile, 8
outfile:
	.zero	8
	.globl	im
	.align 8
	.type	im, @object
	.size	im, 8
im:
	.zero	8
	.globl	w
	.align 32
	.type	w, @object
	.size	w, 96
w:
	.zero	96
	.globl	cidx
	.align 32
	.type	cidx, @object
	.size	cidx, 5200
cidx:
	.zero	5200
	.globl	r
	.data
	.align 32
	.type	r, @object
	.size	r, 400
r:
	.long	0
	.long	255
	.long	240
	.long	0
	.long	31
	.long	0
	.long	220
	.long	230
	.long	240
	.long	161
	.long	161
	.long	0
	.long	230
	.long	0
	.long	110
	.long	125
	.zero	336
	.globl	g
	.align 32
	.type	g, @object
	.size	g, 400
g:
	.long	0
	.long	255
	.long	0
	.long	220
	.long	61
	.long	199
	.long	0
	.long	220
	.long	130
	.long	0
	.long	230
	.long	161
	.long	176
	.long	209
	.long	0
	.long	125
	.zero	336
	.globl	b
	.align 32
	.type	b, @object
	.size	b, 400
b:
	.long	0
	.long	255
	.long	0
	.long	0
	.long	250
	.long	199
	.long	99
	.long	51
	.long	41
	.long	199
	.long	51
	.long	230
	.long	46
	.long	140
	.long	220
	.long	125
	.zero	336
	.section	.rodata
.LC1:
	.string	"Number of pages = %i\n"
.LC2:
	.string	"Image size: %d x %d pixels\n"
.LC3:
	.string	"_%d"
.LC4:
	.string	"New GIF-file:%s\n"
.LC5:
	.string	"wb"
	.align 8
.LC6:
	.string	"Fatal error: Invalid command \"%i\" found in metafile\"%s\".\n"
	.align 8
.LC7:
	.string	"Is \"%s\" really a GrADS (v1.5 or higher) metafile?\n"
	.text
	.globl	main
	.type	main, @function
main:
.LFB6:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	r12
	push	rbx
	lea	r11, -32768[rsp]
.LPSRL0:
	sub	rsp, 4096
	or	DWORD PTR [rsp], 0
	cmp	rsp, r11
	jne	.LPSRL0
	sub	rsp, 384
	.cfi_offset 12, -24
	.cfi_offset 3, -32
	mov	DWORD PTR -33156[rbp], edi
	mov	QWORD PTR -33168[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -24[rbp], rax
	xor	eax, eax
	mov	WORD PTR -33142[rbp], 0
	mov	DWORD PTR -33140[rbp], 0
	mov	DWORD PTR -33136[rbp], 0
	mov	DWORD PTR -33132[rbp], 550
	mov	DWORD PTR -33128[rbp], 425
	mov	QWORD PTR -33104[rbp], 0
	mov	QWORD PTR -33096[rbp], 0
	mov	QWORD PTR -33080[rbp], 0
	mov	WORD PTR -33040[rbp], 2
	mov	WORD PTR -33038[rbp], 7
	mov	WORD PTR -33036[rbp], 10
	mov	WORD PTR -33034[rbp], 14
	mov	WORD PTR -33032[rbp], 17
	mov	WORD PTR -33030[rbp], 20
	mov	WORD PTR -33028[rbp], 24
	mov	WORD PTR -33026[rbp], 27
	mov	WORD PTR -33024[rbp], 31
	mov	WORD PTR -33022[rbp], 34
	mov	WORD PTR -33020[rbp], 38
	mov	WORD PTR -33018[rbp], 41
	mov	DWORD PTR -33056[rbp], 0
	mov	eax, DWORD PTR -33056[rbp]
	mov	DWORD PTR -33060[rbp], eax
	mov	eax, DWORD PTR -33060[rbp]
	mov	DWORD PTR -33068[rbp], eax
	mov	eax, DWORD PTR -33068[rbp]
	mov	DWORD PTR -33064[rbp], eax
	mov	eax, DWORD PTR -33064[rbp]
	mov	DWORD PTR -33072[rbp], eax
	mov	ebx, 0
	jmp	.L2
.L5:
	mov	r12d, 0
	jmp	.L3
.L4:
	movsx	rcx, r12d
	movsx	rdx, ebx
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	add	rax, rdx
	sal	rax, 2
	add	rax, rcx
	lea	rdx, 0[0+rax*4]
	lea	rax, cidx[rip]
	mov	DWORD PTR [rdx+rax], -1
	add	r12d, 1
.L3:
	cmp	r12d, 99
	jle	.L4
	add	ebx, 1
.L2:
	cmp	ebx, 12
	jle	.L5
	mov	ebx, 0
	jmp	.L6
.L7:
	movsx	rax, ebx
	mov	WORD PTR -33008[rbp+rax*2], 1
	add	ebx, 1
.L6:
	cmp	ebx, 15
	jle	.L7
	mov	ebx, 16
	jmp	.L8
.L9:
	movsx	rax, ebx
	mov	WORD PTR -33008[rbp+rax*2], 0
	add	ebx, 1
.L8:
	cmp	ebx, 99
	jle	.L9
	lea	rdi, -33096[rbp]
	lea	rcx, -33104[rbp]
	lea	rdx, -33072[rbp]
	mov	rsi, QWORD PTR -33168[rbp]
	mov	eax, DWORD PTR -33156[rbp]
	mov	r8, rdi
	mov	edi, eax
	call	parseArg
	mov	eax, DWORD PTR -33064[rbp]
	movsx	edx, ax
	lea	rcx, -33096[rbp]
	lea	rax, -33104[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	openFiles
	mov	WORD PTR -33144[rbp], 1
.L53:
	mov	rdx, QWORD PTR infile[rip]
	lea	rax, -33148[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	esi, 2
	mov	rdi, rax
	call	fread@PLT
	movzx	eax, WORD PTR -33148[rbp]
	cmp	ax, -11
	jne	.L10
	mov	rdx, QWORD PTR infile[rip]
	lea	rax, -33048[rbp]
	mov	rcx, rdx
	mov	edx, 2
	mov	esi, 2
	mov	rdi, rax
	call	fread@PLT
	movzx	eax, WORD PTR -33048[rbp]
	cwde
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, eax
	mulss	xmm0, DWORD PTR -33124[rbp]
	movzx	eax, WORD PTR -33146[rbp]
	add	eax, 1
	mov	WORD PTR -33146[rbp], ax
	movzx	eax, WORD PTR -33146[rbp]
	cwde
	cvttss2si	edx, xmm0
	cdqe
	mov	DWORD PTR -32800[rbp+rax*8], edx
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, DWORD PTR -33128[rbp]
	movzx	eax, WORD PTR -33046[rbp]
	cwde
	pxor	xmm1, xmm1
	cvtsi2ss	xmm1, eax
	mulss	xmm1, DWORD PTR -33120[rbp]
	subss	xmm0, xmm1
	movzx	eax, WORD PTR -33146[rbp]
	cwde
	cvttss2si	edx, xmm0
	cdqe
	mov	DWORD PTR -32796[rbp+rax*8], edx
	jmp	.L53
.L10:
	movzx	eax, WORD PTR -33148[rbp]
	cmp	ax, -10
	jne	.L12
	movzx	eax, WORD PTR -33146[rbp]
	test	ax, ax
	je	.L13
	mov	ecx, DWORD PTR -33140[rbp]
	mov	edx, DWORD PTR -33136[rbp]
	lea	rsi, -33146[rbp]
	lea	rax, -32800[rbp]
	mov	rdi, rax
	call	drawLine
.L13:
	mov	rdx, QWORD PTR infile[rip]
	lea	rax, -33048[rbp]
	mov	rcx, rdx
	mov	edx, 2
	mov	esi, 2
	mov	rdi, rax
	call	fread@PLT
	movzx	eax, WORD PTR -33048[rbp]
	cwde
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, eax
	mulss	xmm0, DWORD PTR -33124[rbp]
	movzx	eax, WORD PTR -33146[rbp]
	cwde
	cvttss2si	edx, xmm0
	cdqe
	mov	DWORD PTR -32800[rbp+rax*8], edx
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, DWORD PTR -33128[rbp]
	movzx	eax, WORD PTR -33046[rbp]
	cwde
	pxor	xmm1, xmm1
	cvtsi2ss	xmm1, eax
	mulss	xmm1, DWORD PTR -33120[rbp]
	subss	xmm0, xmm1
	movzx	eax, WORD PTR -33146[rbp]
	cwde
	cvttss2si	edx, xmm0
	cdqe
	mov	DWORD PTR -32796[rbp+rax*8], edx
	jmp	.L53
.L12:
	movzx	eax, WORD PTR -33148[rbp]
	cmp	ax, -4
	jne	.L14
	movzx	eax, WORD PTR -33146[rbp]
	test	ax, ax
	je	.L15
	mov	ecx, DWORD PTR -33140[rbp]
	mov	edx, DWORD PTR -33136[rbp]
	lea	rsi, -33146[rbp]
	lea	rax, -32800[rbp]
	mov	rdi, rax
	call	drawLine
.L15:
	mov	rdx, QWORD PTR infile[rip]
	lea	rax, -33048[rbp]
	mov	rcx, rdx
	mov	edx, 2
	mov	esi, 2
	mov	rdi, rax
	call	fread@PLT
	movzx	eax, WORD PTR -33048[rbp]
	movsx	ebx, ax
	cmp	ebx, 12
	jle	.L16
	mov	ebx, 12
	jmp	.L17
.L16:
	test	ebx, ebx
	jg	.L17
	mov	ebx, 1
.L17:
	lea	eax, -1[rbx]
	cdqe
	movzx	eax, WORD PTR -33040[rbp+rax*2]
	cwde
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, eax
	movaps	xmm1, xmm0
	mulss	xmm1, DWORD PTR -33124[rbp]
	movss	xmm0, DWORD PTR .LC0[rip]
	addss	xmm0, xmm1
	cvttss2si	eax, xmm0
	mov	DWORD PTR -33136[rbp], eax
	jmp	.L53
.L14:
	movzx	eax, WORD PTR -33148[rbp]
	cmp	ax, -3
	jne	.L18
	movzx	eax, WORD PTR -33146[rbp]
	test	ax, ax
	je	.L19
	mov	ecx, DWORD PTR -33140[rbp]
	mov	edx, DWORD PTR -33136[rbp]
	lea	rsi, -33146[rbp]
	lea	rax, -32800[rbp]
	mov	rdi, rax
	call	drawLine
.L19:
	mov	rdx, QWORD PTR infile[rip]
	lea	rax, -33048[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	esi, 2
	mov	rdi, rax
	call	fread@PLT
	movzx	eax, WORD PTR -33048[rbp]
	cwde
	mov	DWORD PTR -33140[rbp], eax
	cmp	DWORD PTR -33140[rbp], 0
	jns	.L20
	mov	DWORD PTR -33140[rbp], 0
.L20:
	cmp	DWORD PTR -33140[rbp], 255
	jle	.L21
	mov	DWORD PTR -33140[rbp], 255
.L21:
	movsx	rax, ebx
	movzx	eax, WORD PTR -33008[rbp+rax*2]
	test	ax, ax
	jne	.L22
	mov	DWORD PTR -33140[rbp], 15
.L22:
	mov	eax, DWORD PTR -33072[rbp]
	test	eax, eax
	je	.L53
	cmp	DWORD PTR -33140[rbp], 1
	jne	.L23
	mov	DWORD PTR -33140[rbp], 0
	jmp	.L53
.L23:
	cmp	DWORD PTR -33140[rbp], 0
	jne	.L53
	mov	DWORD PTR -33140[rbp], 1
	jmp	.L53
.L18:
	movzx	eax, WORD PTR -33148[rbp]
	cmp	ax, -7
	jne	.L24
	mov	rdx, QWORD PTR infile[rip]
	lea	rax, -33048[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	esi, 2
	mov	rdi, rax
	call	fread@PLT
	jmp	.L53
.L24:
	movzx	eax, WORD PTR -33148[rbp]
	cmp	ax, -8
	jne	.L25
	movzx	eax, WORD PTR -33146[rbp]
	cmp	ax, 1
	jle	.L26
	mov	eax, DWORD PTR -33140[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, cidx[rip]
	mov	eax, DWORD PTR [rdx+rax]
	test	eax, eax
	jns	.L26
	mov	eax, DWORD PTR -33140[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, b[rip]
	mov	ecx, DWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -33140[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, g[rip]
	mov	edx, DWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -33140[rbp]
	cdqe
	lea	rsi, 0[0+rax*4]
	lea	rax, r[rip]
	mov	esi, DWORD PTR [rsi+rax]
	mov	rax, QWORD PTR im[rip]
	mov	rdi, rax
	call	gdImageColorAllocate
	mov	edx, DWORD PTR -33140[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	lea	rdx, cidx[rip]
	mov	DWORD PTR [rcx+rdx], eax
.L26:
	mov	eax, DWORD PTR -33068[rbp]
	test	eax, eax
	je	.L27
	mov	eax, DWORD PTR -33140[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, cidx[rip]
	mov	ecx, DWORD PTR [rdx+rax]
	movzx	eax, WORD PTR -33146[rbp]
	add	eax, 1
	mov	WORD PTR -33146[rbp], ax
	movzx	eax, WORD PTR -33146[rbp]
	movsx	edx, ax
	mov	rax, QWORD PTR im[rip]
	lea	rsi, -32800[rbp]
	mov	rdi, rax
	call	gdImageFilledPolygon
	jmp	.L28
.L27:
	mov	eax, DWORD PTR -33140[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, cidx[rip]
	mov	ecx, DWORD PTR [rdx+rax]
	movzx	eax, WORD PTR -33146[rbp]
	add	eax, 1
	mov	WORD PTR -33146[rbp], ax
	movzx	eax, WORD PTR -33146[rbp]
	movsx	edx, ax
	mov	rax, QWORD PTR im[rip]
	lea	rsi, -32800[rbp]
	mov	rdi, rax
	call	gdImageFilledPolygonx
.L28:
	mov	WORD PTR -33146[rbp], 0
	jmp	.L53
.L25:
	movzx	eax, WORD PTR -33148[rbp]
	cmp	ax, -6
	jne	.L29
	movzx	eax, WORD PTR -33146[rbp]
	test	ax, ax
	je	.L30
	mov	ecx, DWORD PTR -33140[rbp]
	mov	edx, DWORD PTR -33136[rbp]
	lea	rsi, -33146[rbp]
	lea	rax, -32800[rbp]
	mov	rdi, rax
	call	drawLine
.L30:
	mov	rdx, QWORD PTR infile[rip]
	lea	rax, -33048[rbp]
	mov	rcx, rdx
	mov	edx, 4
	mov	esi, 2
	mov	rdi, rax
	call	fread@PLT
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, DWORD PTR -33128[rbp]
	movzx	eax, WORD PTR -33044[rbp]
	cwde
	pxor	xmm1, xmm1
	cvtsi2ss	xmm1, eax
	mulss	xmm1, DWORD PTR -33120[rbp]
	subss	xmm0, xmm1
	cvttss2si	eax, xmm0
	mov	DWORD PTR -33112[rbp], eax
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, DWORD PTR -33128[rbp]
	movzx	eax, WORD PTR -33042[rbp]
	cwde
	pxor	xmm1, xmm1
	cvtsi2ss	xmm1, eax
	mulss	xmm1, DWORD PTR -33120[rbp]
	subss	xmm0, xmm1
	cvttss2si	eax, xmm0
	mov	DWORD PTR -33108[rbp], eax
	mov	eax, DWORD PTR -33140[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, cidx[rip]
	mov	eax, DWORD PTR [rdx+rax]
	test	eax, eax
	jns	.L31
	mov	eax, DWORD PTR -33140[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, b[rip]
	mov	ecx, DWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -33140[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, g[rip]
	mov	edx, DWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -33140[rbp]
	cdqe
	lea	rsi, 0[0+rax*4]
	lea	rax, r[rip]
	mov	esi, DWORD PTR [rsi+rax]
	mov	rax, QWORD PTR im[rip]
	mov	rdi, rax
	call	gdImageColorAllocate
	mov	edx, DWORD PTR -33140[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	lea	rdx, cidx[rip]
	mov	DWORD PTR [rcx+rdx], eax
.L31:
	mov	eax, DWORD PTR -33140[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, cidx[rip]
	mov	r8d, DWORD PTR [rdx+rax]
	movzx	eax, WORD PTR -33046[rbp]
	cwde
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, eax
	mulss	xmm0, DWORD PTR -33124[rbp]
	cvttss2si	ecx, xmm0
	movzx	eax, WORD PTR -33048[rbp]
	cwde
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, eax
	mulss	xmm0, DWORD PTR -33124[rbp]
	cvttss2si	esi, xmm0
	mov	rax, QWORD PTR im[rip]
	mov	edi, DWORD PTR -33112[rbp]
	mov	edx, DWORD PTR -33108[rbp]
	mov	r9d, r8d
	mov	r8d, edi
	mov	rdi, rax
	call	gdImageFilledRectangle
	jmp	.L53
.L29:
	movzx	eax, WORD PTR -33148[rbp]
	cmp	ax, -9
	jne	.L32
	mov	eax, DWORD PTR -33064[rbp]
	test	eax, eax
	je	.L33
	movsx	eax, WORD PTR -33144[rbp]
	mov	esi, eax
	lea	rdi, .LC1[rip]
	mov	eax, 0
	call	printf@PLT
.L33:
	mov	rdx, QWORD PTR outfile[rip]
	mov	rax, QWORD PTR im[rip]
	mov	rsi, rdx
	mov	rdi, rax
	call	gdImageGif
	mov	rax, QWORD PTR outfile[rip]
	mov	rdi, rax
	call	fclose@PLT
	mov	rax, QWORD PTR im[rip]
	mov	rdi, rax
	call	gdImageDestroy
	mov	eax, 0
	jmp	.L54
.L32:
	movzx	eax, WORD PTR -33148[rbp]
	cmp	ax, -1
	jne	.L35
	mov	rdx, QWORD PTR infile[rip]
	lea	rax, -33048[rbp]
	mov	rcx, rdx
	mov	edx, 2
	mov	esi, 2
	mov	rdi, rax
	call	fread@PLT
	movzx	edx, WORD PTR -33048[rbp]
	movzx	eax, WORD PTR -33046[rbp]
	cmp	dx, ax
	jge	.L36
	mov	eax, DWORD PTR -33132[rbp]
	mov	DWORD PTR -33116[rbp], eax
	mov	eax, DWORD PTR -33128[rbp]
	mov	DWORD PTR -33132[rbp], eax
	mov	eax, DWORD PTR -33116[rbp]
	mov	DWORD PTR -33128[rbp], eax
.L36:
	mov	eax, DWORD PTR -33060[rbp]
	test	eax, eax
	je	.L37
	mov	eax, DWORD PTR -33060[rbp]
	mov	DWORD PTR -33132[rbp], eax
	mov	eax, DWORD PTR -33056[rbp]
	test	eax, eax
	jne	.L37
	movzx	eax, WORD PTR -33046[rbp]
	movsx	edx, ax
	imul	edx, edx, 5243
	shr	edx, 16
	sar	dx, 3
	sar	ax, 15
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	cwde
	imul	eax, DWORD PTR -33132[rbp]
	mov	edx, eax
	movzx	eax, WORD PTR -33048[rbp]
	movsx	ecx, ax
	imul	ecx, ecx, 5243
	shr	ecx, 16
	sar	cx, 3
	sar	ax, 15
	mov	esi, eax
	mov	eax, ecx
	sub	eax, esi
	movsx	ecx, ax
	mov	eax, edx
	cdq
	idiv	ecx
	mov	DWORD PTR -33128[rbp], eax
.L37:
	mov	eax, DWORD PTR -33056[rbp]
	test	eax, eax
	je	.L38
	mov	eax, DWORD PTR -33056[rbp]
	mov	DWORD PTR -33128[rbp], eax
	mov	eax, DWORD PTR -33060[rbp]
	test	eax, eax
	jne	.L38
	movzx	eax, WORD PTR -33048[rbp]
	movsx	edx, ax
	imul	edx, edx, 5243
	shr	edx, 16
	sar	dx, 3
	sar	ax, 15
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	cwde
	imul	eax, DWORD PTR -33128[rbp]
	mov	edx, eax
	movzx	eax, WORD PTR -33046[rbp]
	movsx	ecx, ax
	imul	ecx, ecx, 5243
	shr	ecx, 16
	sar	cx, 3
	sar	ax, 15
	mov	esi, eax
	mov	eax, ecx
	sub	eax, esi
	movsx	ecx, ax
	mov	eax, edx
	cdq
	idiv	ecx
	mov	DWORD PTR -33132[rbp], eax
.L38:
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, DWORD PTR -33132[rbp]
	movzx	eax, WORD PTR -33048[rbp]
	cwde
	pxor	xmm1, xmm1
	cvtsi2ss	xmm1, eax
	divss	xmm0, xmm1
	movss	DWORD PTR -33124[rbp], xmm0
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, DWORD PTR -33128[rbp]
	movzx	eax, WORD PTR -33046[rbp]
	cwde
	pxor	xmm1, xmm1
	cvtsi2ss	xmm1, eax
	divss	xmm0, xmm1
	movss	DWORD PTR -33120[rbp], xmm0
	mov	eax, DWORD PTR -33064[rbp]
	test	eax, eax
	je	.L39
	mov	edx, DWORD PTR -33128[rbp]
	mov	eax, DWORD PTR -33132[rbp]
	mov	esi, eax
	lea	rdi, .LC2[rip]
	mov	eax, 0
	call	printf@PLT
.L39:
	mov	ebx, 0
	jmp	.L40
.L41:
	lea	edx, 1[rbx]
	lea	eax, 1[rbx]
	mov	esi, edx
	mov	edi, eax
	call	gdImageCreate
	movsx	rdx, ebx
	lea	rcx, 0[0+rdx*8]
	lea	rdx, w[rip]
	mov	QWORD PTR [rcx+rdx], rax
	add	ebx, 1
.L40:
	pxor	xmm1, xmm1
	cvtsi2ss	xmm1, ebx
	movzx	eax, WORD PTR -33018[rbp]
	cwde
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, eax
	mulss	xmm0, DWORD PTR -33124[rbp]
	comiss	xmm0, xmm1
	jnb	.L41
	mov	edx, DWORD PTR -33128[rbp]
	mov	eax, DWORD PTR -33132[rbp]
	mov	esi, edx
	mov	edi, eax
	call	gdImageCreate
	mov	QWORD PTR im[rip], rax
	mov	eax, DWORD PTR -33072[rbp]
	movsx	edx, ax
	mov	rax, QWORD PTR im[rip]
	mov	esi, edx
	mov	rdi, rax
	call	defBGround
	mov	DWORD PTR -33140[rbp], 1
	mov	WORD PTR -33146[rbp], 0
	jmp	.L53
.L35:
	movzx	eax, WORD PTR -33148[rbp]
	cmp	ax, -2
	jne	.L42
	movzx	eax, WORD PTR -33146[rbp]
	test	ax, ax
	je	.L43
	mov	ecx, DWORD PTR -33140[rbp]
	mov	edx, DWORD PTR -33136[rbp]
	lea	rsi, -33146[rbp]
	lea	rax, -32800[rbp]
	mov	rdi, rax
	call	drawLine
.L43:
	mov	rdx, QWORD PTR outfile[rip]
	mov	rax, QWORD PTR im[rip]
	mov	rsi, rdx
	mov	rdi, rax
	call	gdImageGif
	mov	rax, QWORD PTR outfile[rip]
	mov	rdi, rax
	call	fclose@PLT
	mov	rax, QWORD PTR im[rip]
	mov	rdi, rax
	call	gdImageDestroy
	mov	ebx, 0
	jmp	.L44
.L45:
	movsx	rax, ebx
	lea	rdx, 0[0+rax*8]
	lea	rax, w[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	rdi, rax
	call	gdImageDestroy
	add	ebx, 1
.L44:
	pxor	xmm1, xmm1
	cvtsi2ss	xmm1, ebx
	movzx	eax, WORD PTR -33018[rbp]
	cwde
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, eax
	mulss	xmm0, DWORD PTR -33124[rbp]
	comiss	xmm0, xmm1
	jnb	.L45
	mov	rax, QWORD PTR infile[rip]
	lea	rdx, -33088[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	fgetpos@PLT
	mov	rdx, QWORD PTR infile[rip]
	lea	rax, -33148[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	esi, 2
	mov	rdi, rax
	call	fread@PLT
	mov	rax, QWORD PTR infile[rip]
	lea	rdx, -33088[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	fsetpos@PLT
	movzx	eax, WORD PTR -33148[rbp]
	cmp	ax, -9
	je	.L46
	cmp	QWORD PTR -33080[rbp], 0
	jne	.L47
	mov	rbx, QWORD PTR -33096[rbp]
	mov	rax, QWORD PTR -33096[rbp]
	mov	rdi, rax
	call	strlen@PLT
	sub	rax, 4
	add	rax, rbx
	mov	BYTE PTR [rax], 0
	mov	edi, 150
	call	malloc@PLT
	mov	QWORD PTR -33080[rbp], rax
.L47:
	mov	rdx, QWORD PTR -33096[rbp]
	mov	rax, QWORD PTR -33080[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcpy@PLT
	movzx	eax, WORD PTR -33144[rbp]
	add	eax, 1
	mov	WORD PTR -33144[rbp], ax
	movsx	ebx, WORD PTR -33144[rbp]
	mov	rax, QWORD PTR -33080[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	rdx, QWORD PTR -33080[rbp]
	add	rax, rdx
	mov	edx, ebx
	lea	rsi, .LC3[rip]
	mov	rdi, rax
	mov	eax, 0
	call	sprintf@PLT
	mov	rax, QWORD PTR -33080[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	rdx, QWORD PTR -33080[rbp]
	add	rax, rdx
	mov	DWORD PTR [rax], 1718183726
	mov	BYTE PTR 4[rax], 0
	mov	eax, DWORD PTR -33064[rbp]
	test	eax, eax
	je	.L48
	mov	rax, QWORD PTR -33080[rbp]
	mov	rsi, rax
	lea	rdi, .LC4[rip]
	mov	eax, 0
	call	printf@PLT
.L48:
	mov	rax, QWORD PTR -33080[rbp]
	lea	rsi, .LC5[rip]
	mov	rdi, rax
	call	fopen@PLT
	mov	QWORD PTR outfile[rip], rax
	mov	ebx, 0
	jmp	.L49
.L50:
	lea	edx, 1[rbx]
	lea	eax, 1[rbx]
	mov	esi, edx
	mov	edi, eax
	call	gdImageCreate
	movsx	rdx, ebx
	lea	rcx, 0[0+rdx*8]
	lea	rdx, w[rip]
	mov	QWORD PTR [rcx+rdx], rax
	add	ebx, 1
.L49:
	pxor	xmm1, xmm1
	cvtsi2ss	xmm1, ebx
	movzx	eax, WORD PTR -33018[rbp]
	cwde
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, eax
	mulss	xmm0, DWORD PTR -33124[rbp]
	comiss	xmm0, xmm1
	jnb	.L50
	mov	edx, DWORD PTR -33128[rbp]
	mov	eax, DWORD PTR -33132[rbp]
	mov	esi, edx
	mov	edi, eax
	call	gdImageCreate
	mov	QWORD PTR im[rip], rax
	mov	eax, DWORD PTR -33072[rbp]
	movsx	edx, ax
	mov	rax, QWORD PTR im[rip]
	mov	esi, edx
	mov	rdi, rax
	call	defBGround
	mov	DWORD PTR -33140[rbp], 1
	mov	WORD PTR -33146[rbp], 0
	jmp	.L53
.L46:
	mov	eax, 0
	jmp	.L54
.L42:
	movzx	eax, WORD PTR -33148[rbp]
	cmp	ax, -5
	jne	.L51
	mov	rdx, QWORD PTR infile[rip]
	lea	rax, -33048[rbp]
	mov	rcx, rdx
	mov	edx, 4
	mov	esi, 2
	mov	rdi, rax
	call	fread@PLT
	movzx	eax, WORD PTR -33048[rbp]
	movsx	ebx, ax
	cmp	ebx, 15
	jle	.L53
	cmp	ebx, 99
	jg	.L53
	movzx	eax, WORD PTR -33046[rbp]
	cwde
	movsx	rdx, ebx
	lea	rcx, 0[0+rdx*4]
	lea	rdx, r[rip]
	mov	DWORD PTR [rcx+rdx], eax
	movzx	eax, WORD PTR -33044[rbp]
	cwde
	movsx	rdx, ebx
	lea	rcx, 0[0+rdx*4]
	lea	rdx, g[rip]
	mov	DWORD PTR [rcx+rdx], eax
	movzx	eax, WORD PTR -33042[rbp]
	cwde
	movsx	rdx, ebx
	lea	rcx, 0[0+rdx*4]
	lea	rdx, b[rip]
	mov	DWORD PTR [rcx+rdx], eax
	movsx	rax, ebx
	mov	WORD PTR -33008[rbp+rax*2], 1
	jmp	.L53
.L51:
	movzx	eax, WORD PTR -33148[rbp]
	cmp	ax, -20
	jne	.L52
	mov	rdx, QWORD PTR infile[rip]
	lea	rax, -33048[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	esi, 2
	mov	rdi, rax
	call	fread@PLT
	jmp	.L53
.L52:
	mov	rdx, QWORD PTR -33104[rbp]
	movzx	eax, WORD PTR -33148[rbp]
	cwde
	mov	esi, eax
	lea	rdi, .LC6[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -33104[rbp]
	mov	rsi, rax
	lea	rdi, .LC7[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 1
.L54:
	mov	rbx, QWORD PTR -24[rbp]
	sub	rbx, QWORD PTR fs:40
	je	.L55
	call	__stack_chk_fail@PLT
.L55:
	add	rsp, 33152
	pop	rbx
	pop	r12
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	main, .-main
	.globl	defBGround
	.type	defBGround, @function
defBGround:
.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, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	eax, esi
	mov	WORD PTR -12[rbp], ax
	cmp	WORD PTR -12[rbp], 0
	je	.L57
	mov	rax, QWORD PTR -8[rbp]
	mov	ecx, 255
	mov	edx, 255
	mov	esi, 255
	mov	rdi, rax
	call	gdImageColorAllocate
	mov	DWORD PTR cidx[rip+4], eax
	jmp	.L56
.L57:
	mov	rax, QWORD PTR -8[rbp]
	mov	ecx, 0
	mov	edx, 0
	mov	esi, 0
	mov	rdi, rax
	call	gdImageColorAllocate
	mov	DWORD PTR cidx[rip], eax
	nop
.L56:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	defBGround, .-defBGround
	.globl	drawLine
	.type	drawLine, @function
drawLine:
.LFB8:
	.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 -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	DWORD PTR -20[rbp], edx
	mov	DWORD PTR -24[rbp], ecx
	mov	eax, DWORD PTR -24[rbp]
	movsx	rcx, eax
	mov	eax, DWORD PTR -20[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	add	rax, rdx
	sal	rax, 2
	add	rax, rcx
	lea	rdx, 0[0+rax*4]
	lea	rax, cidx[rip]
	mov	eax, DWORD PTR [rdx+rax]
	test	eax, eax
	jns	.L61
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, b[rip]
	mov	ecx, DWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, g[rip]
	mov	edx, DWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rsi, 0[0+rax*4]
	lea	rax, r[rip]
	mov	esi, DWORD PTR [rsi+rax]
	mov	eax, DWORD PTR -20[rbp]
	sub	eax, 1
	cdqe
	lea	rdi, 0[0+rax*8]
	lea	rax, w[rip]
	mov	rax, QWORD PTR [rdi+rax]
	mov	rdi, rax
	call	gdImageColorAllocate
	mov	edx, eax
	mov	eax, DWORD PTR -24[rbp]
	movsx	rsi, eax
	mov	eax, DWORD PTR -20[rbp]
	movsx	rcx, eax
	mov	rax, rcx
	sal	rax, 2
	add	rax, rcx
	lea	rcx, 0[0+rax*4]
	add	rax, rcx
	sal	rax, 2
	add	rax, rsi
	lea	rcx, 0[0+rax*4]
	lea	rax, cidx[rip]
	mov	DWORD PTR [rcx+rax], edx
.L61:
	mov	eax, DWORD PTR -24[rbp]
	movsx	rcx, eax
	mov	eax, DWORD PTR -20[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	add	rax, rdx
	sal	rax, 2
	add	rax, rcx
	lea	rdx, 0[0+rax*4]
	lea	rax, cidx[rip]
	mov	esi, DWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -20[rbp]
	sub	eax, 1
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, w[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	ecx, DWORD PTR -20[rbp]
	mov	edx, DWORD PTR -20[rbp]
	mov	r9d, esi
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	esi, 0
	mov	rdi, rax
	call	gdImageFilledRectangle
	mov	eax, DWORD PTR -20[rbp]
	sub	eax, 1
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, w[rip]
	mov	rdx, QWORD PTR [rdx+rax]
	mov	rax, QWORD PTR im[rip]
	mov	rsi, rdx
	mov	rdi, rax
	call	gdImageSetBrush
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, WORD PTR [rax]
	cmp	ax, 1
	jle	.L62
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, WORD PTR [rax]
	cwde
	lea	edx, 1[rax]
	mov	rax, QWORD PTR im[rip]
	mov	rsi, QWORD PTR -8[rbp]
	mov	ecx, -3
	mov	rdi, rax
	call	gdImagePolygonUnclosed
	jmp	.L63
.L62:
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 8
	mov	edi, DWORD PTR 4[rax]
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 8
	mov	ecx, DWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, DWORD PTR [rax]
	mov	rax, QWORD PTR im[rip]
	mov	r9d, -3
	mov	r8d, edi
	mov	rdi, rax
	call	gdImageLine
.L63:
	mov	rax, QWORD PTR -16[rbp]
	mov	WORD PTR [rax], 0
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	drawLine, .-drawLine
	.section	.rodata
.LC8:
	.string	"%d"
	.align 8
.LC9:
	.string	"This is gxgif $Revision$, $Date$"
.LC10:
	.string	"Unknown option: %s\n\n"
	.text
	.globl	parseArg
	.type	parseArg, @function
parseArg:
.LFB9:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	r12
	push	rbx
	sub	rsp, 48
	.cfi_offset 12, -24
	.cfi_offset 3, -32
	mov	DWORD PTR -20[rbp], edi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	QWORD PTR -48[rbp], rcx
	mov	QWORD PTR -56[rbp], r8
	cmp	DWORD PTR -20[rbp], 1
	jne	.L66
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	printOptions
.L66:
	mov	ebx, 1
	jmp	.L67
.L80:
	movsx	rax, ebx
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 45
	jne	.L68
	mov	r12d, 0
	jmp	.L69
.L78:
	movsx	rax, ebx
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	movsx	rax, r12d
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 105
	jne	.L70
	add	ebx, 1
	movsx	rax, ebx
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L79
.L70:
	movsx	rax, ebx
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	movsx	rax, r12d
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 104
	jne	.L72
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 4[rax], 1
	jmp	.L69
.L72:
	movsx	rax, ebx
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	movsx	rax, r12d
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 111
	jne	.L73
	add	ebx, 1
	movsx	rax, ebx
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L79
.L73:
	movsx	rax, ebx
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	movsx	rax, r12d
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 114
	jne	.L74
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR [rax], 1
	jmp	.L69
.L74:
	movsx	rax, ebx
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	movsx	rax, r12d
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 120
	jne	.L75
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 12[rax]
	add	ebx, 1
	movsx	rax, ebx
	lea	rcx, 0[0+rax*8]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	lea	rsi, .LC8[rip]
	mov	rdi, rax
	mov	eax, 0
	call	__isoc99_sscanf@PLT
	jmp	.L79
.L75:
	movsx	rax, ebx
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	movsx	rax, r12d
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 121
	jne	.L76
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 16[rax]
	add	ebx, 1
	movsx	rax, ebx
	lea	rcx, 0[0+rax*8]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	lea	rsi, .LC8[rip]
	mov	rdi, rax
	mov	eax, 0
	call	__isoc99_sscanf@PLT
	jmp	.L79
.L76:
	movsx	rax, ebx
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	movsx	rax, r12d
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 118
	jne	.L77
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 8[rax], 1
	lea	rdi, .LC9[rip]
	call	puts@PLT
	jmp	.L69
.L77:
	movsx	rax, ebx
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR stderr[rip]
	lea	rsi, .LC10[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	printOptions
	mov	edi, 1
	call	exit@PLT
.L69:
	movsx	rax, ebx
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	add	r12d, 1
	movsx	rax, r12d
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L78
	jmp	.L79
.L68:
	movsx	rax, ebx
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR [rax], rdx
.L79:
	add	ebx, 1
.L67:
	cmp	ebx, DWORD PTR -20[rbp]
	jl	.L80
	nop
	add	rsp, 48
	pop	rbx
	pop	r12
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	parseArg, .-parseArg
	.section	.rodata
	.align 8
.LC11:
	.string	" [-hrv -x <pixels> -y <pixels> -i <in_file>[.gm] -o <out_file>] [<in_file>[.gm]].\n"
.LC12:
	.string	"Usage: "
.LC13:
	.string	"%s%s%s"
.LC14:
	.string	"Options:\n"
.LC15:
	.string	"     -i   <in_file>[.gm].\n"
	.align 8
.LC16:
	.string	"     -h   Fill polygons horizontally.\n"
	.align 8
.LC17:
	.string	"     -o   <out_file> (default: basename(in_file).gif, '-' = stdout).\n"
.LC18:
	.string	"     -r   Black background.\n"
.LC19:
	.string	"     -v   Verbose.\n"
	.align 8
.LC20:
	.string	"     -x <pixels>  # pixels horizontally.\n"
	.align 8
.LC21:
	.string	"     -y <pixels>  # pixels vertically.\n"
	.text
	.globl	printOptions
	.type	printOptions, @function
printOptions:
.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	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR stderr[rip]
	lea	r8, .LC11[rip]
	mov	rcx, rdx
	lea	rdx, .LC12[rip]
	lea	rsi, .LC13[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 9
	mov	esi, 1
	lea	rdi, .LC14[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 26
	mov	esi, 1
	lea	rdi, .LC15[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 38
	mov	esi, 1
	lea	rdi, .LC16[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 69
	mov	esi, 1
	lea	rdi, .LC17[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 28
	mov	esi, 1
	lea	rdi, .LC18[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 19
	mov	esi, 1
	lea	rdi, .LC19[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 41
	mov	esi, 1
	lea	rdi, .LC20[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 39
	mov	esi, 1
	lea	rdi, .LC21[rip]
	call	fwrite@PLT
	mov	edi, 8
	call	exit@PLT
	.cfi_endproc
.LFE10:
	.size	printOptions, .-printOptions
	.section	.rodata
.LC22:
	.string	"read infile = %s\n"
.LC23:
	.string	"rb"
	.align 8
.LC24:
	.string	"Input file %s[.gm] not found.\n"
.LC25:
	.string	"-"
	.align 8
.LC26:
	.string	"Error opening output file %s \n"
.LC27:
	.string	"GrADS metafile: %s\n"
.LC28:
	.string	"output to stdout"
.LC29:
	.string	"GIF-file: %s\n"
	.text
	.globl	openFiles
	.type	openFiles, @function
openFiles:
.LFB11:
	.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, 56
	.cfi_offset 3, -24
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	eax, edx
	mov	WORD PTR -52[rbp], ax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L84
	mov	edi, 150
	call	malloc@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rdx, QWORD PTR stdin[rip]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	esi, 150
	mov	rdi, rax
	call	fgets@PLT
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rsi, rax
	lea	rdi, .LC22[rip]
	mov	eax, 0
	call	printf@PLT
.L84:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rsi, .LC23[rip]
	mov	rdi, rax
	call	fopen@PLT
	mov	QWORD PTR infile[rip], rax
	mov	rax, QWORD PTR infile[rip]
	test	rax, rax
	jne	.L85
	mov	rax, QWORD PTR -40[rbp]
	mov	rbx, QWORD PTR [rax]
	mov	rdi, rbx
	call	strlen@PLT
	add	rax, rbx
	mov	DWORD PTR [rax], 7169838
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR [rax], rbx
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rsi, .LC23[rip]
	mov	rdi, rax
	call	fopen@PLT
	mov	QWORD PTR infile[rip], rax
	mov	rax, QWORD PTR infile[rip]
	test	rax, rax
	jne	.L85
	mov	rax, QWORD PTR -40[rbp]
	mov	rbx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	strlen@PLT
	sub	rax, 3
	add	rax, rbx
	mov	BYTE PTR [rax], 0
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rsi, rax
	lea	rdi, .LC24[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edi, 1
	call	exit@PLT
.L85:
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L86
	mov	edi, 150
	call	malloc@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcpy@PLT
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	strlen@PLT
	sub	eax, 1
	mov	DWORD PTR -20[rbp], eax
	jmp	.L87
.L90:
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 46
	jne	.L88
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	add	rax, 1
	add	rax, rdx
	mov	DWORD PTR [rax], 6711655
	jmp	.L86
.L88:
	cmp	DWORD PTR -20[rbp], 0
	jne	.L89
	mov	rax, QWORD PTR -48[rbp]
	mov	rbx, QWORD PTR [rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	strlen@PLT
	add	rax, rbx
	mov	DWORD PTR [rax], 1718183726
	mov	BYTE PTR 4[rax], 0
.L89:
	sub	DWORD PTR -20[rbp], 1
.L87:
	cmp	DWORD PTR -20[rbp], 0
	jns	.L90
.L86:
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rsi, .LC25[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L91
	mov	rax, QWORD PTR stdout[rip]
	mov	QWORD PTR outfile[rip], rax
	jmp	.L92
.L91:
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rsi, .LC5[rip]
	mov	rdi, rax
	call	fopen@PLT
	mov	QWORD PTR outfile[rip], rax
.L92:
	mov	rax, QWORD PTR outfile[rip]
	test	rax, rax
	jne	.L93
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rsi, rax
	lea	rdi, .LC26[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edi, 1
	call	exit@PLT
.L93:
	cmp	WORD PTR -52[rbp], 0
	je	.L97
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rsi, rax
	lea	rdi, .LC27[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rsi, .LC25[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L95
	lea	rdi, .LC28[rip]
	call	puts@PLT
	jmp	.L97
.L95:
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rsi, rax
	lea	rdi, .LC29[rip]
	mov	eax, 0
	call	printf@PLT
	nop
.L97:
	nop
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	openFiles, .-openFiles
	.globl	gdImagePolygonUnclosed
	.type	gdImagePolygonUnclosed, @function
gdImagePolygonUnclosed:
.LFB12:
	.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	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -36[rbp], edx
	mov	DWORD PTR -40[rbp], ecx
	cmp	DWORD PTR -36[rbp], 0
	je	.L103
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -8[rbp], eax
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 4[rax]
	mov	DWORD PTR -4[rbp], eax
	mov	DWORD PTR -12[rbp], 1
	jmp	.L101
.L102:
	add	QWORD PTR -32[rbp], 8
	mov	rax, QWORD PTR -32[rbp]
	mov	edi, DWORD PTR 4[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	r8d, DWORD PTR -40[rbp]
	mov	edx, DWORD PTR -4[rbp]
	mov	esi, DWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	r9d, r8d
	mov	r8d, edi
	mov	rdi, rax
	call	gdImageLine
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -8[rbp], eax
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 4[rax]
	mov	DWORD PTR -4[rbp], eax
	add	DWORD PTR -12[rbp], 1
.L101:
	mov	eax, DWORD PTR -12[rbp]
	cmp	eax, DWORD PTR -36[rbp]
	jl	.L102
	jmp	.L98
.L103:
	nop
.L98:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE12:
	.size	gdImagePolygonUnclosed, .-gdImagePolygonUnclosed
	.globl	gdImageFilledPolygonx
	.type	gdImageFilledPolygonx, @function
gdImageFilledPolygonx:
.LFB13:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 112
	mov	QWORD PTR -88[rbp], rdi
	mov	QWORD PTR -96[rbp], rsi
	mov	DWORD PTR -100[rbp], edx
	mov	DWORD PTR -104[rbp], ecx
	cmp	DWORD PTR -100[rbp], 0
	je	.L132
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 4128[rax]
	test	eax, eax
	jne	.L107
	mov	eax, DWORD PTR -100[rbp]
	cdqe
	sal	rax, 2
	mov	rdi, rax
	call	malloc@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR 4120[rax], rdx
	mov	rax, QWORD PTR -88[rbp]
	mov	edx, DWORD PTR -100[rbp]
	mov	DWORD PTR 4128[rax], edx
.L107:
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 4128[rax]
	cmp	DWORD PTR -100[rbp], eax
	jle	.L108
	jmp	.L109
.L110:
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 4128[rax]
	lea	edx, [rax+rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 4128[rax], edx
.L109:
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 4128[rax]
	cmp	DWORD PTR -100[rbp], eax
	jg	.L110
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 4128[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 4120[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	realloc@PLT
	mov	rdx, QWORD PTR -88[rbp]
	mov	QWORD PTR 4120[rdx], rax
.L108:
	mov	rax, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -60[rbp], eax
	mov	rax, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -56[rbp], eax
	mov	DWORD PTR -68[rbp], 1
	jmp	.L111
.L114:
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -60[rbp], eax
	jle	.L112
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -60[rbp], eax
.L112:
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -56[rbp], eax
	jge	.L113
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -56[rbp], eax
.L113:
	add	DWORD PTR -68[rbp], 1
.L111:
	mov	eax, DWORD PTR -68[rbp]
	cmp	eax, DWORD PTR -100[rbp]
	jl	.L114
	mov	eax, DWORD PTR -60[rbp]
	mov	DWORD PTR -64[rbp], eax
	jmp	.L115
.L131:
	mov	DWORD PTR -48[rbp], 0
	mov	DWORD PTR -44[rbp], 0
	mov	DWORD PTR -40[rbp], 1
	mov	DWORD PTR -52[rbp], 0
	mov	DWORD PTR -68[rbp], 0
	jmp	.L116
.L128:
	mov	DWORD PTR -8[rbp], 0
	mov	eax, DWORD PTR -68[rbp]
	cmp	eax, DWORD PTR -100[rbp]
	je	.L117
	cmp	DWORD PTR -68[rbp], 0
	jne	.L118
.L117:
	mov	eax, DWORD PTR -100[rbp]
	sub	eax, 1
	mov	DWORD PTR -16[rbp], eax
	mov	DWORD PTR -12[rbp], 0
	jmp	.L119
.L118:
	mov	eax, DWORD PTR -68[rbp]
	sub	eax, 1
	mov	DWORD PTR -16[rbp], eax
	mov	eax, DWORD PTR -68[rbp]
	mov	DWORD PTR -12[rbp], eax
.L119:
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -28[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR -28[rbp]
	cmp	eax, DWORD PTR -24[rbp]
	jge	.L120
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -28[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR 4[rax]
	mov	DWORD PTR -36[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR 4[rax]
	mov	DWORD PTR -32[rbp], eax
	mov	DWORD PTR -20[rbp], -1
	jmp	.L121
.L120:
	mov	eax, DWORD PTR -28[rbp]
	cmp	eax, DWORD PTR -24[rbp]
	jle	.L122
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -28[rbp], eax
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR 4[rax]
	mov	DWORD PTR -32[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR 4[rax]
	mov	DWORD PTR -36[rbp], eax
	mov	DWORD PTR -20[rbp], 1
	jmp	.L121
.L122:
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	mov	edi, DWORD PTR 4[rax]
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR 4[rax]
	mov	r8d, DWORD PTR -104[rbp]
	mov	ecx, DWORD PTR -28[rbp]
	mov	esi, DWORD PTR -28[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	r9d, r8d
	mov	r8d, edi
	mov	rdi, rax
	call	gdImageLine
	jmp	.L123
.L121:
	mov	eax, DWORD PTR -64[rbp]
	cmp	eax, DWORD PTR -28[rbp]
	jl	.L123
	mov	eax, DWORD PTR -64[rbp]
	cmp	eax, DWORD PTR -24[rbp]
	jg	.L123
	mov	eax, DWORD PTR -64[rbp]
	sub	eax, DWORD PTR -28[rbp]
	mov	edx, eax
	mov	eax, DWORD PTR -32[rbp]
	sub	eax, DWORD PTR -36[rbp]
	imul	eax, edx
	mov	edx, DWORD PTR -24[rbp]
	mov	edi, edx
	sub	edi, DWORD PTR -28[rbp]
	cdq
	idiv	edi
	mov	edx, eax
	mov	eax, DWORD PTR -36[rbp]
	add	eax, edx
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -40[rbp], 0
	jne	.L124
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rcx, 0[0+rax*8]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rcx
	mov	eax, DWORD PTR [rax]
	cmp	edx, eax
	jne	.L125
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR 4[rax]
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rcx, 0[0+rax*8]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rcx
	mov	eax, DWORD PTR 4[rax]
	cmp	edx, eax
	je	.L125
	mov	eax, DWORD PTR -20[rbp]
	cmp	eax, DWORD PTR -44[rbp]
	jne	.L125
	mov	eax, DWORD PTR -4[rbp]
	cmp	eax, DWORD PTR -48[rbp]
	jle	.L133
	mov	rax, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR 4120[rax]
	mov	eax, DWORD PTR -52[rbp]
	cdqe
	sal	rax, 2
	add	rdx, rax
	mov	eax, DWORD PTR -4[rbp]
	mov	DWORD PTR [rdx], eax
	jmp	.L133
.L125:
	mov	eax, DWORD PTR -4[rbp]
	cmp	eax, DWORD PTR -48[rbp]
	jne	.L124
	mov	eax, DWORD PTR -20[rbp]
	cmp	eax, DWORD PTR -44[rbp]
	je	.L134
.L124:
	cmp	DWORD PTR -68[rbp], 0
	jle	.L127
	mov	rax, QWORD PTR -88[rbp]
	mov	rcx, QWORD PTR 4120[rax]
	mov	eax, DWORD PTR -52[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -52[rbp], edx
	cdqe
	sal	rax, 2
	lea	rdx, [rcx+rax]
	mov	eax, DWORD PTR -4[rbp]
	mov	DWORD PTR [rdx], eax
.L127:
	mov	eax, DWORD PTR -68[rbp]
	mov	DWORD PTR -8[rbp], eax
	mov	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR -44[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	mov	DWORD PTR -48[rbp], eax
	mov	DWORD PTR -40[rbp], 0
	jmp	.L123
.L133:
	nop
	jmp	.L123
.L134:
	nop
.L123:
	add	DWORD PTR -68[rbp], 1
.L116:
	mov	eax, DWORD PTR -68[rbp]
	cmp	eax, DWORD PTR -100[rbp]
	jle	.L128
	mov	eax, DWORD PTR -52[rbp]
	movsx	rsi, eax
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 4120[rax]
	lea	rcx, gdCompareInt[rip]
	mov	edx, 4
	mov	rdi, rax
	call	qsort@PLT
	mov	DWORD PTR -68[rbp], 0
	jmp	.L129
.L130:
	mov	rax, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR 4120[rax]
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	add	rax, 1
	sal	rax, 2
	add	rax, rdx
	mov	edi, DWORD PTR [rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR 4120[rax]
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	r8d, DWORD PTR -104[rbp]
	mov	ecx, DWORD PTR -64[rbp]
	mov	esi, DWORD PTR -64[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	r9d, r8d
	mov	r8d, edi
	mov	rdi, rax
	call	gdImageLine
	add	DWORD PTR -68[rbp], 2
.L129:
	mov	eax, DWORD PTR -52[rbp]
	sub	eax, 1
	cmp	DWORD PTR -68[rbp], eax
	jl	.L130
	add	DWORD PTR -64[rbp], 1
.L115:
	mov	eax, DWORD PTR -64[rbp]
	cmp	eax, DWORD PTR -56[rbp]
	jle	.L131
	jmp	.L104
.L132:
	nop
.L104:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE13:
	.size	gdImageFilledPolygonx, .-gdImageFilledPolygonx
	.globl	gdImageCreate
	.type	gdImageCreate, @function
gdImageCreate:
.LFB14:
	.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, 40
	.cfi_offset 3, -24
	mov	DWORD PTR -36[rbp], edi
	mov	DWORD PTR -40[rbp], esi
	mov	edi, 6224
	call	malloc@PLT
	mov	QWORD PTR -24[rbp], rax
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	sal	rax, 3
	mov	rdi, rax
	call	malloc@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 4120[rax], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 4128[rax], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 4136[rax], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 4144[rax], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 6208[rax], 0
	mov	DWORD PTR -28[rbp], 0
	jmp	.L136
.L137:
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	mov	rdx, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR [rdx]
	mov	edx, DWORD PTR -28[rbp]
	movsx	rdx, edx
	sal	rdx, 3
	lea	rbx, [rcx+rdx]
	mov	esi, 1
	mov	rdi, rax
	call	calloc@PLT
	mov	QWORD PTR [rbx], rax
	add	DWORD PTR -28[rbp], 1
.L136:
	mov	eax, DWORD PTR -28[rbp]
	cmp	eax, DWORD PTR -36[rbp]
	jl	.L137
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -36[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -40[rbp]
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 16[rax], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 4116[rax], -1
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 6216[rax], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE14:
	.size	gdImageCreate, .-gdImageCreate
	.globl	gdImageDestroy
	.type	gdImageDestroy, @function
gdImageDestroy:
.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 -4[rbp], 0
	jmp	.L140
.L141:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	free@PLT
	add	DWORD PTR -4[rbp], 1
.L140:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	DWORD PTR -4[rbp], eax
	jl	.L141
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 4120[rax]
	test	rax, rax
	je	.L142
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 4120[rax]
	mov	rdi, rax
	call	free@PLT
.L142:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 6208[rax]
	test	rax, rax
	je	.L143
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 6208[rax]
	mov	rdi, rax
	call	free@PLT
.L143:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	free@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE15:
	.size	gdImageDestroy, .-gdImageDestroy
	.globl	gdImageColorClosest
	.type	gdImageColorClosest, @function
gdImageColorClosest:
.LFB16:
	.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 -56[rbp], rdi
	mov	DWORD PTR -60[rbp], esi
	mov	DWORD PTR -64[rbp], edx
	mov	DWORD PTR -68[rbp], ecx
	mov	DWORD PTR -44[rbp], -1
	mov	QWORD PTR -40[rbp], 0
	mov	DWORD PTR -48[rbp], 0
	jmp	.L145
.L149:
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR -48[rbp]
	movsx	rdx, edx
	add	rdx, 772
	mov	eax, DWORD PTR 4[rax+rdx*4]
	test	eax, eax
	jne	.L151
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR -48[rbp]
	movsx	rdx, edx
	add	rdx, 4
	mov	eax, DWORD PTR 4[rax+rdx*4]
	sub	eax, DWORD PTR -60[rbp]
	cdqe
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR -48[rbp]
	movsx	rdx, edx
	add	rdx, 260
	mov	eax, DWORD PTR 4[rax+rdx*4]
	sub	eax, DWORD PTR -64[rbp]
	cdqe
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR -48[rbp]
	movsx	rdx, edx
	add	rdx, 516
	mov	eax, DWORD PTR 4[rax+rdx*4]
	sub	eax, DWORD PTR -68[rbp]
	cdqe
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	imul	rax, rax
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	imul	rax, rax
	add	rdx, rax
	mov	rax, QWORD PTR -16[rbp]
	imul	rax, rax
	add	rax, rdx
	mov	QWORD PTR -8[rbp], rax
	cmp	DWORD PTR -48[rbp], 0
	je	.L148
	mov	rax, QWORD PTR -8[rbp]
	cmp	rax, QWORD PTR -40[rbp]
	jge	.L147
.L148:
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR -40[rbp], rax
	mov	eax, DWORD PTR -48[rbp]
	mov	DWORD PTR -44[rbp], eax
	jmp	.L147
.L151:
	nop
.L147:
	add	DWORD PTR -48[rbp], 1
.L145:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 16[rax]
	cmp	DWORD PTR -48[rbp], eax
	jl	.L149
	mov	eax, DWORD PTR -44[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE16:
	.size	gdImageColorClosest, .-gdImageColorClosest
	.globl	gdImageColorExact
	.type	gdImageColorExact, @function
gdImageColorExact:
.LFB17:
	.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	DWORD PTR -36[rbp], ecx
	mov	DWORD PTR -4[rbp], 0
	jmp	.L153
.L157:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -4[rbp]
	movsx	rdx, edx
	add	rdx, 772
	mov	eax, DWORD PTR 4[rax+rdx*4]
	test	eax, eax
	jne	.L158
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -4[rbp]
	movsx	rdx, edx
	add	rdx, 4
	mov	eax, DWORD PTR 4[rax+rdx*4]
	cmp	DWORD PTR -28[rbp], eax
	jne	.L155
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -4[rbp]
	movsx	rdx, edx
	add	rdx, 260
	mov	eax, DWORD PTR 4[rax+rdx*4]
	cmp	DWORD PTR -32[rbp], eax
	jne	.L155
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -4[rbp]
	movsx	rdx, edx
	add	rdx, 516
	mov	eax, DWORD PTR 4[rax+rdx*4]
	cmp	DWORD PTR -36[rbp], eax
	jne	.L155
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L156
.L158:
	nop
.L155:
	add	DWORD PTR -4[rbp], 1
.L153:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	cmp	DWORD PTR -4[rbp], eax
	jl	.L157
	mov	eax, -1
.L156:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE17:
	.size	gdImageColorExact, .-gdImageColorExact
	.globl	gdImageColorAllocate
	.type	gdImageColorAllocate, @function
gdImageColorAllocate:
.LFB18:
	.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	DWORD PTR -36[rbp], ecx
	mov	DWORD PTR -4[rbp], -1
	mov	DWORD PTR -8[rbp], 0
	jmp	.L160
.L163:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -8[rbp]
	movsx	rdx, edx
	add	rdx, 772
	mov	eax, DWORD PTR 4[rax+rdx*4]
	test	eax, eax
	je	.L161
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR -4[rbp], eax
	jmp	.L162
.L161:
	add	DWORD PTR -8[rbp], 1
.L160:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	cmp	DWORD PTR -8[rbp], eax
	jl	.L163
.L162:
	cmp	DWORD PTR -4[rbp], -1
	jne	.L164
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 256
	jne	.L165
	mov	eax, -1
	jmp	.L166
.L165:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 16[rax], edx
.L164:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -4[rbp]
	movsx	rdx, edx
	lea	rcx, 4[rdx]
	mov	edx, DWORD PTR -28[rbp]
	mov	DWORD PTR 4[rax+rcx*4], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -4[rbp]
	movsx	rdx, edx
	lea	rcx, 260[rdx]
	mov	edx, DWORD PTR -32[rbp]
	mov	DWORD PTR 4[rax+rcx*4], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -4[rbp]
	movsx	rdx, edx
	lea	rcx, 516[rdx]
	mov	edx, DWORD PTR -36[rbp]
	mov	DWORD PTR 4[rax+rcx*4], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -4[rbp]
	movsx	rdx, edx
	add	rdx, 772
	mov	DWORD PTR 4[rax+rdx*4], 0
	mov	eax, DWORD PTR -4[rbp]
.L166:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE18:
	.size	gdImageColorAllocate, .-gdImageColorAllocate
	.globl	gdImageColorDeallocate
	.type	gdImageColorDeallocate, @function
gdImageColorDeallocate:
.LFB19:
	.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 -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -12[rbp]
	movsx	rdx, edx
	add	rdx, 772
	mov	DWORD PTR 4[rax+rdx*4], 1
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE19:
	.size	gdImageColorDeallocate, .-gdImageColorDeallocate
	.globl	gdImageColorTransparent
	.type	gdImageColorTransparent, @function
gdImageColorTransparent:
.LFB20:
	.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 -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -12[rbp]
	mov	DWORD PTR 4116[rax], edx
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE20:
	.size	gdImageColorTransparent, .-gdImageColorTransparent
	.globl	gdImageSetPixel
	.type	gdImageSetPixel, @function
gdImageSetPixel:
.LFB21:
	.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	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	DWORD PTR -32[rbp], edx
	mov	DWORD PTR -36[rbp], ecx
	cmp	DWORD PTR -36[rbp], -2
	je	.L170
	cmp	DWORD PTR -36[rbp], -2
	jg	.L171
	cmp	DWORD PTR -36[rbp], -3
	je	.L172
	cmp	DWORD PTR -36[rbp], -3
	jg	.L171
	cmp	DWORD PTR -36[rbp], -5
	je	.L173
	cmp	DWORD PTR -36[rbp], -4
	je	.L174
	jmp	.L171
.L170:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 6208[rax]
	test	rax, rax
	je	.L181
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, QWORD PTR 6208[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 6204[rax]
	lea	ecx, 1[rax]
	mov	rdx, QWORD PTR -24[rbp]
	mov	DWORD PTR 6204[rdx], ecx
	cdqe
	sal	rax, 2
	add	rax, rsi
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], -6
	je	.L177
	mov	ecx, DWORD PTR -4[rbp]
	mov	edx, DWORD PTR -32[rbp]
	mov	esi, DWORD PTR -28[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	gdImageSetPixel
.L177:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 6204[rax]
	mov	rdx, QWORD PTR -24[rbp]
	mov	ecx, DWORD PTR 6200[rdx]
	cdq
	idiv	ecx
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 6204[rax], edx
	jmp	.L169
.L174:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 6208[rax]
	test	rax, rax
	je	.L182
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, QWORD PTR 6208[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 6204[rax]
	lea	ecx, 1[rax]
	mov	rdx, QWORD PTR -24[rbp]
	mov	DWORD PTR 6204[rdx], ecx
	cdqe
	sal	rax, 2
	add	rax, rsi
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], -6
	je	.L179
	cmp	DWORD PTR -4[rbp], 0
	je	.L179
	mov	edx, DWORD PTR -32[rbp]
	mov	esi, DWORD PTR -28[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	ecx, -3
	mov	rdi, rax
	call	gdImageSetPixel
.L179:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 6204[rax]
	mov	rdx, QWORD PTR -24[rbp]
	mov	ecx, DWORD PTR 6200[rdx]
	cdq
	idiv	ecx
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 6204[rax], edx
	jmp	.L169
.L172:
	mov	edx, DWORD PTR -32[rbp]
	mov	ecx, DWORD PTR -28[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	gdImageBrushApply
	jmp	.L169
.L173:
	mov	edx, DWORD PTR -32[rbp]
	mov	ecx, DWORD PTR -28[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	gdImageTileApply
	jmp	.L169
.L171:
	mov	edx, DWORD PTR -32[rbp]
	mov	ecx, DWORD PTR -28[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	gdImageBoundsSafe
	test	eax, eax
	je	.L183
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -32[rbp]
	cdqe
	add	rax, rdx
	mov	edx, DWORD PTR -36[rbp]
	mov	BYTE PTR [rax], dl
	jmp	.L183
.L181:
	nop
	jmp	.L169
.L182:
	nop
	jmp	.L169
.L183:
	nop
.L169:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE21:
	.size	gdImageSetPixel, .-gdImageSetPixel
	.type	gdImageBrushApply, @function
gdImageBrushApply:
.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, 64
	mov	QWORD PTR -56[rbp], rdi
	mov	DWORD PTR -60[rbp], esi
	mov	DWORD PTR -64[rbp], edx
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 4136[rax]
	test	rax, rax
	je	.L192
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 4136[rax]
	mov	eax, DWORD PTR 12[rax]
	mov	edx, eax
	shr	edx, 31
	add	eax, edx
	sar	eax
	mov	DWORD PTR -28[rbp], eax
	mov	eax, DWORD PTR -64[rbp]
	sub	eax, DWORD PTR -28[rbp]
	mov	DWORD PTR -24[rbp], eax
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 4136[rax]
	mov	edx, DWORD PTR 12[rax]
	mov	eax, DWORD PTR -24[rbp]
	add	eax, edx
	mov	DWORD PTR -20[rbp], eax
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 4136[rax]
	mov	eax, DWORD PTR 8[rax]
	mov	edx, eax
	shr	edx, 31
	add	eax, edx
	sar	eax
	mov	DWORD PTR -16[rbp], eax
	mov	eax, DWORD PTR -60[rbp]
	sub	eax, DWORD PTR -16[rbp]
	mov	DWORD PTR -12[rbp], eax
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 4136[rax]
	mov	edx, DWORD PTR 8[rax]
	mov	eax, DWORD PTR -12[rbp]
	add	eax, edx
	mov	DWORD PTR -8[rbp], eax
	mov	DWORD PTR -32[rbp], 0
	mov	eax, DWORD PTR -24[rbp]
	mov	DWORD PTR -40[rbp], eax
	jmp	.L187
.L191:
	mov	DWORD PTR -36[rbp], 0
	mov	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR -44[rbp], eax
	jmp	.L188
.L190:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 4136[rax]
	mov	edx, DWORD PTR -32[rbp]
	mov	ecx, DWORD PTR -36[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	gdImageGetPixel
	mov	DWORD PTR -4[rbp], eax
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 4136[rax]
	mov	eax, DWORD PTR 4116[rax]
	cmp	DWORD PTR -4[rbp], eax
	je	.L189
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR -4[rbp]
	movsx	rdx, edx
	add	rdx, 1036
	mov	ecx, DWORD PTR 8[rax+rdx*4]
	mov	edx, DWORD PTR -40[rbp]
	mov	esi, DWORD PTR -44[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	gdImageSetPixel
.L189:
	add	DWORD PTR -36[rbp], 1
	add	DWORD PTR -44[rbp], 1
.L188:
	mov	eax, DWORD PTR -44[rbp]
	cmp	eax, DWORD PTR -8[rbp]
	jl	.L190
	add	DWORD PTR -32[rbp], 1
	add	DWORD PTR -40[rbp], 1
.L187:
	mov	eax, DWORD PTR -40[rbp]
	cmp	eax, DWORD PTR -20[rbp]
	jl	.L191
	jmp	.L184
.L192:
	nop
.L184:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE22:
	.size	gdImageBrushApply, .-gdImageBrushApply
	.type	gdImageTileApply, @function
gdImageTileApply:
.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, 32
	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	rax, QWORD PTR 4144[rax]
	test	rax, rax
	je	.L196
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 4144[rax]
	mov	ecx, DWORD PTR 8[rax]
	mov	eax, DWORD PTR -28[rbp]
	cdq
	idiv	ecx
	mov	DWORD PTR -12[rbp], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 4144[rax]
	mov	ecx, DWORD PTR 12[rax]
	mov	eax, DWORD PTR -32[rbp]
	cdq
	idiv	ecx
	mov	DWORD PTR -8[rbp], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 4144[rax]
	mov	edx, DWORD PTR -8[rbp]
	mov	ecx, DWORD PTR -12[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	gdImageGetPixel
	mov	DWORD PTR -4[rbp], eax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 4144[rax]
	mov	eax, DWORD PTR 4116[rax]
	cmp	DWORD PTR -4[rbp], eax
	je	.L193
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -4[rbp]
	movsx	rdx, edx
	add	rdx, 1292
	mov	ecx, DWORD PTR 8[rax+rdx*4]
	mov	edx, DWORD PTR -32[rbp]
	mov	esi, DWORD PTR -28[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	gdImageSetPixel
	jmp	.L193
.L196:
	nop
.L193:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE23:
	.size	gdImageTileApply, .-gdImageTileApply
	.globl	gdImageGetPixel
	.type	gdImageGetPixel, @function
gdImageGetPixel:
.LFB24:
	.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	QWORD PTR -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	mov	DWORD PTR -16[rbp], edx
	mov	edx, DWORD PTR -16[rbp]
	mov	ecx, DWORD PTR -12[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	gdImageBoundsSafe
	test	eax, eax
	je	.L198
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	jmp	.L199
.L198:
	mov	eax, 0
.L199:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE24:
	.size	gdImageGetPixel, .-gdImageGetPixel
	.globl	gdImageLine
	.type	gdImageLine, @function
gdImageLine:
.LFB25:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -56[rbp], rdi
	mov	DWORD PTR -60[rbp], esi
	mov	DWORD PTR -64[rbp], edx
	mov	DWORD PTR -68[rbp], ecx
	mov	DWORD PTR -72[rbp], r8d
	mov	DWORD PTR -76[rbp], r9d
	mov	eax, DWORD PTR -68[rbp]
	sub	eax, DWORD PTR -60[rbp]
	cdq
	xor	eax, edx
	mov	DWORD PTR -16[rbp], eax
	sub	DWORD PTR -16[rbp], edx
	mov	eax, DWORD PTR -72[rbp]
	sub	eax, DWORD PTR -64[rbp]
	cdq
	xor	eax, edx
	mov	DWORD PTR -12[rbp], eax
	sub	DWORD PTR -12[rbp], edx
	mov	eax, DWORD PTR -12[rbp]
	cmp	eax, DWORD PTR -16[rbp]
	jg	.L201
	mov	eax, DWORD PTR -12[rbp]
	add	eax, eax
	sub	eax, DWORD PTR -16[rbp]
	mov	DWORD PTR -44[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
	add	eax, eax
	mov	DWORD PTR -8[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
	sub	eax, DWORD PTR -16[rbp]
	add	eax, eax
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -60[rbp]
	cmp	eax, DWORD PTR -68[rbp]
	jle	.L202
	mov	eax, DWORD PTR -68[rbp]
	mov	DWORD PTR -40[rbp], eax
	mov	eax, DWORD PTR -72[rbp]
	mov	DWORD PTR -36[rbp], eax
	mov	DWORD PTR -20[rbp], -1
	mov	eax, DWORD PTR -60[rbp]
	mov	DWORD PTR -32[rbp], eax
	jmp	.L203
.L202:
	mov	eax, DWORD PTR -60[rbp]
	mov	DWORD PTR -40[rbp], eax
	mov	eax, DWORD PTR -64[rbp]
	mov	DWORD PTR -36[rbp], eax
	mov	DWORD PTR -20[rbp], 1
	mov	eax, DWORD PTR -68[rbp]
	mov	DWORD PTR -32[rbp], eax
.L203:
	mov	ecx, DWORD PTR -76[rbp]
	mov	edx, DWORD PTR -36[rbp]
	mov	esi, DWORD PTR -40[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	gdImageSetPixel
	mov	eax, DWORD PTR -72[rbp]
	sub	eax, DWORD PTR -64[rbp]
	imul	eax, DWORD PTR -20[rbp]
	test	eax, eax
	jle	.L210
	jmp	.L205
.L208:
	add	DWORD PTR -40[rbp], 1
	cmp	DWORD PTR -44[rbp], 0
	jns	.L206
	mov	eax, DWORD PTR -8[rbp]
	add	DWORD PTR -44[rbp], eax
	jmp	.L207
.L206:
	add	DWORD PTR -36[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
	add	DWORD PTR -44[rbp], eax
.L207:
	mov	ecx, DWORD PTR -76[rbp]
	mov	edx, DWORD PTR -36[rbp]
	mov	esi, DWORD PTR -40[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	gdImageSetPixel
.L205:
	mov	eax, DWORD PTR -40[rbp]
	cmp	eax, DWORD PTR -32[rbp]
	jl	.L208
	jmp	.L225
.L213:
	add	DWORD PTR -40[rbp], 1
	cmp	DWORD PTR -44[rbp], 0
	jns	.L211
	mov	eax, DWORD PTR -8[rbp]
	add	DWORD PTR -44[rbp], eax
	jmp	.L212
.L211:
	sub	DWORD PTR -36[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
	add	DWORD PTR -44[rbp], eax
.L212:
	mov	ecx, DWORD PTR -76[rbp]
	mov	edx, DWORD PTR -36[rbp]
	mov	esi, DWORD PTR -40[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	gdImageSetPixel
.L210:
	mov	eax, DWORD PTR -40[rbp]
	cmp	eax, DWORD PTR -32[rbp]
	jl	.L213
	jmp	.L225
.L201:
	mov	eax, DWORD PTR -16[rbp]
	add	eax, eax
	sub	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR -44[rbp], eax
	mov	eax, DWORD PTR -16[rbp]
	add	eax, eax
	mov	DWORD PTR -8[rbp], eax
	mov	eax, DWORD PTR -16[rbp]
	sub	eax, DWORD PTR -12[rbp]
	add	eax, eax
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -64[rbp]
	cmp	eax, DWORD PTR -72[rbp]
	jle	.L214
	mov	eax, DWORD PTR -72[rbp]
	mov	DWORD PTR -36[rbp], eax
	mov	eax, DWORD PTR -68[rbp]
	mov	DWORD PTR -40[rbp], eax
	mov	eax, DWORD PTR -64[rbp]
	mov	DWORD PTR -28[rbp], eax
	mov	DWORD PTR -24[rbp], -1
	jmp	.L215
.L214:
	mov	eax, DWORD PTR -64[rbp]
	mov	DWORD PTR -36[rbp], eax
	mov	eax, DWORD PTR -60[rbp]
	mov	DWORD PTR -40[rbp], eax
	mov	eax, DWORD PTR -72[rbp]
	mov	DWORD PTR -28[rbp], eax
	mov	DWORD PTR -24[rbp], 1
.L215:
	mov	ecx, DWORD PTR -76[rbp]
	mov	edx, DWORD PTR -36[rbp]
	mov	esi, DWORD PTR -40[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	gdImageSetPixel
	mov	eax, DWORD PTR -68[rbp]
	sub	eax, DWORD PTR -60[rbp]
	imul	eax, DWORD PTR -24[rbp]
	test	eax, eax
	jle	.L221
	jmp	.L217
.L220:
	add	DWORD PTR -36[rbp], 1
	cmp	DWORD PTR -44[rbp], 0
	jns	.L218
	mov	eax, DWORD PTR -8[rbp]
	add	DWORD PTR -44[rbp], eax
	jmp	.L219
.L218:
	add	DWORD PTR -40[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
	add	DWORD PTR -44[rbp], eax
.L219:
	mov	ecx, DWORD PTR -76[rbp]
	mov	edx, DWORD PTR -36[rbp]
	mov	esi, DWORD PTR -40[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	gdImageSetPixel
.L217:
	mov	eax, DWORD PTR -36[rbp]
	cmp	eax, DWORD PTR -28[rbp]
	jl	.L220
	jmp	.L225
.L224:
	add	DWORD PTR -36[rbp], 1
	cmp	DWORD PTR -44[rbp], 0
	jns	.L222
	mov	eax, DWORD PTR -8[rbp]
	add	DWORD PTR -44[rbp], eax
	jmp	.L223
.L222:
	sub	DWORD PTR -40[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
	add	DWORD PTR -44[rbp], eax
.L223:
	mov	ecx, DWORD PTR -76[rbp]
	mov	edx, DWORD PTR -36[rbp]
	mov	esi, DWORD PTR -40[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	gdImageSetPixel
.L221:
	mov	eax, DWORD PTR -36[rbp]
	cmp	eax, DWORD PTR -28[rbp]
	jl	.L224
.L225:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE25:
	.size	gdImageLine, .-gdImageLine
	.globl	gdImageBoundsSafe
	.type	gdImageBoundsSafe, @function
gdImageBoundsSafe:
.LFB26:
	.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 -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	mov	DWORD PTR -16[rbp], edx
	cmp	DWORD PTR -16[rbp], 0
	js	.L227
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 12[rax]
	cmp	DWORD PTR -16[rbp], eax
	jge	.L227
	cmp	DWORD PTR -12[rbp], 0
	js	.L227
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	DWORD PTR -12[rbp], eax
	jge	.L227
	mov	eax, 1
	jmp	.L229
.L227:
	mov	eax, 0
.L229:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE26:
	.size	gdImageBoundsSafe, .-gdImageBoundsSafe
	.globl	gdImageGif
	.type	gdImageGif, @function
gdImageGif:
.LFB27:
	.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	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 6216[rax]
	mov	DWORD PTR -12[rbp], eax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 4116[rax]
	mov	DWORD PTR -8[rbp], eax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	mov	edi, eax
	call	colorstobpp
	mov	DWORD PTR -4[rbp], eax
	call	init_statics
	mov	rax, QWORD PTR -24[rbp]
	lea	r9, 2068[rax]
	mov	rax, QWORD PTR -24[rbp]
	lea	r8, 1044[rax]
	mov	rax, QWORD PTR -24[rbp]
	lea	rdi, 20[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 12[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, DWORD PTR 8[rax]
	mov	r10d, DWORD PTR -8[rbp]
	mov	ecx, DWORD PTR -12[rbp]
	mov	rax, QWORD PTR -32[rbp]
	sub	rsp, 8
	push	QWORD PTR -24[rbp]
	push	r9
	push	r8
	push	rdi
	mov	edi, DWORD PTR -4[rbp]
	push	rdi
	mov	r9d, r10d
	mov	r8d, 0
	mov	rdi, rax
	call	GIFEncode
	add	rsp, 48
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE27:
	.size	gdImageGif, .-gdImageGif
	.type	colorstobpp, @function
colorstobpp:
.LFB28:
	.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], 0
	cmp	DWORD PTR -20[rbp], 2
	jg	.L232
	mov	DWORD PTR -4[rbp], 1
	jmp	.L233
.L232:
	cmp	DWORD PTR -20[rbp], 4
	jg	.L234
	mov	DWORD PTR -4[rbp], 2
	jmp	.L233
.L234:
	cmp	DWORD PTR -20[rbp], 8
	jg	.L235
	mov	DWORD PTR -4[rbp], 3
	jmp	.L233
.L235:
	cmp	DWORD PTR -20[rbp], 16
	jg	.L236
	mov	DWORD PTR -4[rbp], 4
	jmp	.L233
.L236:
	cmp	DWORD PTR -20[rbp], 32
	jg	.L237
	mov	DWORD PTR -4[rbp], 5
	jmp	.L233
.L237:
	cmp	DWORD PTR -20[rbp], 64
	jg	.L238
	mov	DWORD PTR -4[rbp], 6
	jmp	.L233
.L238:
	cmp	DWORD PTR -20[rbp], 128
	jg	.L239
	mov	DWORD PTR -4[rbp], 7
	jmp	.L233
.L239:
	cmp	DWORD PTR -20[rbp], 256
	jg	.L233
	mov	DWORD PTR -4[rbp], 8
.L233:
	mov	eax, DWORD PTR -4[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE28:
	.size	colorstobpp, .-colorstobpp
	.local	Width
	.comm	Width,4,4
	.local	Height
	.comm	Height,4,4
	.local	curx
	.comm	curx,4,4
	.local	cury
	.comm	cury,4,4
	.local	CountDown
	.comm	CountDown,8,8
	.local	Pass
	.comm	Pass,4,4
	.local	Interlace
	.comm	Interlace,4,4
	.type	BumpPixel, @function
BumpPixel:
.LFB29:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, DWORD PTR curx[rip]
	add	eax, 1
	mov	DWORD PTR curx[rip], eax
	mov	edx, DWORD PTR curx[rip]
	mov	eax, DWORD PTR Width[rip]
	cmp	edx, eax
	jne	.L251
	mov	DWORD PTR curx[rip], 0
	mov	eax, DWORD PTR Interlace[rip]
	test	eax, eax
	jne	.L243
	mov	eax, DWORD PTR cury[rip]
	add	eax, 1
	mov	DWORD PTR cury[rip], eax
	jmp	.L252
.L243:
	mov	eax, DWORD PTR Pass[rip]
	cmp	eax, 3
	je	.L244
	cmp	eax, 3
	jg	.L252
	cmp	eax, 2
	je	.L245
	cmp	eax, 2
	jg	.L252
	test	eax, eax
	je	.L246
	cmp	eax, 1
	je	.L247
	jmp	.L252
.L246:
	mov	eax, DWORD PTR cury[rip]
	add	eax, 8
	mov	DWORD PTR cury[rip], eax
	mov	edx, DWORD PTR cury[rip]
	mov	eax, DWORD PTR Height[rip]
	cmp	edx, eax
	jl	.L253
	mov	eax, DWORD PTR Pass[rip]
	add	eax, 1
	mov	DWORD PTR Pass[rip], eax
	mov	DWORD PTR cury[rip], 4
	jmp	.L253
.L247:
	mov	eax, DWORD PTR cury[rip]
	add	eax, 8
	mov	DWORD PTR cury[rip], eax
	mov	edx, DWORD PTR cury[rip]
	mov	eax, DWORD PTR Height[rip]
	cmp	edx, eax
	jl	.L254
	mov	eax, DWORD PTR Pass[rip]
	add	eax, 1
	mov	DWORD PTR Pass[rip], eax
	mov	DWORD PTR cury[rip], 2
	jmp	.L254
.L245:
	mov	eax, DWORD PTR cury[rip]
	add	eax, 4
	mov	DWORD PTR cury[rip], eax
	mov	edx, DWORD PTR cury[rip]
	mov	eax, DWORD PTR Height[rip]
	cmp	edx, eax
	jl	.L255
	mov	eax, DWORD PTR Pass[rip]
	add	eax, 1
	mov	DWORD PTR Pass[rip], eax
	mov	DWORD PTR cury[rip], 1
	jmp	.L255
.L244:
	mov	eax, DWORD PTR cury[rip]
	add	eax, 2
	mov	DWORD PTR cury[rip], eax
	jmp	.L242
.L251:
	nop
	jmp	.L252
.L253:
	nop
	jmp	.L252
.L254:
	nop
	jmp	.L252
.L255:
	nop
.L242:
.L252:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE29:
	.size	BumpPixel, .-BumpPixel
	.type	GIFNextPixel, @function
GIFNextPixel:
.LFB30:
	.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	rax, QWORD PTR CountDown[rip]
	test	rax, rax
	jne	.L257
	mov	eax, -1
	jmp	.L258
.L257:
	mov	rax, QWORD PTR CountDown[rip]
	sub	rax, 1
	mov	QWORD PTR CountDown[rip], rax
	mov	edx, DWORD PTR cury[rip]
	mov	ecx, DWORD PTR curx[rip]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	gdImageGetPixel
	mov	DWORD PTR -4[rbp], eax
	call	BumpPixel
	mov	eax, DWORD PTR -4[rbp]
.L258:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE30:
	.size	GIFNextPixel, .-GIFNextPixel
	.section	.rodata
.LC30:
	.string	"GIF87a"
.LC31:
	.string	"GIF89a"
	.text
	.type	GIFEncode, @function
GIFEncode:
.LFB31:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -56[rbp], rdi
	mov	DWORD PTR -60[rbp], esi
	mov	DWORD PTR -64[rbp], edx
	mov	DWORD PTR -68[rbp], ecx
	mov	DWORD PTR -72[rbp], r8d
	mov	DWORD PTR -76[rbp], r9d
	mov	eax, DWORD PTR -68[rbp]
	mov	DWORD PTR Interlace[rip], eax
	mov	eax, DWORD PTR 16[rbp]
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	mov	DWORD PTR -28[rbp], eax
	mov	eax, DWORD PTR -60[rbp]
	mov	DWORD PTR Width[rip], eax
	mov	eax, DWORD PTR Width[rip]
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR -64[rbp]
	mov	DWORD PTR Height[rip], eax
	mov	eax, DWORD PTR Height[rip]
	mov	DWORD PTR -20[rbp], eax
	mov	DWORD PTR -16[rbp], 0
	mov	eax, DWORD PTR -16[rbp]
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR 16[rbp]
	mov	DWORD PTR -8[rbp], eax
	mov	eax, DWORD PTR Width[rip]
	movsx	rdx, eax
	mov	eax, DWORD PTR Height[rip]
	cdqe
	imul	rax, rdx
	mov	QWORD PTR CountDown[rip], rax
	mov	DWORD PTR Pass[rip], 0
	cmp	DWORD PTR 16[rbp], 1
	jg	.L260
	mov	DWORD PTR -36[rbp], 2
	jmp	.L261
.L260:
	mov	eax, DWORD PTR 16[rbp]
	mov	DWORD PTR -36[rbp], eax
.L261:
	mov	DWORD PTR cury[rip], 0
	mov	eax, DWORD PTR cury[rip]
	mov	DWORD PTR curx[rip], eax
	cmp	DWORD PTR -76[rbp], 0
	jns	.L262
	lea	rax, .LC30[rip]
	jmp	.L263
.L262:
	lea	rax, .LC31[rip]
.L263:
	mov	rdx, QWORD PTR -56[rbp]
	mov	rcx, rdx
	mov	edx, 6
	mov	esi, 1
	mov	rdi, rax
	call	fwrite@PLT
	mov	rdx, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	Putword
	mov	rdx, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR -20[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	Putword
	mov	DWORD PTR -4[rbp], 128
	mov	eax, DWORD PTR -8[rbp]
	sub	eax, 1
	sal	eax, 5
	or	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR 16[rbp]
	sub	eax, 1
	or	DWORD PTR -4[rbp], eax
	mov	rdx, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR -4[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	fputc@PLT
	mov	rdx, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	fputc@PLT
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rax
	mov	edi, 0
	call	fputc@PLT
	mov	DWORD PTR -32[rbp], 0
	jmp	.L264
.L265:
	mov	eax, DWORD PTR -32[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR 24[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	rdx, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	fputc@PLT
	mov	eax, DWORD PTR -32[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR 32[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	rdx, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	fputc@PLT
	mov	eax, DWORD PTR -32[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR 40[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	rdx, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	fputc@PLT
	add	DWORD PTR -32[rbp], 1
.L264:
	mov	eax, DWORD PTR -32[rbp]
	cmp	eax, DWORD PTR -28[rbp]
	jl	.L265
	cmp	DWORD PTR -76[rbp], 0
	js	.L266
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rax
	mov	edi, 33
	call	fputc@PLT
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rax
	mov	edi, 249
	call	fputc@PLT
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rax
	mov	edi, 4
	call	fputc@PLT
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rax
	mov	edi, 1
	call	fputc@PLT
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rax
	mov	edi, 0
	call	fputc@PLT
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rax
	mov	edi, 0
	call	fputc@PLT
	mov	eax, DWORD PTR -76[rbp]
	movzx	eax, al
	mov	rdx, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	fputc@PLT
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rax
	mov	edi, 0
	call	fputc@PLT
.L266:
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rax
	mov	edi, 44
	call	fputc@PLT
	mov	rdx, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR -12[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	Putword
	mov	rdx, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR -16[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	Putword
	mov	eax, DWORD PTR Width[rip]
	mov	rdx, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	Putword
	mov	eax, DWORD PTR Height[rip]
	mov	rdx, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	Putword
	mov	eax, DWORD PTR Interlace[rip]
	test	eax, eax
	je	.L267
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rax
	mov	edi, 64
	call	fputc@PLT
	jmp	.L268
.L267:
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rax
	mov	edi, 0
	call	fputc@PLT
.L268:
	mov	rdx, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR -36[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	fputc@PLT
	mov	eax, DWORD PTR -36[rbp]
	lea	ecx, 1[rax]
	mov	rdx, QWORD PTR 48[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rax
	mov	edi, ecx
	call	compress
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rax
	mov	edi, 0
	call	fputc@PLT
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rax
	mov	edi, 59
	call	fputc@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE31:
	.size	GIFEncode, .-GIFEncode
	.type	Putword, @function
Putword:
.LFB32:
	.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	QWORD PTR -16[rbp], rsi
	mov	eax, DWORD PTR -4[rbp]
	movzx	eax, al
	mov	rdx, QWORD PTR -16[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	fputc@PLT
	mov	eax, DWORD PTR -4[rbp]
	lea	edx, 255[rax]
	test	eax, eax
	cmovs	eax, edx
	sar	eax, 8
	movzx	eax, al
	mov	rdx, QWORD PTR -16[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	fputc@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE32:
	.size	Putword, .-Putword
	.local	n_bits
	.comm	n_bits,4,4
	.data
	.align 4
	.type	maxbits, @object
	.size	maxbits, 4
maxbits:
	.long	12
	.local	maxcode
	.comm	maxcode,4,4
	.align 4
	.type	maxmaxcode, @object
	.size	maxmaxcode, 4
maxmaxcode:
	.long	4096
	.local	htab
	.comm	htab,40024,32
	.local	codetab
	.comm	codetab,10006,32
	.align 4
	.type	hsize, @object
	.size	hsize, 4
hsize:
	.long	5003
	.local	free_ent
	.comm	free_ent,4,4
	.local	clear_flg
	.comm	clear_flg,4,4
	.local	offset
	.comm	offset,4,4
	.align 8
	.type	in_count, @object
	.size	in_count, 8
in_count:
	.quad	1
	.local	out_count
	.comm	out_count,8,8
	.local	g_init_bits
	.comm	g_init_bits,4,4
	.local	g_outfile
	.comm	g_outfile,8,8
	.local	ClearCode
	.comm	ClearCode,4,4
	.local	EOFCode
	.comm	EOFCode,4,4
	.text
	.type	compress, @function
compress:
.LFB33:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	r15
	push	r14
	push	r13
	push	r12
	push	rbx
	sub	rsp, 40
	.cfi_offset 15, -24
	.cfi_offset 14, -32
	.cfi_offset 13, -40
	.cfi_offset 12, -48
	.cfi_offset 3, -56
	mov	DWORD PTR -52[rbp], edi
	mov	QWORD PTR -64[rbp], rsi
	mov	QWORD PTR -72[rbp], rdx
	mov	eax, DWORD PTR -52[rbp]
	mov	DWORD PTR g_init_bits[rip], eax
	mov	rax, QWORD PTR -64[rbp]
	mov	QWORD PTR g_outfile[rip], rax
	mov	DWORD PTR offset[rip], 0
	mov	QWORD PTR out_count[rip], 0
	mov	DWORD PTR clear_flg[rip], 0
	mov	QWORD PTR in_count[rip], 1
	mov	eax, DWORD PTR g_init_bits[rip]
	mov	DWORD PTR n_bits[rip], eax
	mov	eax, DWORD PTR n_bits[rip]
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	sub	eax, 1
	mov	DWORD PTR maxcode[rip], eax
	mov	eax, DWORD PTR -52[rbp]
	sub	eax, 1
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	mov	DWORD PTR ClearCode[rip], eax
	mov	eax, DWORD PTR ClearCode[rip]
	add	eax, 1
	mov	DWORD PTR EOFCode[rip], eax
	mov	eax, DWORD PTR ClearCode[rip]
	add	eax, 2
	mov	DWORD PTR free_ent[rip], eax
	call	char_init
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	call	GIFNextPixel
	mov	r13d, eax
	mov	r15d, 0
	mov	eax, DWORD PTR hsize[rip]
	movsx	r12, eax
	jmp	.L271
.L272:
	add	r15d, 1
	add	r12, r12
.L271:
	cmp	r12, 65535
	jle	.L272
	mov	eax, 8
	sub	eax, r15d
	mov	r15d, eax
	mov	eax, DWORD PTR hsize[rip]
	mov	DWORD PTR -76[rbp], eax
	cdqe
	mov	rdi, rax
	call	cl_hash
	mov	eax, DWORD PTR ClearCode[rip]
	mov	edi, eax
	call	output
	jmp	.L273
.L282:
	mov	rax, QWORD PTR in_count[rip]
	add	rax, 1
	mov	QWORD PTR in_count[rip], rax
	movsx	rdx, r14d
	mov	eax, DWORD PTR maxbits[rip]
	mov	ecx, eax
	sal	rdx, cl
	movsx	rax, r13d
	lea	r12, [rdx+rax]
	mov	eax, r14d
	mov	ecx, r15d
	sal	eax, cl
	xor	eax, r13d
	mov	ebx, eax
	movsx	rax, ebx
	lea	rdx, 0[0+rax*8]
	lea	rax, htab[rip]
	mov	rax, QWORD PTR [rdx+rax]
	cmp	r12, rax
	jne	.L274
	movsx	rax, ebx
	lea	rdx, [rax+rax]
	lea	rax, codetab[rip]
	movzx	eax, WORD PTR [rdx+rax]
	movzx	r13d, ax
	jmp	.L273
.L274:
	movsx	rax, ebx
	lea	rdx, 0[0+rax*8]
	lea	rax, htab[rip]
	mov	rax, QWORD PTR [rdx+rax]
	test	rax, rax
	js	.L283
	mov	eax, DWORD PTR -76[rbp]
	sub	eax, ebx
	mov	esi, eax
	test	ebx, ebx
	jne	.L284
	mov	esi, 1
	jmp	.L280
.L284:
	nop
.L277:
.L280:
	sub	ebx, esi
	test	ebx, ebx
	jns	.L278
	add	ebx, DWORD PTR -76[rbp]
.L278:
	movsx	rax, ebx
	lea	rdx, 0[0+rax*8]
	lea	rax, htab[rip]
	mov	rax, QWORD PTR [rdx+rax]
	cmp	r12, rax
	jne	.L279
	movsx	rax, ebx
	lea	rdx, [rax+rax]
	lea	rax, codetab[rip]
	movzx	eax, WORD PTR [rdx+rax]
	movzx	r13d, ax
	jmp	.L273
.L279:
	movsx	rax, ebx
	lea	rdx, 0[0+rax*8]
	lea	rax, htab[rip]
	mov	rax, QWORD PTR [rdx+rax]
	test	rax, rax
	jle	.L285
	jmp	.L280
.L283:
	nop
	jmp	.L276
.L285:
	nop
.L276:
	mov	edi, r13d
	call	output
	mov	rax, QWORD PTR out_count[rip]
	add	rax, 1
	mov	QWORD PTR out_count[rip], rax
	mov	r13d, r14d
	mov	edx, DWORD PTR free_ent[rip]
	mov	eax, DWORD PTR maxmaxcode[rip]
	cmp	edx, eax
	jge	.L281
	mov	eax, DWORD PTR free_ent[rip]
	lea	edx, 1[rax]
	mov	DWORD PTR free_ent[rip], edx
	mov	ecx, eax
	movsx	rax, ebx
	lea	rdx, [rax+rax]
	lea	rax, codetab[rip]
	mov	WORD PTR [rdx+rax], cx
	movsx	rax, ebx
	lea	rdx, 0[0+rax*8]
	lea	rax, htab[rip]
	mov	QWORD PTR [rdx+rax], r12
	jmp	.L273
.L281:
	call	cl_block
.L273:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	call	GIFNextPixel
	mov	r14d, eax
	cmp	r14d, -1
	jne	.L282
	mov	edi, r13d
	call	output
	mov	rax, QWORD PTR out_count[rip]
	add	rax, 1
	mov	QWORD PTR out_count[rip], rax
	mov	eax, DWORD PTR EOFCode[rip]
	mov	edi, eax
	call	output
	nop
	add	rsp, 40
	pop	rbx
	pop	r12
	pop	r13
	pop	r14
	pop	r15
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE33:
	.size	compress, .-compress
	.local	cur_accum
	.comm	cur_accum,8,8
	.local	cur_bits
	.comm	cur_bits,4,4
	.data
	.align 32
	.type	masks, @object
	.size	masks, 136
masks:
	.quad	0
	.quad	1
	.quad	3
	.quad	7
	.quad	15
	.quad	31
	.quad	63
	.quad	127
	.quad	255
	.quad	511
	.quad	1023
	.quad	2047
	.quad	4095
	.quad	8191
	.quad	16383
	.quad	32767
	.quad	65535
	.text
	.type	output, @function
output:
.LFB34:
	.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	eax, DWORD PTR cur_bits[rip]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, masks[rip]
	mov	rdx, QWORD PTR [rdx+rax]
	mov	rax, QWORD PTR cur_accum[rip]
	and	rax, rdx
	mov	QWORD PTR cur_accum[rip], rax
	mov	eax, DWORD PTR cur_bits[rip]
	test	eax, eax
	jle	.L287
	mov	eax, DWORD PTR -4[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR cur_bits[rip]
	mov	ecx, eax
	sal	rdx, cl
	mov	rax, rdx
	mov	rdx, rax
	mov	rax, QWORD PTR cur_accum[rip]
	or	rax, rdx
	mov	QWORD PTR cur_accum[rip], rax
	jmp	.L288
.L287:
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	mov	QWORD PTR cur_accum[rip], rax
.L288:
	mov	edx, DWORD PTR cur_bits[rip]
	mov	eax, DWORD PTR n_bits[rip]
	add	eax, edx
	mov	DWORD PTR cur_bits[rip], eax
	jmp	.L289
.L290:
	mov	rax, QWORD PTR cur_accum[rip]
	movzx	eax, al
	mov	edi, eax
	call	char_out
	mov	rax, QWORD PTR cur_accum[rip]
	shr	rax, 8
	mov	QWORD PTR cur_accum[rip], rax
	mov	eax, DWORD PTR cur_bits[rip]
	sub	eax, 8
	mov	DWORD PTR cur_bits[rip], eax
.L289:
	mov	eax, DWORD PTR cur_bits[rip]
	cmp	eax, 7
	jg	.L290
	mov	edx, DWORD PTR free_ent[rip]
	mov	eax, DWORD PTR maxcode[rip]
	cmp	edx, eax
	jg	.L291
	mov	eax, DWORD PTR clear_flg[rip]
	test	eax, eax
	je	.L292
.L291:
	mov	eax, DWORD PTR clear_flg[rip]
	test	eax, eax
	je	.L293
	mov	eax, DWORD PTR g_init_bits[rip]
	mov	DWORD PTR n_bits[rip], eax
	mov	eax, DWORD PTR n_bits[rip]
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	sub	eax, 1
	mov	DWORD PTR maxcode[rip], eax
	mov	DWORD PTR clear_flg[rip], 0
	jmp	.L292
.L293:
	mov	eax, DWORD PTR n_bits[rip]
	add	eax, 1
	mov	DWORD PTR n_bits[rip], eax
	mov	edx, DWORD PTR n_bits[rip]
	mov	eax, DWORD PTR maxbits[rip]
	cmp	edx, eax
	jne	.L294
	mov	eax, DWORD PTR maxmaxcode[rip]
	mov	DWORD PTR maxcode[rip], eax
	jmp	.L292
.L294:
	mov	eax, DWORD PTR n_bits[rip]
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	sub	eax, 1
	mov	DWORD PTR maxcode[rip], eax
.L292:
	mov	eax, DWORD PTR EOFCode[rip]
	cmp	DWORD PTR -4[rbp], eax
	jne	.L286
	jmp	.L296
.L297:
	mov	rax, QWORD PTR cur_accum[rip]
	movzx	eax, al
	mov	edi, eax
	call	char_out
	mov	rax, QWORD PTR cur_accum[rip]
	shr	rax, 8
	mov	QWORD PTR cur_accum[rip], rax
	mov	eax, DWORD PTR cur_bits[rip]
	sub	eax, 8
	mov	DWORD PTR cur_bits[rip], eax
.L296:
	mov	eax, DWORD PTR cur_bits[rip]
	test	eax, eax
	jg	.L297
	call	flush_char
	mov	rax, QWORD PTR g_outfile[rip]
	mov	rdi, rax
	call	fflush@PLT
	mov	rax, QWORD PTR g_outfile[rip]
	mov	rdi, rax
	call	ferror@PLT
	test	eax, eax
.L286:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE34:
	.size	output, .-output
	.type	cl_block, @function
cl_block:
.LFB35:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, DWORD PTR hsize[rip]
	cdqe
	mov	rdi, rax
	call	cl_hash
	mov	eax, DWORD PTR ClearCode[rip]
	add	eax, 2
	mov	DWORD PTR free_ent[rip], eax
	mov	DWORD PTR clear_flg[rip], 1
	mov	eax, DWORD PTR ClearCode[rip]
	mov	edi, eax
	call	output
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE35:
	.size	cl_block, .-cl_block
	.type	cl_hash, @function
cl_hash:
.LFB36:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	r13
	push	r12
	push	rbx
	.cfi_offset 13, -24
	.cfi_offset 12, -32
	.cfi_offset 3, -40
	mov	rax, rdi
	mov	rdx, rax
	lea	rcx, 0[0+rdx*8]
	lea	rdx, htab[rip]
	lea	rbx, [rcx+rdx]
	mov	r12, -1
	lea	r13, -16[rax]
.L300:
	lea	rax, -128[rbx]
	mov	QWORD PTR [rax], r12
	lea	rax, -120[rbx]
	mov	QWORD PTR [rax], r12
	lea	rax, -112[rbx]
	mov	QWORD PTR [rax], r12
	lea	rax, -104[rbx]
	mov	QWORD PTR [rax], r12
	lea	rax, -96[rbx]
	mov	QWORD PTR [rax], r12
	lea	rax, -88[rbx]
	mov	QWORD PTR [rax], r12
	lea	rax, -80[rbx]
	mov	QWORD PTR [rax], r12
	lea	rax, -72[rbx]
	mov	QWORD PTR [rax], r12
	lea	rax, -64[rbx]
	mov	QWORD PTR [rax], r12
	lea	rax, -56[rbx]
	mov	QWORD PTR [rax], r12
	lea	rax, -48[rbx]
	mov	QWORD PTR [rax], r12
	lea	rax, -40[rbx]
	mov	QWORD PTR [rax], r12
	lea	rax, -32[rbx]
	mov	QWORD PTR [rax], r12
	lea	rax, -24[rbx]
	mov	QWORD PTR [rax], r12
	lea	rax, -16[rbx]
	mov	QWORD PTR [rax], r12
	lea	rax, -8[rbx]
	mov	QWORD PTR [rax], r12
	add	rbx, -128
	sub	r13, 16
	test	r13, r13
	jns	.L300
	add	r13, 16
	jmp	.L301
.L302:
	sub	rbx, 8
	mov	QWORD PTR [rbx], r12
	sub	r13, 1
.L301:
	test	r13, r13
	jg	.L302
	nop
	nop
	pop	rbx
	pop	r12
	pop	r13
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE36:
	.size	cl_hash, .-cl_hash
	.local	a_count
	.comm	a_count,4,4
	.type	char_init, @function
char_init:
.LFB37:
	.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 a_count[rip], 0
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE37:
	.size	char_init, .-char_init
	.local	accum
	.comm	accum,256,32
	.type	char_out, @function
char_out:
.LFB38:
	.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	eax, DWORD PTR a_count[rip]
	lea	edx, 1[rax]
	mov	DWORD PTR a_count[rip], edx
	mov	edx, DWORD PTR -4[rbp]
	mov	ecx, edx
	cdqe
	lea	rdx, accum[rip]
	mov	BYTE PTR [rax+rdx], cl
	mov	eax, DWORD PTR a_count[rip]
	cmp	eax, 253
	jle	.L306
	call	flush_char
.L306:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE38:
	.size	char_out, .-char_out
	.type	flush_char, @function
flush_char:
.LFB39:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, DWORD PTR a_count[rip]
	test	eax, eax
	jle	.L309
	mov	rdx, QWORD PTR g_outfile[rip]
	mov	eax, DWORD PTR a_count[rip]
	mov	rsi, rdx
	mov	edi, eax
	call	fputc@PLT
	mov	rdx, QWORD PTR g_outfile[rip]
	mov	eax, DWORD PTR a_count[rip]
	cdqe
	mov	rcx, rdx
	mov	rdx, rax
	mov	esi, 1
	lea	rdi, accum[rip]
	call	fwrite@PLT
	mov	DWORD PTR a_count[rip], 0
.L309:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE39:
	.size	flush_char, .-flush_char
	.type	init_statics, @function
init_statics:
.LFB40:
	.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 Width[rip], 0
	mov	DWORD PTR Height[rip], 0
	mov	DWORD PTR curx[rip], 0
	mov	DWORD PTR cury[rip], 0
	mov	QWORD PTR CountDown[rip], 0
	mov	DWORD PTR Pass[rip], 0
	mov	DWORD PTR Interlace[rip], 0
	mov	DWORD PTR a_count[rip], 0
	mov	QWORD PTR cur_accum[rip], 0
	mov	DWORD PTR cur_bits[rip], 0
	mov	DWORD PTR g_init_bits[rip], 0
	mov	QWORD PTR g_outfile[rip], 0
	mov	DWORD PTR ClearCode[rip], 0
	mov	DWORD PTR EOFCode[rip], 0
	mov	DWORD PTR free_ent[rip], 0
	mov	DWORD PTR clear_flg[rip], 0
	mov	DWORD PTR offset[rip], 0
	mov	QWORD PTR in_count[rip], 1
	mov	QWORD PTR out_count[rip], 0
	mov	DWORD PTR hsize[rip], 5003
	mov	DWORD PTR n_bits[rip], 0
	mov	DWORD PTR maxbits[rip], 12
	mov	DWORD PTR maxcode[rip], 0
	mov	DWORD PTR maxmaxcode[rip], 4096
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE40:
	.size	init_statics, .-init_statics
	.data
	.align 16
	.type	Gif89, @object
	.size	Gif89, 16
Gif89:
	.long	-1
	.long	-1
	.long	-1
	.long	0
	.globl	ZeroDataBlock
	.bss
	.align 4
	.type	ZeroDataBlock, @object
	.size	ZeroDataBlock, 4
ZeroDataBlock:
	.zero	4
	.section	.rodata
.LC32:
	.string	"GIF"
.LC33:
	.string	"87a"
.LC34:
	.string	"89a"
	.text
	.globl	gdImageCreateFromGif
	.type	gdImageCreateFromGif, @function
gdImageCreateFromGif:
.LFB41:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 1664
	mov	QWORD PTR -1656[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -1640[rbp], -1
	mov	DWORD PTR -1636[rbp], 0
	mov	QWORD PTR -1592[rbp], 0
	mov	DWORD PTR ZeroDataBlock[rip], 0
	mov	DWORD PTR -1628[rbp], 1
	mov	rdx, QWORD PTR -1656[rbp]
	lea	rax, -32[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	esi, 6
	mov	rdi, rax
	call	fread@PLT
	test	rax, rax
	jne	.L312
	mov	eax, 0
	jmp	.L337
.L312:
	lea	rax, -32[rbp]
	mov	edx, 3
	lea	rsi, .LC32[rip]
	mov	rdi, rax
	call	strncmp@PLT
	test	eax, eax
	je	.L314
	mov	eax, 0
	jmp	.L337
.L314:
	lea	rax, -32[rbp]
	add	rax, 3
	lea	rcx, -36[rbp]
	mov	edx, 3
	mov	rsi, rax
	mov	rdi, rcx
	call	strncpy@PLT
	mov	BYTE PTR -33[rbp], 0
	lea	rax, -36[rbp]
	lea	rsi, .LC33[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	je	.L315
	lea	rax, -36[rbp]
	lea	rsi, .LC34[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	je	.L315
	mov	eax, 0
	jmp	.L337
.L315:
	mov	rdx, QWORD PTR -1656[rbp]
	lea	rax, -32[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	esi, 7
	mov	rdi, rax
	call	fread@PLT
	test	rax, rax
	jne	.L316
	mov	eax, 0
	jmp	.L337
.L316:
	movzx	eax, BYTE PTR -28[rbp]
	movzx	eax, al
	and	eax, 7
	mov	edx, 2
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	mov	DWORD PTR -1624[rbp], eax
	movzx	eax, BYTE PTR -28[rbp]
	movzx	eax, al
	sar	eax, 3
	and	eax, 14
	add	eax, 1
	mov	DWORD PTR -1620[rbp], eax
	movzx	eax, BYTE PTR -27[rbp]
	movzx	eax, al
	mov	DWORD PTR -1616[rbp], eax
	movzx	eax, BYTE PTR -26[rbp]
	movzx	eax, al
	mov	DWORD PTR -1612[rbp], eax
	movzx	eax, BYTE PTR -28[rbp]
	test	al, al
	jns	.L336
	lea	rdx, -1584[rbp]
	mov	ecx, DWORD PTR -1624[rbp]
	mov	rax, QWORD PTR -1656[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	ReadColorMap
	test	eax, eax
	je	.L336
	mov	eax, 0
	jmp	.L337
.L336:
	mov	rdx, QWORD PTR -1656[rbp]
	lea	rax, -1641[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	esi, 1
	mov	rdi, rax
	call	fread@PLT
	test	rax, rax
	jne	.L318
	mov	eax, 0
	jmp	.L337
.L318:
	movzx	eax, BYTE PTR -1641[rbp]
	cmp	al, 59
	jne	.L319
	mov	eax, DWORD PTR -1636[rbp]
	cmp	eax, DWORD PTR -1628[rbp]
	jge	.L320
	mov	eax, 0
	jmp	.L337
.L320:
	cmp	QWORD PTR -1592[rbp], 0
	jne	.L321
	mov	eax, 0
	jmp	.L337
.L321:
	mov	rax, QWORD PTR -1592[rbp]
	mov	eax, DWORD PTR 16[rax]
	sub	eax, 1
	mov	DWORD PTR -1632[rbp], eax
	jmp	.L322
.L326:
	mov	rax, QWORD PTR -1592[rbp]
	mov	edx, DWORD PTR -1632[rbp]
	movsx	rdx, edx
	add	rdx, 772
	mov	eax, DWORD PTR 4[rax+rdx*4]
	test	eax, eax
	je	.L339
	mov	rax, QWORD PTR -1592[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -1592[rbp]
	mov	DWORD PTR 16[rax], edx
	sub	DWORD PTR -1632[rbp], 1
.L322:
	cmp	DWORD PTR -1632[rbp], 0
	jns	.L326
	jmp	.L325
.L339:
	nop
.L325:
	mov	rax, QWORD PTR -1592[rbp]
	jmp	.L337
.L319:
	movzx	eax, BYTE PTR -1641[rbp]
	cmp	al, 33
	jne	.L327
	mov	rdx, QWORD PTR -1656[rbp]
	lea	rax, -1641[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	esi, 1
	mov	rdi, rax
	call	fread@PLT
	test	rax, rax
	jne	.L328
	mov	eax, 0
	jmp	.L337
.L328:
	movzx	eax, BYTE PTR -1641[rbp]
	movzx	ecx, al
	lea	rdx, -1640[rbp]
	mov	rax, QWORD PTR -1656[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	DoExtension
	jmp	.L329
.L327:
	movzx	eax, BYTE PTR -1641[rbp]
	cmp	al, 44
	jne	.L340
	add	DWORD PTR -1636[rbp], 1
	mov	rdx, QWORD PTR -1656[rbp]
	lea	rax, -32[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	esi, 9
	mov	rdi, rax
	call	fread@PLT
	test	rax, rax
	jne	.L331
	mov	eax, 0
	jmp	.L337
.L331:
	movzx	eax, BYTE PTR -24[rbp]
	not	eax
	shr	al, 7
	movzx	eax, al
	mov	DWORD PTR -1608[rbp], eax
	movzx	eax, BYTE PTR -24[rbp]
	movzx	eax, al
	and	eax, 7
	add	eax, 1
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	mov	DWORD PTR -1604[rbp], eax
	movzx	eax, BYTE PTR -27[rbp]
	movzx	eax, al
	sal	eax, 8
	mov	edx, eax
	movzx	eax, BYTE PTR -28[rbp]
	movzx	eax, al
	or	eax, edx
	mov	DWORD PTR -1600[rbp], eax
	movzx	eax, BYTE PTR -25[rbp]
	movzx	eax, al
	sal	eax, 8
	mov	edx, eax
	movzx	eax, BYTE PTR -26[rbp]
	movzx	eax, al
	or	eax, edx
	mov	DWORD PTR -1596[rbp], eax
	mov	edx, DWORD PTR -1596[rbp]
	mov	eax, DWORD PTR -1600[rbp]
	mov	esi, edx
	mov	edi, eax
	call	gdImageCreate
	mov	QWORD PTR -1592[rbp], rax
	cmp	QWORD PTR -1592[rbp], 0
	jne	.L332
	mov	eax, 0
	jmp	.L337
.L332:
	movzx	eax, BYTE PTR -24[rbp]
	movzx	eax, al
	and	eax, 64
	test	eax, eax
	setne	al
	movzx	edx, al
	mov	rax, QWORD PTR -1592[rbp]
	mov	DWORD PTR 6216[rax], edx
	cmp	DWORD PTR -1608[rbp], 0
	jne	.L333
	lea	rdx, -816[rbp]
	mov	ecx, DWORD PTR -1604[rbp]
	mov	rax, QWORD PTR -1656[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	ReadColorMap
	test	eax, eax
	je	.L334
	mov	eax, 0
	jmp	.L337
.L334:
	mov	eax, DWORD PTR -1636[rbp]
	cmp	eax, DWORD PTR -1628[rbp]
	setne	al
	movzx	edi, al
	movzx	eax, BYTE PTR -24[rbp]
	movzx	eax, al
	and	eax, 64
	test	eax, eax
	setne	al
	movzx	r9d, al
	lea	r8, -816[rbp]
	mov	ecx, DWORD PTR -1596[rbp]
	mov	edx, DWORD PTR -1600[rbp]
	mov	rsi, QWORD PTR -1656[rbp]
	mov	rax, QWORD PTR -1592[rbp]
	sub	rsp, 8
	push	rdi
	mov	rdi, rax
	call	ReadImage
	add	rsp, 16
	jmp	.L335
.L333:
	mov	eax, DWORD PTR -1636[rbp]
	cmp	eax, DWORD PTR -1628[rbp]
	setne	al
	movzx	edi, al
	movzx	eax, BYTE PTR -24[rbp]
	movzx	eax, al
	and	eax, 64
	test	eax, eax
	setne	al
	movzx	r9d, al
	lea	r8, -1584[rbp]
	mov	ecx, DWORD PTR -1596[rbp]
	mov	edx, DWORD PTR -1600[rbp]
	mov	rsi, QWORD PTR -1656[rbp]
	mov	rax, QWORD PTR -1592[rbp]
	sub	rsp, 8
	push	rdi
	mov	rdi, rax
	call	ReadImage
	add	rsp, 16
.L335:
	mov	eax, DWORD PTR -1640[rbp]
	cmp	eax, -1
	je	.L336
	mov	edx, DWORD PTR -1640[rbp]
	mov	rax, QWORD PTR -1592[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	gdImageColorTransparent
	jmp	.L336
.L340:
	nop
.L329:
	jmp	.L336
.L337:
	mov	rsi, QWORD PTR -8[rbp]
	sub	rsi, QWORD PTR fs:40
	je	.L338
	call	__stack_chk_fail@PLT
.L338:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE41:
	.size	gdImageCreateFromGif, .-gdImageCreateFromGif
	.type	ReadColorMap, @function
ReadColorMap:
.LFB42:
	.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	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	QWORD PTR -40[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -16[rbp], 0
	jmp	.L342
.L345:
	mov	rdx, QWORD PTR -24[rbp]
	lea	rax, -11[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	esi, 3
	mov	rdi, rax
	call	fread@PLT
	test	rax, rax
	jne	.L343
	mov	eax, 1
	jmp	.L346
.L343:
	movzx	ecx, BYTE PTR -11[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	mov	BYTE PTR [rdx+rax], cl
	mov	rax, QWORD PTR -40[rbp]
	lea	rcx, 256[rax]
	movzx	edx, BYTE PTR -10[rbp]
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	mov	BYTE PTR [rcx+rax], dl
	mov	rax, QWORD PTR -40[rbp]
	lea	rcx, 512[rax]
	movzx	edx, BYTE PTR -9[rbp]
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	mov	BYTE PTR [rcx+rax], dl
	add	DWORD PTR -16[rbp], 1
.L342:
	mov	eax, DWORD PTR -16[rbp]
	cmp	eax, DWORD PTR -28[rbp]
	jl	.L345
	mov	eax, 0
.L346:
	mov	rsi, QWORD PTR -8[rbp]
	sub	rsi, QWORD PTR fs:40
	je	.L347
	call	__stack_chk_fail@PLT
.L347:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE42:
	.size	ReadColorMap, .-ReadColorMap
	.type	DoExtension, @function
DoExtension:
.LFB43:
	.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 -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	mov	QWORD PTR -24[rbp], rdx
	cmp	DWORD PTR -12[rbp], 249
	jne	.L355
	mov	rax, QWORD PTR -8[rbp]
	lea	rsi, buf.16[rip]
	mov	rdi, rax
	call	GetDataBlock
	movzx	eax, BYTE PTR buf.16[rip]
	shr	al, 2
	movzx	eax, al
	and	eax, 7
	mov	DWORD PTR Gif89[rip+12], eax
	movzx	eax, BYTE PTR buf.16[rip]
	shr	al
	movzx	eax, al
	and	eax, 1
	mov	DWORD PTR Gif89[rip+8], eax
	movzx	eax, BYTE PTR buf.16[rip+2]
	movzx	eax, al
	sal	eax, 8
	mov	edx, eax
	movzx	eax, BYTE PTR buf.16[rip+1]
	movzx	eax, al
	or	eax, edx
	mov	DWORD PTR Gif89[rip+4], eax
	movzx	eax, BYTE PTR buf.16[rip]
	movzx	eax, al
	and	eax, 1
	test	eax, eax
	je	.L356
	movzx	eax, BYTE PTR buf.16[rip+3]
	movzx	edx, al
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR [rax], edx
.L356:
	nop
.L351:
	mov	rax, QWORD PTR -8[rbp]
	lea	rsi, buf.16[rip]
	mov	rdi, rax
	call	GetDataBlock
	test	eax, eax
	jne	.L351
	mov	eax, 0
	jmp	.L352
.L355:
	nop
	nop
.L353:
	mov	rax, QWORD PTR -8[rbp]
	lea	rsi, buf.16[rip]
	mov	rdi, rax
	call	GetDataBlock
	test	eax, eax
	jne	.L353
	mov	eax, 0
.L352:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE43:
	.size	DoExtension, .-DoExtension
	.type	GetDataBlock, @function
GetDataBlock:
.LFB44:
	.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	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rdx, QWORD PTR -24[rbp]
	lea	rax, -9[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	esi, 1
	mov	rdi, rax
	call	fread@PLT
	test	rax, rax
	jne	.L358
	mov	eax, -1
	jmp	.L361
.L358:
	movzx	eax, BYTE PTR -9[rbp]
	test	al, al
	sete	al
	movzx	eax, al
	mov	DWORD PTR ZeroDataBlock[rip], eax
	movzx	eax, BYTE PTR -9[rbp]
	test	al, al
	je	.L360
	movzx	eax, BYTE PTR -9[rbp]
	movzx	esi, al
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	rdi, rax
	call	fread@PLT
	test	rax, rax
	jne	.L360
	mov	eax, -1
	jmp	.L361
.L360:
	movzx	eax, BYTE PTR -9[rbp]
	movzx	eax, al
.L361:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L362
	call	__stack_chk_fail@PLT
.L362:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE44:
	.size	GetDataBlock, .-GetDataBlock
	.type	GetCode, @function
GetCode:
.LFB45:
	.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 -32[rbp], edx
	cmp	DWORD PTR -32[rbp], 0
	je	.L364
	mov	DWORD PTR curbit.15[rip], 0
	mov	DWORD PTR lastbit.14[rip], 0
	mov	DWORD PTR done.13[rip], 0
	mov	eax, 0
	jmp	.L365
.L364:
	mov	edx, DWORD PTR curbit.15[rip]
	mov	eax, DWORD PTR -28[rbp]
	add	edx, eax
	mov	eax, DWORD PTR lastbit.14[rip]
	cmp	edx, eax
	jl	.L366
	mov	eax, DWORD PTR done.13[rip]
	test	eax, eax
	je	.L367
	mov	eax, -1
	jmp	.L365
.L367:
	mov	eax, DWORD PTR last_byte.12[rip]
	sub	eax, 2
	cdqe
	lea	rdx, buf.11[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	mov	BYTE PTR buf.11[rip], al
	mov	eax, DWORD PTR last_byte.12[rip]
	sub	eax, 1
	cdqe
	lea	rdx, buf.11[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	mov	BYTE PTR buf.11[rip+1], al
	mov	rax, QWORD PTR -24[rbp]
	lea	rsi, buf.11[rip+2]
	mov	rdi, rax
	call	GetDataBlock
	mov	BYTE PTR -13[rbp], al
	cmp	BYTE PTR -13[rbp], 0
	jne	.L368
	mov	DWORD PTR done.13[rip], 1
.L368:
	movzx	eax, BYTE PTR -13[rbp]
	add	eax, 2
	mov	DWORD PTR last_byte.12[rip], eax
	mov	eax, DWORD PTR curbit.15[rip]
	mov	edx, DWORD PTR lastbit.14[rip]
	sub	eax, edx
	add	eax, 16
	mov	DWORD PTR curbit.15[rip], eax
	movzx	eax, BYTE PTR -13[rbp]
	add	eax, 2
	sal	eax, 3
	mov	DWORD PTR lastbit.14[rip], eax
.L366:
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR curbit.15[rip]
	mov	DWORD PTR -12[rbp], eax
	mov	DWORD PTR -8[rbp], 0
	jmp	.L369
.L370:
	mov	eax, DWORD PTR -12[rbp]
	lea	edx, 7[rax]
	test	eax, eax
	cmovs	eax, edx
	sar	eax, 3
	cdqe
	lea	rdx, buf.11[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	movzx	edx, al
	mov	eax, DWORD PTR -12[rbp]
	mov	ecx, eax
	sar	ecx, 31
	shr	ecx, 29
	add	eax, ecx
	and	eax, 7
	sub	eax, ecx
	mov	ecx, eax
	sar	edx, cl
	mov	eax, edx
	and	eax, 1
	test	eax, eax
	setne	al
	movzx	edx, al
	mov	eax, DWORD PTR -8[rbp]
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	or	DWORD PTR -4[rbp], eax
	add	DWORD PTR -12[rbp], 1
	add	DWORD PTR -8[rbp], 1
.L369:
	mov	eax, DWORD PTR -8[rbp]
	cmp	eax, DWORD PTR -28[rbp]
	jl	.L370
	mov	edx, DWORD PTR curbit.15[rip]
	mov	eax, DWORD PTR -28[rbp]
	add	eax, edx
	mov	DWORD PTR curbit.15[rip], eax
	mov	eax, DWORD PTR -4[rbp]
.L365:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE45:
	.size	GetCode, .-GetCode
	.local	sp.17
	.comm	sp.17,8,8
	.type	LWZReadByte, @function
LWZReadByte:
.LFB46:
	.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, 312
	.cfi_offset 3, -24
	mov	QWORD PTR -312[rbp], rdi
	mov	DWORD PTR -316[rbp], esi
	mov	DWORD PTR -320[rbp], edx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -24[rbp], rax
	xor	eax, eax
	cmp	DWORD PTR -316[rbp], 0
	je	.L372
	mov	eax, DWORD PTR -320[rbp]
	mov	DWORD PTR set_code_size.10[rip], eax
	mov	eax, DWORD PTR set_code_size.10[rip]
	add	eax, 1
	mov	DWORD PTR code_size.9[rip], eax
	mov	eax, DWORD PTR set_code_size.10[rip]
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	mov	DWORD PTR clear_code.8[rip], eax
	mov	eax, DWORD PTR clear_code.8[rip]
	add	eax, 1
	mov	DWORD PTR end_code.7[rip], eax
	mov	eax, DWORD PTR clear_code.8[rip]
	add	eax, eax
	mov	DWORD PTR max_code_size.6[rip], eax
	mov	eax, DWORD PTR clear_code.8[rip]
	add	eax, 2
	mov	DWORD PTR max_code.5[rip], eax
	mov	rax, QWORD PTR -312[rbp]
	mov	edx, 1
	mov	esi, 0
	mov	rdi, rax
	call	GetCode
	mov	DWORD PTR fresh.4[rip], 1
	mov	ebx, 0
	jmp	.L373
.L374:
	movsx	rax, ebx
	lea	rdx, 0[0+rax*4]
	lea	rax, table.3[rip]
	mov	DWORD PTR [rdx+rax], 0
	movsx	rax, ebx
	add	rax, 4096
	lea	rdx, 0[0+rax*4]
	lea	rax, table.3[rip]
	mov	DWORD PTR [rdx+rax], ebx
	add	ebx, 1
.L373:
	mov	eax, DWORD PTR clear_code.8[rip]
	cmp	ebx, eax
	jl	.L374
	jmp	.L375
.L376:
	mov	DWORD PTR table.3[rip+16384], 0
	mov	eax, DWORD PTR table.3[rip+16384]
	movsx	rdx, ebx
	lea	rcx, 0[0+rdx*4]
	lea	rdx, table.3[rip]
	mov	DWORD PTR [rcx+rdx], eax
	add	ebx, 1
.L375:
	cmp	ebx, 4095
	jle	.L376
	lea	rax, stack.2[rip]
	mov	QWORD PTR sp.17[rip], rax
	mov	eax, 0
	jmp	.L377
.L372:
	mov	eax, DWORD PTR fresh.4[rip]
	test	eax, eax
	je	.L378
	mov	DWORD PTR fresh.4[rip], 0
.L379:
	mov	ecx, DWORD PTR code_size.9[rip]
	mov	rax, QWORD PTR -312[rbp]
	mov	edx, 0
	mov	esi, ecx
	mov	rdi, rax
	call	GetCode
	mov	DWORD PTR oldcode.1[rip], eax
	mov	eax, DWORD PTR oldcode.1[rip]
	mov	DWORD PTR firstcode.0[rip], eax
	mov	edx, DWORD PTR firstcode.0[rip]
	mov	eax, DWORD PTR clear_code.8[rip]
	cmp	edx, eax
	je	.L379
	mov	eax, DWORD PTR firstcode.0[rip]
	jmp	.L377
.L378:
	mov	rax, QWORD PTR sp.17[rip]
	lea	rdx, stack.2[rip]
	cmp	rax, rdx
	jbe	.L381
	mov	rax, QWORD PTR sp.17[rip]
	sub	rax, 4
	mov	QWORD PTR sp.17[rip], rax
	mov	rax, QWORD PTR sp.17[rip]
	mov	eax, DWORD PTR [rax]
	jmp	.L377
.L396:
	mov	eax, DWORD PTR clear_code.8[rip]
	cmp	DWORD PTR -300[rbp], eax
	jne	.L382
	mov	ebx, 0
	jmp	.L383
.L384:
	movsx	rax, ebx
	lea	rdx, 0[0+rax*4]
	lea	rax, table.3[rip]
	mov	DWORD PTR [rdx+rax], 0
	movsx	rax, ebx
	add	rax, 4096
	lea	rdx, 0[0+rax*4]
	lea	rax, table.3[rip]
	mov	DWORD PTR [rdx+rax], ebx
	add	ebx, 1
.L383:
	mov	eax, DWORD PTR clear_code.8[rip]
	cmp	ebx, eax
	jl	.L384
	jmp	.L385
.L386:
	movsx	rax, ebx
	add	rax, 4096
	lea	rdx, 0[0+rax*4]
	lea	rax, table.3[rip]
	mov	DWORD PTR [rdx+rax], 0
	movsx	rax, ebx
	add	rax, 4096
	lea	rdx, 0[0+rax*4]
	lea	rax, table.3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	movsx	rdx, ebx
	lea	rcx, 0[0+rdx*4]
	lea	rdx, table.3[rip]
	mov	DWORD PTR [rcx+rdx], eax
	add	ebx, 1
.L385:
	cmp	ebx, 4095
	jle	.L386
	mov	eax, DWORD PTR set_code_size.10[rip]
	add	eax, 1
	mov	DWORD PTR code_size.9[rip], eax
	mov	eax, DWORD PTR clear_code.8[rip]
	add	eax, eax
	mov	DWORD PTR max_code_size.6[rip], eax
	mov	eax, DWORD PTR clear_code.8[rip]
	add	eax, 2
	mov	DWORD PTR max_code.5[rip], eax
	lea	rax, stack.2[rip]
	mov	QWORD PTR sp.17[rip], rax
	mov	ecx, DWORD PTR code_size.9[rip]
	mov	rax, QWORD PTR -312[rbp]
	mov	edx, 0
	mov	esi, ecx
	mov	rdi, rax
	call	GetCode
	mov	DWORD PTR oldcode.1[rip], eax
	mov	eax, DWORD PTR oldcode.1[rip]
	mov	DWORD PTR firstcode.0[rip], eax
	mov	eax, DWORD PTR firstcode.0[rip]
	jmp	.L377
.L382:
	mov	eax, DWORD PTR end_code.7[rip]
	cmp	DWORD PTR -300[rbp], eax
	jne	.L387
	mov	eax, DWORD PTR ZeroDataBlock[rip]
	test	eax, eax
	je	.L398
	mov	eax, -2
	jmp	.L377
.L398:
	nop
.L390:
	lea	rdx, -288[rbp]
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	GetDataBlock
	mov	DWORD PTR -296[rbp], eax
	cmp	DWORD PTR -296[rbp], 0
	jg	.L390
	cmp	DWORD PTR -296[rbp], 0
	je	.L387
	mov	eax, -2
	jmp	.L377
.L387:
	mov	eax, DWORD PTR -300[rbp]
	mov	DWORD PTR -292[rbp], eax
	mov	eax, DWORD PTR max_code.5[rip]
	cmp	DWORD PTR -300[rbp], eax
	jl	.L393
	mov	rax, QWORD PTR sp.17[rip]
	lea	rdx, 4[rax]
	mov	QWORD PTR sp.17[rip], rdx
	mov	edx, DWORD PTR firstcode.0[rip]
	mov	DWORD PTR [rax], edx
	mov	eax, DWORD PTR oldcode.1[rip]
	mov	DWORD PTR -300[rbp], eax
	jmp	.L393
.L394:
	mov	rax, QWORD PTR sp.17[rip]
	lea	rdx, 4[rax]
	mov	QWORD PTR sp.17[rip], rdx
	mov	edx, DWORD PTR -300[rbp]
	movsx	rdx, edx
	add	rdx, 4096
	lea	rcx, 0[0+rdx*4]
	lea	rdx, table.3[rip]
	mov	edx, DWORD PTR [rcx+rdx]
	mov	DWORD PTR [rax], edx
	mov	eax, DWORD PTR -300[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, table.3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -300[rbp], eax
.L393:
	mov	eax, DWORD PTR clear_code.8[rip]
	cmp	DWORD PTR -300[rbp], eax
	jge	.L394
	mov	eax, DWORD PTR -300[rbp]
	cdqe
	add	rax, 4096
	lea	rdx, 0[0+rax*4]
	lea	rax, table.3[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR firstcode.0[rip], eax
	mov	rax, QWORD PTR sp.17[rip]
	lea	rdx, 4[rax]
	mov	QWORD PTR sp.17[rip], rdx
	mov	edx, DWORD PTR firstcode.0[rip]
	mov	DWORD PTR [rax], edx
	mov	eax, DWORD PTR max_code.5[rip]
	mov	DWORD PTR -300[rbp], eax
	cmp	DWORD PTR -300[rbp], 4095
	jg	.L395
	mov	eax, DWORD PTR oldcode.1[rip]
	mov	edx, DWORD PTR -300[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	lea	rdx, table.3[rip]
	mov	DWORD PTR [rcx+rdx], eax
	mov	eax, DWORD PTR firstcode.0[rip]
	mov	edx, DWORD PTR -300[rbp]
	movsx	rdx, edx
	add	rdx, 4096
	lea	rcx, 0[0+rdx*4]
	lea	rdx, table.3[rip]
	mov	DWORD PTR [rcx+rdx], eax
	mov	eax, DWORD PTR max_code.5[rip]
	add	eax, 1
	mov	DWORD PTR max_code.5[rip], eax
	mov	edx, DWORD PTR max_code.5[rip]
	mov	eax, DWORD PTR max_code_size.6[rip]
	cmp	edx, eax
	jl	.L395
	mov	eax, DWORD PTR max_code_size.6[rip]
	cmp	eax, 4095
	jg	.L395
	mov	eax, DWORD PTR max_code_size.6[rip]
	add	eax, eax
	mov	DWORD PTR max_code_size.6[rip], eax
	mov	eax, DWORD PTR code_size.9[rip]
	add	eax, 1
	mov	DWORD PTR code_size.9[rip], eax
.L395:
	mov	eax, DWORD PTR -292[rbp]
	mov	DWORD PTR oldcode.1[rip], eax
	mov	rax, QWORD PTR sp.17[rip]
	lea	rdx, stack.2[rip]
	cmp	rax, rdx
	jbe	.L381
	mov	rax, QWORD PTR sp.17[rip]
	sub	rax, 4
	mov	QWORD PTR sp.17[rip], rax
	mov	rax, QWORD PTR sp.17[rip]
	mov	eax, DWORD PTR [rax]
	jmp	.L377
.L381:
	mov	ecx, DWORD PTR code_size.9[rip]
	mov	rax, QWORD PTR -312[rbp]
	mov	edx, 0
	mov	esi, ecx
	mov	rdi, rax
	call	GetCode
	mov	DWORD PTR -300[rbp], eax
	cmp	DWORD PTR -300[rbp], 0
	jns	.L396
	mov	eax, DWORD PTR -300[rbp]
.L377:
	mov	rsi, QWORD PTR -24[rbp]
	sub	rsi, QWORD PTR fs:40
	je	.L397
	call	__stack_chk_fail@PLT
.L397:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE46:
	.size	LWZReadByte, .-LWZReadByte
	.type	ReadImage, @function
ReadImage:
.LFB47:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	DWORD PTR -52[rbp], edx
	mov	DWORD PTR -56[rbp], ecx
	mov	QWORD PTR -64[rbp], r8
	mov	DWORD PTR -68[rbp], r9d
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -28[rbp], 0
	mov	DWORD PTR -24[rbp], 0
	mov	DWORD PTR -20[rbp], 0
	mov	DWORD PTR -16[rbp], 0
	jmp	.L400
.L401:
	mov	rdx, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	movzx	eax, BYTE PTR [rdx+rax]
	movzx	edx, al
	mov	rax, QWORD PTR -40[rbp]
	mov	ecx, DWORD PTR -16[rbp]
	movsx	rcx, ecx
	add	rcx, 4
	mov	DWORD PTR 4[rax+rcx*4], edx
	mov	rax, QWORD PTR -64[rbp]
	lea	rdx, 256[rax]
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	movzx	eax, BYTE PTR [rdx+rax]
	movzx	edx, al
	mov	rax, QWORD PTR -40[rbp]
	mov	ecx, DWORD PTR -16[rbp]
	movsx	rcx, ecx
	add	rcx, 260
	mov	DWORD PTR 4[rax+rcx*4], edx
	mov	rax, QWORD PTR -64[rbp]
	lea	rdx, 512[rax]
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	movzx	eax, BYTE PTR [rdx+rax]
	movzx	edx, al
	mov	rax, QWORD PTR -40[rbp]
	mov	ecx, DWORD PTR -16[rbp]
	movsx	rcx, ecx
	add	rcx, 516
	mov	DWORD PTR 4[rax+rcx*4], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR -16[rbp]
	movsx	rdx, edx
	add	rdx, 772
	mov	DWORD PTR 4[rax+rdx*4], 1
	add	DWORD PTR -16[rbp], 1
.L400:
	cmp	DWORD PTR -16[rbp], 255
	jle	.L401
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 16[rax], 256
	mov	rdx, QWORD PTR -48[rbp]
	lea	rax, -29[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	esi, 1
	mov	rdi, rax
	call	fread@PLT
	test	rax, rax
	je	.L425
	movzx	eax, BYTE PTR -29[rbp]
	movzx	edx, al
	mov	rax, QWORD PTR -48[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	LWZReadByte
	test	eax, eax
	js	.L426
	cmp	DWORD PTR 16[rbp], 0
	je	.L407
	nop
.L406:
	movzx	eax, BYTE PTR -29[rbp]
	movzx	edx, al
	mov	rax, QWORD PTR -48[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	LWZReadByte
	test	eax, eax
	jns	.L406
	jmp	.L399
.L422:
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR -12[rbp]
	movsx	rdx, edx
	add	rdx, 772
	mov	eax, DWORD PTR 4[rax+rdx*4]
	test	eax, eax
	je	.L408
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR -12[rbp]
	movsx	rdx, edx
	add	rdx, 772
	mov	DWORD PTR 4[rax+rdx*4], 0
.L408:
	mov	ecx, DWORD PTR -12[rbp]
	mov	edx, DWORD PTR -24[rbp]
	mov	esi, DWORD PTR -28[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	gdImageSetPixel
	add	DWORD PTR -28[rbp], 1
	mov	eax, DWORD PTR -28[rbp]
	cmp	eax, DWORD PTR -52[rbp]
	jne	.L409
	mov	DWORD PTR -28[rbp], 0
	cmp	DWORD PTR -68[rbp], 0
	je	.L410
	cmp	DWORD PTR -20[rbp], 3
	je	.L411
	cmp	DWORD PTR -20[rbp], 3
	jg	.L412
	cmp	DWORD PTR -20[rbp], 1
	jg	.L413
	cmp	DWORD PTR -20[rbp], 0
	jns	.L414
	jmp	.L412
.L413:
	cmp	DWORD PTR -20[rbp], 2
	je	.L415
	jmp	.L412
.L414:
	add	DWORD PTR -24[rbp], 8
	jmp	.L412
.L415:
	add	DWORD PTR -24[rbp], 4
	jmp	.L412
.L411:
	add	DWORD PTR -24[rbp], 2
	nop
.L412:
	mov	eax, DWORD PTR -24[rbp]
	cmp	eax, DWORD PTR -56[rbp]
	jl	.L427
	add	DWORD PTR -20[rbp], 1
	cmp	DWORD PTR -20[rbp], 3
	je	.L417
	cmp	DWORD PTR -20[rbp], 3
	jg	.L428
	cmp	DWORD PTR -20[rbp], 1
	je	.L419
	cmp	DWORD PTR -20[rbp], 2
	je	.L420
	jmp	.L428
.L419:
	mov	DWORD PTR -24[rbp], 4
	jmp	.L409
.L420:
	mov	DWORD PTR -24[rbp], 2
	jmp	.L409
.L417:
	mov	DWORD PTR -24[rbp], 1
	jmp	.L409
.L410:
	add	DWORD PTR -24[rbp], 1
	jmp	.L409
.L427:
	nop
.L409:
	mov	eax, DWORD PTR -24[rbp]
	cmp	eax, DWORD PTR -56[rbp]
	jge	.L429
.L407:
	movzx	eax, BYTE PTR -29[rbp]
	movzx	edx, al
	mov	rax, QWORD PTR -48[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	LWZReadByte
	mov	DWORD PTR -12[rbp], eax
	cmp	DWORD PTR -12[rbp], 0
	jns	.L422
	jmp	.L421
.L428:
	nop
	jmp	.L421
.L429:
	nop
.L421:
	movzx	eax, BYTE PTR -29[rbp]
	movzx	edx, al
	mov	rax, QWORD PTR -48[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	LWZReadByte
	jmp	.L399
.L425:
	nop
	jmp	.L399
.L426:
	nop
.L399:
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L424
	call	__stack_chk_fail@PLT
.L424:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE47:
	.size	ReadImage, .-ReadImage
	.globl	gdImageRectangle
	.type	gdImageRectangle, @function
gdImageRectangle:
.LFB48:
	.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 -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	mov	DWORD PTR -16[rbp], edx
	mov	DWORD PTR -20[rbp], ecx
	mov	DWORD PTR -24[rbp], r8d
	mov	DWORD PTR -28[rbp], r9d
	mov	r8d, DWORD PTR -28[rbp]
	mov	edi, DWORD PTR -16[rbp]
	mov	ecx, DWORD PTR -20[rbp]
	mov	edx, DWORD PTR -16[rbp]
	mov	esi, DWORD PTR -12[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	r9d, r8d
	mov	r8d, edi
	mov	rdi, rax
	call	gdImageLine
	mov	r8d, DWORD PTR -28[rbp]
	mov	edi, DWORD PTR -24[rbp]
	mov	ecx, DWORD PTR -20[rbp]
	mov	edx, DWORD PTR -24[rbp]
	mov	esi, DWORD PTR -12[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	r9d, r8d
	mov	r8d, edi
	mov	rdi, rax
	call	gdImageLine
	mov	r8d, DWORD PTR -28[rbp]
	mov	edi, DWORD PTR -24[rbp]
	mov	ecx, DWORD PTR -12[rbp]
	mov	edx, DWORD PTR -16[rbp]
	mov	esi, DWORD PTR -12[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	r9d, r8d
	mov	r8d, edi
	mov	rdi, rax
	call	gdImageLine
	mov	r8d, DWORD PTR -28[rbp]
	mov	edi, DWORD PTR -24[rbp]
	mov	ecx, DWORD PTR -20[rbp]
	mov	edx, DWORD PTR -16[rbp]
	mov	esi, DWORD PTR -20[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	r9d, r8d
	mov	r8d, edi
	mov	rdi, rax
	call	gdImageLine
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE48:
	.size	gdImageRectangle, .-gdImageRectangle
	.globl	gdImageFilledRectangle
	.type	gdImageFilledRectangle, @function
gdImageFilledRectangle:
.LFB49:
	.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	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	DWORD PTR -32[rbp], edx
	mov	DWORD PTR -36[rbp], ecx
	mov	DWORD PTR -40[rbp], r8d
	mov	DWORD PTR -44[rbp], r9d
	mov	eax, DWORD PTR -32[rbp]
	mov	DWORD PTR -4[rbp], eax
	jmp	.L432
.L435:
	mov	eax, DWORD PTR -28[rbp]
	mov	DWORD PTR -8[rbp], eax
	jmp	.L433
.L434:
	mov	ecx, DWORD PTR -44[rbp]
	mov	edx, DWORD PTR -4[rbp]
	mov	esi, DWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	gdImageSetPixel
	add	DWORD PTR -8[rbp], 1
.L433:
	mov	eax, DWORD PTR -8[rbp]
	cmp	eax, DWORD PTR -36[rbp]
	jle	.L434
	add	DWORD PTR -4[rbp], 1
.L432:
	mov	eax, DWORD PTR -4[rbp]
	cmp	eax, DWORD PTR -40[rbp]
	jle	.L435
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE49:
	.size	gdImageFilledRectangle, .-gdImageFilledRectangle
	.globl	gdGetWord
	.type	gdGetWord, @function
gdGetWord:
.LFB50:
	.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	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	getc@PLT
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], -1
	jne	.L437
	mov	eax, 0
	jmp	.L438
.L437:
	mov	eax, DWORD PTR -4[rbp]
	sal	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	getc@PLT
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], -1
	jne	.L439
	mov	eax, 0
	jmp	.L438
.L439:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -4[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, 1
.L438:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE50:
	.size	gdGetWord, .-gdGetWord
	.globl	gdPutWord
	.type	gdPutWord, @function
gdPutWord:
.LFB51:
	.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	QWORD PTR -16[rbp], rsi
	mov	eax, DWORD PTR -4[rbp]
	sar	eax, 8
	movzx	eax, al
	mov	rdx, QWORD PTR -16[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	putc@PLT
	mov	eax, DWORD PTR -4[rbp]
	movzx	eax, al
	mov	rdx, QWORD PTR -16[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	putc@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE51:
	.size	gdPutWord, .-gdPutWord
	.globl	gdGetByte
	.type	gdGetByte, @function
gdGetByte:
.LFB52:
	.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	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	getc@PLT
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], -1
	jne	.L442
	mov	eax, 0
	jmp	.L443
.L442:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -4[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, 1
.L443:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE52:
	.size	gdGetByte, .-gdGetByte
	.globl	gdImageCreateFromGd
	.type	gdImageCreateFromGd, @function
gdImageCreateFromGd:
.LFB53:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -56[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rdx, QWORD PTR -56[rbp]
	lea	rax, -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	gdGetWord
	test	eax, eax
	je	.L465
	mov	rdx, QWORD PTR -56[rbp]
	lea	rax, -36[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	gdGetWord
	test	eax, eax
	je	.L466
	mov	edx, DWORD PTR -36[rbp]
	mov	eax, DWORD PTR -40[rbp]
	mov	esi, edx
	mov	edi, eax
	call	gdImageCreate
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	lea	rdx, 16[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	call	gdGetByte
	test	eax, eax
	je	.L467
	mov	rax, QWORD PTR -16[rbp]
	lea	rdx, 4116[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	call	gdGetWord
	test	eax, eax
	je	.L468
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 4116[rax]
	cmp	eax, 257
	jne	.L451
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 4116[rax], -1
.L451:
	mov	DWORD PTR -24[rbp], 0
	jmp	.L452
.L456:
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	add	rax, 4
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	lea	rdx, 4[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	call	gdGetByte
	test	eax, eax
	je	.L469
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	add	rax, 260
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	lea	rdx, 4[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	call	gdGetByte
	test	eax, eax
	je	.L470
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	add	rax, 516
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	lea	rdx, 4[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	call	gdGetByte
	test	eax, eax
	je	.L471
	add	DWORD PTR -24[rbp], 1
.L452:
	cmp	DWORD PTR -24[rbp], 255
	jle	.L456
	mov	DWORD PTR -28[rbp], 0
	jmp	.L457
.L462:
	mov	DWORD PTR -32[rbp], 0
	jmp	.L458
.L461:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	getc@PLT
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], -1
	jne	.L459
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	gdImageDestroy
	mov	eax, 0
	jmp	.L463
.L459:
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -32[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	add	rax, rdx
	mov	edx, DWORD PTR -20[rbp]
	mov	BYTE PTR [rax], dl
	add	DWORD PTR -32[rbp], 1
.L458:
	mov	eax, DWORD PTR -40[rbp]
	cmp	DWORD PTR -32[rbp], eax
	jl	.L461
	add	DWORD PTR -28[rbp], 1
.L457:
	mov	eax, DWORD PTR -36[rbp]
	cmp	DWORD PTR -28[rbp], eax
	jl	.L462
	mov	rax, QWORD PTR -16[rbp]
	jmp	.L463
.L467:
	nop
	jmp	.L449
.L468:
	nop
	jmp	.L449
.L469:
	nop
	jmp	.L449
.L470:
	nop
	jmp	.L449
.L471:
	nop
.L449:
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	gdImageDestroy
	jmp	.L446
.L465:
	nop
	jmp	.L446
.L466:
	nop
.L446:
	mov	eax, 0
.L463:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L464
	call	__stack_chk_fail@PLT
.L464:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE53:
	.size	gdImageCreateFromGd, .-gdImageCreateFromGd
	.globl	gdImageGd
	.type	gdImageGd, @function
gdImageGd:
.LFB54:
	.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	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	mov	rdx, QWORD PTR -32[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	gdPutWord
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 12[rax]
	mov	rdx, QWORD PTR -32[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	gdPutWord
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	movzx	eax, al
	mov	rdx, QWORD PTR -32[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	putc@PLT
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 4116[rax]
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], -1
	jne	.L473
	mov	DWORD PTR -4[rbp], 257
.L473:
	mov	rdx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -4[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	gdPutWord
	mov	DWORD PTR -8[rbp], 0
	jmp	.L474
.L475:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -8[rbp]
	movsx	rdx, edx
	add	rdx, 4
	mov	eax, DWORD PTR 4[rax+rdx*4]
	movzx	eax, al
	mov	rdx, QWORD PTR -32[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	putc@PLT
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -8[rbp]
	movsx	rdx, edx
	add	rdx, 260
	mov	eax, DWORD PTR 4[rax+rdx*4]
	movzx	eax, al
	mov	rdx, QWORD PTR -32[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	putc@PLT
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -8[rbp]
	movsx	rdx, edx
	add	rdx, 516
	mov	eax, DWORD PTR 4[rax+rdx*4]
	movzx	eax, al
	mov	rdx, QWORD PTR -32[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	putc@PLT
	add	DWORD PTR -8[rbp], 1
.L474:
	cmp	DWORD PTR -8[rbp], 255
	jle	.L475
	mov	DWORD PTR -12[rbp], 0
	jmp	.L476
.L479:
	mov	DWORD PTR -16[rbp], 0
	jmp	.L477
.L478:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	rdx, QWORD PTR -32[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	putc@PLT
	add	DWORD PTR -16[rbp], 1
.L477:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	DWORD PTR -16[rbp], eax
	jl	.L478
	add	DWORD PTR -12[rbp], 1
.L476:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 12[rax]
	cmp	DWORD PTR -12[rbp], eax
	jl	.L479
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE54:
	.size	gdImageGd, .-gdImageGd
	.section	.rodata
.LC35:
	.string	"%x"
	.align 8
.LC36:
	.string	"Error: bug in gdImageCreateFromXbm!\n"
	.text
	.globl	gdImageCreateFromXbm
	.type	gdImageCreateFromXbm, @function
gdImageCreateFromXbm:
.LFB55:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 256
	mov	QWORD PTR -248[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rdx, QWORD PTR -248[rbp]
	lea	rax, -176[rbp]
	mov	esi, 160
	mov	rdi, rax
	call	fgets@PLT
	test	rax, rax
	jne	.L481
	mov	eax, 0
	jmp	.L505
.L481:
	lea	rax, -176[rbp]
	mov	QWORD PTR -200[rbp], rax
	mov	rax, QWORD PTR -200[rbp]
	mov	esi, 32
	mov	rdi, rax
	call	strchr@PLT
	mov	QWORD PTR -200[rbp], rax
	cmp	QWORD PTR -200[rbp], 0
	jne	.L483
	mov	eax, 0
	jmp	.L505
.L483:
	add	QWORD PTR -200[rbp], 1
	mov	rax, QWORD PTR -200[rbp]
	mov	esi, 32
	mov	rdi, rax
	call	strchr@PLT
	mov	QWORD PTR -200[rbp], rax
	cmp	QWORD PTR -200[rbp], 0
	jne	.L484
	mov	eax, 0
	jmp	.L505
.L484:
	mov	rax, QWORD PTR -200[rbp]
	add	rax, 1
	mov	rdi, rax
	call	atoi@PLT
	mov	DWORD PTR -216[rbp], eax
	cmp	DWORD PTR -216[rbp], 0
	jne	.L485
	mov	eax, 0
	jmp	.L505
.L485:
	mov	rdx, QWORD PTR -248[rbp]
	lea	rax, -176[rbp]
	mov	esi, 160
	mov	rdi, rax
	call	fgets@PLT
	test	rax, rax
	jne	.L486
	mov	eax, 0
	jmp	.L505
.L486:
	lea	rax, -176[rbp]
	mov	QWORD PTR -200[rbp], rax
	mov	rax, QWORD PTR -200[rbp]
	mov	esi, 32
	mov	rdi, rax
	call	strchr@PLT
	mov	QWORD PTR -200[rbp], rax
	cmp	QWORD PTR -200[rbp], 0
	jne	.L487
	mov	eax, 0
	jmp	.L505
.L487:
	add	QWORD PTR -200[rbp], 1
	mov	rax, QWORD PTR -200[rbp]
	mov	esi, 32
	mov	rdi, rax
	call	strchr@PLT
	mov	QWORD PTR -200[rbp], rax
	cmp	QWORD PTR -200[rbp], 0
	jne	.L488
	mov	eax, 0
	jmp	.L505
.L488:
	mov	rax, QWORD PTR -200[rbp]
	add	rax, 1
	mov	rdi, rax
	call	atoi@PLT
	mov	DWORD PTR -212[rbp], eax
	cmp	DWORD PTR -212[rbp], 0
	jne	.L489
	mov	eax, 0
	jmp	.L505
.L489:
	mov	rdx, QWORD PTR -248[rbp]
	lea	rax, -176[rbp]
	mov	esi, 160
	mov	rdi, rax
	call	fgets@PLT
	test	rax, rax
	jne	.L490
	mov	eax, 0
	jmp	.L505
.L490:
	mov	eax, DWORD PTR -216[rbp]
	imul	eax, DWORD PTR -212[rbp]
	lea	edx, 7[rax]
	test	eax, eax
	cmovs	eax, edx
	sar	eax, 3
	add	eax, 1
	mov	DWORD PTR -208[rbp], eax
	mov	edx, DWORD PTR -212[rbp]
	mov	eax, DWORD PTR -216[rbp]
	mov	esi, edx
	mov	edi, eax
	call	gdImageCreate
	mov	QWORD PTR -192[rbp], rax
	mov	rax, QWORD PTR -192[rbp]
	mov	ecx, 255
	mov	edx, 255
	mov	esi, 255
	mov	rdi, rax
	call	gdImageColorAllocate
	mov	rax, QWORD PTR -192[rbp]
	mov	ecx, 0
	mov	edx, 0
	mov	esi, 0
	mov	rdi, rax
	call	gdImageColorAllocate
	mov	DWORD PTR -224[rbp], 0
	mov	DWORD PTR -220[rbp], 0
	mov	DWORD PTR -228[rbp], 0
	jmp	.L491
.L496:
	mov	rax, QWORD PTR -248[rbp]
	mov	rdi, rax
	call	getc@PLT
	mov	DWORD PTR -204[rbp], eax
	cmp	DWORD PTR -204[rbp], -1
	je	.L508
	cmp	DWORD PTR -204[rbp], 120
	je	.L509
	jmp	.L496
.L509:
	nop
	mov	rax, QWORD PTR -248[rbp]
	mov	rdi, rax
	call	getc@PLT
	mov	DWORD PTR -204[rbp], eax
	cmp	DWORD PTR -204[rbp], -1
	je	.L510
	mov	eax, DWORD PTR -204[rbp]
	mov	BYTE PTR -179[rbp], al
	mov	rax, QWORD PTR -248[rbp]
	mov	rdi, rax
	call	getc@PLT
	mov	DWORD PTR -204[rbp], eax
	cmp	DWORD PTR -204[rbp], -1
	je	.L511
	mov	eax, DWORD PTR -204[rbp]
	mov	BYTE PTR -178[rbp], al
	mov	BYTE PTR -177[rbp], 0
	lea	rdx, -236[rbp]
	lea	rax, -179[rbp]
	lea	rsi, .LC35[rip]
	mov	rdi, rax
	mov	eax, 0
	call	__isoc99_sscanf@PLT
	mov	DWORD PTR -232[rbp], 1
	jmp	.L499
.L503:
	mov	eax, DWORD PTR -236[rbp]
	and	eax, DWORD PTR -232[rbp]
	test	eax, eax
	setne	al
	movzx	ecx, al
	mov	eax, DWORD PTR -224[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -224[rbp], edx
	mov	edx, DWORD PTR -220[rbp]
	mov	rdi, QWORD PTR -192[rbp]
	mov	esi, eax
	call	gdImageSetPixel
	mov	rax, QWORD PTR -192[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	DWORD PTR -224[rbp], eax
	jne	.L500
	mov	DWORD PTR -224[rbp], 0
	add	DWORD PTR -220[rbp], 1
	mov	rax, QWORD PTR -192[rbp]
	mov	eax, DWORD PTR 12[rax]
	cmp	DWORD PTR -220[rbp], eax
	jne	.L512
	mov	rax, QWORD PTR -192[rbp]
	jmp	.L505
.L500:
	sal	DWORD PTR -232[rbp]
.L499:
	cmp	DWORD PTR -232[rbp], 128
	jle	.L503
	jmp	.L502
.L512:
	nop
.L502:
	add	DWORD PTR -228[rbp], 1
.L491:
	mov	eax, DWORD PTR -228[rbp]
	cmp	eax, DWORD PTR -208[rbp]
	jl	.L496
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 36
	mov	esi, 1
	lea	rdi, .LC36[rip]
	call	fwrite@PLT
	mov	eax, 0
	jmp	.L505
.L508:
	nop
	jmp	.L504
.L510:
	nop
	jmp	.L504
.L511:
	nop
.L504:
	mov	rax, QWORD PTR -192[rbp]
	mov	rdi, rax
	call	gdImageDestroy
	mov	eax, 0
.L505:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L506
	call	__stack_chk_fail@PLT
.L506:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE55:
	.size	gdImageCreateFromXbm, .-gdImageCreateFromXbm
	.globl	gdImagePolygon
	.type	gdImagePolygon, @function
gdImagePolygon:
.LFB56:
	.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	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -36[rbp], edx
	mov	DWORD PTR -40[rbp], ecx
	cmp	DWORD PTR -36[rbp], 0
	je	.L518
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -8[rbp], eax
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 4[rax]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	sal	rax, 3
	lea	rdx, -8[rax]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	edi, DWORD PTR 4[rax]
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	sal	rax, 3
	lea	rdx, -8[rax]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	ecx, DWORD PTR [rax]
	mov	r8d, DWORD PTR -40[rbp]
	mov	edx, DWORD PTR -4[rbp]
	mov	esi, DWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	r9d, r8d
	mov	r8d, edi
	mov	rdi, rax
	call	gdImageLine
	mov	DWORD PTR -12[rbp], 1
	jmp	.L516
.L517:
	add	QWORD PTR -32[rbp], 8
	mov	rax, QWORD PTR -32[rbp]
	mov	edi, DWORD PTR 4[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	r8d, DWORD PTR -40[rbp]
	mov	edx, DWORD PTR -4[rbp]
	mov	esi, DWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	r9d, r8d
	mov	r8d, edi
	mov	rdi, rax
	call	gdImageLine
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -8[rbp], eax
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 4[rax]
	mov	DWORD PTR -4[rbp], eax
	add	DWORD PTR -12[rbp], 1
.L516:
	mov	eax, DWORD PTR -12[rbp]
	cmp	eax, DWORD PTR -36[rbp]
	jl	.L517
	jmp	.L513
.L518:
	nop
.L513:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE56:
	.size	gdImagePolygon, .-gdImagePolygon
	.globl	gdImageFilledPolygon
	.type	gdImageFilledPolygon, @function
gdImageFilledPolygon:
.LFB57:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 112
	mov	QWORD PTR -88[rbp], rdi
	mov	QWORD PTR -96[rbp], rsi
	mov	DWORD PTR -100[rbp], edx
	mov	DWORD PTR -104[rbp], ecx
	cmp	DWORD PTR -100[rbp], 0
	je	.L547
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 4128[rax]
	test	eax, eax
	jne	.L522
	mov	eax, DWORD PTR -100[rbp]
	cdqe
	sal	rax, 2
	mov	rdi, rax
	call	malloc@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR 4120[rax], rdx
	mov	rax, QWORD PTR -88[rbp]
	mov	edx, DWORD PTR -100[rbp]
	mov	DWORD PTR 4128[rax], edx
.L522:
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 4128[rax]
	cmp	DWORD PTR -100[rbp], eax
	jle	.L523
	jmp	.L524
.L525:
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 4128[rax]
	lea	edx, [rax+rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 4128[rax], edx
.L524:
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 4128[rax]
	cmp	DWORD PTR -100[rbp], eax
	jg	.L525
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 4128[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 4120[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	realloc@PLT
	mov	rdx, QWORD PTR -88[rbp]
	mov	QWORD PTR 4120[rdx], rax
.L523:
	mov	rax, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR 4[rax]
	mov	DWORD PTR -60[rbp], eax
	mov	rax, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR 4[rax]
	mov	DWORD PTR -56[rbp], eax
	mov	DWORD PTR -68[rbp], 1
	jmp	.L526
.L529:
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -60[rbp], eax
	jle	.L527
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR 4[rax]
	mov	DWORD PTR -60[rbp], eax
.L527:
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -56[rbp], eax
	jge	.L528
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR 4[rax]
	mov	DWORD PTR -56[rbp], eax
.L528:
	add	DWORD PTR -68[rbp], 1
.L526:
	mov	eax, DWORD PTR -68[rbp]
	cmp	eax, DWORD PTR -100[rbp]
	jl	.L529
	mov	eax, DWORD PTR -60[rbp]
	mov	DWORD PTR -64[rbp], eax
	jmp	.L530
.L546:
	mov	DWORD PTR -48[rbp], 0
	mov	DWORD PTR -44[rbp], 0
	mov	DWORD PTR -40[rbp], 1
	mov	DWORD PTR -52[rbp], 0
	mov	DWORD PTR -68[rbp], 0
	jmp	.L531
.L543:
	mov	DWORD PTR -8[rbp], 0
	mov	eax, DWORD PTR -68[rbp]
	cmp	eax, DWORD PTR -100[rbp]
	je	.L532
	cmp	DWORD PTR -68[rbp], 0
	jne	.L533
.L532:
	mov	eax, DWORD PTR -100[rbp]
	sub	eax, 1
	mov	DWORD PTR -16[rbp], eax
	mov	DWORD PTR -12[rbp], 0
	jmp	.L534
.L533:
	mov	eax, DWORD PTR -68[rbp]
	sub	eax, 1
	mov	DWORD PTR -16[rbp], eax
	mov	eax, DWORD PTR -68[rbp]
	mov	DWORD PTR -12[rbp], eax
.L534:
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR 4[rax]
	mov	DWORD PTR -28[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR 4[rax]
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR -28[rbp]
	cmp	eax, DWORD PTR -24[rbp]
	jge	.L535
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR 4[rax]
	mov	DWORD PTR -28[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR 4[rax]
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -36[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -32[rbp], eax
	mov	DWORD PTR -20[rbp], -1
	jmp	.L536
.L535:
	mov	eax, DWORD PTR -28[rbp]
	cmp	eax, DWORD PTR -24[rbp]
	jle	.L537
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR 4[rax]
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR 4[rax]
	mov	DWORD PTR -28[rbp], eax
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -32[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -36[rbp], eax
	mov	DWORD PTR -20[rbp], 1
	jmp	.L536
.L537:
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	mov	ecx, DWORD PTR [rax]
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	mov	esi, DWORD PTR [rax]
	mov	r8d, DWORD PTR -104[rbp]
	mov	edi, DWORD PTR -28[rbp]
	mov	edx, DWORD PTR -28[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	r9d, r8d
	mov	r8d, edi
	mov	rdi, rax
	call	gdImageLine
	jmp	.L538
.L536:
	mov	eax, DWORD PTR -64[rbp]
	cmp	eax, DWORD PTR -28[rbp]
	jl	.L538
	mov	eax, DWORD PTR -64[rbp]
	cmp	eax, DWORD PTR -24[rbp]
	jg	.L538
	mov	eax, DWORD PTR -64[rbp]
	sub	eax, DWORD PTR -28[rbp]
	mov	edx, eax
	mov	eax, DWORD PTR -32[rbp]
	sub	eax, DWORD PTR -36[rbp]
	imul	eax, edx
	mov	edx, DWORD PTR -24[rbp]
	mov	edi, edx
	sub	edi, DWORD PTR -28[rbp]
	cdq
	idiv	edi
	mov	edx, eax
	mov	eax, DWORD PTR -36[rbp]
	add	eax, edx
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -40[rbp], 0
	jne	.L539
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR 4[rax]
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rcx, 0[0+rax*8]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rcx
	mov	eax, DWORD PTR 4[rax]
	cmp	edx, eax
	jne	.L540
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rcx, 0[0+rax*8]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rcx
	mov	eax, DWORD PTR [rax]
	cmp	edx, eax
	je	.L540
	mov	eax, DWORD PTR -20[rbp]
	cmp	eax, DWORD PTR -44[rbp]
	jne	.L540
	mov	eax, DWORD PTR -4[rbp]
	cmp	eax, DWORD PTR -48[rbp]
	jle	.L548
	mov	rax, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR 4120[rax]
	mov	eax, DWORD PTR -52[rbp]
	cdqe
	sal	rax, 2
	add	rdx, rax
	mov	eax, DWORD PTR -4[rbp]
	mov	DWORD PTR [rdx], eax
	jmp	.L548
.L540:
	mov	eax, DWORD PTR -4[rbp]
	cmp	eax, DWORD PTR -48[rbp]
	jne	.L539
	mov	eax, DWORD PTR -20[rbp]
	cmp	eax, DWORD PTR -44[rbp]
	je	.L549
.L539:
	cmp	DWORD PTR -68[rbp], 0
	jle	.L542
	mov	rax, QWORD PTR -88[rbp]
	mov	rcx, QWORD PTR 4120[rax]
	mov	eax, DWORD PTR -52[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -52[rbp], edx
	cdqe
	sal	rax, 2
	lea	rdx, [rcx+rax]
	mov	eax, DWORD PTR -4[rbp]
	mov	DWORD PTR [rdx], eax
.L542:
	mov	eax, DWORD PTR -68[rbp]
	mov	DWORD PTR -8[rbp], eax
	mov	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR -44[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	mov	DWORD PTR -48[rbp], eax
	mov	DWORD PTR -40[rbp], 0
	jmp	.L538
.L548:
	nop
	jmp	.L538
.L549:
	nop
.L538:
	add	DWORD PTR -68[rbp], 1
.L531:
	mov	eax, DWORD PTR -68[rbp]
	cmp	eax, DWORD PTR -100[rbp]
	jle	.L543
	mov	eax, DWORD PTR -52[rbp]
	movsx	rsi, eax
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 4120[rax]
	lea	rcx, gdCompareInt[rip]
	mov	edx, 4
	mov	rdi, rax
	call	qsort@PLT
	mov	DWORD PTR -68[rbp], 0
	jmp	.L544
.L545:
	mov	rax, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR 4120[rax]
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	add	rax, 1
	sal	rax, 2
	add	rax, rdx
	mov	ecx, DWORD PTR [rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR 4120[rax]
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	esi, DWORD PTR [rax]
	mov	r8d, DWORD PTR -104[rbp]
	mov	edi, DWORD PTR -64[rbp]
	mov	edx, DWORD PTR -64[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	r9d, r8d
	mov	r8d, edi
	mov	rdi, rax
	call	gdImageLine
	add	DWORD PTR -68[rbp], 2
.L544:
	mov	eax, DWORD PTR -52[rbp]
	sub	eax, 1
	cmp	DWORD PTR -68[rbp], eax
	jl	.L545
	add	DWORD PTR -64[rbp], 1
.L530:
	mov	eax, DWORD PTR -64[rbp]
	cmp	eax, DWORD PTR -56[rbp]
	jle	.L546
	jmp	.L519
.L547:
	nop
.L519:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE57:
	.size	gdImageFilledPolygon, .-gdImageFilledPolygon
	.globl	gdCompareInt
	.type	gdCompareInt, @function
gdCompareInt:
.LFB58:
	.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 -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	eax, edx
	sub	eax, ecx
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE58:
	.size	gdCompareInt, .-gdCompareInt
	.globl	gdImageSetStyle
	.type	gdImageSetStyle, @function
gdImageSetStyle:
.LFB59:
	.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 -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	DWORD PTR -20[rbp], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 6208[rax]
	test	rax, rax
	je	.L553
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 6208[rax]
	mov	rdi, rax
	call	free@PLT
.L553:
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 2
	mov	rdi, rax
	call	malloc@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 6208[rax], rdx
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 6208[rax]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	memcpy@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -20[rbp]
	mov	DWORD PTR 6200[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 6204[rax], 0
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE59:
	.size	gdImageSetStyle, .-gdImageSetStyle
	.globl	gdImageSetBrush
	.type	gdImageSetBrush, @function
gdImageSetBrush:
.LFB60:
	.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	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR 4136[rax], rdx
	mov	DWORD PTR -8[rbp], 0
	jmp	.L555
.L557:
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, DWORD PTR -8[rbp]
	movsx	rdx, edx
	add	rdx, 516
	mov	ecx, DWORD PTR 4[rax+rdx*4]
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, DWORD PTR -8[rbp]
	movsx	rdx, edx
	add	rdx, 260
	mov	edx, DWORD PTR 4[rax+rdx*4]
	mov	rax, QWORD PTR -32[rbp]
	mov	esi, DWORD PTR -8[rbp]
	movsx	rsi, esi
	add	rsi, 4
	mov	esi, DWORD PTR 4[rax+rsi*4]
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	gdImageColorExact
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], -1
	jne	.L556
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, DWORD PTR -8[rbp]
	movsx	rdx, edx
	add	rdx, 516
	mov	ecx, DWORD PTR 4[rax+rdx*4]
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, DWORD PTR -8[rbp]
	movsx	rdx, edx
	add	rdx, 260
	mov	edx, DWORD PTR 4[rax+rdx*4]
	mov	rax, QWORD PTR -32[rbp]
	mov	esi, DWORD PTR -8[rbp]
	movsx	rsi, esi
	add	rsi, 4
	mov	esi, DWORD PTR 4[rax+rsi*4]
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	gdImageColorAllocate
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], -1
	jne	.L556
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, DWORD PTR -8[rbp]
	movsx	rdx, edx
	add	rdx, 516
	mov	ecx, DWORD PTR 4[rax+rdx*4]
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, DWORD PTR -8[rbp]
	movsx	rdx, edx
	add	rdx, 260
	mov	edx, DWORD PTR 4[rax+rdx*4]
	mov	rax, QWORD PTR -32[rbp]
	mov	esi, DWORD PTR -8[rbp]
	movsx	rsi, esi
	add	rsi, 4
	mov	esi, DWORD PTR 4[rax+rsi*4]
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	gdImageColorClosest
	mov	DWORD PTR -4[rbp], eax
.L556:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -8[rbp]
	movsx	rdx, edx
	lea	rcx, 1036[rdx]
	mov	edx, DWORD PTR -4[rbp]
	mov	DWORD PTR 8[rax+rcx*4], edx
	add	DWORD PTR -8[rbp], 1
.L555:
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 16[rax]
	cmp	DWORD PTR -8[rbp], eax
	jl	.L557
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE60:
	.size	gdImageSetBrush, .-gdImageSetBrush
	.globl	gdImageSetTile
	.type	gdImageSetTile, @function
gdImageSetTile:
.LFB61:
	.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	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR 4144[rax], rdx
	mov	DWORD PTR -8[rbp], 0
	jmp	.L559
.L561:
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, DWORD PTR -8[rbp]
	movsx	rdx, edx
	add	rdx, 516
	mov	ecx, DWORD PTR 4[rax+rdx*4]
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, DWORD PTR -8[rbp]
	movsx	rdx, edx
	add	rdx, 260
	mov	edx, DWORD PTR 4[rax+rdx*4]
	mov	rax, QWORD PTR -32[rbp]
	mov	esi, DWORD PTR -8[rbp]
	movsx	rsi, esi
	add	rsi, 4
	mov	esi, DWORD PTR 4[rax+rsi*4]
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	gdImageColorExact
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], -1
	jne	.L560
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, DWORD PTR -8[rbp]
	movsx	rdx, edx
	add	rdx, 516
	mov	ecx, DWORD PTR 4[rax+rdx*4]
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, DWORD PTR -8[rbp]
	movsx	rdx, edx
	add	rdx, 260
	mov	edx, DWORD PTR 4[rax+rdx*4]
	mov	rax, QWORD PTR -32[rbp]
	mov	esi, DWORD PTR -8[rbp]
	movsx	rsi, esi
	add	rsi, 4
	mov	esi, DWORD PTR 4[rax+rsi*4]
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	gdImageColorAllocate
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], -1
	jne	.L560
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, DWORD PTR -8[rbp]
	movsx	rdx, edx
	add	rdx, 516
	mov	ecx, DWORD PTR 4[rax+rdx*4]
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, DWORD PTR -8[rbp]
	movsx	rdx, edx
	add	rdx, 260
	mov	edx, DWORD PTR 4[rax+rdx*4]
	mov	rax, QWORD PTR -32[rbp]
	mov	esi, DWORD PTR -8[rbp]
	movsx	rsi, esi
	add	rsi, 4
	mov	esi, DWORD PTR 4[rax+rsi*4]
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	gdImageColorClosest
	mov	DWORD PTR -4[rbp], eax
.L560:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -8[rbp]
	movsx	rdx, edx
	lea	rcx, 1292[rdx]
	mov	edx, DWORD PTR -4[rbp]
	mov	DWORD PTR 8[rax+rcx*4], edx
	add	DWORD PTR -8[rbp], 1
.L559:
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 16[rax]
	cmp	DWORD PTR -8[rbp], eax
	jl	.L561
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE61:
	.size	gdImageSetTile, .-gdImageSetTile
	.globl	gdImageInterlace
	.type	gdImageInterlace, @function
gdImageInterlace:
.LFB62:
	.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 -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -12[rbp]
	mov	DWORD PTR 6216[rax], edx
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE62:
	.size	gdImageInterlace, .-gdImageInterlace
	.local	buf.16
	.comm	buf.16,256,32
	.local	curbit.15
	.comm	curbit.15,4,4
	.local	lastbit.14
	.comm	lastbit.14,4,4
	.local	done.13
	.comm	done.13,4,4
	.local	last_byte.12
	.comm	last_byte.12,4,4
	.local	buf.11
	.comm	buf.11,280,32
	.local	set_code_size.10
	.comm	set_code_size.10,4,4
	.local	code_size.9
	.comm	code_size.9,4,4
	.local	clear_code.8
	.comm	clear_code.8,4,4
	.local	end_code.7
	.comm	end_code.7,4,4
	.local	max_code_size.6
	.comm	max_code_size.6,4,4
	.local	max_code.5
	.comm	max_code.5,4,4
	.local	fresh.4
	.comm	fresh.4,4,4
	.local	table.3
	.comm	table.3,32768,32
	.local	stack.2
	.comm	stack.2,32768,32
	.local	oldcode.1
	.comm	oldcode.1,4,4
	.local	firstcode.0
	.comm	firstcode.0,4,4
	.section	.rodata
	.align 4
.LC0:
	.long	1065353216
	.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	"135244.c"
	.text
	.data
	.align	2
	.type	rcsid, %object
	.size	rcsid, 5
rcsid:
	.ascii	"$Id$\000"
	.comm	infile,4,4
	.comm	outfile,4,4
	.comm	im,4,4
	.comm	w,48,4
	.comm	cidx,5200,4
	.global	r
	.align	2
	.type	r, %object
	.size	r, 400
r:
	.word	0
	.word	255
	.word	240
	.word	0
	.word	31
	.word	0
	.word	220
	.word	230
	.word	240
	.word	161
	.word	161
	.word	0
	.word	230
	.word	0
	.word	110
	.word	125
	.space	336
	.global	g
	.align	2
	.type	g, %object
	.size	g, 400
g:
	.word	0
	.word	255
	.word	0
	.word	220
	.word	61
	.word	199
	.word	0
	.word	220
	.word	130
	.word	0
	.word	230
	.word	161
	.word	176
	.word	209
	.word	0
	.word	125
	.space	336
	.global	b
	.align	2
	.type	b, %object
	.size	b, 400
b:
	.word	0
	.word	255
	.word	0
	.word	0
	.word	250
	.word	199
	.word	99
	.word	51
	.word	41
	.word	199
	.word	51
	.word	230
	.word	46
	.word	140
	.word	220
	.word	125
	.space	336
	.global	__aeabi_i2f
	.global	__aeabi_fmul
	.global	__aeabi_f2iz
	.global	__aeabi_fsub
	.global	__aeabi_fadd
	.section	.rodata
	.align	2
.LC1:
	.ascii	"Number of pages = %i\012\000"
	.global	__aeabi_idiv
	.global	__aeabi_fdiv
	.align	2
.LC2:
	.ascii	"Image size: %d x %d pixels\012\000"
	.global	__aeabi_fcmple
	.align	2
.LC3:
	.ascii	"_%d\000"
	.align	2
.LC4:
	.ascii	".gif\000"
	.align	2
.LC5:
	.ascii	"New GIF-file:%s\012\000"
	.align	2
.LC6:
	.ascii	"wb\000"
	.align	2
.LC7:
	.ascii	"Fatal error: Invalid command \"%i\" found in metafi"
	.ascii	"le\"%s\".\012\000"
	.align	2
.LC8:
	.ascii	"Is \"%s\" really a GrADS (v1.5 or higher) metafile?"
	.ascii	"\012\000"
	.align	2
.LC0:
	.short	2
	.short	7
	.short	10
	.short	14
	.short	17
	.short	20
	.short	24
	.short	27
	.short	31
	.short	34
	.short	38
	.short	41
	.align	2
.LC9:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ args = 0, pretend = 0, frame = 33096
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, fp, lr}
	add	fp, sp, #16
	sub	sp, sp, #33024
	sub	sp, sp, #84
	sub	r3, fp, #32768
	sub	r3, r3, #20
	str	r0, [r3, #-324]
	sub	r3, fp, #32768
	sub	r3, r3, #20
	str	r1, [r3, #-328]
	ldr	r3, .L56+80
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	mov	r3,#0
	sub	r3, fp, #32768
	sub	r3, r3, #20
	sub	r3, r3, #308
	sub	r3, r3, #2
	mov	r2, #0
	strh	r2, [r3]	@ movhi
	sub	r3, fp, #32768
	sub	r3, r3, #20
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-296]
	sub	r3, fp, #32768
	sub	r3, r3, #20
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-292]
	sub	r3, fp, #32768
	sub	r3, r3, #20
	mov	r2, r3
	ldr	r3, .L56
	str	r3, [r2, #-288]
	sub	r3, fp, #32768
	sub	r3, r3, #20
	mov	r2, r3
	ldr	r3, .L56+4
	str	r3, [r2, #-284]
	sub	r3, fp, #32768
	sub	r3, r3, #20
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-308]
	sub	r3, fp, #32768
	sub	r3, r3, #20
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-304]
	sub	r3, fp, #32768
	sub	r3, r3, #20
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-272]
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldr	r2, .L56+8
	sub	ip, r3, #228
	mov	lr, r2
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldm	lr, {r0, r1}
	stm	ip, {r0, r1}
	sub	r3, fp, #32768
	sub	r3, r3, #20
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-240]
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldr	r3, [r3, #-240]
	sub	r2, fp, #32768
	sub	r2, r2, #20
	str	r3, [r2, #-244]
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldr	r3, [r3, #-244]
	sub	r2, fp, #32768
	sub	r2, r2, #20
	str	r3, [r2, #-252]
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldr	r3, [r3, #-252]
	sub	r2, fp, #32768
	sub	r2, r2, #20
	str	r3, [r2, #-248]
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldr	r3, [r3, #-248]
	sub	r2, fp, #32768
	sub	r2, r2, #20
	str	r3, [r2, #-256]
	mov	r4, #0
	b	.L2
.L5:
	mov	r5, #0
	b	.L3
.L4:
	ldr	r1, .L56+12
	mov	r3, r4
	lsl	r3, r3, #2
	add	r3, r3, r4
	lsl	r2, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r5
	mvn	r2, #0
	str	r2, [r1, r3, lsl #2]
	add	r5, r5, #1
.L3:
	cmp	r5, #99
	ble	.L4
	add	r4, r4, #1
.L2:
	cmp	r4, #12
	ble	.L5
	mov	r4, #0
	b	.L6
.L7:
	sub	r3, fp, #32768
	sub	r3, r3, #20
	mov	r2, r3
	lsl	r3, r4, #1
	add	r3, r2, r3
	sub	r3, r3, #204
	mov	r2, #1
	strh	r2, [r3]	@ movhi
	add	r4, r4, #1
.L6:
	cmp	r4, #15
	ble	.L7
	mov	r4, #16
	b	.L8
.L9:
	sub	r3, fp, #32768
	sub	r3, r3, #20
	mov	r2, r3
	lsl	r3, r4, #1
	add	r3, r2, r3
	sub	r3, r3, #204
	mov	r2, #0
	strh	r2, [r3]	@ movhi
	add	r4, r4, #1
.L8:
	cmp	r4, #99
	ble	.L9
	sub	r2, fp, #33024
	sub	r2, r2, #20
	sub	r2, r2, #52
	sub	r1, fp, #33024
	sub	r1, r1, #20
	sub	r3, fp, #32768
	sub	r3, r3, #20
	mov	ip, r3
	sub	r3, fp, #32768
	sub	r3, r3, #20
	mov	r0, r3
	sub	r3, fp, #33024
	sub	r3, r3, #20
	sub	r3, r3, #48
	str	r3, [sp]
	mov	r3, r2
	mov	r2, r1
	ldr	r1, [ip, #-328]
	ldr	r0, [r0, #-324]
	bl	parseArg
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldr	r3, [r3, #-248]
	lsl	r3, r3, #16
	asr	r2, r3, #16
	sub	r1, fp, #33024
	sub	r1, r1, #20
	sub	r1, r1, #48
	sub	r3, fp, #33024
	sub	r3, r3, #20
	sub	r3, r3, #52
	mov	r0, r3
	bl	openFiles
	sub	r3, fp, #32768
	sub	r3, r3, #20
	sub	r3, r3, #312
	mov	r2, #1
	strh	r2, [r3]	@ movhi
.L53:
	ldr	r3, .L56+68
	ldr	r3, [r3]
	sub	r0, fp, #33024
	sub	r0, r0, #20
	sub	r0, r0, #60
	mov	r2, #1
	mov	r1, #2
	bl	fread
	sub	r3, fp, #32768
	sub	r3, r3, #20
	sub	r3, r3, #316
	ldrsh	r3, [r3]
	cmn	r3, #11
	bne	.L10
	ldr	r3, .L56+68
	ldr	r3, [r3]
	sub	r0, fp, #32768
	sub	r0, r0, #20
	sub	r0, r0, #236
	mov	r2, #2
	mov	r1, #2
	bl	fread
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldrsh	r3, [r3, #-236]
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r3, r0
	sub	r2, fp, #32768
	sub	r2, r2, #20
	ldr	r1, [r2, #-280]	@ float
	mov	r0, r3
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, r3
	sub	r3, fp, #32768
	sub	r3, r3, #20
	sub	r3, r3, #312
	sub	r3, r3, #2
	ldrsh	r3, [r3]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #16
	asr	r2, r3, #16
	sub	r3, fp, #32768
	sub	r3, r3, #20
	sub	r3, r3, #312
	sub	r3, r3, #2
	strh	r2, [r3]	@ movhi
	sub	r3, fp, #32768
	sub	r3, r3, #20
	sub	r3, r3, #312
	sub	r3, r3, #2
	ldrsh	r3, [r3]
	mov	r5, r3
	mov	r0, r1
	bl	__aeabi_f2iz
	mov	r2, r0
	sub	r3, fp, #32768
	sub	r3, r3, #20
	mov	r1, r3
	lsl	r3, r5, #3
	add	r3, r1, r3
	str	r2, [r3, #-4]
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldr	r0, [r3, #-284]
	bl	__aeabi_i2f
	mov	r5, r0
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldrsh	r3, [r3, #-234]
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r3, r0
	sub	r2, fp, #32768
	sub	r2, r2, #20
	ldr	r1, [r2, #-276]	@ float
	mov	r0, r3
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, r3
	mov	r0, r5
	bl	__aeabi_fsub
	mov	r3, r0
	mov	r2, r3
	sub	r3, fp, #32768
	sub	r3, r3, #20
	sub	r3, r3, #312
	sub	r3, r3, #2
	ldrsh	r3, [r3]
	mov	r5, r3
	mov	r0, r2
	bl	__aeabi_f2iz
	mov	r3, r0
	sub	r2, fp, #32768
	sub	r2, r2, #20
	str	r3, [r2, r5, lsl #3]
	b	.L53
.L10:
	sub	r3, fp, #32768
	sub	r3, r3, #20
	sub	r3, r3, #316
	ldrsh	r3, [r3]
	cmn	r3, #10
	bne	.L12
	sub	r3, fp, #32768
	sub	r3, r3, #20
	sub	r3, r3, #312
	sub	r3, r3, #2
	ldrsh	r3, [r3]
	cmp	r3, #0
	beq	.L13
	sub	r3, fp, #32768
	sub	r3, r3, #20
	sub	r2, fp, #32768
	sub	r2, r2, #20
	sub	r1, fp, #33024
	sub	r1, r1, #20
	sub	r1, r1, #58
	sub	r0, fp, #32768
	sub	r0, r0, #20
	sub	r0, r0, #4
	ldr	r3, [r3, #-296]
	ldr	r2, [r2, #-292]
	bl	drawLine
.L13:
	ldr	r3, .L56+68
	ldr	r3, [r3]
	sub	r0, fp, #32768
	sub	r0, r0, #20
	sub	r0, r0, #236
	mov	r2, #2
	mov	r1, #2
	bl	fread
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldrsh	r3, [r3, #-236]
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r3, r0
	sub	r2, fp, #32768
	sub	r2, r2, #20
	ldr	r1, [r2, #-280]	@ float
	mov	r0, r3
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r2, r3
	sub	r3, fp, #32768
	sub	r3, r3, #20
	sub	r3, r3, #312
	sub	r3, r3, #2
	ldrsh	r3, [r3]
	mov	r5, r3
	mov	r0, r2
	bl	__aeabi_f2iz
	mov	r2, r0
	sub	r3, fp, #32768
	sub	r3, r3, #20
	mov	r1, r3
	lsl	r3, r5, #3
	add	r3, r1, r3
	str	r2, [r3, #-4]
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldr	r0, [r3, #-284]
	bl	__aeabi_i2f
	mov	r5, r0
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldrsh	r3, [r3, #-234]
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r3, r0
	sub	r2, fp, #32768
	sub	r2, r2, #20
	ldr	r1, [r2, #-276]	@ float
	mov	r0, r3
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, r3
	mov	r0, r5
	bl	__aeabi_fsub
	mov	r3, r0
	mov	r2, r3
	sub	r3, fp, #32768
	sub	r3, r3, #20
	sub	r3, r3, #312
	sub	r3, r3, #2
	ldrsh	r3, [r3]
	mov	r5, r3
	mov	r0, r2
	bl	__aeabi_f2iz
	mov	r3, r0
	sub	r2, fp, #32768
	sub	r2, r2, #20
	str	r3, [r2, r5, lsl #3]
	b	.L53
.L12:
	sub	r3, fp, #32768
	sub	r3, r3, #20
	sub	r3, r3, #316
	ldrsh	r3, [r3]
	cmn	r3, #4
	bne	.L14
	sub	r3, fp, #32768
	sub	r3, r3, #20
	sub	r3, r3, #312
	sub	r3, r3, #2
	ldrsh	r3, [r3]
	cmp	r3, #0
	beq	.L15
	sub	r3, fp, #32768
	sub	r3, r3, #20
	sub	r2, fp, #32768
	sub	r2, r2, #20
	sub	r1, fp, #33024
	sub	r1, r1, #20
	sub	r1, r1, #58
	sub	r0, fp, #32768
	sub	r0, r0, #20
	sub	r0, r0, #4
	ldr	r3, [r3, #-296]
	ldr	r2, [r2, #-292]
	bl	drawLine
.L15:
	ldr	r3, .L56+68
	ldr	r3, [r3]
	sub	r0, fp, #32768
	sub	r0, r0, #20
	sub	r0, r0, #236
	mov	r2, #2
	mov	r1, #2
	bl	fread
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldrsh	r3, [r3, #-236]
	mov	r4, r3
	cmp	r4, #12
	ble	.L16
	mov	r4, #12
	b	.L17
.L16:
	cmp	r4, #0
	bgt	.L17
	mov	r4, #1
.L17:
	sub	r3, r4, #1
	sub	r2, fp, #32768
	sub	r2, r2, #20
	lsl	r3, r3, #1
	add	r3, r2, r3
	sub	r3, r3, #228
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r3, r0
	sub	r2, fp, #32768
	sub	r2, r2, #20
	ldr	r1, [r2, #-280]	@ float
	mov	r0, r3
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, #1065353216
	mov	r0, r3
	bl	__aeabi_fadd
	mov	r3, r0
	mov	r2, r3
	sub	r3, fp, #32768
	sub	r3, r3, #20
	mov	r5, r3
	mov	r0, r2
	bl	__aeabi_f2iz
	mov	r3, r0
	str	r3, [r5, #-292]
	b	.L53
.L14:
	sub	r3, fp, #32768
	sub	r3, r3, #20
	sub	r3, r3, #316
	ldrsh	r3, [r3]
	cmn	r3, #3
	bne	.L18
	sub	r3, fp, #32768
	sub	r3, r3, #20
	sub	r3, r3, #312
	sub	r3, r3, #2
	ldrsh	r3, [r3]
	cmp	r3, #0
	beq	.L19
	sub	r3, fp, #32768
	sub	r3, r3, #20
	sub	r2, fp, #32768
	sub	r2, r2, #20
	sub	r1, fp, #33024
	sub	r1, r1, #20
	sub	r1, r1, #58
	sub	r0, fp, #32768
	sub	r0, r0, #20
	sub	r0, r0, #4
	ldr	r3, [r3, #-296]
	ldr	r2, [r2, #-292]
	bl	drawLine
.L19:
	ldr	r3, .L56+68
	ldr	r3, [r3]
	sub	r0, fp, #32768
	sub	r0, r0, #20
	sub	r0, r0, #236
	mov	r2, #1
	mov	r1, #2
	bl	fread
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldrsh	r3, [r3, #-236]
	sub	r2, fp, #32768
	sub	r2, r2, #20
	str	r3, [r2, #-296]
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldr	r3, [r3, #-296]
	cmp	r3, #0
	bge	.L20
	sub	r3, fp, #32768
	sub	r3, r3, #20
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-296]
.L20:
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldr	r3, [r3, #-296]
	cmp	r3, #255
	ble	.L21
	sub	r3, fp, #32768
	sub	r3, r3, #20
	mov	r2, r3
	mov	r3, #255
	str	r3, [r2, #-296]
.L21:
	sub	r3, fp, #32768
	sub	r3, r3, #20
	mov	r2, r3
	lsl	r3, r4, #1
	add	r3, r2, r3
	sub	r3, r3, #204
	ldrsh	r3, [r3]
	cmp	r3, #0
	bne	.L22
	sub	r3, fp, #32768
	sub	r3, r3, #20
	mov	r2, r3
	mov	r3, #15
	str	r3, [r2, #-296]
.L22:
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldr	r3, [r3, #-256]
	cmp	r3, #0
	beq	.L53
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldr	r3, [r3, #-296]
	cmp	r3, #1
	bne	.L23
	sub	r3, fp, #32768
	sub	r3, r3, #20
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-296]
	b	.L53
.L23:
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldr	r3, [r3, #-296]
	cmp	r3, #0
	bne	.L53
	sub	r3, fp, #32768
	sub	r3, r3, #20
	mov	r2, r3
	mov	r3, #1
	str	r3, [r2, #-296]
	b	.L53
.L18:
	sub	r3, fp, #32768
	sub	r3, r3, #20
	sub	r3, r3, #316
	ldrsh	r3, [r3]
	cmn	r3, #7
	bne	.L24
	ldr	r3, .L56+68
	ldr	r3, [r3]
	sub	r0, fp, #32768
	sub	r0, r0, #20
	sub	r0, r0, #236
	mov	r2, #1
	mov	r1, #2
	bl	fread
	b	.L53
.L24:
	sub	r3, fp, #32768
	sub	r3, r3, #20
	sub	r3, r3, #316
	ldrsh	r3, [r3]
	cmn	r3, #8
	bne	.L25
	sub	r3, fp, #32768
	sub	r3, r3, #20
	sub	r3, r3, #312
	sub	r3, r3, #2
	ldrsh	r3, [r3]
	cmp	r3, #1
	ble	.L26
	ldr	r2, .L56+12
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldr	r3, [r3, #-296]
	ldr	r3, [r2, r3, lsl #2]
	cmp	r3, #0
	bge	.L26
	ldr	r3, .L56+52
	ldr	r0, [r3]
	ldr	r2, .L56+56
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldr	r3, [r3, #-296]
	ldr	r1, [r2, r3, lsl #2]
	ldr	r2, .L56+60
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldr	r3, [r3, #-296]
	ldr	r2, [r2, r3, lsl #2]
	ldr	ip, .L56+64
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldr	r3, [r3, #-296]
	ldr	r3, [ip, r3, lsl #2]
	bl	gdImageColorAllocate
	mov	r2, r0
	ldr	r1, .L56+12
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldr	r3, [r3, #-296]
	str	r2, [r1, r3, lsl #2]
.L26:
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldr	r3, [r3, #-252]
	cmp	r3, #0
	beq	.L27
	ldr	r3, .L56+52
	ldr	r0, [r3]
	sub	r3, fp, #32768
	sub	r3, r3, #20
	sub	r3, r3, #312
	sub	r3, r3, #2
	ldrsh	r3, [r3]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #16
	asr	r2, r3, #16
	sub	r3, fp, #32768
	sub	r3, r3, #20
	sub	r3, r3, #312
	sub	r3, r3, #2
	strh	r2, [r3]	@ movhi
	sub	r3, fp, #32768
	sub	r3, r3, #20
	sub	r3, r3, #312
	sub	r3, r3, #2
	ldrsh	r3, [r3]
	mov	ip, r3
	ldr	r2, .L56+12
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldr	r3, [r3, #-296]
	ldr	r3, [r2, r3, lsl #2]
	sub	r1, fp, #32768
	sub	r1, r1, #20
	sub	r1, r1, #4
	mov	r2, ip
	bl	gdImageFilledPolygon
	b	.L28
.L27:
	ldr	r3, .L56+52
	ldr	r0, [r3]
	sub	r3, fp, #32768
	sub	r3, r3, #20
	sub	r3, r3, #312
	sub	r3, r3, #2
	ldrsh	r3, [r3]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #16
	asr	r2, r3, #16
	sub	r3, fp, #32768
	sub	r3, r3, #20
	sub	r3, r3, #312
	sub	r3, r3, #2
	strh	r2, [r3]	@ movhi
	sub	r3, fp, #32768
	sub	r3, r3, #20
	sub	r3, r3, #312
	sub	r3, r3, #2
	ldrsh	r3, [r3]
	mov	ip, r3
	ldr	r2, .L56+12
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldr	r3, [r3, #-296]
	ldr	r3, [r2, r3, lsl #2]
	sub	r1, fp, #32768
	sub	r1, r1, #20
	sub	r1, r1, #4
	mov	r2, ip
	bl	gdImageFilledPolygonx
.L28:
	sub	r3, fp, #32768
	sub	r3, r3, #20
	sub	r3, r3, #312
	sub	r3, r3, #2
	mov	r2, #0
	strh	r2, [r3]	@ movhi
	b	.L53
.L25:
	sub	r3, fp, #32768
	sub	r3, r3, #20
	sub	r3, r3, #316
	ldrsh	r3, [r3]
	cmn	r3, #6
	bne	.L29
	sub	r3, fp, #32768
	sub	r3, r3, #20
	sub	r3, r3, #312
	sub	r3, r3, #2
	ldrsh	r3, [r3]
	cmp	r3, #0
	beq	.L30
	sub	r3, fp, #32768
	sub	r3, r3, #20
	sub	r2, fp, #32768
	sub	r2, r2, #20
	sub	r1, fp, #33024
	sub	r1, r1, #20
	sub	r1, r1, #58
	sub	r0, fp, #32768
	sub	r0, r0, #20
	sub	r0, r0, #4
	ldr	r3, [r3, #-296]
	ldr	r2, [r2, #-292]
	bl	drawLine
.L30:
	ldr	r3, .L56+68
	ldr	r3, [r3]
	sub	r0, fp, #32768
	sub	r0, r0, #20
	sub	r0, r0, #236
	mov	r2, #4
	mov	r1, #2
	bl	fread
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldr	r0, [r3, #-284]
	bl	__aeabi_i2f
	mov	r5, r0
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldrsh	r3, [r3, #-232]
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r3, r0
	sub	r2, fp, #32768
	sub	r2, r2, #20
	ldr	r1, [r2, #-276]	@ float
	mov	r0, r3
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, r3
	mov	r0, r5
	bl	__aeabi_fsub
	mov	r3, r0
	mov	r2, r3
	sub	r3, fp, #32768
	sub	r3, r3, #20
	mov	r5, r3
	mov	r0, r2
	bl	__aeabi_f2iz
	mov	r3, r0
	str	r3, [r5, #-264]
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldr	r0, [r3, #-284]
	bl	__aeabi_i2f
	mov	r5, r0
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldrsh	r3, [r3, #-230]
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r3, r0
	sub	r2, fp, #32768
	sub	r2, r2, #20
	ldr	r1, [r2, #-276]	@ float
	mov	r0, r3
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, r3
	mov	r0, r5
	bl	__aeabi_fsub
	mov	r3, r0
	mov	r2, r3
	sub	r3, fp, #32768
	sub	r3, r3, #20
	mov	r5, r3
	mov	r0, r2
	bl	__aeabi_f2iz
	mov	r3, r0
	str	r3, [r5, #-260]
	ldr	r2, .L56+12
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldr	r3, [r3, #-296]
	ldr	r3, [r2, r3, lsl #2]
	cmp	r3, #0
	bge	.L31
	ldr	r3, .L56+52
	ldr	r0, [r3]
	ldr	r2, .L56+56
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldr	r3, [r3, #-296]
	ldr	r1, [r2, r3, lsl #2]
	ldr	r2, .L56+60
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldr	r3, [r3, #-296]
	ldr	r2, [r2, r3, lsl #2]
	ldr	ip, .L56+64
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldr	r3, [r3, #-296]
	ldr	r3, [ip, r3, lsl #2]
	bl	gdImageColorAllocate
	mov	r2, r0
	ldr	r1, .L56+12
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldr	r3, [r3, #-296]
	str	r2, [r1, r3, lsl #2]
.L31:
	ldr	r3, .L56+52
	ldr	r5, [r3]
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldrsh	r3, [r3, #-236]
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r3, r0
	sub	r2, fp, #32768
	sub	r2, r2, #20
	ldr	r1, [r2, #-280]	@ float
	mov	r0, r3
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r0, r3
	bl	__aeabi_f2iz
	mov	r6, r0
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldrsh	r3, [r3, #-234]
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r3, r0
	sub	r2, fp, #32768
	sub	r2, r2, #20
	ldr	r1, [r2, #-280]	@ float
	mov	r0, r3
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r0, r3
	bl	__aeabi_f2iz
	mov	r2, r0
	ldr	r1, .L56+12
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldr	r3, [r3, #-296]
	ldr	r3, [r1, r3, lsl #2]
	sub	r1, fp, #32768
	sub	r1, r1, #20
	str	r3, [sp, #4]
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldr	r3, [r3, #-264]
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [r1, #-260]
	mov	r1, r6
	mov	r0, r5
	bl	gdImageFilledRectangle
	b	.L53
.L29:
	sub	r3, fp, #32768
	sub	r3, r3, #20
	sub	r3, r3, #316
	ldrsh	r3, [r3]
	cmn	r3, #9
	bne	.L32
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldr	r3, [r3, #-248]
	cmp	r3, #0
	beq	.L33
	sub	r3, fp, #32768
	sub	r3, r3, #20
	sub	r3, r3, #312
	ldrsh	r3, [r3]
	mov	r1, r3
	ldr	r0, .L56+16
	bl	printf
.L33:
	ldr	r3, .L56+52
	ldr	r3, [r3]
	ldr	r2, .L56+44
	ldr	r2, [r2]
	mov	r1, r2
	mov	r0, r3
	bl	gdImageGif
	ldr	r3, .L56+44
	ldr	r3, [r3]
	mov	r0, r3
	bl	fclose
	ldr	r3, .L56+52
	ldr	r3, [r3]
	mov	r0, r3
	bl	gdImageDestroy
	mov	r3, #0
	b	.L54
.L57:
	.align	2
.L56:
	.word	550
	.word	425
	.word	.LC0
	.word	cidx
	.word	.LC1
	.word	1374389535
	.word	.LC2
	.word	.LC3
	.word	.LC4
	.word	.LC5
	.word	.LC6
	.word	outfile
	.word	w
	.word	im
	.word	r
	.word	g
	.word	b
	.word	infile
	.word	.LC7
	.word	.LC8
	.word	.LC9
.L32:
	sub	r3, fp, #32768
	sub	r3, r3, #20
	sub	r3, r3, #316
	ldrsh	r3, [r3]
	cmn	r3, #1
	bne	.L35
	ldr	r3, .L56+68
	ldr	r3, [r3]
	sub	r0, fp, #32768
	sub	r0, r0, #20
	sub	r0, r0, #236
	mov	r2, #2
	mov	r1, #2
	bl	fread
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldrsh	r2, [r3, #-236]
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldrsh	r3, [r3, #-234]
	cmp	r2, r3
	bge	.L36
	sub	r3, fp, #32768
	sub	r3, r3, #20
	mov	r2, r3
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldr	r3, [r3, #-288]
	str	r3, [r2, #-268]
	sub	r3, fp, #32768
	sub	r3, r3, #20
	mov	r2, r3
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldr	r3, [r3, #-284]
	str	r3, [r2, #-288]
	sub	r3, fp, #32768
	sub	r3, r3, #20
	mov	r2, r3
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldr	r3, [r3, #-268]
	str	r3, [r2, #-284]
.L36:
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldr	r3, [r3, #-244]
	cmp	r3, #0
	beq	.L37
	sub	r3, fp, #32768
	sub	r3, r3, #20
	mov	r2, r3
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldr	r3, [r3, #-244]
	str	r3, [r2, #-288]
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldr	r3, [r3, #-240]
	cmp	r3, #0
	bne	.L37
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldrsh	r3, [r3, #-234]
	ldr	r2, .L56+20
	smull	r1, r2, r3, r2
	asr	r2, r2, #5
	asr	r3, r3, #31
	sub	r3, r2, r3
	lsl	r3, r3, #16
	asr	r3, r3, #16
	mov	r2, r3
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldr	r3, [r3, #-288]
	mul	r0, r3, r2
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldrsh	r3, [r3, #-236]
	ldr	r2, .L56+20
	smull	r1, r2, r3, r2
	asr	r2, r2, #5
	asr	r3, r3, #31
	sub	r3, r2, r3
	lsl	r3, r3, #16
	asr	r3, r3, #16
	mov	r2, r3
	sub	r3, fp, #32768
	sub	r3, r3, #20
	mov	r4, r3
	mov	r1, r2
	bl	__aeabi_idiv
	mov	r3, r0
	str	r3, [r4, #-284]
.L37:
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldr	r3, [r3, #-240]
	cmp	r3, #0
	beq	.L38
	sub	r3, fp, #32768
	sub	r3, r3, #20
	mov	r2, r3
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldr	r3, [r3, #-240]
	str	r3, [r2, #-284]
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldr	r3, [r3, #-244]
	cmp	r3, #0
	bne	.L38
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldrsh	r3, [r3, #-236]
	ldr	r2, .L56+20
	smull	r1, r2, r3, r2
	asr	r2, r2, #5
	asr	r3, r3, #31
	sub	r3, r2, r3
	lsl	r3, r3, #16
	asr	r3, r3, #16
	mov	r2, r3
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldr	r3, [r3, #-284]
	mul	r0, r3, r2
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldrsh	r3, [r3, #-234]
	ldr	r2, .L56+20
	smull	r1, r2, r3, r2
	asr	r2, r2, #5
	asr	r3, r3, #31
	sub	r3, r2, r3
	lsl	r3, r3, #16
	asr	r3, r3, #16
	mov	r2, r3
	sub	r3, fp, #32768
	sub	r3, r3, #20
	mov	r4, r3
	mov	r1, r2
	bl	__aeabi_idiv
	mov	r3, r0
	str	r3, [r4, #-288]
.L38:
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldr	r0, [r3, #-288]
	bl	__aeabi_i2f
	mov	r4, r0
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldrsh	r3, [r3, #-236]
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r3, r0
	sub	r2, fp, #32768
	sub	r2, r2, #20
	mov	r5, r2
	mov	r1, r3
	mov	r0, r4
	bl	__aeabi_fdiv
	mov	r3, r0
	str	r3, [r5, #-280]	@ float
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldr	r0, [r3, #-284]
	bl	__aeabi_i2f
	mov	r4, r0
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldrsh	r3, [r3, #-234]
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r3, r0
	sub	r2, fp, #32768
	sub	r2, r2, #20
	mov	r5, r2
	mov	r1, r3
	mov	r0, r4
	bl	__aeabi_fdiv
	mov	r3, r0
	str	r3, [r5, #-276]	@ float
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldr	r3, [r3, #-248]
	cmp	r3, #0
	beq	.L39
	sub	r3, fp, #32768
	sub	r3, r3, #20
	mov	r2, r3
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldr	r2, [r2, #-284]
	ldr	r1, [r3, #-288]
	ldr	r0, .L56+24
	bl	printf
.L39:
	mov	r4, #0
	b	.L40
.L41:
	add	r3, r4, #1
	add	r2, r4, #1
	mov	r1, r2
	mov	r0, r3
	bl	gdImageCreate
	mov	r3, r0
	ldr	r2, .L56+48
	str	r3, [r2, r4, lsl #2]
	add	r4, r4, #1
.L40:
	mov	r0, r4
	bl	__aeabi_i2f
	mov	r5, r0
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldrsh	r3, [r3, #-206]
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r3, r0
	sub	r2, fp, #32768
	sub	r2, r2, #20
	ldr	r1, [r2, #-280]	@ float
	mov	r0, r3
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, r3
	mov	r0, r5
	bl	__aeabi_fcmple
	mov	r3, r0
	cmp	r3, #0
	bne	.L41
	sub	r3, fp, #32768
	sub	r3, r3, #20
	mov	r2, r3
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldr	r1, [r2, #-284]
	ldr	r0, [r3, #-288]
	bl	gdImageCreate
	mov	r3, r0
	ldr	r2, .L56+52
	str	r3, [r2]
	ldr	r3, .L56+52
	ldr	r2, [r3]
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldr	r3, [r3, #-256]
	lsl	r3, r3, #16
	asr	r3, r3, #16
	mov	r1, r3
	mov	r0, r2
	bl	defBGround
	sub	r3, fp, #32768
	sub	r3, r3, #20
	mov	r2, r3
	mov	r3, #1
	str	r3, [r2, #-296]
	sub	r3, fp, #32768
	sub	r3, r3, #20
	sub	r3, r3, #312
	sub	r3, r3, #2
	mov	r2, #0
	strh	r2, [r3]	@ movhi
	b	.L53
.L35:
	sub	r3, fp, #32768
	sub	r3, r3, #20
	sub	r3, r3, #316
	ldrsh	r3, [r3]
	cmn	r3, #2
	bne	.L42
	sub	r3, fp, #32768
	sub	r3, r3, #20
	sub	r3, r3, #312
	sub	r3, r3, #2
	ldrsh	r3, [r3]
	cmp	r3, #0
	beq	.L43
	sub	r3, fp, #32768
	sub	r3, r3, #20
	sub	r2, fp, #32768
	sub	r2, r2, #20
	sub	r1, fp, #33024
	sub	r1, r1, #20
	sub	r1, r1, #58
	sub	r0, fp, #32768
	sub	r0, r0, #20
	sub	r0, r0, #4
	ldr	r3, [r3, #-296]
	ldr	r2, [r2, #-292]
	bl	drawLine
.L43:
	ldr	r3, .L56+52
	ldr	r3, [r3]
	ldr	r2, .L56+44
	ldr	r2, [r2]
	mov	r1, r2
	mov	r0, r3
	bl	gdImageGif
	ldr	r3, .L56+44
	ldr	r3, [r3]
	mov	r0, r3
	bl	fclose
	ldr	r3, .L56+52
	ldr	r3, [r3]
	mov	r0, r3
	bl	gdImageDestroy
	mov	r4, #0
	b	.L44
.L45:
	ldr	r3, .L56+48
	ldr	r3, [r3, r4, lsl #2]
	mov	r0, r3
	bl	gdImageDestroy
	add	r4, r4, #1
.L44:
	mov	r0, r4
	bl	__aeabi_i2f
	mov	r5, r0
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldrsh	r3, [r3, #-206]
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r3, r0
	sub	r2, fp, #32768
	sub	r2, r2, #20
	ldr	r1, [r2, #-280]	@ float
	mov	r0, r3
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, r3
	mov	r0, r5
	bl	__aeabi_fcmple
	mov	r3, r0
	cmp	r3, #0
	bne	.L45
	ldr	r3, .L56+68
	ldr	r2, [r3]
	sub	r3, fp, #33024
	sub	r3, r3, #20
	sub	r3, r3, #44
	mov	r1, r3
	mov	r0, r2
	bl	fgetpos
	ldr	r3, .L56+68
	ldr	r3, [r3]
	sub	r0, fp, #33024
	sub	r0, r0, #20
	sub	r0, r0, #60
	mov	r2, #1
	mov	r1, #2
	bl	fread
	ldr	r3, .L56+68
	ldr	r2, [r3]
	sub	r3, fp, #33024
	sub	r3, r3, #20
	sub	r3, r3, #44
	mov	r1, r3
	mov	r0, r2
	bl	fsetpos
	sub	r3, fp, #32768
	sub	r3, r3, #20
	sub	r3, r3, #316
	ldrsh	r3, [r3]
	cmn	r3, #9
	beq	.L46
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldr	r3, [r3, #-272]
	cmp	r3, #0
	bne	.L47
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldr	r4, [r3, #-304]
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldr	r3, [r3, #-304]
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	sub	r3, r3, #4
	add	r3, r4, r3
	mov	r2, #0
	strb	r2, [r3]
	sub	r3, fp, #32768
	sub	r3, r3, #20
	mov	r4, r3
	mov	r0, #150
	bl	malloc
	mov	r3, r0
	str	r3, [r4, #-272]
.L47:
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldr	r3, [r3, #-304]
	sub	r2, fp, #32768
	sub	r2, r2, #20
	mov	r1, r3
	ldr	r0, [r2, #-272]
	bl	strcpy
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldr	r0, [r3, #-272]
	bl	strlen
	mov	r2, r0
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldr	r3, [r3, #-272]
	add	r0, r3, r2
	sub	r3, fp, #32768
	sub	r3, r3, #20
	sub	r3, r3, #312
	ldrh	r3, [r3]
	add	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	sub	r3, fp, #32768
	sub	r3, r3, #20
	sub	r3, r3, #312
	strh	r2, [r3]	@ movhi
	sub	r3, fp, #32768
	sub	r3, r3, #20
	sub	r3, r3, #312
	ldrsh	r3, [r3]
	mov	r2, r3
	ldr	r1, .L56+28
	bl	sprintf
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldr	r0, [r3, #-272]
	bl	strlen
	mov	r2, r0
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldr	r3, [r3, #-272]
	add	r3, r3, r2
	ldr	r2, .L56+32
	mov	r0, r3
	mov	r1, r2
	mov	r3, #5
	mov	r2, r3
	bl	memcpy
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldr	r3, [r3, #-248]
	cmp	r3, #0
	beq	.L48
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldr	r1, [r3, #-272]
	ldr	r0, .L56+36
	bl	printf
.L48:
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldr	r1, .L56+40
	ldr	r0, [r3, #-272]
	bl	fopen
	mov	r3, r0
	ldr	r2, .L56+44
	str	r3, [r2]
	mov	r4, #0
	b	.L49
.L50:
	add	r3, r4, #1
	add	r2, r4, #1
	mov	r1, r2
	mov	r0, r3
	bl	gdImageCreate
	mov	r3, r0
	ldr	r2, .L56+48
	str	r3, [r2, r4, lsl #2]
	add	r4, r4, #1
.L49:
	mov	r0, r4
	bl	__aeabi_i2f
	mov	r5, r0
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldrsh	r3, [r3, #-206]
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r3, r0
	sub	r2, fp, #32768
	sub	r2, r2, #20
	ldr	r1, [r2, #-280]	@ float
	mov	r0, r3
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, r3
	mov	r0, r5
	bl	__aeabi_fcmple
	mov	r3, r0
	cmp	r3, #0
	bne	.L50
	sub	r3, fp, #32768
	sub	r3, r3, #20
	mov	r2, r3
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldr	r1, [r2, #-284]
	ldr	r0, [r3, #-288]
	bl	gdImageCreate
	mov	r3, r0
	ldr	r2, .L56+52
	str	r3, [r2]
	ldr	r3, .L56+52
	ldr	r2, [r3]
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldr	r3, [r3, #-256]
	lsl	r3, r3, #16
	asr	r3, r3, #16
	mov	r1, r3
	mov	r0, r2
	bl	defBGround
	sub	r3, fp, #32768
	sub	r3, r3, #20
	mov	r2, r3
	mov	r3, #1
	str	r3, [r2, #-296]
	sub	r3, fp, #32768
	sub	r3, r3, #20
	sub	r3, r3, #312
	sub	r3, r3, #2
	mov	r2, #0
	strh	r2, [r3]	@ movhi
	b	.L53
.L46:
	mov	r3, #0
	b	.L54
.L42:
	sub	r3, fp, #32768
	sub	r3, r3, #20
	sub	r3, r3, #316
	ldrsh	r3, [r3]
	cmn	r3, #5
	bne	.L51
	ldr	r3, .L56+68
	ldr	r3, [r3]
	sub	r0, fp, #32768
	sub	r0, r0, #20
	sub	r0, r0, #236
	mov	r2, #4
	mov	r1, #2
	bl	fread
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldrsh	r3, [r3, #-236]
	mov	r4, r3
	cmp	r4, #15
	ble	.L53
	cmp	r4, #99
	bgt	.L53
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldrsh	r3, [r3, #-234]
	mov	r2, r3
	ldr	r3, .L56+56
	str	r2, [r3, r4, lsl #2]
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldrsh	r3, [r3, #-232]
	mov	r2, r3
	ldr	r3, .L56+60
	str	r2, [r3, r4, lsl #2]
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldrsh	r3, [r3, #-230]
	mov	r2, r3
	ldr	r3, .L56+64
	str	r2, [r3, r4, lsl #2]
	sub	r3, fp, #32768
	sub	r3, r3, #20
	mov	r2, r3
	lsl	r3, r4, #1
	add	r3, r2, r3
	sub	r3, r3, #204
	mov	r2, #1
	strh	r2, [r3]	@ movhi
	b	.L53
.L51:
	sub	r3, fp, #32768
	sub	r3, r3, #20
	sub	r3, r3, #316
	ldrsh	r3, [r3]
	cmn	r3, #20
	bne	.L52
	ldr	r3, .L56+68
	ldr	r3, [r3]
	sub	r0, fp, #32768
	sub	r0, r0, #20
	sub	r0, r0, #236
	mov	r2, #1
	mov	r1, #2
	bl	fread
	b	.L53
.L52:
	sub	r3, fp, #32768
	sub	r3, r3, #20
	sub	r3, r3, #316
	ldrsh	r3, [r3]
	mov	r1, r3
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldr	r3, [r3, #-308]
	mov	r2, r3
	ldr	r0, .L56+72
	bl	printf
	sub	r3, fp, #32768
	sub	r3, r3, #20
	ldr	r3, [r3, #-308]
	mov	r1, r3
	ldr	r0, .L56+76
	bl	printf
	mov	r3, #1
.L54:
	ldr	r2, .L56+80
	ldr	r1, [r2]
	ldr	r2, [fp, #-24]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L55
	bl	__stack_chk_fail
.L55:
	mov	r0, r3
	sub	sp, fp, #16
	@ sp needed
	pop	{r4, r5, r6, fp, pc}
	.size	main, .-main
	.align	2
	.global	defBGround
	.syntax unified
	.arm
	.fpu softvfp
	.type	defBGround, %function
defBGround:
	@ 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]
	mov	r3, r1
	strh	r3, [fp, #-10]	@ movhi
	ldrsh	r3, [fp, #-10]
	cmp	r3, #0
	beq	.L59
	mov	r3, #255
	mov	r2, #255
	mov	r1, #255
	ldr	r0, [fp, #-8]
	bl	gdImageColorAllocate
	mov	r3, r0
	ldr	r2, .L62
	str	r3, [r2, #4]
	b	.L58
.L59:
	mov	r3, #0
	mov	r2, #0
	mov	r1, #0
	ldr	r0, [fp, #-8]
	bl	gdImageColorAllocate
	mov	r3, r0
	ldr	r2, .L62
	str	r3, [r2]
	nop
.L58:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L63:
	.align	2
.L62:
	.word	cidx
	.size	defBGround, .-defBGround
	.align	2
	.global	drawLine
	.syntax unified
	.arm
	.fpu softvfp
	.type	drawLine, %function
drawLine:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	str	r3, [fp, #-20]
	ldr	r1, .L69
	ldr	r2, [fp, #-16]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	ldr	r2, [fp, #-20]
	add	r3, r3, r2
	ldr	r3, [r1, r3, lsl #2]
	cmp	r3, #0
	bge	.L65
	ldr	r3, [fp, #-16]
	sub	r3, r3, #1
	ldr	r2, .L69+4
	ldr	r0, [r2, r3, lsl #2]
	ldr	r2, .L69+8
	ldr	r3, [fp, #-20]
	ldr	r1, [r2, r3, lsl #2]
	ldr	r2, .L69+12
	ldr	r3, [fp, #-20]
	ldr	r2, [r2, r3, lsl #2]
	ldr	ip, .L69+16
	ldr	r3, [fp, #-20]
	ldr	r3, [ip, r3, lsl #2]
	bl	gdImageColorAllocate
	mov	r1, r0
	ldr	r0, .L69
	ldr	r2, [fp, #-16]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	ldr	r2, [fp, #-20]
	add	r3, r3, r2
	str	r1, [r0, r3, lsl #2]
.L65:
	ldr	r3, [fp, #-16]
	sub	r3, r3, #1
	ldr	r2, .L69+4
	ldr	r0, [r2, r3, lsl #2]
	ldr	r1, .L69
	ldr	r2, [fp, #-16]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	ldr	r2, [fp, #-20]
	add	r3, r3, r2
	ldr	r3, [r1, r3, lsl #2]
	str	r3, [sp, #4]
	ldr	r3, [fp, #-16]
	str	r3, [sp]
	ldr	r3, [fp, #-16]
	mov	r2, #0
	mov	r1, #0
	bl	gdImageFilledRectangle
	ldr	r3, .L69+20
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	sub	r3, r3, #1
	ldr	r1, .L69+4
	ldr	r3, [r1, r3, lsl #2]
	mov	r1, r3
	mov	r0, r2
	bl	gdImageSetBrush
	ldr	r3, [fp, #-12]
	ldrsh	r3, [r3]
	cmp	r3, #1
	ble	.L66
	ldr	r3, .L69+20
	ldr	r0, [r3]
	ldr	r3, [fp, #-12]
	ldrsh	r3, [r3]
	add	r2, r3, #1
	mvn	r3, #2
	ldr	r1, [fp, #-8]
	bl	gdImagePolygonUnclosed
	b	.L67
.L66:
	ldr	r3, .L69+20
	ldr	r0, [r3]
	ldr	r3, [fp, #-8]
	ldr	r1, [r3]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	add	r3, r3, #8
	ldr	ip, [r3]
	ldr	r3, [fp, #-8]
	add	r3, r3, #8
	ldr	r3, [r3, #4]
	mvn	lr, #2
	str	lr, [sp, #4]
	str	r3, [sp]
	mov	r3, ip
	bl	gdImageLine
.L67:
	ldr	r3, [fp, #-12]
	mov	r2, #0
	strh	r2, [r3]	@ movhi
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L70:
	.align	2
.L69:
	.word	cidx
	.word	w
	.word	r
	.word	g
	.word	b
	.word	im
	.size	drawLine, .-drawLine
	.section	.rodata
	.align	2
.LC10:
	.ascii	"%d\000"
	.align	2
.LC11:
	.ascii	"This is gxgif $Revision$, $Date$\000"
	.align	2
.LC12:
	.ascii	"Unknown option: %s\012\012\000"
	.text
	.align	2
	.global	parseArg
	.syntax unified
	.arm
	.fpu softvfp
	.type	parseArg, %function
parseArg:
	@ args = 4, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-16]
	cmp	r3, #1
	bne	.L72
	ldr	r0, [fp, #-20]
	bl	printOptions
.L72:
	mov	r4, #1
	b	.L73
.L86:
	mov	r3, r4
	lsl	r3, r3, #2
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #45
	bne	.L74
	mov	r5, #0
	b	.L75
.L84:
	mov	r3, r4
	lsl	r3, r3, #2
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r5
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #105
	bne	.L76
	add	r4, r4, #1
	mov	r3, r4
	lsl	r3, r3, #2
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-28]
	str	r2, [r3]
	b	.L85
.L76:
	mov	r3, r4
	lsl	r3, r3, #2
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r5
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #104
	bne	.L78
	ldr	r3, [fp, #-24]
	mov	r2, #1
	str	r2, [r3, #4]
	b	.L75
.L78:
	mov	r3, r4
	lsl	r3, r3, #2
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r5
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #111
	bne	.L79
	add	r4, r4, #1
	mov	r3, r4
	lsl	r3, r3, #2
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #4]
	str	r2, [r3]
	b	.L85
.L79:
	mov	r3, r4
	lsl	r3, r3, #2
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r5
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #114
	bne	.L80
	ldr	r3, [fp, #-24]
	mov	r2, #1
	str	r2, [r3]
	b	.L75
.L80:
	mov	r3, r4
	lsl	r3, r3, #2
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r5
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #120
	bne	.L81
	add	r4, r4, #1
	mov	r3, r4
	lsl	r3, r3, #2
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	ldr	r0, [r3]
	ldr	r3, [fp, #-24]
	add	r3, r3, #12
	mov	r2, r3
	ldr	r1, .L88
	bl	__isoc99_sscanf
	b	.L85
.L81:
	mov	r3, r4
	lsl	r3, r3, #2
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r5
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #121
	bne	.L82
	add	r4, r4, #1
	mov	r3, r4
	lsl	r3, r3, #2
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	ldr	r0, [r3]
	ldr	r3, [fp, #-24]
	add	r3, r3, #16
	mov	r2, r3
	ldr	r1, .L88
	bl	__isoc99_sscanf
	b	.L85
.L82:
	mov	r3, r4
	lsl	r3, r3, #2
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r5
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #118
	bne	.L83
	ldr	r3, [fp, #-24]
	mov	r2, #1
	str	r2, [r3, #8]
	ldr	r0, .L88+4
	bl	puts
	b	.L75
.L83:
	ldr	r3, .L88+8
	ldr	r0, [r3]
	mov	r3, r4
	lsl	r3, r3, #2
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, .L88+12
	bl	fprintf
	ldr	r0, [fp, #-20]
	bl	printOptions
	mov	r0, #1
	bl	exit
.L75:
	mov	r3, r4
	lsl	r3, r3, #2
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	ldr	r3, [r3]
	add	r5, r5, #1
	mov	r2, r5
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L84
	b	.L85
.L74:
	mov	r3, r4
	lsl	r3, r3, #2
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-28]
	str	r2, [r3]
.L85:
	add	r4, r4, #1
.L73:
	ldr	r3, [fp, #-16]
	cmp	r4, r3
	blt	.L86
	nop
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L89:
	.align	2
.L88:
	.word	.LC10
	.word	.LC11
	.word	stderr
	.word	.LC12
	.size	parseArg, .-parseArg
	.section	.rodata
	.align	2
.LC13:
	.ascii	"Usage: \000"
	.align	2
.LC14:
	.ascii	"%s%s%s\000"
	.align	2
.LC15:
	.ascii	" [-hrv -x <pixels> -y <pixels> -i <in_file>[.gm] -o"
	.ascii	" <out_file>] [<in_file>[.gm]].\012\000"
	.align	2
.LC16:
	.ascii	"Options:\012\000"
	.align	2
.LC17:
	.ascii	"     -i   <in_file>[.gm].\012\000"
	.align	2
.LC18:
	.ascii	"     -h   Fill polygons horizontally.\012\000"
	.align	2
.LC19:
	.ascii	"     -o   <out_file> (default: basename(in_file).gi"
	.ascii	"f, '-' = stdout).\012\000"
	.align	2
.LC20:
	.ascii	"     -r   Black background.\012\000"
	.align	2
.LC21:
	.ascii	"     -v   Verbose.\012\000"
	.align	2
.LC22:
	.ascii	"     -x <pixels>  # pixels horizontally.\012\000"
	.align	2
.LC23:
	.ascii	"     -y <pixels>  # pixels vertically.\012\000"
	.text
	.align	2
	.global	printOptions
	.syntax unified
	.arm
	.fpu softvfp
	.type	printOptions, %function
printOptions:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	ldr	r3, .L91
	ldr	r0, [r3]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldr	r2, .L91+4
	str	r2, [sp]
	ldr	r2, .L91+8
	ldr	r1, .L91+12
	bl	fprintf
	ldr	r3, .L91
	ldr	r3, [r3]
	mov	r2, #9
	mov	r1, #1
	ldr	r0, .L91+16
	bl	fwrite
	ldr	r3, .L91
	ldr	r3, [r3]
	mov	r2, #26
	mov	r1, #1
	ldr	r0, .L91+20
	bl	fwrite
	ldr	r3, .L91
	ldr	r3, [r3]
	mov	r2, #38
	mov	r1, #1
	ldr	r0, .L91+24
	bl	fwrite
	ldr	r3, .L91
	ldr	r3, [r3]
	mov	r2, #69
	mov	r1, #1
	ldr	r0, .L91+28
	bl	fwrite
	ldr	r3, .L91
	ldr	r3, [r3]
	mov	r2, #28
	mov	r1, #1
	ldr	r0, .L91+32
	bl	fwrite
	ldr	r3, .L91
	ldr	r3, [r3]
	mov	r2, #19
	mov	r1, #1
	ldr	r0, .L91+36
	bl	fwrite
	ldr	r3, .L91
	ldr	r3, [r3]
	mov	r2, #41
	mov	r1, #1
	ldr	r0, .L91+40
	bl	fwrite
	ldr	r3, .L91
	ldr	r3, [r3]
	mov	r2, #39
	mov	r1, #1
	ldr	r0, .L91+44
	bl	fwrite
	mov	r0, #8
	bl	exit
.L92:
	.align	2
.L91:
	.word	stderr
	.word	.LC15
	.word	.LC13
	.word	.LC14
	.word	.LC16
	.word	.LC17
	.word	.LC18
	.word	.LC19
	.word	.LC20
	.word	.LC21
	.word	.LC22
	.word	.LC23
	.size	printOptions, .-printOptions
	.section	.rodata
	.align	2
.LC24:
	.ascii	"read infile = %s\012\000"
	.align	2
.LC25:
	.ascii	"rb\000"
	.align	2
.LC26:
	.ascii	".gm\000"
	.align	2
.LC27:
	.ascii	"Input file %s[.gm] not found.\012\000"
	.align	2
.LC28:
	.ascii	"gif\000"
	.align	2
.LC29:
	.ascii	"-\000"
	.align	2
.LC30:
	.ascii	"Error opening output file %s \012\000"
	.align	2
.LC31:
	.ascii	"GrADS metafile: %s\012\000"
	.align	2
.LC32:
	.ascii	"output to stdout\000"
	.align	2
.LC33:
	.ascii	"GIF-file: %s\012\000"
	.text
	.align	2
	.global	openFiles
	.syntax unified
	.arm
	.fpu softvfp
	.type	openFiles, %function
openFiles:
	@ 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]
	mov	r3, r2
	strh	r3, [fp, #-30]	@ movhi
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L94
	mov	r0, #150
	bl	malloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-24]
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r2, .L108
	ldr	r2, [r2]
	mov	r1, #150
	mov	r0, r3
	bl	fgets
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L108+4
	bl	printf
.L94:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r1, .L108+8
	mov	r0, r3
	bl	fopen
	mov	r3, r0
	ldr	r2, .L108+12
	str	r3, [r2]
	ldr	r3, .L108+12
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L95
	ldr	r3, [fp, #-24]
	ldr	r4, [r3]
	mov	r0, r4
	bl	strlen
	mov	r3, r0
	add	r3, r4, r3
	ldr	r2, .L108+16
	mov	r0, r3
	mov	r1, r2
	mov	r3, #4
	mov	r2, r3
	bl	memcpy
	ldr	r3, [fp, #-24]
	str	r4, [r3]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r1, .L108+8
	mov	r0, r3
	bl	fopen
	mov	r3, r0
	ldr	r2, .L108+12
	str	r3, [r2]
	ldr	r3, .L108+12
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L95
	ldr	r3, [fp, #-24]
	ldr	r4, [r3]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	sub	r3, r3, #3
	add	r3, r4, r3
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L108+20
	bl	printf
	mov	r0, #1
	bl	exit
.L95:
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L96
	mov	r0, #150
	bl	malloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-28]
	str	r2, [r3]
	ldr	r3, [fp, #-28]
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	mov	r1, r3
	mov	r0, r2
	bl	strcpy
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	sub	r3, r3, #1
	str	r3, [fp, #-16]
	b	.L97
.L100:
	ldr	r3, [fp, #-28]
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #46
	bne	.L98
	ldr	r3, [fp, #-28]
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	add	r3, r2, r3
	ldr	r2, .L108+24
	mov	r0, r3
	mov	r1, r2
	mov	r3, #4
	mov	r2, r3
	bl	memcpy
	b	.L96
.L98:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L99
	ldr	r3, [fp, #-28]
	ldr	r4, [r3]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	add	r3, r4, r3
	ldr	r2, .L108+28
	mov	r0, r3
	mov	r1, r2
	mov	r3, #5
	mov	r2, r3
	bl	memcpy
.L99:
	ldr	r3, [fp, #-16]
	sub	r3, r3, #1
	str	r3, [fp, #-16]
.L97:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bge	.L100
.L96:
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	ldr	r1, .L108+32
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L101
	ldr	r3, .L108+36
	ldr	r3, [r3]
	ldr	r2, .L108+40
	str	r3, [r2]
	b	.L102
.L101:
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	ldr	r1, .L108+44
	mov	r0, r3
	bl	fopen
	mov	r3, r0
	ldr	r2, .L108+40
	str	r3, [r2]
.L102:
	ldr	r3, .L108+40
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L103
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L108+48
	bl	printf
	mov	r0, #1
	bl	exit
.L103:
	ldrsh	r3, [fp, #-30]
	cmp	r3, #0
	beq	.L107
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L108+52
	bl	printf
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	ldr	r1, .L108+32
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L105
	ldr	r0, .L108+56
	bl	puts
	b	.L107
.L105:
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L108+60
	bl	printf
	nop
.L107:
	nop
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L109:
	.align	2
.L108:
	.word	stdin
	.word	.LC24
	.word	.LC25
	.word	infile
	.word	.LC26
	.word	.LC27
	.word	.LC28
	.word	.LC4
	.word	.LC29
	.word	stdout
	.word	outfile
	.word	.LC6
	.word	.LC30
	.word	.LC31
	.word	.LC32
	.word	.LC33
	.size	openFiles, .-openFiles
	.align	2
	.global	gdImagePolygonUnclosed
	.syntax unified
	.arm
	.fpu softvfp
	.type	gdImagePolygonUnclosed, %function
gdImagePolygonUnclosed:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	beq	.L115
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-8]
	mov	r3, #1
	str	r3, [fp, #-16]
	b	.L113
.L114:
	ldr	r3, [fp, #-28]
	add	r3, r3, #8
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	ldr	r1, [r3]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-36]
	str	r2, [sp, #4]
	str	r3, [sp]
	mov	r3, r1
	ldr	r2, [fp, #-8]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-24]
	bl	gdImageLine
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L113:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-32]
	cmp	r2, r3
	blt	.L114
	b	.L110
.L115:
	nop
.L110:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	gdImagePolygonUnclosed, .-gdImagePolygonUnclosed
	.align	2
	.global	gdImageFilledPolygonx
	.syntax unified
	.arm
	.fpu softvfp
	.type	gdImageFilledPolygonx, %function
gdImageFilledPolygonx:
	@ args = 0, pretend = 0, frame = 88
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #96
	str	r0, [fp, #-80]
	str	r1, [fp, #-84]
	str	r2, [fp, #-88]
	str	r3, [fp, #-92]
	ldr	r3, [fp, #-88]
	cmp	r3, #0
	beq	.L144
	ldr	r3, [fp, #-80]
	add	r3, r3, #4096
	ldr	r3, [r3, #24]
	cmp	r3, #0
	bne	.L119
	ldr	r3, [fp, #-88]
	lsl	r3, r3, #2
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-80]
	add	r3, r3, #4096
	str	r2, [r3, #20]
	ldr	r3, [fp, #-80]
	add	r3, r3, #4096
	mov	r2, r3
	ldr	r3, [fp, #-88]
	str	r3, [r2, #24]
.L119:
	ldr	r3, [fp, #-80]
	add	r3, r3, #4096
	ldr	r3, [r3, #24]
	ldr	r2, [fp, #-88]
	cmp	r2, r3
	ble	.L120
	b	.L121
.L122:
	ldr	r3, [fp, #-80]
	add	r3, r3, #4096
	ldr	r3, [r3, #24]
	lsl	r3, r3, #1
	ldr	r2, [fp, #-80]
	add	r2, r2, #4096
	str	r3, [r2, #24]
.L121:
	ldr	r3, [fp, #-80]
	add	r3, r3, #4096
	ldr	r3, [r3, #24]
	ldr	r2, [fp, #-88]
	cmp	r2, r3
	bgt	.L122
	ldr	r3, [fp, #-80]
	add	r3, r3, #4096
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-80]
	add	r3, r3, #4096
	ldr	r3, [r3, #24]
	lsl	r3, r3, #2
	mov	r1, r3
	mov	r0, r2
	bl	realloc
	mov	r2, r0
	ldr	r3, [fp, #-80]
	add	r3, r3, #4096
	str	r2, [r3, #20]
.L120:
	ldr	r3, [fp, #-84]
	ldr	r3, [r3]
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-84]
	ldr	r3, [r3]
	str	r3, [fp, #-60]
	mov	r3, #1
	str	r3, [fp, #-72]
	b	.L123
.L126:
	ldr	r3, [fp, #-72]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-64]
	cmp	r2, r3
	ble	.L124
	ldr	r3, [fp, #-72]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-64]
.L124:
	ldr	r3, [fp, #-72]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-60]
	cmp	r2, r3
	bge	.L125
	ldr	r3, [fp, #-72]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-60]
.L125:
	ldr	r3, [fp, #-72]
	add	r3, r3, #1
	str	r3, [fp, #-72]
.L123:
	ldr	r2, [fp, #-72]
	ldr	r3, [fp, #-88]
	cmp	r2, r3
	blt	.L126
	ldr	r3, [fp, #-64]
	str	r3, [fp, #-68]
	b	.L127
.L143:
	mov	r3, #0
	str	r3, [fp, #-52]
	mov	r3, #0
	str	r3, [fp, #-48]
	mov	r3, #1
	str	r3, [fp, #-44]
	mov	r3, #0
	str	r3, [fp, #-56]
	mov	r3, #0
	str	r3, [fp, #-72]
	b	.L128
.L140:
	mov	r3, #0
	str	r3, [fp, #-12]
	ldr	r2, [fp, #-72]
	ldr	r3, [fp, #-88]
	cmp	r2, r3
	beq	.L129
	ldr	r3, [fp, #-72]
	cmp	r3, #0
	bne	.L130
.L129:
	ldr	r3, [fp, #-88]
	sub	r3, r3, #1
	str	r3, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L131
.L130:
	ldr	r3, [fp, #-72]
	sub	r3, r3, #1
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-72]
	str	r3, [fp, #-16]
.L131:
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-28]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	cmp	r2, r3
	bge	.L132
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	str	r3, [fp, #-36]
	mvn	r3, #0
	str	r3, [fp, #-24]
	b	.L133
.L132:
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	cmp	r2, r3
	ble	.L134
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	str	r3, [fp, #-40]
	mov	r3, #1
	str	r3, [fp, #-24]
	b	.L133
.L134:
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-92]
	str	r2, [sp, #4]
	str	r3, [sp]
	ldr	r3, [fp, #-32]
	mov	r2, r1
	ldr	r1, [fp, #-32]
	ldr	r0, [fp, #-80]
	bl	gdImageLine
	b	.L135
.L133:
	ldr	r2, [fp, #-68]
	ldr	r3, [fp, #-32]
	cmp	r2, r3
	blt	.L135
	ldr	r2, [fp, #-68]
	ldr	r3, [fp, #-28]
	cmp	r2, r3
	bgt	.L135
	ldr	r2, [fp, #-68]
	ldr	r3, [fp, #-32]
	sub	r3, r2, r3
	ldr	r1, [fp, #-36]
	ldr	r2, [fp, #-40]
	sub	r2, r1, r2
	mul	r0, r2, r3
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-32]
	sub	r3, r2, r3
	mov	r1, r3
	bl	__aeabi_idiv
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-40]
	add	r3, r3, r2
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	bne	.L136
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #3
	ldr	r1, [fp, #-84]
	add	r3, r1, r3
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L137
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #3
	ldr	r1, [fp, #-84]
	add	r3, r1, r3
	ldr	r3, [r3, #4]
	cmp	r2, r3
	beq	.L137
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-48]
	cmp	r2, r3
	bne	.L137
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-52]
	cmp	r2, r3
	ble	.L145
	ldr	r3, [fp, #-80]
	add	r3, r3, #4096
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	b	.L145
.L137:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-52]
	cmp	r2, r3
	bne	.L136
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-48]
	cmp	r2, r3
	beq	.L146
.L136:
	ldr	r3, [fp, #-72]
	cmp	r3, #0
	ble	.L139
	ldr	r3, [fp, #-80]
	add	r3, r3, #4096
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-56]
	add	r1, r3, #1
	str	r1, [fp, #-56]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-8]
	str	r2, [r3]
.L139:
	ldr	r3, [fp, #-72]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-52]
	mov	r3, #0
	str	r3, [fp, #-44]
	b	.L135
.L145:
	nop
	b	.L135
.L146:
	nop
.L135:
	ldr	r3, [fp, #-72]
	add	r3, r3, #1
	str	r3, [fp, #-72]
.L128:
	ldr	r2, [fp, #-72]
	ldr	r3, [fp, #-88]
	cmp	r2, r3
	ble	.L140
	ldr	r3, [fp, #-80]
	add	r3, r3, #4096
	ldr	r0, [r3, #20]
	ldr	r1, [fp, #-56]
	ldr	r3, .L147
	mov	r2, #4
	bl	qsort
	mov	r3, #0
	str	r3, [fp, #-72]
	b	.L141
.L142:
	ldr	r3, [fp, #-80]
	add	r3, r3, #4096
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-72]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r3, [fp, #-80]
	add	r3, r3, #4096
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-72]
	add	r3, r3, #1
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-92]
	str	r2, [sp, #4]
	str	r3, [sp]
	ldr	r3, [fp, #-68]
	mov	r2, r1
	ldr	r1, [fp, #-68]
	ldr	r0, [fp, #-80]
	bl	gdImageLine
	ldr	r3, [fp, #-72]
	add	r3, r3, #2
	str	r3, [fp, #-72]
.L141:
	ldr	r3, [fp, #-56]
	sub	r3, r3, #1
	ldr	r2, [fp, #-72]
	cmp	r2, r3
	blt	.L142
	ldr	r3, [fp, #-68]
	add	r3, r3, #1
	str	r3, [fp, #-68]
.L127:
	ldr	r2, [fp, #-68]
	ldr	r3, [fp, #-60]
	cmp	r2, r3
	ble	.L143
	b	.L116
.L144:
	nop
.L116:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L148:
	.align	2
.L147:
	.word	gdCompareInt
	.size	gdImageFilledPolygonx, .-gdImageFilledPolygonx
	.align	2
	.global	gdImageCreate
	.syntax unified
	.arm
	.fpu softvfp
	.type	gdImageCreate, %function
gdImageCreate:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #20
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	ldr	r0, .L153
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #4096
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #20]
	ldr	r3, [fp, #-16]
	add	r3, r3, #4096
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #24]
	ldr	r3, [fp, #-16]
	add	r3, r3, #4096
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #28]
	ldr	r3, [fp, #-16]
	add	r3, r3, #4096
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #32]
	ldr	r3, [fp, #-16]
	add	r3, r3, #4096
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #2092]
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L150
.L151:
	ldr	r0, [fp, #-28]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	add	r4, r2, r3
	mov	r1, #1
	bl	calloc
	mov	r3, r0
	str	r3, [r4]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L150:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	blt	.L151
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-24]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-28]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	mov	r2, #0
	str	r2, [r3, #12]
	ldr	r3, [fp, #-16]
	add	r3, r3, #4096
	mov	r2, r3
	mvn	r3, #0
	str	r3, [r2, #16]
	ldr	r3, [fp, #-16]
	add	r3, r3, #4096
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #2096]
	ldr	r3, [fp, #-16]
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L154:
	.align	2
.L153:
	.word	6196
	.size	gdImageCreate, .-gdImageCreate
	.align	2
	.global	gdImageDestroy
	.syntax unified
	.arm
	.fpu softvfp
	.type	gdImageDestroy, %function
gdImageDestroy:
	@ 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, #-8]
	b	.L156
.L157:
	ldr	r3, [fp, #-16]
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	free
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L156:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	blt	.L157
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	mov	r0, r3
	bl	free
	ldr	r3, [fp, #-16]
	add	r3, r3, #4096
	ldr	r3, [r3, #20]
	cmp	r3, #0
	beq	.L158
	ldr	r3, [fp, #-16]
	add	r3, r3, #4096
	ldr	r3, [r3, #20]
	mov	r0, r3
	bl	free
.L158:
	ldr	r3, [fp, #-16]
	add	r3, r3, #4096
	ldr	r3, [r3, #2092]
	cmp	r3, #0
	beq	.L159
	ldr	r3, [fp, #-16]
	add	r3, r3, #4096
	ldr	r3, [r3, #2092]
	mov	r0, r3
	bl	free
.L159:
	ldr	r0, [fp, #-16]
	bl	free
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	gdImageDestroy, .-gdImageDestroy
	.align	2
	.global	gdImageColorClosest
	.syntax unified
	.arm
	.fpu softvfp
	.type	gdImageColorClosest, %function
gdImageColorClosest:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #52
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	str	r2, [fp, #-48]
	str	r3, [fp, #-52]
	mvn	r3, #0
	str	r3, [fp, #-28]
	mov	r3, #0
	str	r3, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-32]
	b	.L161
.L165:
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-32]
	add	r2, r2, #772
	ldr	r3, [r3, r2, lsl #2]
	cmp	r3, #0
	bne	.L167
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-32]
	add	r2, r2, #4
	ldr	r2, [r3, r2, lsl #2]
	ldr	r3, [fp, #-44]
	sub	r3, r2, r3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-32]
	add	r2, r2, #260
	ldr	r2, [r3, r2, lsl #2]
	ldr	r3, [fp, #-48]
	sub	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-32]
	add	r2, r2, #516
	ldr	r2, [r3, r2, lsl #2]
	ldr	r3, [fp, #-52]
	sub	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-20]
	mul	r2, r3, r3
	ldr	r3, [fp, #-16]
	mov	r1, r3
	mul	r1, r3, r1
	mov	r3, r1
	add	r2, r2, r3
	ldr	r3, [fp, #-12]
	mov	r1, r3
	mul	r1, r3, r1
	mov	r3, r1
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	beq	.L164
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	bge	.L163
.L164:
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-28]
	b	.L163
.L167:
	nop
.L163:
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L161:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-32]
	cmp	r2, r3
	blt	.L165
	ldr	r3, [fp, #-28]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	gdImageColorClosest, .-gdImageColorClosest
	.align	2
	.global	gdImageColorExact
	.syntax unified
	.arm
	.fpu softvfp
	.type	gdImageColorExact, %function
gdImageColorExact:
	@ 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]
	str	r3, [fp, #-28]
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L169
.L173:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	add	r2, r2, #772
	ldr	r3, [r3, r2, lsl #2]
	cmp	r3, #0
	bne	.L174
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	add	r2, r2, #4
	ldr	r3, [r3, r2, lsl #2]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	bne	.L171
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	add	r2, r2, #260
	ldr	r3, [r3, r2, lsl #2]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	bne	.L171
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	add	r2, r2, #516
	ldr	r3, [r3, r2, lsl #2]
	ldr	r2, [fp, #-28]
	cmp	r2, r3
	bne	.L171
	ldr	r3, [fp, #-8]
	b	.L172
.L174:
	nop
.L171:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L169:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	blt	.L173
	mvn	r3, #0
.L172:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	gdImageColorExact, .-gdImageColorExact
	.align	2
	.global	gdImageColorAllocate
	.syntax unified
	.arm
	.fpu softvfp
	.type	gdImageColorAllocate, %function
gdImageColorAllocate:
	@ 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]
	str	r3, [fp, #-28]
	mvn	r3, #0
	str	r3, [fp, #-8]
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L176
.L179:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-12]
	add	r2, r2, #772
	ldr	r3, [r3, r2, lsl #2]
	cmp	r3, #0
	beq	.L177
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-8]
	b	.L178
.L177:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L176:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	blt	.L179
.L178:
	ldr	r3, [fp, #-8]
	cmn	r3, #1
	bne	.L180
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #256
	bne	.L181
	mvn	r3, #0
	b	.L182
.L181:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #12]
.L180:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	add	r2, r2, #4
	ldr	r1, [fp, #-20]
	str	r1, [r3, r2, lsl #2]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	add	r2, r2, #260
	ldr	r1, [fp, #-24]
	str	r1, [r3, r2, lsl #2]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	add	r2, r2, #516
	ldr	r1, [fp, #-28]
	str	r1, [r3, r2, lsl #2]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	add	r2, r2, #772
	mov	r1, #0
	str	r1, [r3, r2, lsl #2]
	ldr	r3, [fp, #-8]
.L182:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	gdImageColorAllocate, .-gdImageColorAllocate
	.align	2
	.global	gdImageColorDeallocate
	.syntax unified
	.arm
	.fpu softvfp
	.type	gdImageColorDeallocate, %function
gdImageColorDeallocate:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-12]
	add	r2, r2, #772
	mov	r1, #1
	str	r1, [r3, r2, lsl #2]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	gdImageColorDeallocate, .-gdImageColorDeallocate
	.align	2
	.global	gdImageColorTransparent
	.syntax unified
	.arm
	.fpu softvfp
	.type	gdImageColorTransparent, %function
gdImageColorTransparent:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-8]
	add	r3, r3, #4096
	mov	r2, r3
	ldr	r3, [fp, #-12]
	str	r3, [r2, #16]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	gdImageColorTransparent, .-gdImageColorTransparent
	.global	__aeabi_idivmod
	.align	2
	.global	gdImageSetPixel
	.syntax unified
	.arm
	.fpu softvfp
	.type	gdImageSetPixel, %function
gdImageSetPixel:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	add	r3, r3, #5
	cmp	r3, #3
	ldrls	pc, [pc, r3, asl #2]
	b	.L186
.L188:
	.word	.L191
	.word	.L190
	.word	.L189
	.word	.L187
.L187:
	ldr	r3, [fp, #-16]
	add	r3, r3, #4096
	ldr	r3, [r3, #2092]
	cmp	r3, #0
	beq	.L198
	ldr	r3, [fp, #-16]
	add	r3, r3, #4096
	ldr	r2, [r3, #2092]
	ldr	r3, [fp, #-16]
	add	r3, r3, #4096
	ldr	r3, [r3, #2088]
	add	r1, r3, #1
	ldr	r0, [fp, #-16]
	add	r0, r0, #4096
	str	r1, [r0, #2088]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmn	r3, #6
	beq	.L194
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-24]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	gdImageSetPixel
.L194:
	ldr	r3, [fp, #-16]
	add	r3, r3, #4096
	ldr	r2, [r3, #2088]
	ldr	r3, [fp, #-16]
	add	r3, r3, #4096
	ldr	r3, [r3, #2084]
	mov	r1, r3
	mov	r0, r2
	bl	__aeabi_idivmod
	mov	r3, r1
	mov	r2, r3
	ldr	r3, [fp, #-16]
	add	r3, r3, #4096
	str	r2, [r3, #2088]
	b	.L185
.L190:
	ldr	r3, [fp, #-16]
	add	r3, r3, #4096
	ldr	r3, [r3, #2092]
	cmp	r3, #0
	beq	.L199
	ldr	r3, [fp, #-16]
	add	r3, r3, #4096
	ldr	r2, [r3, #2092]
	ldr	r3, [fp, #-16]
	add	r3, r3, #4096
	ldr	r3, [r3, #2088]
	add	r1, r3, #1
	ldr	r0, [fp, #-16]
	add	r0, r0, #4096
	str	r1, [r0, #2088]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmn	r3, #6
	beq	.L196
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L196
	mvn	r3, #2
	ldr	r2, [fp, #-24]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	gdImageSetPixel
.L196:
	ldr	r3, [fp, #-16]
	add	r3, r3, #4096
	ldr	r2, [r3, #2088]
	ldr	r3, [fp, #-16]
	add	r3, r3, #4096
	ldr	r3, [r3, #2084]
	mov	r1, r3
	mov	r0, r2
	bl	__aeabi_idivmod
	mov	r3, r1
	mov	r2, r3
	ldr	r3, [fp, #-16]
	add	r3, r3, #4096
	str	r2, [r3, #2088]
	b	.L185
.L189:
	ldr	r2, [fp, #-24]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	gdImageBrushApply
	b	.L185
.L191:
	ldr	r2, [fp, #-24]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	gdImageTileApply
	b	.L185
.L186:
	ldr	r2, [fp, #-24]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	gdImageBoundsSafe
	mov	r3, r0
	cmp	r3, #0
	beq	.L200
	ldr	r3, [fp, #-16]
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	add	r3, r2, r3
	ldr	r2, [fp, #-28]
	and	r2, r2, #255
	strb	r2, [r3]
	b	.L200
.L198:
	nop
	b	.L185
.L199:
	nop
	b	.L185
.L200:
	nop
.L185:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	gdImageSetPixel, .-gdImageSetPixel
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	gdImageBrushApply, %function
gdImageBrushApply:
	@ args = 0, pretend = 0, frame = 64
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #64
	str	r0, [fp, #-56]
	str	r1, [fp, #-60]
	str	r2, [fp, #-64]
	ldr	r3, [fp, #-56]
	add	r3, r3, #4096
	ldr	r3, [r3, #28]
	cmp	r3, #0
	beq	.L209
	ldr	r3, [fp, #-56]
	add	r3, r3, #4096
	ldr	r3, [r3, #28]
	ldr	r3, [r3, #8]
	lsr	r2, r3, #31
	add	r3, r2, r3
	asr	r3, r3, #1
	str	r3, [fp, #-32]
	ldr	r2, [fp, #-64]
	ldr	r3, [fp, #-32]
	sub	r3, r2, r3
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-56]
	add	r3, r3, #4096
	ldr	r3, [r3, #28]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-28]
	add	r3, r2, r3
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-56]
	add	r3, r3, #4096
	ldr	r3, [r3, #28]
	ldr	r3, [r3, #4]
	lsr	r2, r3, #31
	add	r3, r2, r3
	asr	r3, r3, #1
	str	r3, [fp, #-20]
	ldr	r2, [fp, #-60]
	ldr	r3, [fp, #-20]
	sub	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-56]
	add	r3, r3, #4096
	ldr	r3, [r3, #28]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	str	r3, [fp, #-12]
	mov	r3, #0
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-28]
	str	r3, [fp, #-44]
	b	.L204
.L208:
	mov	r3, #0
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-48]
	b	.L205
.L207:
	ldr	r3, [fp, #-56]
	add	r3, r3, #4096
	ldr	r3, [r3, #28]
	ldr	r2, [fp, #-36]
	ldr	r1, [fp, #-40]
	mov	r0, r3
	bl	gdImageGetPixel
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-56]
	add	r3, r3, #4096
	ldr	r3, [r3, #28]
	add	r3, r3, #4096
	ldr	r3, [r3, #16]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	beq	.L206
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1024
	add	r3, r3, #8
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-44]
	ldr	r1, [fp, #-48]
	ldr	r0, [fp, #-56]
	bl	gdImageSetPixel
.L206:
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-48]
.L205:
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-12]
	cmp	r2, r3
	blt	.L207
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L204:
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	blt	.L208
	b	.L201
.L209:
	nop
.L201:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	gdImageBrushApply, .-gdImageBrushApply
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	gdImageTileApply, %function
gdImageTileApply:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	ldr	r3, [fp, #-24]
	add	r3, r3, #4096
	ldr	r3, [r3, #32]
	cmp	r3, #0
	beq	.L213
	ldr	r3, [fp, #-24]
	add	r3, r3, #4096
	ldr	r3, [r3, #32]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-28]
	mov	r1, r2
	mov	r0, r3
	bl	__aeabi_idivmod
	mov	r3, r1
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-24]
	add	r3, r3, #4096
	ldr	r3, [r3, #32]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-32]
	mov	r1, r2
	mov	r0, r3
	bl	__aeabi_idivmod
	mov	r3, r1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-24]
	add	r3, r3, #4096
	ldr	r3, [r3, #32]
	ldr	r2, [fp, #-12]
	ldr	r1, [fp, #-16]
	mov	r0, r3
	bl	gdImageGetPixel
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-24]
	add	r3, r3, #4096
	ldr	r3, [r3, #32]
	add	r3, r3, #4096
	ldr	r3, [r3, #16]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	beq	.L210
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1280
	add	r3, r3, #8
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-32]
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	gdImageSetPixel
	b	.L210
.L213:
	nop
.L210:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	gdImageTileApply, .-gdImageTileApply
	.align	2
	.global	gdImageGetPixel
	.syntax unified
	.arm
	.fpu softvfp
	.type	gdImageGetPixel, %function
gdImageGetPixel:
	@ 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, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	ldr	r2, [fp, #-16]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	gdImageBoundsSafe
	mov	r3, r0
	cmp	r3, #0
	beq	.L215
	ldr	r3, [fp, #-8]
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	b	.L216
.L215:
	mov	r3, #0
.L216:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	gdImageGetPixel, .-gdImageGetPixel
	.align	2
	.global	gdImageLine
	.syntax unified
	.arm
	.fpu softvfp
	.type	gdImageLine, %function
gdImageLine:
	@ args = 8, pretend = 0, frame = 64
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #64
	str	r0, [fp, #-56]
	str	r1, [fp, #-60]
	str	r2, [fp, #-64]
	str	r3, [fp, #-68]
	ldr	r2, [fp, #-68]
	ldr	r3, [fp, #-60]
	sub	r3, r2, r3
	cmp	r3, #0
	rsblt	r3, r3, #0
	str	r3, [fp, #-20]
	ldr	r2, [fp, #4]
	ldr	r3, [fp, #-64]
	sub	r3, r2, r3
	cmp	r3, #0
	rsblt	r3, r3, #0
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	bgt	.L218
	ldr	r3, [fp, #-16]
	lsl	r2, r3, #1
	ldr	r3, [fp, #-20]
	sub	r3, r2, r3
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-20]
	sub	r3, r2, r3
	lsl	r3, r3, #1
	str	r3, [fp, #-8]
	ldr	r2, [fp, #-60]
	ldr	r3, [fp, #-68]
	cmp	r2, r3
	ble	.L219
	ldr	r3, [fp, #-68]
	str	r3, [fp, #-44]
	ldr	r3, [fp, #4]
	str	r3, [fp, #-40]
	mvn	r3, #0
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-60]
	str	r3, [fp, #-36]
	b	.L220
.L219:
	ldr	r3, [fp, #-60]
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-64]
	str	r3, [fp, #-40]
	mov	r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-68]
	str	r3, [fp, #-36]
.L220:
	ldr	r3, [fp, #8]
	ldr	r2, [fp, #-40]
	ldr	r1, [fp, #-44]
	ldr	r0, [fp, #-56]
	bl	gdImageSetPixel
	ldr	r2, [fp, #4]
	ldr	r3, [fp, #-64]
	sub	r3, r2, r3
	ldr	r2, [fp, #-24]
	mul	r3, r2, r3
	cmp	r3, #0
	ble	.L227
	b	.L222
.L225:
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	bge	.L223
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	str	r3, [fp, #-48]
	b	.L224
.L223:
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	str	r3, [fp, #-48]
.L224:
	ldr	r3, [fp, #8]
	ldr	r2, [fp, #-40]
	ldr	r1, [fp, #-44]
	ldr	r0, [fp, #-56]
	bl	gdImageSetPixel
.L222:
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-36]
	cmp	r2, r3
	blt	.L225
	b	.L242
.L230:
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	bge	.L228
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	str	r3, [fp, #-48]
	b	.L229
.L228:
	ldr	r3, [fp, #-40]
	sub	r3, r3, #1
	str	r3, [fp, #-40]
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	str	r3, [fp, #-48]
.L229:
	ldr	r3, [fp, #8]
	ldr	r2, [fp, #-40]
	ldr	r1, [fp, #-44]
	ldr	r0, [fp, #-56]
	bl	gdImageSetPixel
.L227:
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-36]
	cmp	r2, r3
	blt	.L230
	b	.L242
.L218:
	ldr	r3, [fp, #-20]
	lsl	r2, r3, #1
	ldr	r3, [fp, #-16]
	sub	r3, r2, r3
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-16]
	sub	r3, r2, r3
	lsl	r3, r3, #1
	str	r3, [fp, #-8]
	ldr	r2, [fp, #-64]
	ldr	r3, [fp, #4]
	cmp	r2, r3
	ble	.L231
	ldr	r3, [fp, #4]
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-68]
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-64]
	str	r3, [fp, #-32]
	mvn	r3, #0
	str	r3, [fp, #-28]
	b	.L232
.L231:
	ldr	r3, [fp, #-64]
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-60]
	str	r3, [fp, #-44]
	ldr	r3, [fp, #4]
	str	r3, [fp, #-32]
	mov	r3, #1
	str	r3, [fp, #-28]
.L232:
	ldr	r3, [fp, #8]
	ldr	r2, [fp, #-40]
	ldr	r1, [fp, #-44]
	ldr	r0, [fp, #-56]
	bl	gdImageSetPixel
	ldr	r2, [fp, #-68]
	ldr	r3, [fp, #-60]
	sub	r3, r2, r3
	ldr	r2, [fp, #-28]
	mul	r3, r2, r3
	cmp	r3, #0
	ble	.L238
	b	.L234
.L237:
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	bge	.L235
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	str	r3, [fp, #-48]
	b	.L236
.L235:
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	str	r3, [fp, #-48]
.L236:
	ldr	r3, [fp, #8]
	ldr	r2, [fp, #-40]
	ldr	r1, [fp, #-44]
	ldr	r0, [fp, #-56]
	bl	gdImageSetPixel
.L234:
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-32]
	cmp	r2, r3
	blt	.L237
	b	.L242
.L241:
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	bge	.L239
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	str	r3, [fp, #-48]
	b	.L240
.L239:
	ldr	r3, [fp, #-44]
	sub	r3, r3, #1
	str	r3, [fp, #-44]
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	str	r3, [fp, #-48]
.L240:
	ldr	r3, [fp, #8]
	ldr	r2, [fp, #-40]
	ldr	r1, [fp, #-44]
	ldr	r0, [fp, #-56]
	bl	gdImageSetPixel
.L238:
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-32]
	cmp	r2, r3
	blt	.L241
.L242:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	gdImageLine, .-gdImageLine
	.align	2
	.global	gdImageBoundsSafe
	.syntax unified
	.arm
	.fpu softvfp
	.type	gdImageBoundsSafe, %function
gdImageBoundsSafe:
	@ 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, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	blt	.L244
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	bge	.L244
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	blt	.L244
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	bge	.L244
	mov	r3, #1
	b	.L246
.L244:
	mov	r3, #0
.L246:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	gdImageBoundsSafe, .-gdImageBoundsSafe
	.align	2
	.global	gdImageGif
	.syntax unified
	.arm
	.fpu softvfp
	.type	gdImageGif, %function
gdImageGif:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	ldr	r3, [fp, #-24]
	add	r3, r3, #4096
	ldr	r3, [r3, #2096]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-24]
	add	r3, r3, #4096
	ldr	r3, [r3, #16]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #12]
	mov	r0, r3
	bl	colorstobpp
	str	r0, [fp, #-8]
	bl	init_statics
	ldr	r3, [fp, #-24]
	ldr	ip, [r3, #4]
	ldr	r3, [fp, #-24]
	ldr	lr, [r3, #8]
	ldr	r3, [fp, #-24]
	add	r3, r3, #16
	ldr	r2, [fp, #-24]
	add	r2, r2, #1040
	ldr	r1, [fp, #-24]
	add	r1, r1, #2064
	ldr	r0, [fp, #-24]
	str	r0, [sp, #24]
	str	r1, [sp, #20]
	str	r2, [sp, #16]
	str	r3, [sp, #12]
	ldr	r3, [fp, #-8]
	str	r3, [sp, #8]
	ldr	r3, [fp, #-12]
	str	r3, [sp, #4]
	mov	r3, #0
	str	r3, [sp]
	ldr	r3, [fp, #-16]
	mov	r2, lr
	mov	r1, ip
	ldr	r0, [fp, #-28]
	bl	GIFEncode
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	gdImageGif, .-gdImageGif
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	colorstobpp, %function
colorstobpp:
	@ 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, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	cmp	r3, #2
	bgt	.L249
	mov	r3, #1
	str	r3, [fp, #-8]
	b	.L250
.L249:
	ldr	r3, [fp, #-16]
	cmp	r3, #4
	bgt	.L251
	mov	r3, #2
	str	r3, [fp, #-8]
	b	.L250
.L251:
	ldr	r3, [fp, #-16]
	cmp	r3, #8
	bgt	.L252
	mov	r3, #3
	str	r3, [fp, #-8]
	b	.L250
.L252:
	ldr	r3, [fp, #-16]
	cmp	r3, #16
	bgt	.L253
	mov	r3, #4
	str	r3, [fp, #-8]
	b	.L250
.L253:
	ldr	r3, [fp, #-16]
	cmp	r3, #32
	bgt	.L254
	mov	r3, #5
	str	r3, [fp, #-8]
	b	.L250
.L254:
	ldr	r3, [fp, #-16]
	cmp	r3, #64
	bgt	.L255
	mov	r3, #6
	str	r3, [fp, #-8]
	b	.L250
.L255:
	ldr	r3, [fp, #-16]
	cmp	r3, #128
	bgt	.L256
	mov	r3, #7
	str	r3, [fp, #-8]
	b	.L250
.L256:
	ldr	r3, [fp, #-16]
	cmp	r3, #256
	bgt	.L250
	mov	r3, #8
	str	r3, [fp, #-8]
.L250:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	colorstobpp, .-colorstobpp
	.local	Width
	.comm	Width,4,4
	.local	Height
	.comm	Height,4,4
	.local	curx
	.comm	curx,4,4
	.local	cury
	.comm	cury,4,4
	.local	CountDown
	.comm	CountDown,4,4
	.local	Pass
	.comm	Pass,4,4
	.local	Interlace
	.comm	Interlace,4,4
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	BumpPixel, %function
BumpPixel:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	ldr	r3, .L274
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L274
	str	r3, [r2]
	ldr	r3, .L274
	ldr	r2, [r3]
	ldr	r3, .L274+4
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L269
	ldr	r3, .L274
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L274+8
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L260
	ldr	r3, .L274+12
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L274+12
	str	r3, [r2]
	b	.L270
.L260:
	ldr	r3, .L274+16
	ldr	r3, [r3]
	cmp	r3, #3
	ldrls	pc, [pc, r3, asl #2]
	b	.L270
.L262:
	.word	.L265
	.word	.L264
	.word	.L263
	.word	.L261
.L265:
	ldr	r3, .L274+12
	ldr	r3, [r3]
	add	r3, r3, #8
	ldr	r2, .L274+12
	str	r3, [r2]
	ldr	r3, .L274+12
	ldr	r2, [r3]
	ldr	r3, .L274+20
	ldr	r3, [r3]
	cmp	r2, r3
	blt	.L271
	ldr	r3, .L274+16
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L274+16
	str	r3, [r2]
	ldr	r3, .L274+12
	mov	r2, #4
	str	r2, [r3]
	b	.L271
.L264:
	ldr	r3, .L274+12
	ldr	r3, [r3]
	add	r3, r3, #8
	ldr	r2, .L274+12
	str	r3, [r2]
	ldr	r3, .L274+12
	ldr	r2, [r3]
	ldr	r3, .L274+20
	ldr	r3, [r3]
	cmp	r2, r3
	blt	.L272
	ldr	r3, .L274+16
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L274+16
	str	r3, [r2]
	ldr	r3, .L274+12
	mov	r2, #2
	str	r2, [r3]
	b	.L272
.L263:
	ldr	r3, .L274+12
	ldr	r3, [r3]
	add	r3, r3, #4
	ldr	r2, .L274+12
	str	r3, [r2]
	ldr	r3, .L274+12
	ldr	r2, [r3]
	ldr	r3, .L274+20
	ldr	r3, [r3]
	cmp	r2, r3
	blt	.L273
	ldr	r3, .L274+16
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L274+16
	str	r3, [r2]
	ldr	r3, .L274+12
	mov	r2, #1
	str	r2, [r3]
	b	.L273
.L261:
	ldr	r3, .L274+12
	ldr	r3, [r3]
	add	r3, r3, #2
	ldr	r2, .L274+12
	str	r3, [r2]
	b	.L259
.L269:
	nop
	b	.L270
.L271:
	nop
	b	.L270
.L272:
	nop
	b	.L270
.L273:
	nop
.L259:
.L270:
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L275:
	.align	2
.L274:
	.word	curx
	.word	Width
	.word	Interlace
	.word	cury
	.word	Pass
	.word	Height
	.size	BumpPixel, .-BumpPixel
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	GIFNextPixel, %function
GIFNextPixel:
	@ 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, .L279
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L277
	mvn	r3, #0
	b	.L278
.L277:
	ldr	r3, .L279
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L279
	str	r3, [r2]
	ldr	r3, .L279+4
	ldr	r3, [r3]
	ldr	r2, .L279+8
	ldr	r2, [r2]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	gdImageGetPixel
	str	r0, [fp, #-8]
	bl	BumpPixel
	ldr	r3, [fp, #-8]
.L278:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L280:
	.align	2
.L279:
	.word	CountDown
	.word	curx
	.word	cury
	.size	GIFNextPixel, .-GIFNextPixel
	.section	.rodata
	.align	2
.LC34:
	.ascii	"GIF87a\000"
	.align	2
.LC35:
	.ascii	"GIF89a\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	GIFEncode, %function
GIFEncode:
	@ args = 28, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	str	r0, [fp, #-48]
	str	r1, [fp, #-52]
	str	r2, [fp, #-56]
	str	r3, [fp, #-60]
	ldr	r2, .L291
	ldr	r3, [fp, #-60]
	str	r3, [r2]
	mov	r2, #1
	ldr	r3, [fp, #12]
	lsl	r3, r2, r3
	str	r3, [fp, #-32]
	ldr	r2, .L291+4
	ldr	r3, [fp, #-52]
	str	r3, [r2]
	ldr	r3, .L291+4
	ldr	r3, [r3]
	str	r3, [fp, #-28]
	ldr	r2, .L291+8
	ldr	r3, [fp, #-56]
	str	r3, [r2]
	ldr	r3, .L291+8
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #12]
	str	r3, [fp, #-12]
	ldr	r3, .L291+4
	ldr	r3, [r3]
	ldr	r2, .L291+8
	ldr	r2, [r2]
	mul	r3, r2, r3
	ldr	r2, .L291+12
	str	r3, [r2]
	ldr	r3, .L291+16
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #12]
	cmp	r3, #1
	bgt	.L282
	mov	r3, #2
	str	r3, [fp, #-40]
	b	.L283
.L282:
	ldr	r3, [fp, #12]
	str	r3, [fp, #-40]
.L283:
	ldr	r3, .L291+20
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L291+20
	ldr	r3, [r3]
	ldr	r2, .L291+24
	str	r3, [r2]
	ldr	r3, [fp, #8]
	cmp	r3, #0
	bge	.L284
	ldr	r0, .L291+28
	b	.L285
.L284:
	ldr	r0, .L291+32
.L285:
	ldr	r3, [fp, #-48]
	mov	r2, #6
	mov	r1, #1
	bl	fwrite
	ldr	r1, [fp, #-48]
	ldr	r0, [fp, #-28]
	bl	Putword
	ldr	r1, [fp, #-48]
	ldr	r0, [fp, #-24]
	bl	Putword
	mov	r3, #128
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-12]
	sub	r3, r3, #1
	lsl	r3, r3, #5
	ldr	r2, [fp, #-8]
	orr	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #12]
	sub	r3, r3, #1
	ldr	r2, [fp, #-8]
	orr	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r1, [fp, #-48]
	ldr	r0, [fp, #-8]
	bl	fputc
	ldr	r1, [fp, #-48]
	ldr	r0, [fp, #4]
	bl	fputc
	ldr	r1, [fp, #-48]
	mov	r0, #0
	bl	fputc
	mov	r3, #0
	str	r3, [fp, #-36]
	b	.L286
.L287:
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	ldr	r2, [fp, #16]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, [fp, #-48]
	mov	r0, r3
	bl	fputc
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	ldr	r2, [fp, #20]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, [fp, #-48]
	mov	r0, r3
	bl	fputc
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	ldr	r2, [fp, #24]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, [fp, #-48]
	mov	r0, r3
	bl	fputc
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
.L286:
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-32]
	cmp	r2, r3
	blt	.L287
	ldr	r3, [fp, #8]
	cmp	r3, #0
	blt	.L288
	ldr	r1, [fp, #-48]
	mov	r0, #33
	bl	fputc
	ldr	r1, [fp, #-48]
	mov	r0, #249
	bl	fputc
	ldr	r1, [fp, #-48]
	mov	r0, #4
	bl	fputc
	ldr	r1, [fp, #-48]
	mov	r0, #1
	bl	fputc
	ldr	r1, [fp, #-48]
	mov	r0, #0
	bl	fputc
	ldr	r1, [fp, #-48]
	mov	r0, #0
	bl	fputc
	ldr	r3, [fp, #8]
	and	r3, r3, #255
	ldr	r1, [fp, #-48]
	mov	r0, r3
	bl	fputc
	ldr	r1, [fp, #-48]
	mov	r0, #0
	bl	fputc
.L288:
	ldr	r1, [fp, #-48]
	mov	r0, #44
	bl	fputc
	ldr	r1, [fp, #-48]
	ldr	r0, [fp, #-16]
	bl	Putword
	ldr	r1, [fp, #-48]
	ldr	r0, [fp, #-20]
	bl	Putword
	ldr	r3, .L291+4
	ldr	r3, [r3]
	ldr	r1, [fp, #-48]
	mov	r0, r3
	bl	Putword
	ldr	r3, .L291+8
	ldr	r3, [r3]
	ldr	r1, [fp, #-48]
	mov	r0, r3
	bl	Putword
	ldr	r3, .L291
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L289
	ldr	r1, [fp, #-48]
	mov	r0, #64
	bl	fputc
	b	.L290
.L289:
	ldr	r1, [fp, #-48]
	mov	r0, #0
	bl	fputc
.L290:
	ldr	r1, [fp, #-48]
	ldr	r0, [fp, #-40]
	bl	fputc
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	ldr	r2, [fp, #28]
	ldr	r1, [fp, #-48]
	mov	r0, r3
	bl	compress
	ldr	r1, [fp, #-48]
	mov	r0, #0
	bl	fputc
	ldr	r1, [fp, #-48]
	mov	r0, #59
	bl	fputc
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L292:
	.align	2
.L291:
	.word	Interlace
	.word	Width
	.word	Height
	.word	CountDown
	.word	Pass
	.word	cury
	.word	curx
	.word	.LC34
	.word	.LC35
	.size	GIFEncode, .-GIFEncode
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Putword, %function
Putword:
	@ 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]
	ldr	r3, [fp, #-8]
	and	r3, r3, #255
	ldr	r1, [fp, #-12]
	mov	r0, r3
	bl	fputc
	ldr	r3, [fp, #-8]
	add	r2, r3, #255
	cmp	r3, #0
	movlt	r3, r2
	movge	r3, r3
	asr	r3, r3, #8
	and	r3, r3, #255
	ldr	r1, [fp, #-12]
	mov	r0, r3
	bl	fputc
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Putword, .-Putword
	.local	n_bits
	.comm	n_bits,4,4
	.data
	.align	2
	.type	maxbits, %object
	.size	maxbits, 4
maxbits:
	.word	12
	.local	maxcode
	.comm	maxcode,4,4
	.align	2
	.type	maxmaxcode, %object
	.size	maxmaxcode, 4
maxmaxcode:
	.word	4096
	.local	htab
	.comm	htab,20012,4
	.local	codetab
	.comm	codetab,10006,4
	.align	2
	.type	hsize, %object
	.size	hsize, 4
hsize:
	.word	5003
	.local	free_ent
	.comm	free_ent,4,4
	.local	clear_flg
	.comm	clear_flg,4,4
	.local	offset
	.comm	offset,4,4
	.align	2
	.type	in_count, %object
	.size	in_count, 4
in_count:
	.word	1
	.local	out_count
	.comm	out_count,4,4
	.local	g_init_bits
	.comm	g_init_bits,4,4
	.local	g_outfile
	.comm	g_outfile,4,4
	.local	ClearCode
	.comm	ClearCode,4,4
	.local	EOFCode
	.comm	EOFCode,4,4
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	compress, %function
compress:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, r10, fp, lr}
	add	fp, sp, #32
	sub	sp, sp, #20
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	str	r2, [fp, #-48]
	ldr	r2, .L310
	ldr	r3, [fp, #-40]
	str	r3, [r2]
	ldr	r2, .L310+4
	ldr	r3, [fp, #-44]
	str	r3, [r2]
	ldr	r3, .L310+8
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L310+12
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L310+16
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L310+20
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, .L310
	ldr	r3, [r3]
	ldr	r2, .L310+24
	str	r3, [r2]
	ldr	r3, .L310+24
	ldr	r3, [r3]
	mov	r2, #1
	lsl	r3, r2, r3
	sub	r3, r3, #1
	ldr	r2, .L310+28
	str	r3, [r2]
	ldr	r3, [fp, #-40]
	sub	r3, r3, #1
	mov	r2, #1
	lsl	r3, r2, r3
	ldr	r2, .L310+32
	str	r3, [r2]
	ldr	r3, .L310+32
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L310+36
	str	r3, [r2]
	ldr	r3, .L310+32
	ldr	r3, [r3]
	add	r3, r3, #2
	ldr	r2, .L310+40
	str	r3, [r2]
	bl	char_init
	ldr	r0, [fp, #-48]
	bl	GIFNextPixel
	mov	r6, r0
	mov	r7, #0
	ldr	r3, .L310+44
	ldr	r5, [r3]
	b	.L295
.L296:
	add	r7, r7, #1
	lsl	r5, r5, #1
.L295:
	cmp	r5, #65536
	blt	.L296
	rsb	r7, r7, #8
	ldr	r3, .L310+44
	ldr	r9, [r3]
	mov	r0, r9
	bl	cl_hash
	ldr	r3, .L310+32
	ldr	r3, [r3]
	mov	r0, r3
	bl	output
	b	.L297
.L306:
	ldr	r3, .L310+20
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L310+20
	str	r3, [r2]
	ldr	r3, .L310+48
	ldr	r3, [r3]
	lsl	r3, r8, r3
	add	r5, r6, r3
	lsl	r3, r8, r7
	eor	r4, r6, r3
	ldr	r3, .L310+52
	ldr	r3, [r3, r4, lsl #2]
	cmp	r5, r3
	bne	.L298
	ldr	r2, .L310+56
	lsl	r3, r4, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r6, r3
	b	.L297
.L298:
	ldr	r3, .L310+52
	ldr	r3, [r3, r4, lsl #2]
	cmp	r3, #0
	blt	.L307
	sub	r10, r9, r4
	cmp	r4, #0
	bne	.L308
	mov	r10, #1
	b	.L304
.L308:
	nop
.L301:
.L304:
	sub	r4, r4, r10
	cmp	r4, #0
	bge	.L302
	add	r4, r4, r9
.L302:
	ldr	r3, .L310+52
	ldr	r3, [r3, r4, lsl #2]
	cmp	r5, r3
	bne	.L303
	ldr	r2, .L310+56
	lsl	r3, r4, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r6, r3
	b	.L297
.L303:
	ldr	r3, .L310+52
	ldr	r3, [r3, r4, lsl #2]
	cmp	r3, #0
	ble	.L309
	b	.L304
.L307:
	nop
	b	.L300
.L309:
	nop
.L300:
	mov	r0, r6
	bl	output
	ldr	r3, .L310+12
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L310+12
	str	r3, [r2]
	mov	r6, r8
	ldr	r3, .L310+40
	ldr	r2, [r3]
	ldr	r3, .L310+60
	ldr	r3, [r3]
	cmp	r2, r3
	bge	.L305
	ldr	r3, .L310+40
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r1, .L310+40
	str	r2, [r1]
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r1, .L310+56
	lsl	r3, r4, #1
	add	r3, r1, r3
	strh	r2, [r3]	@ movhi
	ldr	r3, .L310+52
	str	r5, [r3, r4, lsl #2]
	b	.L297
.L305:
	bl	cl_block
.L297:
	ldr	r0, [fp, #-48]
	bl	GIFNextPixel
	mov	r8, r0
	cmn	r8, #1
	bne	.L306
	mov	r0, r6
	bl	output
	ldr	r3, .L310+12
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L310+12
	str	r3, [r2]
	ldr	r3, .L310+36
	ldr	r3, [r3]
	mov	r0, r3
	bl	output
	nop
	sub	sp, fp, #32
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, r10, fp, pc}
.L311:
	.align	2
.L310:
	.word	g_init_bits
	.word	g_outfile
	.word	offset
	.word	out_count
	.word	clear_flg
	.word	in_count
	.word	n_bits
	.word	maxcode
	.word	ClearCode
	.word	EOFCode
	.word	free_ent
	.word	hsize
	.word	maxbits
	.word	htab
	.word	codetab
	.word	maxmaxcode
	.size	compress, .-compress
	.local	cur_accum
	.comm	cur_accum,4,4
	.local	cur_bits
	.comm	cur_bits,4,4
	.data
	.align	2
	.type	masks, %object
	.size	masks, 68
masks:
	.word	0
	.word	1
	.word	3
	.word	7
	.word	15
	.word	31
	.word	63
	.word	127
	.word	255
	.word	511
	.word	1023
	.word	2047
	.word	4095
	.word	8191
	.word	16383
	.word	32767
	.word	65535
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	output, %function
output:
	@ 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]
	ldr	r3, .L324
	ldr	r3, [r3]
	ldr	r2, .L324+4
	ldr	r2, [r2, r3, lsl #2]
	ldr	r3, .L324+8
	ldr	r3, [r3]
	and	r3, r3, r2
	ldr	r2, .L324+8
	str	r3, [r2]
	ldr	r3, .L324
	ldr	r3, [r3]
	cmp	r3, #0
	ble	.L313
	ldr	r3, .L324
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	lsl	r3, r2, r3
	mov	r2, r3
	ldr	r3, .L324+8
	ldr	r3, [r3]
	orr	r3, r2, r3
	ldr	r2, .L324+8
	str	r3, [r2]
	b	.L314
.L313:
	ldr	r3, [fp, #-8]
	ldr	r2, .L324+8
	str	r3, [r2]
.L314:
	ldr	r3, .L324
	ldr	r2, [r3]
	ldr	r3, .L324+12
	ldr	r3, [r3]
	add	r3, r2, r3
	ldr	r2, .L324
	str	r3, [r2]
	b	.L315
.L316:
	ldr	r3, .L324+8
	ldr	r3, [r3]
	and	r3, r3, #255
	mov	r0, r3
	bl	char_out
	ldr	r3, .L324+8
	ldr	r3, [r3]
	lsr	r3, r3, #8
	ldr	r2, .L324+8
	str	r3, [r2]
	ldr	r3, .L324
	ldr	r3, [r3]
	sub	r3, r3, #8
	ldr	r2, .L324
	str	r3, [r2]
.L315:
	ldr	r3, .L324
	ldr	r3, [r3]
	cmp	r3, #7
	bgt	.L316
	ldr	r3, .L324+16
	ldr	r2, [r3]
	ldr	r3, .L324+20
	ldr	r3, [r3]
	cmp	r2, r3
	bgt	.L317
	ldr	r3, .L324+24
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L318
.L317:
	ldr	r3, .L324+24
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L319
	ldr	r3, .L324+28
	ldr	r3, [r3]
	ldr	r2, .L324+12
	str	r3, [r2]
	ldr	r3, .L324+12
	ldr	r3, [r3]
	mov	r2, #1
	lsl	r3, r2, r3
	sub	r3, r3, #1
	ldr	r2, .L324+20
	str	r3, [r2]
	ldr	r3, .L324+24
	mov	r2, #0
	str	r2, [r3]
	b	.L318
.L319:
	ldr	r3, .L324+12
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L324+12
	str	r3, [r2]
	ldr	r3, .L324+12
	ldr	r2, [r3]
	ldr	r3, .L324+32
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L320
	ldr	r3, .L324+36
	ldr	r3, [r3]
	ldr	r2, .L324+20
	str	r3, [r2]
	b	.L318
.L320:
	ldr	r3, .L324+12
	ldr	r3, [r3]
	mov	r2, #1
	lsl	r3, r2, r3
	sub	r3, r3, #1
	ldr	r2, .L324+20
	str	r3, [r2]
.L318:
	ldr	r3, .L324+40
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	bne	.L312
	b	.L322
.L323:
	ldr	r3, .L324+8
	ldr	r3, [r3]
	and	r3, r3, #255
	mov	r0, r3
	bl	char_out
	ldr	r3, .L324+8
	ldr	r3, [r3]
	lsr	r3, r3, #8
	ldr	r2, .L324+8
	str	r3, [r2]
	ldr	r3, .L324
	ldr	r3, [r3]
	sub	r3, r3, #8
	ldr	r2, .L324
	str	r3, [r2]
.L322:
	ldr	r3, .L324
	ldr	r3, [r3]
	cmp	r3, #0
	bgt	.L323
	bl	flush_char
	ldr	r3, .L324+44
	ldr	r3, [r3]
	mov	r0, r3
	bl	fflush
	ldr	r3, .L324+44
	ldr	r3, [r3]
	mov	r0, r3
	bl	ferror
	mov	r3, r0
	cmp	r3, #0
.L312:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L325:
	.align	2
.L324:
	.word	cur_bits
	.word	masks
	.word	cur_accum
	.word	n_bits
	.word	free_ent
	.word	maxcode
	.word	clear_flg
	.word	g_init_bits
	.word	maxbits
	.word	maxmaxcode
	.word	EOFCode
	.word	g_outfile
	.size	output, .-output
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	cl_block, %function
cl_block:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L327
	ldr	r3, [r3]
	mov	r0, r3
	bl	cl_hash
	ldr	r3, .L327+4
	ldr	r3, [r3]
	add	r3, r3, #2
	ldr	r2, .L327+8
	str	r3, [r2]
	ldr	r3, .L327+12
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, .L327+4
	ldr	r3, [r3]
	mov	r0, r3
	bl	output
	nop
	pop	{fp, pc}
.L328:
	.align	2
.L327:
	.word	hsize
	.word	ClearCode
	.word	free_ent
	.word	clear_flg
	.size	cl_block, .-cl_block
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	cl_hash, %function
cl_hash:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	push	{r4, r5, r6, fp}
	add	fp, sp, #12
	mov	r2, r0
	mov	r3, r2
	lsl	r3, r3, #2
	ldr	r1, .L333
	add	r4, r3, r1
	mvn	r5, #0
	sub	r6, r2, #16
.L330:
	sub	r3, r4, #64
	str	r5, [r3]
	sub	r3, r4, #60
	str	r5, [r3]
	sub	r3, r4, #56
	str	r5, [r3]
	sub	r3, r4, #52
	str	r5, [r3]
	sub	r3, r4, #48
	str	r5, [r3]
	sub	r3, r4, #44
	str	r5, [r3]
	sub	r3, r4, #40
	str	r5, [r3]
	sub	r3, r4, #36
	str	r5, [r3]
	sub	r3, r4, #32
	str	r5, [r3]
	sub	r3, r4, #28
	str	r5, [r3]
	sub	r3, r4, #24
	str	r5, [r3]
	sub	r3, r4, #20
	str	r5, [r3]
	sub	r3, r4, #16
	str	r5, [r3]
	sub	r3, r4, #12
	str	r5, [r3]
	sub	r3, r4, #8
	str	r5, [r3]
	sub	r3, r4, #4
	str	r5, [r3]
	sub	r4, r4, #64
	sub	r6, r6, #16
	cmp	r6, #0
	bge	.L330
	add	r6, r6, #16
	b	.L331
.L332:
	sub	r4, r4, #4
	str	r5, [r4]
	sub	r6, r6, #1
.L331:
	cmp	r6, #0
	bgt	.L332
	nop
	nop
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, r6, fp}
	bx	lr
.L334:
	.align	2
.L333:
	.word	htab
	.size	cl_hash, .-cl_hash
	.local	a_count
	.comm	a_count,4,4
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	char_init, %function
char_init:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	ldr	r3, .L336
	mov	r2, #0
	str	r2, [r3]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L337:
	.align	2
.L336:
	.word	a_count
	.size	char_init, .-char_init
	.local	accum
	.comm	accum,256,4
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	char_out, %function
char_out:
	@ 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]
	ldr	r3, .L341
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r1, .L341
	str	r2, [r1]
	ldr	r2, [fp, #-8]
	and	r1, r2, #255
	ldr	r2, .L341+4
	strb	r1, [r2, r3]
	ldr	r3, .L341
	ldr	r3, [r3]
	cmp	r3, #253
	ble	.L340
	bl	flush_char
.L340:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L342:
	.align	2
.L341:
	.word	a_count
	.word	accum
	.size	char_out, .-char_out
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	flush_char, %function
flush_char:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L346
	ldr	r3, [r3]
	cmp	r3, #0
	ble	.L345
	ldr	r3, .L346
	ldr	r3, [r3]
	ldr	r2, .L346+4
	ldr	r2, [r2]
	mov	r1, r2
	mov	r0, r3
	bl	fputc
	ldr	r3, .L346
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r3, .L346+4
	ldr	r3, [r3]
	mov	r1, #1
	ldr	r0, .L346+8
	bl	fwrite
	ldr	r3, .L346
	mov	r2, #0
	str	r2, [r3]
.L345:
	nop
	pop	{fp, pc}
.L347:
	.align	2
.L346:
	.word	a_count
	.word	g_outfile
	.word	accum
	.size	flush_char, .-flush_char
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	init_statics, %function
init_statics:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	ldr	r3, .L349
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L349+4
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L349+8
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L349+12
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L349+16
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L349+20
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L349+24
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L349+28
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L349+32
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L349+36
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L349+40
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L349+44
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L349+48
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L349+52
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L349+56
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L349+60
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L349+64
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L349+68
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, .L349+72
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L349+76
	ldr	r2, .L349+80
	str	r2, [r3]
	ldr	r3, .L349+84
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L349+88
	mov	r2, #12
	str	r2, [r3]
	ldr	r3, .L349+92
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L349+96
	mov	r2, #4096
	str	r2, [r3]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L350:
	.align	2
.L349:
	.word	Width
	.word	Height
	.word	curx
	.word	cury
	.word	CountDown
	.word	Pass
	.word	Interlace
	.word	a_count
	.word	cur_accum
	.word	cur_bits
	.word	g_init_bits
	.word	g_outfile
	.word	ClearCode
	.word	EOFCode
	.word	free_ent
	.word	clear_flg
	.word	offset
	.word	in_count
	.word	out_count
	.word	hsize
	.word	5003
	.word	n_bits
	.word	maxbits
	.word	maxcode
	.word	maxmaxcode
	.size	init_statics, .-init_statics
	.data
	.align	2
	.type	Gif89, %object
	.size	Gif89, 16
Gif89:
	.word	-1
	.word	-1
	.word	-1
	.word	0
	.comm	ZeroDataBlock,4,4
	.section	.rodata
	.align	2
.LC36:
	.ascii	"GIF\000"
	.align	2
.LC37:
	.ascii	"87a\000"
	.align	2
.LC38:
	.ascii	"89a\000"
	.align	2
.LC39:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	gdImageCreateFromGif
	.syntax unified
	.arm
	.fpu softvfp
	.type	gdImageCreateFromGif, %function
gdImageCreateFromGif:
	@ args = 0, pretend = 0, frame = 1624
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #1632
	sub	sp, sp, #8
	str	r0, [fp, #-1624]
	ldr	r3, .L381
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mvn	r3, #0
	str	r3, [fp, #-1616]
	mov	r3, #0
	str	r3, [fp, #-1612]
	mov	r3, #0
	str	r3, [fp, #-1608]
	ldr	r3, .L381+4
	mov	r2, #0
	str	r2, [r3]
	mov	r3, #1
	str	r3, [fp, #-1600]
	sub	r0, fp, #24
	ldr	r3, [fp, #-1624]
	mov	r2, #1
	mov	r1, #6
	bl	fread
	mov	r3, r0
	cmp	r3, #0
	bne	.L352
	mov	r3, #0
	b	.L377
.L352:
	sub	r3, fp, #24
	mov	r2, #3
	ldr	r1, .L381+8
	mov	r0, r3
	bl	strncmp
	mov	r3, r0
	cmp	r3, #0
	beq	.L354
	mov	r3, #0
	b	.L377
.L354:
	sub	r3, fp, #24
	add	r3, r3, #3
	sub	r0, fp, #28
	mov	r2, #3
	mov	r1, r3
	bl	strncpy
	mov	r3, #0
	strb	r3, [fp, #-25]
	sub	r3, fp, #28
	ldr	r1, .L381+12
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	beq	.L355
	sub	r3, fp, #28
	ldr	r1, .L381+16
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	beq	.L355
	mov	r3, #0
	b	.L377
.L355:
	sub	r0, fp, #24
	ldr	r3, [fp, #-1624]
	mov	r2, #1
	mov	r1, #7
	bl	fread
	mov	r3, r0
	cmp	r3, #0
	bne	.L356
	mov	r3, #0
	b	.L377
.L356:
	ldrb	r3, [fp, #-20]	@ zero_extendqisi2
	and	r3, r3, #7
	mov	r2, #2
	lsl	r3, r2, r3
	str	r3, [fp, #-1596]
	ldrb	r3, [fp, #-20]	@ zero_extendqisi2
	asr	r3, r3, #3
	and	r3, r3, #14
	add	r3, r3, #1
	str	r3, [fp, #-1592]
	ldrb	r3, [fp, #-19]	@ zero_extendqisi2
	str	r3, [fp, #-1588]
	ldrb	r3, [fp, #-18]	@ zero_extendqisi2
	str	r3, [fp, #-1584]
	ldrb	r3, [fp, #-20]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	cmp	r3, #0
	bge	.L376
	sub	r3, fp, #1552
	sub	r3, r3, #4
	sub	r3, r3, #8
	mov	r2, r3
	ldr	r1, [fp, #-1596]
	ldr	r0, [fp, #-1624]
	bl	ReadColorMap
	mov	r3, r0
	cmp	r3, #0
	beq	.L376
	mov	r3, #0
	b	.L377
.L376:
	sub	r0, fp, #1600
	sub	r0, r0, #4
	sub	r0, r0, #13
	ldr	r3, [fp, #-1624]
	mov	r2, #1
	mov	r1, #1
	bl	fread
	mov	r3, r0
	cmp	r3, #0
	bne	.L358
	mov	r3, #0
	b	.L377
.L358:
	ldrb	r3, [fp, #-1617]	@ zero_extendqisi2
	cmp	r3, #59
	bne	.L359
	ldr	r2, [fp, #-1612]
	ldr	r3, [fp, #-1600]
	cmp	r2, r3
	bge	.L360
	mov	r3, #0
	b	.L377
.L360:
	ldr	r3, [fp, #-1608]
	cmp	r3, #0
	bne	.L361
	mov	r3, #0
	b	.L377
.L361:
	ldr	r3, [fp, #-1608]
	ldr	r3, [r3, #12]
	sub	r3, r3, #1
	str	r3, [fp, #-1604]
	b	.L362
.L366:
	ldr	r3, [fp, #-1608]
	ldr	r2, [fp, #-1604]
	add	r2, r2, #772
	ldr	r3, [r3, r2, lsl #2]
	cmp	r3, #0
	beq	.L379
	ldr	r3, [fp, #-1608]
	ldr	r3, [r3, #12]
	sub	r2, r3, #1
	ldr	r3, [fp, #-1608]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-1604]
	sub	r3, r3, #1
	str	r3, [fp, #-1604]
.L362:
	ldr	r3, [fp, #-1604]
	cmp	r3, #0
	bge	.L366
	b	.L365
.L379:
	nop
.L365:
	ldr	r3, [fp, #-1608]
	b	.L377
.L359:
	ldrb	r3, [fp, #-1617]	@ zero_extendqisi2
	cmp	r3, #33
	bne	.L367
	sub	r0, fp, #1600
	sub	r0, r0, #4
	sub	r0, r0, #13
	ldr	r3, [fp, #-1624]
	mov	r2, #1
	mov	r1, #1
	bl	fread
	mov	r3, r0
	cmp	r3, #0
	bne	.L368
	mov	r3, #0
	b	.L377
.L368:
	ldrb	r3, [fp, #-1617]	@ zero_extendqisi2
	mov	r1, r3
	sub	r3, fp, #1600
	sub	r3, r3, #4
	sub	r3, r3, #12
	mov	r2, r3
	ldr	r0, [fp, #-1624]
	bl	DoExtension
	b	.L369
.L367:
	ldrb	r3, [fp, #-1617]	@ zero_extendqisi2
	cmp	r3, #44
	bne	.L380
	ldr	r3, [fp, #-1612]
	add	r3, r3, #1
	str	r3, [fp, #-1612]
	sub	r0, fp, #24
	ldr	r3, [fp, #-1624]
	mov	r2, #1
	mov	r1, #9
	bl	fread
	mov	r3, r0
	cmp	r3, #0
	bne	.L371
	mov	r3, #0
	b	.L377
.L371:
	ldrb	r3, [fp, #-16]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	mvn	r3, r3
	and	r3, r3, #255
	lsr	r3, r3, #7
	and	r3, r3, #255
	str	r3, [fp, #-1580]
	ldrb	r3, [fp, #-16]	@ zero_extendqisi2
	and	r3, r3, #7
	add	r3, r3, #1
	mov	r2, #1
	lsl	r3, r2, r3
	str	r3, [fp, #-1576]
	ldrb	r3, [fp, #-19]	@ zero_extendqisi2
	lsl	r3, r3, #8
	ldrb	r2, [fp, #-20]	@ zero_extendqisi2
	orr	r3, r3, r2
	str	r3, [fp, #-1572]
	ldrb	r3, [fp, #-17]	@ zero_extendqisi2
	lsl	r3, r3, #8
	ldrb	r2, [fp, #-18]	@ zero_extendqisi2
	orr	r3, r3, r2
	str	r3, [fp, #-1568]
	ldr	r1, [fp, #-1568]
	ldr	r0, [fp, #-1572]
	bl	gdImageCreate
	str	r0, [fp, #-1608]
	ldr	r3, [fp, #-1608]
	cmp	r3, #0
	bne	.L372
	mov	r3, #0
	b	.L377
.L372:
	ldrb	r3, [fp, #-16]	@ zero_extendqisi2
	and	r3, r3, #64
	cmp	r3, #0
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-1608]
	add	r3, r3, #4096
	str	r2, [r3, #2096]
	ldr	r3, [fp, #-1580]
	cmp	r3, #0
	bne	.L373
	sub	r3, fp, #796
	mov	r2, r3
	ldr	r1, [fp, #-1576]
	ldr	r0, [fp, #-1624]
	bl	ReadColorMap
	mov	r3, r0
	cmp	r3, #0
	beq	.L374
	mov	r3, #0
	b	.L377
.L374:
	ldrb	r3, [fp, #-16]	@ zero_extendqisi2
	and	r3, r3, #64
	cmp	r3, #0
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	mov	r1, r3
	ldr	r2, [fp, #-1612]
	ldr	r3, [fp, #-1600]
	cmp	r2, r3
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	str	r3, [sp, #8]
	str	r1, [sp, #4]
	sub	r3, fp, #796
	str	r3, [sp]
	ldr	r3, [fp, #-1568]
	ldr	r2, [fp, #-1572]
	ldr	r1, [fp, #-1624]
	ldr	r0, [fp, #-1608]
	bl	ReadImage
	b	.L375
.L373:
	ldrb	r3, [fp, #-16]	@ zero_extendqisi2
	and	r3, r3, #64
	cmp	r3, #0
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	mov	r1, r3
	ldr	r2, [fp, #-1612]
	ldr	r3, [fp, #-1600]
	cmp	r2, r3
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	str	r3, [sp, #8]
	str	r1, [sp, #4]
	sub	r3, fp, #1552
	sub	r3, r3, #4
	sub	r3, r3, #8
	str	r3, [sp]
	ldr	r3, [fp, #-1568]
	ldr	r2, [fp, #-1572]
	ldr	r1, [fp, #-1624]
	ldr	r0, [fp, #-1608]
	bl	ReadImage
.L375:
	ldr	r3, [fp, #-1616]
	cmn	r3, #1
	beq	.L376
	ldr	r3, [fp, #-1616]
	mov	r1, r3
	ldr	r0, [fp, #-1608]
	bl	gdImageColorTransparent
	b	.L376
.L380:
	nop
.L369:
	b	.L376
.L377:
	ldr	r2, .L381
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L378
	bl	__stack_chk_fail
.L378:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L382:
	.align	2
.L381:
	.word	.LC39
	.word	ZeroDataBlock
	.word	.LC36
	.word	.LC37
	.word	.LC38
	.size	gdImageCreateFromGif, .-gdImageCreateFromGif
	.section	.rodata
	.align	2
.LC40:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	ReadColorMap, %function
ReadColorMap:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	ldr	r3, .L390
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L384
.L387:
	sub	r0, fp, #12
	ldr	r3, [fp, #-24]
	mov	r2, #1
	mov	r1, #3
	bl	fread
	mov	r3, r0
	cmp	r3, #0
	bne	.L385
	mov	r3, #1
	b	.L388
.L385:
	ldrb	r1, [fp, #-12]	@ zero_extendqisi2
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3]
	ldr	r3, [fp, #-32]
	add	r2, r3, #256
	ldrb	r1, [fp, #-11]	@ zero_extendqisi2
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3]
	ldr	r3, [fp, #-32]
	add	r2, r3, #512
	ldrb	r1, [fp, #-10]	@ zero_extendqisi2
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L384:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-28]
	cmp	r2, r3
	blt	.L387
	mov	r3, #0
.L388:
	ldr	r2, .L390
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L389
	bl	__stack_chk_fail
.L389:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L391:
	.align	2
.L390:
	.word	.LC40
	.size	ReadColorMap, .-ReadColorMap
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	DoExtension, %function
DoExtension:
	@ 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, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	cmp	r3, #249
	bne	.L399
	ldr	r1, .L401
	ldr	r0, [fp, #-8]
	bl	GetDataBlock
	ldr	r3, .L401
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #2
	and	r3, r3, #255
	and	r3, r3, #7
	ldr	r2, .L401+4
	str	r3, [r2, #12]
	ldr	r3, .L401
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #1
	and	r3, r3, #255
	and	r3, r3, #1
	ldr	r2, .L401+4
	str	r3, [r2, #8]
	ldr	r3, .L401
	ldrb	r3, [r3, #2]	@ zero_extendqisi2
	lsl	r3, r3, #8
	ldr	r2, .L401
	ldrb	r2, [r2, #1]	@ zero_extendqisi2
	orr	r3, r3, r2
	ldr	r2, .L401+4
	str	r3, [r2, #4]
	ldr	r3, .L401
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L400
	ldr	r3, .L401
	ldrb	r3, [r3, #3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-16]
	str	r2, [r3]
.L400:
	nop
.L395:
	ldr	r1, .L401
	ldr	r0, [fp, #-8]
	bl	GetDataBlock
	mov	r3, r0
	cmp	r3, #0
	bne	.L395
	mov	r3, #0
	b	.L396
.L399:
	nop
	nop
.L397:
	ldr	r1, .L401
	ldr	r0, [fp, #-8]
	bl	GetDataBlock
	mov	r3, r0
	cmp	r3, #0
	bne	.L397
	mov	r3, #0
.L396:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L402:
	.align	2
.L401:
	.word	buf.7306
	.word	Gif89
	.size	DoExtension, .-DoExtension
	.section	.rodata
	.align	2
.LC41:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	GetDataBlock, %function
GetDataBlock:
	@ 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, .L409
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r0, fp, #9
	ldr	r3, [fp, #-16]
	mov	r2, #1
	mov	r1, #1
	bl	fread
	mov	r3, r0
	cmp	r3, #0
	bne	.L404
	mvn	r3, #0
	b	.L407
.L404:
	ldrb	r3, [fp, #-9]	@ zero_extendqisi2
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, .L409+4
	str	r2, [r3]
	ldrb	r3, [fp, #-9]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L406
	ldrb	r3, [fp, #-9]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r3, [fp, #-16]
	mov	r2, #1
	ldr	r0, [fp, #-20]
	bl	fread
	mov	r3, r0
	cmp	r3, #0
	bne	.L406
	mvn	r3, #0
	b	.L407
.L406:
	ldrb	r3, [fp, #-9]	@ zero_extendqisi2
.L407:
	ldr	r2, .L409
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L408
	bl	__stack_chk_fail
.L408:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L410:
	.align	2
.L409:
	.word	.LC41
	.word	ZeroDataBlock
	.size	GetDataBlock, .-GetDataBlock
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	GetCode, %function
GetCode:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	beq	.L412
	ldr	r3, .L419
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L419+4
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L419+8
	mov	r2, #0
	str	r2, [r3]
	mov	r3, #0
	b	.L413
.L412:
	ldr	r3, .L419
	ldr	r2, [r3]
	ldr	r3, [fp, #-28]
	add	r2, r2, r3
	ldr	r3, .L419+4
	ldr	r3, [r3]
	cmp	r2, r3
	blt	.L414
	ldr	r3, .L419+8
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L415
	mvn	r3, #0
	b	.L413
.L415:
	ldr	r3, .L419+12
	ldr	r3, [r3]
	sub	r3, r3, #2
	ldr	r2, .L419+16
	ldrb	r2, [r2, r3]	@ zero_extendqisi2
	ldr	r3, .L419+16
	strb	r2, [r3]
	ldr	r3, .L419+12
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L419+16
	ldrb	r2, [r2, r3]	@ zero_extendqisi2
	ldr	r3, .L419+16
	strb	r2, [r3, #1]
	ldr	r1, .L419+20
	ldr	r0, [fp, #-24]
	bl	GetDataBlock
	mov	r3, r0
	strb	r3, [fp, #-17]
	ldrb	r3, [fp, #-17]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L416
	ldr	r3, .L419+8
	mov	r2, #1
	str	r2, [r3]
.L416:
	ldrb	r3, [fp, #-17]	@ zero_extendqisi2
	add	r3, r3, #2
	ldr	r2, .L419+12
	str	r3, [r2]
	ldr	r3, .L419
	ldr	r2, [r3]
	ldr	r3, .L419+4
	ldr	r3, [r3]
	sub	r3, r2, r3
	add	r3, r3, #16
	ldr	r2, .L419
	str	r3, [r2]
	ldrb	r3, [fp, #-17]	@ zero_extendqisi2
	add	r3, r3, #2
	lsl	r3, r3, #3
	ldr	r2, .L419+4
	str	r3, [r2]
.L414:
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, .L419
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L417
.L418:
	ldr	r3, [fp, #-16]
	add	r2, r3, #7
	cmp	r3, #0
	movlt	r3, r2
	movge	r3, r3
	asr	r3, r3, #3
	mov	r2, r3
	ldr	r3, .L419+16
	ldrb	r3, [r3, r2]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r3, [fp, #-16]
	rsbs	r2, r3, #0
	and	r3, r3, #7
	and	r2, r2, #7
	rsbpl	r3, r2, #0
	asr	r3, r1, r3
	and	r3, r3, #1
	cmp	r3, #0
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-12]
	lsl	r3, r2, r3
	ldr	r2, [fp, #-8]
	orr	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L417:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-28]
	cmp	r2, r3
	blt	.L418
	ldr	r3, .L419
	ldr	r2, [r3]
	ldr	r3, [fp, #-28]
	add	r3, r2, r3
	ldr	r2, .L419
	str	r3, [r2]
	ldr	r3, [fp, #-8]
.L413:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L420:
	.align	2
.L419:
	.word	curbit.7327
	.word	lastbit.7328
	.word	done.7329
	.word	last_byte.7330
	.word	buf.7326
	.word	buf.7326+2
	.size	GetCode, .-GetCode
	.local	sp.7356
	.comm	sp.7356,4,4
	.section	.rodata
	.align	2
.LC42:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	LWZReadByte, %function
LWZReadByte:
	@ args = 0, pretend = 0, frame = 296
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #300
	str	r0, [fp, #-296]
	str	r1, [fp, #-300]
	str	r2, [fp, #-304]
	ldr	r3, .L449
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	ldr	r3, [fp, #-300]
	cmp	r3, #0
	beq	.L422
	ldr	r2, .L449+4
	ldr	r3, [fp, #-304]
	str	r3, [r2]
	ldr	r3, .L449+4
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L449+8
	str	r3, [r2]
	ldr	r3, .L449+4
	ldr	r3, [r3]
	mov	r2, #1
	lsl	r3, r2, r3
	ldr	r2, .L449+12
	str	r3, [r2]
	ldr	r3, .L449+12
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L449+16
	str	r3, [r2]
	ldr	r3, .L449+12
	ldr	r3, [r3]
	lsl	r3, r3, #1
	ldr	r2, .L449+20
	str	r3, [r2]
	ldr	r3, .L449+12
	ldr	r3, [r3]
	add	r3, r3, #2
	ldr	r2, .L449+24
	str	r3, [r2]
	mov	r2, #1
	mov	r1, #0
	ldr	r0, [fp, #-296]
	bl	GetCode
	ldr	r3, .L449+28
	mov	r2, #1
	str	r2, [r3]
	mov	r4, #0
	b	.L423
.L424:
	ldr	r3, .L449+32
	mov	r2, #0
	str	r2, [r3, r4, lsl #2]
	ldr	r2, .L449+32
	add	r3, r4, #4096
	str	r4, [r2, r3, lsl #2]
	add	r4, r4, #1
.L423:
	ldr	r3, .L449+12
	ldr	r3, [r3]
	cmp	r4, r3
	blt	.L424
	b	.L425
.L426:
	ldr	r3, .L449+32
	add	r3, r3, #16384
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2]
	ldr	r3, .L449+32
	add	r3, r3, #16384
	ldr	r3, [r3]
	ldr	r2, .L449+32
	str	r3, [r2, r4, lsl #2]
	add	r4, r4, #1
.L425:
	cmp	r4, #4096
	blt	.L426
	ldr	r3, .L449+36
	ldr	r2, .L449+40
	str	r2, [r3]
	mov	r3, #0
	b	.L427
.L422:
	ldr	r3, .L449+28
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L428
	ldr	r3, .L449+28
	mov	r2, #0
	str	r2, [r3]
.L429:
	ldr	r3, .L449+8
	ldr	r3, [r3]
	mov	r2, #0
	mov	r1, r3
	ldr	r0, [fp, #-296]
	bl	GetCode
	mov	r3, r0
	ldr	r2, .L449+44
	str	r3, [r2]
	ldr	r3, .L449+44
	ldr	r3, [r3]
	ldr	r2, .L449+48
	str	r3, [r2]
	ldr	r3, .L449+48
	ldr	r2, [r3]
	ldr	r3, .L449+12
	ldr	r3, [r3]
	cmp	r2, r3
	beq	.L429
	ldr	r3, .L449+48
	ldr	r3, [r3]
	b	.L427
.L428:
	ldr	r3, .L449+36
	ldr	r3, [r3]
	ldr	r2, .L449+40
	cmp	r3, r2
	bls	.L431
	ldr	r3, .L449+36
	ldr	r3, [r3]
	sub	r3, r3, #4
	ldr	r2, .L449+36
	str	r3, [r2]
	ldr	r3, .L449+36
	ldr	r3, [r3]
	ldr	r3, [r3]
	b	.L427
.L446:
	ldr	r3, .L449+12
	ldr	r3, [r3]
	ldr	r2, [fp, #-288]
	cmp	r2, r3
	bne	.L432
	mov	r4, #0
	b	.L433
.L434:
	ldr	r3, .L449+32
	mov	r2, #0
	str	r2, [r3, r4, lsl #2]
	ldr	r2, .L449+32
	add	r3, r4, #4096
	str	r4, [r2, r3, lsl #2]
	add	r4, r4, #1
.L433:
	ldr	r3, .L449+12
	ldr	r3, [r3]
	cmp	r4, r3
	blt	.L434
	b	.L435
.L436:
	ldr	r2, .L449+32
	add	r3, r4, #4096
	mov	r1, #0
	str	r1, [r2, r3, lsl #2]
	ldr	r2, .L449+32
	add	r3, r4, #4096
	ldr	r3, [r2, r3, lsl #2]
	ldr	r2, .L449+32
	str	r3, [r2, r4, lsl #2]
	add	r4, r4, #1
.L435:
	cmp	r4, #4096
	blt	.L436
	ldr	r3, .L449+4
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L449+8
	str	r3, [r2]
	ldr	r3, .L449+12
	ldr	r3, [r3]
	lsl	r3, r3, #1
	ldr	r2, .L449+20
	str	r3, [r2]
	ldr	r3, .L449+12
	ldr	r3, [r3]
	add	r3, r3, #2
	ldr	r2, .L449+24
	str	r3, [r2]
	ldr	r3, .L449+36
	ldr	r2, .L449+40
	str	r2, [r3]
	ldr	r3, .L449+8
	ldr	r3, [r3]
	mov	r2, #0
	mov	r1, r3
	ldr	r0, [fp, #-296]
	bl	GetCode
	mov	r3, r0
	ldr	r2, .L449+44
	str	r3, [r2]
	ldr	r3, .L449+44
	ldr	r3, [r3]
	ldr	r2, .L449+48
	str	r3, [r2]
	ldr	r3, .L449+48
	ldr	r3, [r3]
	b	.L427
.L432:
	ldr	r3, .L449+16
	ldr	r3, [r3]
	ldr	r2, [fp, #-288]
	cmp	r2, r3
	bne	.L437
	ldr	r3, .L449+52
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L448
	mvn	r3, #1
	b	.L427
.L448:
	nop
.L440:
	sub	r3, fp, #276
	mov	r1, r3
	ldr	r0, [fp, #-296]
	bl	GetDataBlock
	str	r0, [fp, #-284]
	ldr	r3, [fp, #-284]
	cmp	r3, #0
	bgt	.L440
	ldr	r3, [fp, #-284]
	cmp	r3, #0
	beq	.L437
	mvn	r3, #1
	b	.L427
.L437:
	ldr	r3, [fp, #-288]
	str	r3, [fp, #-280]
	ldr	r3, .L449+24
	ldr	r3, [r3]
	ldr	r2, [fp, #-288]
	cmp	r2, r3
	blt	.L443
	ldr	r3, .L449+36
	ldr	r3, [r3]
	add	r2, r3, #4
	ldr	r1, .L449+36
	str	r2, [r1]
	ldr	r2, .L449+48
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, .L449+44
	ldr	r3, [r3]
	str	r3, [fp, #-288]
	b	.L443
.L444:
	ldr	r3, .L449+36
	ldr	r3, [r3]
	add	r2, r3, #4
	ldr	r1, .L449+36
	str	r2, [r1]
	ldr	r1, .L449+32
	ldr	r2, [fp, #-288]
	add	r2, r2, #4096
	ldr	r2, [r1, r2, lsl #2]
	str	r2, [r3]
	ldr	r2, .L449+32
	ldr	r3, [fp, #-288]
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-288]
.L443:
	ldr	r3, .L449+12
	ldr	r3, [r3]
	ldr	r2, [fp, #-288]
	cmp	r2, r3
	bge	.L444
	ldr	r2, .L449+32
	ldr	r3, [fp, #-288]
	add	r3, r3, #4096
	ldr	r3, [r2, r3, lsl #2]
	ldr	r2, .L449+48
	str	r3, [r2]
	ldr	r3, .L449+36
	ldr	r3, [r3]
	add	r2, r3, #4
	ldr	r1, .L449+36
	str	r2, [r1]
	ldr	r2, .L449+48
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, .L449+24
	ldr	r3, [r3]
	str	r3, [fp, #-288]
	ldr	r3, [fp, #-288]
	cmp	r3, #4096
	bge	.L445
	ldr	r3, .L449+44
	ldr	r2, [r3]
	ldr	r1, .L449+32
	ldr	r3, [fp, #-288]
	str	r2, [r1, r3, lsl #2]
	ldr	r3, .L449+48
	ldr	r2, [r3]
	ldr	r1, .L449+32
	ldr	r3, [fp, #-288]
	add	r3, r3, #4096
	str	r2, [r1, r3, lsl #2]
	ldr	r3, .L449+24
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L449+24
	str	r3, [r2]
	ldr	r3, .L449+24
	ldr	r2, [r3]
	ldr	r3, .L449+20
	ldr	r3, [r3]
	cmp	r2, r3
	blt	.L445
	ldr	r3, .L449+20
	ldr	r3, [r3]
	cmp	r3, #4096
	bge	.L445
	ldr	r3, .L449+20
	ldr	r3, [r3]
	lsl	r3, r3, #1
	ldr	r2, .L449+20
	str	r3, [r2]
	ldr	r3, .L449+8
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L449+8
	str	r3, [r2]
.L445:
	ldr	r2, .L449+44
	ldr	r3, [fp, #-280]
	str	r3, [r2]
	ldr	r3, .L449+36
	ldr	r3, [r3]
	ldr	r2, .L449+40
	cmp	r3, r2
	bls	.L431
	ldr	r3, .L449+36
	ldr	r3, [r3]
	sub	r3, r3, #4
	ldr	r2, .L449+36
	str	r3, [r2]
	ldr	r3, .L449+36
	ldr	r3, [r3]
	ldr	r3, [r3]
	b	.L427
.L431:
	ldr	r3, .L449+8
	ldr	r3, [r3]
	mov	r2, #0
	mov	r1, r3
	ldr	r0, [fp, #-296]
	bl	GetCode
	str	r0, [fp, #-288]
	ldr	r3, [fp, #-288]
	cmp	r3, #0
	bge	.L446
	ldr	r3, [fp, #-288]
.L427:
	ldr	r2, .L449
	ldr	r1, [r2]
	ldr	r2, [fp, #-16]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L447
	bl	__stack_chk_fail
.L447:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L450:
	.align	2
.L449:
	.word	.LC42
	.word	set_code_size.7347
	.word	code_size.7346
	.word	clear_code.7352
	.word	end_code.7353
	.word	max_code_size.7349
	.word	max_code.7348
	.word	fresh.7343
	.word	table.7354
	.word	sp.7356
	.word	stack.7355
	.word	oldcode.7351
	.word	firstcode.7350
	.word	ZeroDataBlock
	.size	LWZReadByte, .-LWZReadByte
	.section	.rodata
	.align	2
.LC43:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	ReadImage, %function
ReadImage:
	@ args = 12, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	str	r2, [fp, #-48]
	str	r3, [fp, #-52]
	ldr	r3, [fp, #4]
	str	r3, [fp, #-56]
	ldr	r3, .L482
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	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]
	b	.L452
.L453:
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-16]
	add	r2, r2, #4
	str	r1, [r3, r2, lsl #2]
	ldr	r3, [fp, #-56]
	add	r2, r3, #256
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-16]
	add	r2, r2, #260
	str	r1, [r3, r2, lsl #2]
	ldr	r3, [fp, #-56]
	add	r2, r3, #512
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-16]
	add	r2, r2, #516
	str	r1, [r3, r2, lsl #2]
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-16]
	add	r2, r2, #772
	mov	r1, #1
	str	r1, [r3, r2, lsl #2]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L452:
	ldr	r3, [fp, #-16]
	cmp	r3, #255
	ble	.L453
	ldr	r3, [fp, #-40]
	mov	r2, #256
	str	r2, [r3, #12]
	sub	r0, fp, #29
	ldr	r3, [fp, #-44]
	mov	r2, #1
	mov	r1, #1
	bl	fread
	mov	r3, r0
	cmp	r3, #0
	beq	.L477
	ldrb	r3, [fp, #-29]	@ zero_extendqisi2
	mov	r2, r3
	mov	r1, #1
	ldr	r0, [fp, #-44]
	bl	LWZReadByte
	mov	r3, r0
	cmp	r3, #0
	blt	.L478
	ldr	r3, [fp, #12]
	cmp	r3, #0
	beq	.L459
	nop
.L458:
	ldrb	r3, [fp, #-29]	@ zero_extendqisi2
	mov	r2, r3
	mov	r1, #0
	ldr	r0, [fp, #-44]
	bl	LWZReadByte
	mov	r3, r0
	cmp	r3, #0
	bge	.L458
	b	.L451
.L474:
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-12]
	add	r2, r2, #772
	ldr	r3, [r3, r2, lsl #2]
	cmp	r3, #0
	beq	.L460
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-12]
	add	r2, r2, #772
	mov	r1, #0
	str	r1, [r3, r2, lsl #2]
.L460:
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-24]
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-40]
	bl	gdImageSetPixel
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-48]
	cmp	r2, r3
	bne	.L461
	mov	r3, #0
	str	r3, [fp, #-28]
	ldr	r3, [fp, #8]
	cmp	r3, #0
	beq	.L462
	ldr	r3, [fp, #-20]
	cmp	r3, #3
	beq	.L463
	ldr	r3, [fp, #-20]
	cmp	r3, #3
	bgt	.L464
	ldr	r3, [fp, #-20]
	cmp	r3, #1
	bgt	.L465
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bge	.L466
	b	.L464
.L465:
	ldr	r3, [fp, #-20]
	cmp	r3, #2
	beq	.L467
	b	.L464
.L466:
	ldr	r3, [fp, #-24]
	add	r3, r3, #8
	str	r3, [fp, #-24]
	b	.L464
.L467:
	ldr	r3, [fp, #-24]
	add	r3, r3, #4
	str	r3, [fp, #-24]
	b	.L464
.L463:
	ldr	r3, [fp, #-24]
	add	r3, r3, #2
	str	r3, [fp, #-24]
	nop
.L464:
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-52]
	cmp	r2, r3
	blt	.L479
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #3
	beq	.L469
	ldr	r3, [fp, #-20]
	cmp	r3, #3
	bgt	.L480
	ldr	r3, [fp, #-20]
	cmp	r3, #1
	beq	.L471
	ldr	r3, [fp, #-20]
	cmp	r3, #2
	beq	.L472
	b	.L480
.L471:
	mov	r3, #4
	str	r3, [fp, #-24]
	b	.L461
.L472:
	mov	r3, #2
	str	r3, [fp, #-24]
	b	.L461
.L469:
	mov	r3, #1
	str	r3, [fp, #-24]
	b	.L461
.L462:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	b	.L461
.L479:
	nop
.L461:
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-52]
	cmp	r2, r3
	bge	.L481
.L459:
	ldrb	r3, [fp, #-29]	@ zero_extendqisi2
	mov	r2, r3
	mov	r1, #0
	ldr	r0, [fp, #-44]
	bl	LWZReadByte
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bge	.L474
	b	.L473
.L480:
	nop
	b	.L473
.L481:
	nop
.L473:
	ldrb	r3, [fp, #-29]	@ zero_extendqisi2
	mov	r2, r3
	mov	r1, #0
	ldr	r0, [fp, #-44]
	bl	LWZReadByte
	b	.L451
.L477:
	nop
	b	.L451
.L478:
	nop
.L451:
	ldr	r3, .L482
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L476
	bl	__stack_chk_fail
.L476:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L483:
	.align	2
.L482:
	.word	.LC43
	.size	ReadImage, .-ReadImage
	.align	2
	.global	gdImageRectangle
	.syntax unified
	.arm
	.fpu softvfp
	.type	gdImageRectangle, %function
gdImageRectangle:
	@ args = 8, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #8]
	str	r3, [sp, #4]
	ldr	r3, [fp, #-16]
	str	r3, [sp]
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-16]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	gdImageLine
	ldr	r3, [fp, #8]
	str	r3, [sp, #4]
	ldr	r3, [fp, #4]
	str	r3, [sp]
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #4]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	gdImageLine
	ldr	r3, [fp, #8]
	str	r3, [sp, #4]
	ldr	r3, [fp, #4]
	str	r3, [sp]
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-16]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	gdImageLine
	ldr	r3, [fp, #8]
	str	r3, [sp, #4]
	ldr	r3, [fp, #4]
	str	r3, [sp]
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-16]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-8]
	bl	gdImageLine
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	gdImageRectangle, .-gdImageRectangle
	.align	2
	.global	gdImageFilledRectangle
	.syntax unified
	.arm
	.fpu softvfp
	.type	gdImageFilledRectangle, %function
gdImageFilledRectangle:
	@ args = 8, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-8]
	b	.L486
.L489:
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-12]
	b	.L487
.L488:
	ldr	r3, [fp, #8]
	ldr	r2, [fp, #-8]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-16]
	bl	gdImageSetPixel
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L487:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-28]
	cmp	r2, r3
	ble	.L488
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L486:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #4]
	cmp	r2, r3
	ble	.L489
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	gdImageFilledRectangle, .-gdImageFilledRectangle
	.align	2
	.global	gdGetWord
	.syntax unified
	.arm
	.fpu softvfp
	.type	gdGetWord, %function
gdGetWord:
	@ 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	r0, [fp, #-20]
	bl	getc
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmn	r3, #1
	bne	.L491
	mov	r3, #0
	b	.L492
.L491:
	ldr	r3, [fp, #-8]
	lsl	r2, r3, #8
	ldr	r3, [fp, #-16]
	str	r2, [r3]
	ldr	r0, [fp, #-20]
	bl	getc
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmn	r3, #1
	bne	.L493
	mov	r3, #0
	b	.L492
.L493:
	ldr	r3, [fp, #-16]
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r2, r2, r3
	ldr	r3, [fp, #-16]
	str	r2, [r3]
	mov	r3, #1
.L492:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	gdGetWord, .-gdGetWord
	.align	2
	.global	gdPutWord
	.syntax unified
	.arm
	.fpu softvfp
	.type	gdPutWord, %function
gdPutWord:
	@ 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]
	ldr	r3, [fp, #-8]
	asr	r3, r3, #8
	and	r3, r3, #255
	ldr	r1, [fp, #-12]
	mov	r0, r3
	bl	putc
	ldr	r3, [fp, #-8]
	and	r3, r3, #255
	ldr	r1, [fp, #-12]
	mov	r0, r3
	bl	putc
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	gdPutWord, .-gdPutWord
	.align	2
	.global	gdGetByte
	.syntax unified
	.arm
	.fpu softvfp
	.type	gdGetByte, %function
gdGetByte:
	@ 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	r0, [fp, #-20]
	bl	getc
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmn	r3, #1
	bne	.L496
	mov	r3, #0
	b	.L497
.L496:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	mov	r3, #1
.L497:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	gdGetByte, .-gdGetByte
	.section	.rodata
	.align	2
.LC44:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	gdImageCreateFromGd
	.syntax unified
	.arm
	.fpu softvfp
	.type	gdImageCreateFromGd, %function
gdImageCreateFromGd:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-40]
	ldr	r3, .L526
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #36
	ldr	r1, [fp, #-40]
	mov	r0, r3
	bl	gdGetWord
	mov	r3, r0
	cmp	r3, #0
	beq	.L519
	sub	r3, fp, #32
	ldr	r1, [fp, #-40]
	mov	r0, r3
	bl	gdGetWord
	mov	r3, r0
	cmp	r3, #0
	beq	.L520
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-32]
	mov	r1, r2
	mov	r0, r3
	bl	gdImageCreate
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	add	r3, r3, #12
	ldr	r1, [fp, #-40]
	mov	r0, r3
	bl	gdGetByte
	mov	r3, r0
	cmp	r3, #0
	beq	.L521
	ldr	r3, [fp, #-16]
	add	r3, r3, #4096
	add	r3, r3, #16
	ldr	r1, [fp, #-40]
	mov	r0, r3
	bl	gdGetWord
	mov	r3, r0
	cmp	r3, #0
	beq	.L522
	ldr	r3, [fp, #-16]
	add	r3, r3, #4096
	ldr	r3, [r3, #16]
	ldr	r2, .L526+4
	cmp	r3, r2
	bne	.L505
	ldr	r3, [fp, #-16]
	add	r3, r3, #4096
	mov	r2, r3
	mvn	r3, #0
	str	r3, [r2, #16]
.L505:
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L506
.L510:
	ldr	r3, [fp, #-20]
	add	r3, r3, #4
	lsl	r3, r3, #2
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldr	r1, [fp, #-40]
	mov	r0, r3
	bl	gdGetByte
	mov	r3, r0
	cmp	r3, #0
	beq	.L523
	ldr	r3, [fp, #-20]
	add	r3, r3, #260
	lsl	r3, r3, #2
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldr	r1, [fp, #-40]
	mov	r0, r3
	bl	gdGetByte
	mov	r3, r0
	cmp	r3, #0
	beq	.L524
	ldr	r3, [fp, #-20]
	add	r3, r3, #516
	lsl	r3, r3, #2
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldr	r1, [fp, #-40]
	mov	r0, r3
	bl	gdGetByte
	mov	r3, r0
	cmp	r3, #0
	beq	.L525
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L506:
	ldr	r3, [fp, #-20]
	cmp	r3, #255
	ble	.L510
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L511
.L516:
	mov	r3, #0
	str	r3, [fp, #-28]
	b	.L512
.L515:
	ldr	r0, [fp, #-40]
	bl	getc
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmn	r3, #1
	bne	.L513
	ldr	r0, [fp, #-16]
	bl	gdImageDestroy
	mov	r3, #0
	b	.L517
.L513:
	ldr	r3, [fp, #-16]
	ldr	r2, [r3]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	add	r3, r2, r3
	ldr	r2, [fp, #-12]
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L512:
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-28]
	cmp	r2, r3
	blt	.L515
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L511:
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	blt	.L516
	ldr	r3, [fp, #-16]
	b	.L517
.L521:
	nop
	b	.L503
.L522:
	nop
	b	.L503
.L523:
	nop
	b	.L503
.L524:
	nop
	b	.L503
.L525:
	nop
.L503:
	ldr	r0, [fp, #-16]
	bl	gdImageDestroy
	b	.L500
.L519:
	nop
	b	.L500
.L520:
	nop
.L500:
	mov	r3, #0
.L517:
	ldr	r2, .L526
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L518
	bl	__stack_chk_fail
.L518:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L527:
	.align	2
.L526:
	.word	.LC44
	.word	257
	.size	gdImageCreateFromGd, .-gdImageCreateFromGd
	.align	2
	.global	gdImageGd
	.syntax unified
	.arm
	.fpu softvfp
	.type	gdImageGd, %function
gdImageGd:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	ldr	r1, [fp, #-28]
	mov	r0, r3
	bl	gdPutWord
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	ldr	r1, [fp, #-28]
	mov	r0, r3
	bl	gdPutWord
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #12]
	and	r3, r3, #255
	ldr	r1, [fp, #-28]
	mov	r0, r3
	bl	putc
	ldr	r3, [fp, #-24]
	add	r3, r3, #4096
	ldr	r3, [r3, #16]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmn	r3, #1
	bne	.L529
	ldr	r3, .L536
	str	r3, [fp, #-8]
.L529:
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-8]
	bl	gdPutWord
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L530
.L531:
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-12]
	add	r2, r2, #4
	ldr	r3, [r3, r2, lsl #2]
	and	r3, r3, #255
	ldr	r1, [fp, #-28]
	mov	r0, r3
	bl	putc
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-12]
	add	r2, r2, #260
	ldr	r3, [r3, r2, lsl #2]
	and	r3, r3, #255
	ldr	r1, [fp, #-28]
	mov	r0, r3
	bl	putc
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-12]
	add	r2, r2, #516
	ldr	r3, [r3, r2, lsl #2]
	and	r3, r3, #255
	ldr	r1, [fp, #-28]
	mov	r0, r3
	bl	putc
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L530:
	ldr	r3, [fp, #-12]
	cmp	r3, #255
	ble	.L531
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L532
.L535:
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L533
.L534:
	ldr	r3, [fp, #-24]
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	ldr	r1, [fp, #-28]
	mov	r0, r3
	bl	putc
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L533:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	blt	.L534
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L532:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	blt	.L535
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L537:
	.align	2
.L536:
	.word	257
	.size	gdImageGd, .-gdImageGd
	.section	.rodata
	.align	2
.LC45:
	.ascii	"%x\000"
	.align	2
.LC46:
	.ascii	"Error: bug in gdImageCreateFromXbm!\012\000"
	.align	2
.LC47:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	gdImageCreateFromXbm
	.syntax unified
	.arm
	.fpu softvfp
	.type	gdImageCreateFromXbm, %function
gdImageCreateFromXbm:
	@ args = 0, pretend = 0, frame = 224
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #224
	str	r0, [fp, #-224]
	ldr	r3, .L571
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #172
	ldr	r2, [fp, #-224]
	mov	r1, #160
	mov	r0, r3
	bl	fgets
	mov	r3, r0
	cmp	r3, #0
	bne	.L539
	mov	r3, #0
	b	.L563
.L539:
	sub	r3, fp, #172
	str	r3, [fp, #-200]
	mov	r1, #32
	ldr	r0, [fp, #-200]
	bl	strchr
	str	r0, [fp, #-200]
	ldr	r3, [fp, #-200]
	cmp	r3, #0
	bne	.L541
	mov	r3, #0
	b	.L563
.L541:
	ldr	r3, [fp, #-200]
	add	r3, r3, #1
	str	r3, [fp, #-200]
	mov	r1, #32
	ldr	r0, [fp, #-200]
	bl	strchr
	str	r0, [fp, #-200]
	ldr	r3, [fp, #-200]
	cmp	r3, #0
	bne	.L542
	mov	r3, #0
	b	.L563
.L542:
	ldr	r3, [fp, #-200]
	add	r3, r3, #1
	mov	r0, r3
	bl	atoi
	str	r0, [fp, #-196]
	ldr	r3, [fp, #-196]
	cmp	r3, #0
	bne	.L543
	mov	r3, #0
	b	.L563
.L543:
	sub	r3, fp, #172
	ldr	r2, [fp, #-224]
	mov	r1, #160
	mov	r0, r3
	bl	fgets
	mov	r3, r0
	cmp	r3, #0
	bne	.L544
	mov	r3, #0
	b	.L563
.L544:
	sub	r3, fp, #172
	str	r3, [fp, #-200]
	mov	r1, #32
	ldr	r0, [fp, #-200]
	bl	strchr
	str	r0, [fp, #-200]
	ldr	r3, [fp, #-200]
	cmp	r3, #0
	bne	.L545
	mov	r3, #0
	b	.L563
.L545:
	ldr	r3, [fp, #-200]
	add	r3, r3, #1
	str	r3, [fp, #-200]
	mov	r1, #32
	ldr	r0, [fp, #-200]
	bl	strchr
	str	r0, [fp, #-200]
	ldr	r3, [fp, #-200]
	cmp	r3, #0
	bne	.L546
	mov	r3, #0
	b	.L563
.L546:
	ldr	r3, [fp, #-200]
	add	r3, r3, #1
	mov	r0, r3
	bl	atoi
	str	r0, [fp, #-192]
	ldr	r3, [fp, #-192]
	cmp	r3, #0
	bne	.L547
	mov	r3, #0
	b	.L563
.L547:
	sub	r3, fp, #172
	ldr	r2, [fp, #-224]
	mov	r1, #160
	mov	r0, r3
	bl	fgets
	mov	r3, r0
	cmp	r3, #0
	bne	.L548
	mov	r3, #0
	b	.L563
.L548:
	ldr	r3, [fp, #-196]
	ldr	r2, [fp, #-192]
	mul	r3, r2, r3
	add	r2, r3, #7
	cmp	r3, #0
	movlt	r3, r2
	movge	r3, r3
	asr	r3, r3, #3
	add	r3, r3, #1
	str	r3, [fp, #-188]
	ldr	r1, [fp, #-192]
	ldr	r0, [fp, #-196]
	bl	gdImageCreate
	str	r0, [fp, #-184]
	mov	r3, #255
	mov	r2, #255
	mov	r1, #255
	ldr	r0, [fp, #-184]
	bl	gdImageColorAllocate
	mov	r3, #0
	mov	r2, #0
	mov	r1, #0
	ldr	r0, [fp, #-184]
	bl	gdImageColorAllocate
	mov	r3, #0
	str	r3, [fp, #-208]
	mov	r3, #0
	str	r3, [fp, #-204]
	mov	r3, #0
	str	r3, [fp, #-212]
	b	.L549
.L554:
	ldr	r0, [fp, #-224]
	bl	getc
	str	r0, [fp, #-180]
	ldr	r3, [fp, #-180]
	cmn	r3, #1
	beq	.L566
	ldr	r3, [fp, #-180]
	cmp	r3, #120
	beq	.L567
	b	.L554
.L567:
	nop
	ldr	r0, [fp, #-224]
	bl	getc
	str	r0, [fp, #-180]
	ldr	r3, [fp, #-180]
	cmn	r3, #1
	beq	.L568
	ldr	r3, [fp, #-180]
	and	r3, r3, #255
	strb	r3, [fp, #-176]
	ldr	r0, [fp, #-224]
	bl	getc
	str	r0, [fp, #-180]
	ldr	r3, [fp, #-180]
	cmn	r3, #1
	beq	.L569
	ldr	r3, [fp, #-180]
	and	r3, r3, #255
	strb	r3, [fp, #-175]
	mov	r3, #0
	strb	r3, [fp, #-174]
	sub	r2, fp, #220
	sub	r3, fp, #176
	ldr	r1, .L571+4
	mov	r0, r3
	bl	__isoc99_sscanf
	mov	r3, #1
	str	r3, [fp, #-216]
	b	.L557
.L561:
	ldr	r1, [fp, #-208]
	add	r3, r1, #1
	str	r3, [fp, #-208]
	ldr	r2, [fp, #-220]
	ldr	r3, [fp, #-216]
	and	r3, r3, r2
	cmp	r3, #0
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	ldr	r2, [fp, #-204]
	ldr	r0, [fp, #-184]
	bl	gdImageSetPixel
	ldr	r3, [fp, #-184]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-208]
	cmp	r2, r3
	bne	.L558
	mov	r3, #0
	str	r3, [fp, #-208]
	ldr	r3, [fp, #-204]
	add	r3, r3, #1
	str	r3, [fp, #-204]
	ldr	r3, [fp, #-184]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-204]
	cmp	r2, r3
	bne	.L570
	ldr	r3, [fp, #-184]
	b	.L563
.L558:
	ldr	r3, [fp, #-216]
	lsl	r3, r3, #1
	str	r3, [fp, #-216]
.L557:
	ldr	r3, [fp, #-216]
	cmp	r3, #128
	ble	.L561
	b	.L560
.L570:
	nop
.L560:
	ldr	r3, [fp, #-212]
	add	r3, r3, #1
	str	r3, [fp, #-212]
.L549:
	ldr	r2, [fp, #-212]
	ldr	r3, [fp, #-188]
	cmp	r2, r3
	blt	.L554
	ldr	r3, .L571+8
	ldr	r3, [r3]
	mov	r2, #36
	mov	r1, #1
	ldr	r0, .L571+12
	bl	fwrite
	mov	r3, #0
	b	.L563
.L566:
	nop
	b	.L562
.L568:
	nop
	b	.L562
.L569:
	nop
.L562:
	ldr	r0, [fp, #-184]
	bl	gdImageDestroy
	mov	r3, #0
.L563:
	ldr	r2, .L571
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L564
	bl	__stack_chk_fail
.L564:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L572:
	.align	2
.L571:
	.word	.LC47
	.word	.LC45
	.word	stderr
	.word	.LC46
	.size	gdImageCreateFromXbm, .-gdImageCreateFromXbm
	.align	2
	.global	gdImagePolygon
	.syntax unified
	.arm
	.fpu softvfp
	.type	gdImagePolygon, %function
gdImagePolygon:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	beq	.L578
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-32]
	sub	r3, r3, #-536870911
	lsl	r3, r3, #3
	ldr	r2, [fp, #-28]
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r3, [fp, #-32]
	sub	r3, r3, #-536870911
	lsl	r3, r3, #3
	ldr	r2, [fp, #-28]
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-36]
	str	r2, [sp, #4]
	str	r3, [sp]
	mov	r3, r1
	ldr	r2, [fp, #-8]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-24]
	bl	gdImageLine
	mov	r3, #1
	str	r3, [fp, #-16]
	b	.L576
.L577:
	ldr	r3, [fp, #-28]
	add	r3, r3, #8
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	ldr	r1, [r3]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-36]
	str	r2, [sp, #4]
	str	r3, [sp]
	mov	r3, r1
	ldr	r2, [fp, #-8]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-24]
	bl	gdImageLine
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L576:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-32]
	cmp	r2, r3
	blt	.L577
	b	.L573
.L578:
	nop
.L573:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	gdImagePolygon, .-gdImagePolygon
	.align	2
	.global	gdImageFilledPolygon
	.syntax unified
	.arm
	.fpu softvfp
	.type	gdImageFilledPolygon, %function
gdImageFilledPolygon:
	@ args = 0, pretend = 0, frame = 88
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #96
	str	r0, [fp, #-80]
	str	r1, [fp, #-84]
	str	r2, [fp, #-88]
	str	r3, [fp, #-92]
	ldr	r3, [fp, #-88]
	cmp	r3, #0
	beq	.L607
	ldr	r3, [fp, #-80]
	add	r3, r3, #4096
	ldr	r3, [r3, #24]
	cmp	r3, #0
	bne	.L582
	ldr	r3, [fp, #-88]
	lsl	r3, r3, #2
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-80]
	add	r3, r3, #4096
	str	r2, [r3, #20]
	ldr	r3, [fp, #-80]
	add	r3, r3, #4096
	mov	r2, r3
	ldr	r3, [fp, #-88]
	str	r3, [r2, #24]
.L582:
	ldr	r3, [fp, #-80]
	add	r3, r3, #4096
	ldr	r3, [r3, #24]
	ldr	r2, [fp, #-88]
	cmp	r2, r3
	ble	.L583
	b	.L584
.L585:
	ldr	r3, [fp, #-80]
	add	r3, r3, #4096
	ldr	r3, [r3, #24]
	lsl	r3, r3, #1
	ldr	r2, [fp, #-80]
	add	r2, r2, #4096
	str	r3, [r2, #24]
.L584:
	ldr	r3, [fp, #-80]
	add	r3, r3, #4096
	ldr	r3, [r3, #24]
	ldr	r2, [fp, #-88]
	cmp	r2, r3
	bgt	.L585
	ldr	r3, [fp, #-80]
	add	r3, r3, #4096
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-80]
	add	r3, r3, #4096
	ldr	r3, [r3, #24]
	lsl	r3, r3, #2
	mov	r1, r3
	mov	r0, r2
	bl	realloc
	mov	r2, r0
	ldr	r3, [fp, #-80]
	add	r3, r3, #4096
	str	r2, [r3, #20]
.L583:
	ldr	r3, [fp, #-84]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-84]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-60]
	mov	r3, #1
	str	r3, [fp, #-72]
	b	.L586
.L589:
	ldr	r3, [fp, #-72]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-64]
	cmp	r2, r3
	ble	.L587
	ldr	r3, [fp, #-72]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	str	r3, [fp, #-64]
.L587:
	ldr	r3, [fp, #-72]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-60]
	cmp	r2, r3
	bge	.L588
	ldr	r3, [fp, #-72]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	str	r3, [fp, #-60]
.L588:
	ldr	r3, [fp, #-72]
	add	r3, r3, #1
	str	r3, [fp, #-72]
.L586:
	ldr	r2, [fp, #-72]
	ldr	r3, [fp, #-88]
	cmp	r2, r3
	blt	.L589
	ldr	r3, [fp, #-64]
	str	r3, [fp, #-68]
	b	.L590
.L606:
	mov	r3, #0
	str	r3, [fp, #-52]
	mov	r3, #0
	str	r3, [fp, #-48]
	mov	r3, #1
	str	r3, [fp, #-44]
	mov	r3, #0
	str	r3, [fp, #-56]
	mov	r3, #0
	str	r3, [fp, #-72]
	b	.L591
.L603:
	mov	r3, #0
	str	r3, [fp, #-12]
	ldr	r2, [fp, #-72]
	ldr	r3, [fp, #-88]
	cmp	r2, r3
	beq	.L592
	ldr	r3, [fp, #-72]
	cmp	r3, #0
	bne	.L593
.L592:
	ldr	r3, [fp, #-88]
	sub	r3, r3, #1
	str	r3, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L594
.L593:
	ldr	r3, [fp, #-72]
	sub	r3, r3, #1
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-72]
	str	r3, [fp, #-16]
.L594:
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	str	r3, [fp, #-28]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	cmp	r2, r3
	bge	.L595
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-36]
	mvn	r3, #0
	str	r3, [fp, #-24]
	b	.L596
.L595:
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	cmp	r2, r3
	ble	.L597
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-40]
	mov	r3, #1
	str	r3, [fp, #-24]
	b	.L596
.L597:
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-92]
	str	r3, [sp, #4]
	ldr	r3, [fp, #-32]
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [fp, #-32]
	ldr	r0, [fp, #-80]
	bl	gdImageLine
	b	.L598
.L596:
	ldr	r2, [fp, #-68]
	ldr	r3, [fp, #-32]
	cmp	r2, r3
	blt	.L598
	ldr	r2, [fp, #-68]
	ldr	r3, [fp, #-28]
	cmp	r2, r3
	bgt	.L598
	ldr	r2, [fp, #-68]
	ldr	r3, [fp, #-32]
	sub	r3, r2, r3
	ldr	r1, [fp, #-36]
	ldr	r2, [fp, #-40]
	sub	r2, r1, r2
	mul	r0, r2, r3
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-32]
	sub	r3, r2, r3
	mov	r1, r3
	bl	__aeabi_idiv
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-40]
	add	r3, r3, r2
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	bne	.L599
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #3
	ldr	r1, [fp, #-84]
	add	r3, r1, r3
	ldr	r3, [r3, #4]
	cmp	r2, r3
	bne	.L600
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #3
	ldr	r1, [fp, #-84]
	add	r3, r1, r3
	ldr	r3, [r3]
	cmp	r2, r3
	beq	.L600
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-48]
	cmp	r2, r3
	bne	.L600
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-52]
	cmp	r2, r3
	ble	.L608
	ldr	r3, [fp, #-80]
	add	r3, r3, #4096
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	b	.L608
.L600:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-52]
	cmp	r2, r3
	bne	.L599
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-48]
	cmp	r2, r3
	beq	.L609
.L599:
	ldr	r3, [fp, #-72]
	cmp	r3, #0
	ble	.L602
	ldr	r3, [fp, #-80]
	add	r3, r3, #4096
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-56]
	add	r1, r3, #1
	str	r1, [fp, #-56]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-8]
	str	r2, [r3]
.L602:
	ldr	r3, [fp, #-72]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-52]
	mov	r3, #0
	str	r3, [fp, #-44]
	b	.L598
.L608:
	nop
	b	.L598
.L609:
	nop
.L598:
	ldr	r3, [fp, #-72]
	add	r3, r3, #1
	str	r3, [fp, #-72]
.L591:
	ldr	r2, [fp, #-72]
	ldr	r3, [fp, #-88]
	cmp	r2, r3
	ble	.L603
	ldr	r3, [fp, #-80]
	add	r3, r3, #4096
	ldr	r0, [r3, #20]
	ldr	r1, [fp, #-56]
	ldr	r3, .L610
	mov	r2, #4
	bl	qsort
	mov	r3, #0
	str	r3, [fp, #-72]
	b	.L604
.L605:
	ldr	r3, [fp, #-80]
	add	r3, r3, #4096
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-72]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r3, [fp, #-80]
	add	r3, r3, #4096
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-72]
	add	r3, r3, #1
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-92]
	str	r3, [sp, #4]
	ldr	r3, [fp, #-68]
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [fp, #-68]
	ldr	r0, [fp, #-80]
	bl	gdImageLine
	ldr	r3, [fp, #-72]
	add	r3, r3, #2
	str	r3, [fp, #-72]
.L604:
	ldr	r3, [fp, #-56]
	sub	r3, r3, #1
	ldr	r2, [fp, #-72]
	cmp	r2, r3
	blt	.L605
	ldr	r3, [fp, #-68]
	add	r3, r3, #1
	str	r3, [fp, #-68]
.L590:
	ldr	r2, [fp, #-68]
	ldr	r3, [fp, #-60]
	cmp	r2, r3
	ble	.L606
	b	.L579
.L607:
	nop
.L579:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L611:
	.align	2
.L610:
	.word	gdCompareInt
	.size	gdImageFilledPolygon, .-gdImageFilledPolygon
	.align	2
	.global	gdCompareInt
	.syntax unified
	.arm
	.fpu softvfp
	.type	gdCompareInt, %function
gdCompareInt:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	sub	r3, r2, r3
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	gdCompareInt, .-gdCompareInt
	.align	2
	.global	gdImageSetStyle
	.syntax unified
	.arm
	.fpu softvfp
	.type	gdImageSetStyle, %function
gdImageSetStyle:
	@ 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, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	ldr	r3, [fp, #-8]
	add	r3, r3, #4096
	ldr	r3, [r3, #2092]
	cmp	r3, #0
	beq	.L615
	ldr	r3, [fp, #-8]
	add	r3, r3, #4096
	ldr	r3, [r3, #2092]
	mov	r0, r3
	bl	free
.L615:
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-8]
	add	r3, r3, #4096
	str	r2, [r3, #2092]
	ldr	r3, [fp, #-8]
	add	r3, r3, #4096
	ldr	r0, [r3, #2092]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r1, [fp, #-12]
	bl	memcpy
	ldr	r3, [fp, #-8]
	add	r3, r3, #4096
	mov	r2, r3
	ldr	r3, [fp, #-16]
	str	r3, [r2, #2084]
	ldr	r3, [fp, #-8]
	add	r3, r3, #4096
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #2088]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	gdImageSetStyle, .-gdImageSetStyle
	.align	2
	.global	gdImageSetBrush
	.syntax unified
	.arm
	.fpu softvfp
	.type	gdImageSetBrush, %function
gdImageSetBrush:
	@ 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, #-16]
	add	r3, r3, #4096
	mov	r2, r3
	ldr	r3, [fp, #-20]
	str	r3, [r2, #28]
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L617
.L619:
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-12]
	add	r2, r2, #4
	ldr	r1, [r3, r2, lsl #2]
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-12]
	add	r2, r2, #260
	ldr	r0, [r3, r2, lsl #2]
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-12]
	add	r2, r2, #516
	ldr	r3, [r3, r2, lsl #2]
	mov	r2, r0
	ldr	r0, [fp, #-16]
	bl	gdImageColorExact
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmn	r3, #1
	bne	.L618
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-12]
	add	r2, r2, #4
	ldr	r1, [r3, r2, lsl #2]
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-12]
	add	r2, r2, #260
	ldr	r0, [r3, r2, lsl #2]
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-12]
	add	r2, r2, #516
	ldr	r3, [r3, r2, lsl #2]
	mov	r2, r0
	ldr	r0, [fp, #-16]
	bl	gdImageColorAllocate
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmn	r3, #1
	bne	.L618
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-12]
	add	r2, r2, #4
	ldr	r1, [r3, r2, lsl #2]
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-12]
	add	r2, r2, #260
	ldr	r0, [r3, r2, lsl #2]
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-12]
	add	r2, r2, #516
	ldr	r3, [r3, r2, lsl #2]
	mov	r2, r0
	ldr	r0, [fp, #-16]
	bl	gdImageColorClosest
	str	r0, [fp, #-8]
.L618:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	add	r3, r3, #1024
	add	r3, r3, #8
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-8]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L617:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	blt	.L619
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	gdImageSetBrush, .-gdImageSetBrush
	.align	2
	.global	gdImageSetTile
	.syntax unified
	.arm
	.fpu softvfp
	.type	gdImageSetTile, %function
gdImageSetTile:
	@ 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, #-16]
	add	r3, r3, #4096
	mov	r2, r3
	ldr	r3, [fp, #-20]
	str	r3, [r2, #32]
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L621
.L623:
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-12]
	add	r2, r2, #4
	ldr	r1, [r3, r2, lsl #2]
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-12]
	add	r2, r2, #260
	ldr	r0, [r3, r2, lsl #2]
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-12]
	add	r2, r2, #516
	ldr	r3, [r3, r2, lsl #2]
	mov	r2, r0
	ldr	r0, [fp, #-16]
	bl	gdImageColorExact
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmn	r3, #1
	bne	.L622
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-12]
	add	r2, r2, #4
	ldr	r1, [r3, r2, lsl #2]
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-12]
	add	r2, r2, #260
	ldr	r0, [r3, r2, lsl #2]
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-12]
	add	r2, r2, #516
	ldr	r3, [r3, r2, lsl #2]
	mov	r2, r0
	ldr	r0, [fp, #-16]
	bl	gdImageColorAllocate
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmn	r3, #1
	bne	.L622
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-12]
	add	r2, r2, #4
	ldr	r1, [r3, r2, lsl #2]
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-12]
	add	r2, r2, #260
	ldr	r0, [r3, r2, lsl #2]
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-12]
	add	r2, r2, #516
	ldr	r3, [r3, r2, lsl #2]
	mov	r2, r0
	ldr	r0, [fp, #-16]
	bl	gdImageColorClosest
	str	r0, [fp, #-8]
.L622:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	add	r3, r3, #1280
	add	r3, r3, #8
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-8]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L621:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	blt	.L623
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	gdImageSetTile, .-gdImageSetTile
	.align	2
	.global	gdImageInterlace
	.syntax unified
	.arm
	.fpu softvfp
	.type	gdImageInterlace, %function
gdImageInterlace:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-8]
	add	r3, r3, #4096
	mov	r2, r3
	ldr	r3, [fp, #-12]
	str	r3, [r2, #2096]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	gdImageInterlace, .-gdImageInterlace
	.local	buf.7306
	.comm	buf.7306,256,4
	.local	curbit.7327
	.comm	curbit.7327,4,4
	.local	lastbit.7328
	.comm	lastbit.7328,4,4
	.local	done.7329
	.comm	done.7329,4,4
	.local	last_byte.7330
	.comm	last_byte.7330,4,4
	.local	buf.7326
	.comm	buf.7326,280,4
	.local	set_code_size.7347
	.comm	set_code_size.7347,4,4
	.local	code_size.7346
	.comm	code_size.7346,4,4
	.local	clear_code.7352
	.comm	clear_code.7352,4,4
	.local	end_code.7353
	.comm	end_code.7353,4,4
	.local	max_code_size.7349
	.comm	max_code_size.7349,4,4
	.local	max_code.7348
	.comm	max_code.7348,4,4
	.local	fresh.7343
	.comm	fresh.7343,4,4
	.local	table.7354
	.comm	table.7354,32768,4
	.local	stack.7355
	.comm	stack.7355,32768,4
	.local	oldcode.7351
	.comm	oldcode.7351,4,4
	.local	firstcode.7350
	.comm	firstcode.7350,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
