	.file	"181392871.c"
	.intel_syntax noprefix
	.text
	.globl	size
	.data
	.align 4
	.type	size, @object
	.size	size, 4
size:
	.long	10
	.globl	up
	.bss
	.align 4
	.type	up, @object
	.size	up, 4
up:
	.zero	4
	.globl	down
	.align 4
	.type	down, @object
	.size	down, 4
down:
	.zero	4
	.globl	font
	.data
	.align 4
	.type	font, @object
	.size	font, 4
font:
	.long	1
	.globl	stip
	.align 4
	.type	stip, @object
	.size	stip, 4
stip:
	.long	1
	.globl	fontdir
	.section	.rodata
.LC0:
	.string	"/usr/lib/font"
	.section	.data.rel.local,"aw"
	.align 8
	.type	fontdir, @object
	.size	fontdir, 8
fontdir:
	.quad	.LC0
	.globl	thick
	.data
	.align 4
	.type	thick, @object
	.size	thick, 4
thick:
	.long	3
	.globl	style
	.align 4
	.type	style, @object
	.size	style, 4
style:
	.long	-1
	.globl	hpos
	.bss
	.align 4
	.type	hpos, @object
	.size	hpos, 4
hpos:
	.zero	4
	.globl	vpos
	.align 4
	.type	vpos, @object
	.size	vpos, 4
vpos:
	.zero	4
	.globl	maxh
	.align 4
	.type	maxh, @object
	.size	maxh, 4
maxh:
	.zero	4
	.globl	leftmarg
	.align 4
	.type	leftmarg, @object
	.size	leftmarg, 4
leftmarg:
	.zero	4
	.globl	spanno
	.align 4
	.type	spanno, @object
	.size	spanno, 4
spanno:
	.zero	4
	.globl	pageno
	.align 4
	.type	pageno, @object
	.size	pageno, 4
pageno:
	.zero	4
	.globl	vlist
	.align 32
	.type	vlist, @object
	.size	vlist, 72024
vlist:
	.zero	72024
	.globl	vlp
	.align 8
	.type	vlp, @object
	.size	vlp, 8
vlp:
	.zero	8
	.globl	nvlist
	.data
	.align 4
	.type	nvlist, @object
	.size	nvlist, 4
nvlist:
	.long	1
	.globl	obufsiz
	.align 4
	.type	obufsiz, @object
	.size	obufsiz, 4
obufsiz:
	.long	250000
	.globl	obuf
	.bss
	.align 32
	.type	obuf, @object
	.size	obuf, 251000
obuf:
	.zero	251000
	.globl	op
	.section	.data.rel.local
	.align 8
	.type	op, @object
	.size	op, 8
op:
	.quad	obuf
	.section	.rodata
.LC1:
	.string	"r"
.LC2:
	.string	"can't open %s"
	.text
	.globl	main
	.type	main, @function
main:
.LFB0:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	mov	QWORD PTR -32[rbp], rsi
	lea	rax, vlist[rip]
	mov	QWORD PTR vlp[rip], rax
	mov	rax, QWORD PTR vlp[rip]
	mov	rdx, QWORD PTR op[rip]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR vlp[rip]
	mov	WORD PTR 2[rax], 0
	mov	rdx, QWORD PTR vlp[rip]
	movzx	eax, WORD PTR 2[rax]
	mov	WORD PTR 8[rdx], ax
	mov	rax, QWORD PTR vlp[rip]
	movzx	edx, WORD PTR 8[rdx]
	mov	WORD PTR 10[rax], dx
	mov	rdx, QWORD PTR vlp[rip]
	movzx	eax, WORD PTR 10[rax]
	mov	WORD PTR [rdx], ax
	mov	edx, DWORD PTR size[rip]
	mov	rax, QWORD PTR vlp[rip]
	mov	WORD PTR 12[rax], dx
	mov	edx, DWORD PTR font[rip]
	mov	rax, QWORD PTR vlp[rip]
	mov	BYTE PTR 14[rax], dl
	mov	edx, DWORD PTR stip[rip]
	mov	rax, QWORD PTR vlp[rip]
	mov	BYTE PTR 15[rax], dl
	mov	edx, DWORD PTR style[rip]
	mov	rax, QWORD PTR vlp[rip]
	mov	WORD PTR 6[rax], dx
	mov	edx, DWORD PTR thick[rip]
	mov	rax, QWORD PTR vlp[rip]
	mov	WORD PTR 4[rax], dx
	jmp	.L2
.L5:
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR [rax]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	cmp	eax, 102
	jne	.L3
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR [rax]
	add	rax, 2
	mov	QWORD PTR fontdir[rip], rax
	nop
.L3:
	sub	DWORD PTR -20[rbp], 1
.L2:
	cmp	DWORD PTR -20[rbp], 1
	jle	.L4
	add	QWORD PTR -32[rbp], 8
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 45
	je	.L5
.L4:
	cmp	DWORD PTR -20[rbp], 1
	jg	.L8
	mov	rax, QWORD PTR stdin[rip]
	mov	rdi, rax
	mov	eax, 0
	call	conv
	jmp	.L7
.L10:
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rsi, .LC1[rip]
	mov	rdi, rax
	call	fopen@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L9
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, rax
	lea	rsi, .LC2[rip]
	mov	edi, 1
	mov	eax, 0
	call	error
.L9:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	conv
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	fclose@PLT
.L8:
	sub	DWORD PTR -20[rbp], 1
	cmp	DWORD PTR -20[rbp], 0
	jg	.L10
.L7:
	mov	eax, 0
	call	done
	mov	eax, 0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	main, .-main
	.globl	getnumber
	.type	getnumber, @function
getnumber:
.LFB1:
	.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
	sub	rsp, 24
	.cfi_offset 13, -24
	.cfi_offset 12, -32
	.cfi_offset 3, -40
	mov	QWORD PTR -40[rbp], rdi
	nop
.L13:
	call	__ctype_b_loc@PLT
	mov	r12, QWORD PTR [rax]
	mov	rdi, QWORD PTR -40[rbp]
	call	getc@PLT
	mov	ebx, eax
	movsx	rax, bl
	add	rax, rax
	add	rax, r12
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8192
	test	eax, eax
	jne	.L13
	mov	r12d, 0
	cmp	bl, 45
	jne	.L14
	mov	rdi, QWORD PTR -40[rbp]
	call	getc@PLT
	mov	ebx, eax
.L15:
	mov	eax, r12d
	sal	eax, 2
	add	eax, r12d
	add	eax, eax
	mov	ecx, eax
	mov	rax, QWORD PTR op[rip]
	lea	rdx, 1[rax]
	mov	QWORD PTR op[rip], rdx
	mov	BYTE PTR [rax], bl
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	sub	eax, 48
	sub	ecx, eax
	mov	r12d, ecx
	call	__ctype_b_loc@PLT
	mov	r13, QWORD PTR [rax]
	mov	rdi, QWORD PTR -40[rbp]
	call	getc@PLT
	mov	ebx, eax
	movsx	rax, bl
	add	rax, rax
	add	rax, r13
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 2048
	test	eax, eax
	jne	.L15
	jmp	.L16
.L14:
	mov	eax, r12d
	sal	eax, 2
	add	eax, r12d
	add	eax, eax
	mov	ecx, eax
	mov	rax, QWORD PTR op[rip]
	lea	rdx, 1[rax]
	mov	QWORD PTR op[rip], rdx
	mov	BYTE PTR [rax], bl
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	add	eax, ecx
	lea	r12d, -48[rax]
	call	__ctype_b_loc@PLT
	mov	r13, QWORD PTR [rax]
	mov	rdi, QWORD PTR -40[rbp]
	call	getc@PLT
	mov	ebx, eax
	movsx	rax, bl
	add	rax, rax
	add	rax, r13
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 2048
	test	eax, eax
	jne	.L14
.L16:
	movsx	eax, bl
	mov	rsi, QWORD PTR -40[rbp]
	mov	edi, eax
	call	ungetc@PLT
	mov	eax, r12d
	add	rsp, 24
	pop	rbx
	pop	r12
	pop	r13
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1:
	.size	getnumber, .-getnumber
	.globl	ngetnumber
	.type	ngetnumber, @function
ngetnumber:
.LFB2:
	.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
	sub	rsp, 24
	.cfi_offset 13, -24
	.cfi_offset 12, -32
	.cfi_offset 3, -40
	mov	QWORD PTR -40[rbp], rdi
	nop
.L19:
	call	__ctype_b_loc@PLT
	mov	r12, QWORD PTR [rax]
	mov	rdi, QWORD PTR -40[rbp]
	call	getc@PLT
	mov	ebx, eax
	movsx	rax, bl
	add	rax, rax
	add	rax, r12
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8192
	test	eax, eax
	jne	.L19
	mov	r12d, 0
	cmp	bl, 45
	jne	.L20
	mov	rdi, QWORD PTR -40[rbp]
	call	getc@PLT
	mov	ebx, eax
.L21:
	mov	eax, r12d
	sal	eax, 2
	add	eax, r12d
	add	eax, eax
	mov	edx, eax
	movsx	eax, bl
	sub	eax, 48
	sub	edx, eax
	mov	r12d, edx
	call	__ctype_b_loc@PLT
	mov	r13, QWORD PTR [rax]
	mov	rdi, QWORD PTR -40[rbp]
	call	getc@PLT
	mov	ebx, eax
	movsx	rax, bl
	add	rax, rax
	add	rax, r13
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 2048
	test	eax, eax
	jne	.L21
	jmp	.L22
.L20:
	mov	eax, r12d
	sal	eax, 2
	add	eax, r12d
	add	eax, eax
	mov	edx, eax
	movsx	eax, bl
	add	eax, edx
	lea	r12d, -48[rax]
	call	__ctype_b_loc@PLT
	mov	r13, QWORD PTR [rax]
	mov	rdi, QWORD PTR -40[rbp]
	call	getc@PLT
	mov	ebx, eax
	movsx	rax, bl
	add	rax, rax
	add	rax, r13
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 2048
	test	eax, eax
	jne	.L20
.L22:
	movsx	eax, bl
	mov	rsi, QWORD PTR -40[rbp]
	mov	edi, eax
	call	ungetc@PLT
	mov	eax, r12d
	add	rsp, 24
	pop	rbx
	pop	r12
	pop	r13
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE2:
	.size	ngetnumber, .-ngetnumber
	.section	.rodata
.LC3:
	.string	"buffer overflow %d."
.LC4:
	.string	"Ds "
.LC5:
	.string	"Dt "
.LC6:
	.string	"Dl %d %d"
.LC7:
	.string	"De %d %d"
.LC8:
	.string	"Dc %d"
.LC9:
	.string	"Da %d %d %d %d"
.LC10:
	.string	"Dl %d %d\n"
.LC11:
	.string	"H%dV%d"
.LC12:
	.string	"D%c "
.LC13:
	.string	"unknown drawing command %c"
.LC14:
	.string	"H%d"
.LC15:
	.string	"unknown input character %o %c"
	.text
	.globl	conv
	.type	conv, @function
conv:
.LFB3:
	.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, 1688
	.cfi_offset 15, -24
	.cfi_offset 14, -32
	.cfi_offset 13, -40
	.cfi_offset 12, -48
	.cfi_offset 3, -56
	mov	r12, rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -56[rbp], rax
	xor	eax, eax
	jmp	.L25
.L97:
	mov	eax, DWORD PTR obufsiz[rip]
	cdqe
	lea	rdx, obuf[rip]
	add	rdx, rax
	mov	rax, QWORD PTR op[rip]
	cmp	rdx, rax
	jnb	.L26
	mov	rax, QWORD PTR op[rip]
	mov	edx, DWORD PTR obufsiz[rip]
	movsx	rdx, edx
	lea	rcx, obuf[rip]
	add	rdx, rcx
	sub	rax, rdx
	mov	rdx, rax
	lea	rsi, .LC3[rip]
	mov	edi, 0
	mov	eax, 0
	call	error
	mov	eax, 0
	call	oflush
.L26:
	cmp	ebx, 125
	ja	.L27
	mov	eax, ebx
	lea	rdx, 0[0+rax*4]
	lea	rax, .L29[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L29[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L29:
	.long	.L25-.L29
	.long	.L27-.L29
	.long	.L27-.L29
	.long	.L27-.L29
	.long	.L27-.L29
	.long	.L27-.L29
	.long	.L27-.L29
	.long	.L27-.L29
	.long	.L27-.L29
	.long	.L48-.L29
	.long	.L48-.L29
	.long	.L27-.L29
	.long	.L27-.L29
	.long	.L27-.L29
	.long	.L27-.L29
	.long	.L27-.L29
	.long	.L27-.L29
	.long	.L27-.L29
	.long	.L27-.L29
	.long	.L27-.L29
	.long	.L27-.L29
	.long	.L27-.L29
	.long	.L27-.L29
	.long	.L27-.L29
	.long	.L27-.L29
	.long	.L27-.L29
	.long	.L27-.L29
	.long	.L27-.L29
	.long	.L27-.L29
	.long	.L27-.L29
	.long	.L27-.L29
	.long	.L27-.L29
	.long	.L48-.L29
	.long	.L27-.L29
	.long	.L27-.L29
	.long	.L94-.L29
	.long	.L27-.L29
	.long	.L27-.L29
	.long	.L27-.L29
	.long	.L27-.L29
	.long	.L27-.L29
	.long	.L27-.L29
	.long	.L27-.L29
	.long	.L27-.L29
	.long	.L27-.L29
	.long	.L27-.L29
	.long	.L27-.L29
	.long	.L27-.L29
	.long	.L46-.L29
	.long	.L46-.L29
	.long	.L46-.L29
	.long	.L46-.L29
	.long	.L46-.L29
	.long	.L46-.L29
	.long	.L46-.L29
	.long	.L46-.L29
	.long	.L46-.L29
	.long	.L46-.L29
	.long	.L27-.L29
	.long	.L27-.L29
	.long	.L27-.L29
	.long	.L27-.L29
	.long	.L27-.L29
	.long	.L27-.L29
	.long	.L27-.L29
	.long	.L27-.L29
	.long	.L27-.L29
	.long	.L45-.L29
	.long	.L44-.L29
	.long	.L27-.L29
	.long	.L27-.L29
	.long	.L27-.L29
	.long	.L43-.L29
	.long	.L27-.L29
	.long	.L27-.L29
	.long	.L27-.L29
	.long	.L27-.L29
	.long	.L27-.L29
	.long	.L27-.L29
	.long	.L27-.L29
	.long	.L27-.L29
	.long	.L27-.L29
	.long	.L27-.L29
	.long	.L27-.L29
	.long	.L27-.L29
	.long	.L27-.L29
	.long	.L42-.L29
	.long	.L27-.L29
	.long	.L27-.L29
	.long	.L27-.L29
	.long	.L27-.L29
	.long	.L27-.L29
	.long	.L27-.L29
	.long	.L27-.L29
	.long	.L27-.L29
	.long	.L27-.L29
	.long	.L27-.L29
	.long	.L27-.L29
	.long	.L27-.L29
	.long	.L41-.L29
	.long	.L27-.L29
	.long	.L27-.L29
	.long	.L40-.L29
	.long	.L27-.L29
	.long	.L39-.L29
	.long	.L38-.L29
	.long	.L27-.L29
	.long	.L27-.L29
	.long	.L27-.L29
	.long	.L27-.L29
	.long	.L37-.L29
	.long	.L27-.L29
	.long	.L36-.L29
	.long	.L27-.L29
	.long	.L27-.L29
	.long	.L35-.L29
	.long	.L34-.L29
	.long	.L27-.L29
	.long	.L33-.L29
	.long	.L25-.L29
	.long	.L31-.L29
	.long	.L27-.L29
	.long	.L27-.L29
	.long	.L30-.L29
	.long	.L27-.L29
	.long	.L28-.L29
	.text
.L48:
	mov	rax, QWORD PTR op[rip]
	lea	rdx, 1[rax]
	mov	QWORD PTR op[rip], rdx
	mov	edx, ebx
	mov	BYTE PTR [rax], dl
	jmp	.L25
.L30:
	mov	rax, QWORD PTR op[rip]
	lea	rdx, 1[rax]
	mov	QWORD PTR op[rip], rdx
	mov	edx, ebx
	mov	BYTE PTR [rax], dl
	mov	eax, 0
	call	t_push
	jmp	.L25
.L28:
	mov	rax, QWORD PTR op[rip]
	lea	rdx, 1[rax]
	mov	QWORD PTR op[rip], rdx
	mov	edx, ebx
	mov	BYTE PTR [rax], dl
	mov	eax, 0
	call	t_pop
	jmp	.L25
.L46:
	mov	edx, DWORD PTR vpos[rip]
	mov	eax, DWORD PTR down[rip]
	add	edx, eax
	mov	eax, DWORD PTR vpos[rip]
	mov	ecx, DWORD PTR up[rip]
	sub	eax, ecx
	mov	esi, edx
	mov	edi, eax
	mov	eax, 0
	call	setlimit
	mov	rax, QWORD PTR op[rip]
	lea	rdx, 1[rax]
	mov	QWORD PTR op[rip], rdx
	mov	edx, ebx
	mov	BYTE PTR [rax], dl
	lea	edx, -48[rbx]
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	mov	ebx, eax
	mov	rdi, r12
	call	getc@PLT
	mov	ecx, eax
	mov	rax, QWORD PTR op[rip]
	lea	rdx, 1[rax]
	mov	QWORD PTR op[rip], rdx
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	add	eax, ebx
	lea	edx, -48[rax]
	mov	eax, DWORD PTR hpos[rip]
	add	eax, edx
	mov	DWORD PTR hpos[rip], eax
	mov	edx, DWORD PTR hpos[rip]
	mov	eax, DWORD PTR maxh[rip]
	cmp	edx, eax
	jle	.L50
	mov	eax, DWORD PTR hpos[rip]
	mov	DWORD PTR maxh[rip], eax
.L50:
	mov	rdi, r12
	call	getc@PLT
	mov	ecx, eax
	mov	rax, QWORD PTR op[rip]
	lea	rdx, 1[rax]
	mov	QWORD PTR op[rip], rdx
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
	jmp	.L25
.L41:
	mov	edx, DWORD PTR vpos[rip]
	mov	eax, DWORD PTR down[rip]
	add	edx, eax
	mov	eax, DWORD PTR vpos[rip]
	mov	ecx, DWORD PTR up[rip]
	sub	eax, ecx
	mov	esi, edx
	mov	edi, eax
	mov	eax, 0
	call	setlimit
	mov	rax, QWORD PTR op[rip]
	lea	rdx, 1[rax]
	mov	QWORD PTR op[rip], rdx
	mov	edx, ebx
	mov	BYTE PTR [rax], dl
	mov	rdi, r12
	call	getc@PLT
	mov	ecx, eax
	mov	rax, QWORD PTR op[rip]
	lea	rdx, 1[rax]
	mov	QWORD PTR op[rip], rdx
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
	jmp	.L25
.L45:
	mov	edx, DWORD PTR vpos[rip]
	mov	eax, DWORD PTR down[rip]
	add	edx, eax
	mov	eax, DWORD PTR vpos[rip]
	mov	ecx, DWORD PTR up[rip]
	sub	eax, ecx
	mov	esi, edx
	mov	edi, eax
	mov	eax, 0
	call	setlimit
	mov	rax, QWORD PTR op[rip]
	lea	rdx, 1[rax]
	mov	QWORD PTR op[rip], rdx
	mov	edx, ebx
	mov	BYTE PTR [rax], dl
.L52:
	mov	rdi, r12
	call	getc@PLT
	mov	ebx, eax
	mov	rax, QWORD PTR op[rip]
	lea	rdx, 1[rax]
	mov	QWORD PTR op[rip], rdx
	mov	edx, ebx
	mov	BYTE PTR [rax], dl
	cmp	ebx, -1
	je	.L25
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	movsx	rax, ebx
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8192
	test	eax, eax
	je	.L52
	jmp	.L25
.L34:
	mov	edx, DWORD PTR vpos[rip]
	mov	eax, DWORD PTR down[rip]
	add	edx, eax
	mov	eax, DWORD PTR vpos[rip]
	mov	ecx, DWORD PTR up[rip]
	sub	eax, ecx
	mov	esi, edx
	mov	edi, eax
	mov	eax, 0
	call	setlimit
	mov	rax, QWORD PTR op[rip]
	lea	rdx, 1[rax]
	mov	QWORD PTR op[rip], rdx
	mov	edx, ebx
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR op[rip]
	mov	rdx, r12
	mov	esi, 1000
	mov	rdi, rax
	call	fgets@PLT
	mov	rbx, QWORD PTR op[rip]
	mov	rax, QWORD PTR op[rip]
	mov	rdi, rax
	call	strlen@PLT
	add	rax, rbx
	mov	QWORD PTR op[rip], rax
	jmp	.L25
.L44:
	mov	rdi, r12
	call	getc@PLT
	mov	ebx, eax
	lea	eax, -80[rbx]
	cmp	eax, 46
	ja	.L53
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L55[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L55[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L55:
	.long	.L58-.L55
	.long	.L53-.L55
	.long	.L53-.L55
	.long	.L53-.L55
	.long	.L53-.L55
	.long	.L53-.L55
	.long	.L53-.L55
	.long	.L53-.L55
	.long	.L53-.L55
	.long	.L53-.L55
	.long	.L53-.L55
	.long	.L53-.L55
	.long	.L53-.L55
	.long	.L53-.L55
	.long	.L53-.L55
	.long	.L53-.L55
	.long	.L53-.L55
	.long	.L62-.L55
	.long	.L53-.L55
	.long	.L61-.L55
	.long	.L53-.L55
	.long	.L60-.L55
	.long	.L53-.L55
	.long	.L54-.L55
	.long	.L53-.L55
	.long	.L53-.L55
	.long	.L53-.L55
	.long	.L53-.L55
	.long	.L59-.L55
	.long	.L53-.L55
	.long	.L53-.L55
	.long	.L53-.L55
	.long	.L58-.L55
	.long	.L53-.L55
	.long	.L53-.L55
	.long	.L57-.L55
	.long	.L56-.L55
	.long	.L53-.L55
	.long	.L53-.L55
	.long	.L53-.L55
	.long	.L53-.L55
	.long	.L53-.L55
	.long	.L53-.L55
	.long	.L53-.L55
	.long	.L53-.L55
	.long	.L53-.L55
	.long	.L54-.L55
	.text
.L57:
	mov	rax, QWORD PTR op[rip]
	lea	rsi, .LC4[rip]
	mov	rdi, rax
	mov	eax, 0
	call	sprintf@PLT
	mov	rax, QWORD PTR op[rip]
	add	rax, 3
	mov	QWORD PTR op[rip], rax
	mov	rdi, r12
	mov	eax, 0
	call	getnumber
	mov	DWORD PTR style[rip], eax
	jmp	.L63
.L56:
	mov	rax, QWORD PTR op[rip]
	lea	rsi, .LC5[rip]
	mov	rdi, rax
	mov	eax, 0
	call	sprintf@PLT
	mov	rax, QWORD PTR op[rip]
	add	rax, 3
	mov	QWORD PTR op[rip], rax
	mov	rdi, r12
	mov	eax, 0
	call	getnumber
	mov	DWORD PTR thick[rip], eax
	jmp	.L63
.L59:
	mov	rdi, r12
	mov	eax, 0
	call	ngetnumber
	mov	DWORD PTR -1684[rbp], eax
	mov	rdi, r12
	mov	eax, 0
	call	ngetnumber
	mov	DWORD PTR -1688[rbp], eax
	cmp	DWORD PTR -1688[rbp], 0
	jns	.L64
	mov	eax, DWORD PTR thick[rip]
	mov	edx, eax
	shr	edx, 31
	add	eax, edx
	sar	eax
	mov	edx, eax
	mov	eax, DWORD PTR vpos[rip]
	add	edx, eax
	mov	ecx, DWORD PTR vpos[rip]
	mov	eax, DWORD PTR -1688[rbp]
	add	ecx, eax
	mov	eax, DWORD PTR thick[rip]
	mov	esi, eax
	shr	esi, 31
	add	eax, esi
	sar	eax
	neg	eax
	add	eax, ecx
	mov	esi, edx
	mov	edi, eax
	mov	eax, 0
	call	setlimit
	jmp	.L65
.L64:
	mov	eax, DWORD PTR vpos[rip]
	lea	edx, 1[rax]
	mov	eax, DWORD PTR -1688[rbp]
	add	edx, eax
	mov	eax, DWORD PTR thick[rip]
	mov	ecx, eax
	shr	ecx, 31
	add	eax, ecx
	sar	eax
	add	edx, eax
	mov	ecx, DWORD PTR vpos[rip]
	mov	eax, DWORD PTR thick[rip]
	mov	esi, eax
	shr	esi, 31
	add	eax, esi
	sar	eax
	lea	esi, 1[rax]
	mov	eax, ecx
	sub	eax, esi
	mov	esi, edx
	mov	edi, eax
	mov	eax, 0
	call	setlimit
.L65:
	mov	rax, QWORD PTR op[rip]
	mov	ecx, DWORD PTR -1688[rbp]
	mov	edx, DWORD PTR -1684[rbp]
	lea	rsi, .LC6[rip]
	mov	rdi, rax
	mov	eax, 0
	call	sprintf@PLT
	mov	rbx, QWORD PTR op[rip]
	mov	rax, QWORD PTR op[rip]
	mov	rdi, rax
	call	strlen@PLT
	add	rax, rbx
	mov	QWORD PTR op[rip], rax
	mov	edx, DWORD PTR hpos[rip]
	mov	eax, DWORD PTR -1684[rbp]
	add	eax, edx
	mov	DWORD PTR hpos[rip], eax
	mov	edx, DWORD PTR hpos[rip]
	mov	eax, DWORD PTR maxh[rip]
	cmp	edx, eax
	jle	.L66
	mov	eax, DWORD PTR hpos[rip]
	mov	DWORD PTR maxh[rip], eax
.L66:
	mov	edx, DWORD PTR vpos[rip]
	mov	eax, DWORD PTR -1688[rbp]
	add	eax, edx
	mov	DWORD PTR vpos[rip], eax
	jmp	.L63
.L60:
	mov	rdi, r12
	mov	eax, 0
	call	ngetnumber
	mov	DWORD PTR -1684[rbp], eax
	mov	rdi, r12
	mov	eax, 0
	call	ngetnumber
	mov	DWORD PTR -1688[rbp], eax
	mov	edx, DWORD PTR thick[rip]
	mov	eax, DWORD PTR -1688[rbp]
	add	eax, edx
	mov	edx, eax
	shr	edx, 31
	add	eax, edx
	sar	eax
	mov	edx, eax
	mov	eax, DWORD PTR vpos[rip]
	add	edx, eax
	mov	ecx, DWORD PTR thick[rip]
	mov	eax, DWORD PTR -1688[rbp]
	add	eax, ecx
	mov	ecx, eax
	shr	ecx, 31
	add	eax, ecx
	sar	eax
	neg	eax
	mov	ecx, eax
	mov	eax, DWORD PTR vpos[rip]
	add	eax, ecx
	mov	esi, edx
	mov	edi, eax
	mov	eax, 0
	call	setlimit
	mov	rax, QWORD PTR op[rip]
	mov	ecx, DWORD PTR -1688[rbp]
	mov	edx, DWORD PTR -1684[rbp]
	lea	rsi, .LC7[rip]
	mov	rdi, rax
	mov	eax, 0
	call	sprintf@PLT
	mov	rbx, QWORD PTR op[rip]
	mov	rax, QWORD PTR op[rip]
	mov	rdi, rax
	call	strlen@PLT
	add	rax, rbx
	mov	QWORD PTR op[rip], rax
	mov	edx, DWORD PTR hpos[rip]
	mov	eax, DWORD PTR -1684[rbp]
	add	eax, edx
	mov	DWORD PTR hpos[rip], eax
	mov	edx, DWORD PTR hpos[rip]
	mov	eax, DWORD PTR maxh[rip]
	cmp	edx, eax
	jle	.L99
	mov	eax, DWORD PTR hpos[rip]
	mov	DWORD PTR maxh[rip], eax
	jmp	.L99
.L61:
	mov	rdi, r12
	mov	eax, 0
	call	ngetnumber
	mov	DWORD PTR -1684[rbp], eax
	mov	edx, DWORD PTR thick[rip]
	mov	eax, DWORD PTR -1684[rbp]
	add	eax, edx
	mov	edx, eax
	shr	edx, 31
	add	eax, edx
	sar	eax
	mov	edx, eax
	mov	eax, DWORD PTR vpos[rip]
	add	edx, eax
	mov	ecx, DWORD PTR thick[rip]
	mov	eax, DWORD PTR -1684[rbp]
	add	eax, ecx
	mov	ecx, eax
	shr	ecx, 31
	add	eax, ecx
	sar	eax
	neg	eax
	mov	ecx, eax
	mov	eax, DWORD PTR vpos[rip]
	add	eax, ecx
	mov	esi, edx
	mov	edi, eax
	mov	eax, 0
	call	setlimit
	mov	rax, QWORD PTR op[rip]
	mov	edx, DWORD PTR -1684[rbp]
	lea	rsi, .LC8[rip]
	mov	rdi, rax
	mov	eax, 0
	call	sprintf@PLT
	mov	rbx, QWORD PTR op[rip]
	mov	rax, QWORD PTR op[rip]
	mov	rdi, rax
	call	strlen@PLT
	add	rax, rbx
	mov	QWORD PTR op[rip], rax
	mov	edx, DWORD PTR hpos[rip]
	mov	eax, DWORD PTR -1684[rbp]
	add	eax, edx
	mov	DWORD PTR hpos[rip], eax
	mov	edx, DWORD PTR hpos[rip]
	mov	eax, DWORD PTR maxh[rip]
	cmp	edx, eax
	jle	.L100
	mov	eax, DWORD PTR hpos[rip]
	mov	DWORD PTR maxh[rip], eax
	jmp	.L100
.L62:
	mov	rdi, r12
	mov	eax, 0
	call	getnumber
	mov	DWORD PTR -1684[rbp], eax
	mov	rdi, r12
	mov	eax, 0
	call	getnumber
	mov	DWORD PTR -1688[rbp], eax
	mov	rdi, r12
	mov	eax, 0
	call	getnumber
	mov	DWORD PTR -1676[rbp], eax
	mov	rdi, r12
	mov	eax, 0
	call	getnumber
	mov	DWORD PTR -1672[rbp], eax
	mov	ecx, DWORD PTR -1672[rbp]
	mov	edx, DWORD PTR -1676[rbp]
	mov	esi, DWORD PTR -1688[rbp]
	mov	eax, DWORD PTR -1684[rbp]
	mov	edi, eax
	mov	eax, 0
	call	arcbounds
	mov	rax, QWORD PTR op[rip]
	mov	edi, DWORD PTR -1672[rbp]
	mov	esi, DWORD PTR -1676[rbp]
	mov	ecx, DWORD PTR -1688[rbp]
	mov	edx, DWORD PTR -1684[rbp]
	mov	r9d, edi
	mov	r8d, esi
	lea	rsi, .LC9[rip]
	mov	rdi, rax
	mov	eax, 0
	call	sprintf@PLT
	mov	rbx, QWORD PTR op[rip]
	mov	rax, QWORD PTR op[rip]
	mov	rdi, rax
	call	strlen@PLT
	add	rax, rbx
	mov	QWORD PTR op[rip], rax
	mov	edx, DWORD PTR -1684[rbp]
	mov	eax, DWORD PTR -1676[rbp]
	add	edx, eax
	mov	eax, DWORD PTR hpos[rip]
	add	eax, edx
	mov	DWORD PTR hpos[rip], eax
	mov	edx, DWORD PTR hpos[rip]
	mov	eax, DWORD PTR maxh[rip]
	cmp	edx, eax
	jle	.L69
	mov	eax, DWORD PTR hpos[rip]
	mov	DWORD PTR maxh[rip], eax
.L69:
	mov	edx, DWORD PTR -1688[rbp]
	mov	eax, DWORD PTR -1672[rbp]
	add	edx, eax
	mov	eax, DWORD PTR vpos[rip]
	add	eax, edx
	mov	DWORD PTR vpos[rip], eax
	jmp	.L63
.L58:
	cmp	ebx, 112
	sete	al
	movzx	eax, al
	mov	DWORD PTR -1680[rbp], eax
	mov	rdi, r12
	mov	eax, 0
	call	ngetnumber
	mov	DWORD PTR -1668[rbp], eax
	mov	r13d, 1
	mov	eax, DWORD PTR hpos[rip]
	mov	DWORD PTR -1660[rbp], eax
	mov	eax, DWORD PTR vpos[rip]
	mov	DWORD PTR -860[rbp], eax
	mov	eax, DWORD PTR vpos[rip]
	mov	DWORD PTR -1684[rbp], eax
	mov	eax, DWORD PTR -1684[rbp]
	mov	DWORD PTR -1688[rbp], eax
	mov	r15d, DWORD PTR hpos[rip]
	mov	r14d, DWORD PTR vpos[rip]
.L74:
	mov	rdi, r12
	mov	eax, 0
	call	ngetnumber
	add	r15d, eax
	mov	rdi, r12
	mov	eax, 0
	call	ngetnumber
	add	r14d, eax
	cmp	r14d, DWORD PTR -1684[rbp]
	jge	.L70
	mov	DWORD PTR -1684[rbp], r14d
	jmp	.L71
.L70:
	cmp	r14d, DWORD PTR -1688[rbp]
	jle	.L71
	mov	DWORD PTR -1688[rbp], r14d
.L71:
	cmp	r13d, 198
	jg	.L72
	add	r13d, 1
.L72:
	movsx	rax, r13d
	mov	DWORD PTR -1664[rbp+rax*4], r15d
	movsx	rax, r13d
	mov	DWORD PTR -864[rbp+rax*4], r14d
	mov	rdi, r12
	call	getc@PLT
	mov	ebx, eax
	cmp	ebx, 10
	je	.L73
	cmp	ebx, -1
	jne	.L74
.L73:
	cmp	DWORD PTR -1680[rbp], 0
	je	.L75
	mov	eax, DWORD PTR thick[rip]
	mov	edx, eax
	shr	edx, 31
	add	eax, edx
	sar	eax
	mov	DWORD PTR -1716[rbp], eax
	lea	rax, -1664[rbp]
	mov	QWORD PTR -1704[rbp], rax
	lea	rax, -1664[rbp]
	add	rax, 4
	mov	QWORD PTR -1712[rbp], rax
	lea	r15, -864[rbp]
	lea	rax, -864[rbp]
	lea	r14, 4[rax]
	mov	DWORD PTR -1680[rbp], 0
	jmp	.L76
.L80:
	add	r15, 4
	mov	edx, DWORD PTR [r15]
	add	r14, 4
	mov	eax, DWORD PTR [r14]
	cmp	edx, eax
	jle	.L77
	mov	eax, DWORD PTR vpos[rip]
	mov	esi, DWORD PTR -1716[rbp]
	lea	edx, [rsi+rax]
	mov	eax, DWORD PTR [r14]
	sub	eax, esi
	mov	esi, edx
	mov	edi, eax
	mov	eax, 0
	call	setlimit
	jmp	.L78
.L77:
	mov	eax, DWORD PTR [r14]
	add	eax, 1
	mov	esi, DWORD PTR -1716[rbp]
	lea	edx, [rsi+rax]
	mov	eax, DWORD PTR vpos[rip]
	lea	ecx, 1[rsi]
	sub	eax, ecx
	mov	esi, edx
	mov	edi, eax
	mov	eax, 0
	call	setlimit
.L78:
	mov	eax, DWORD PTR [r14]
	mov	ecx, DWORD PTR [r15]
	sub	eax, ecx
	mov	edx, eax
	add	QWORD PTR -1712[rbp], 4
	mov	rax, QWORD PTR -1712[rbp]
	mov	QWORD PTR -1712[rbp], rax
	mov	eax, DWORD PTR [rax]
	add	QWORD PTR -1704[rbp], 4
	mov	rsi, QWORD PTR -1704[rbp]
	mov	QWORD PTR -1704[rbp], rsi
	mov	ecx, DWORD PTR [rsi]
	sub	eax, ecx
	mov	ebx, eax
	mov	rax, QWORD PTR op[rip]
	mov	ecx, edx
	mov	edx, ebx
	lea	rsi, .LC10[rip]
	mov	rdi, rax
	mov	eax, 0
	call	sprintf@PLT
	mov	rax, QWORD PTR op[rip]
	mov	QWORD PTR -1728[rbp], rax
	mov	rax, QWORD PTR op[rip]
	mov	rdi, rax
	call	strlen@PLT
	add	rax, QWORD PTR -1728[rbp]
	mov	QWORD PTR op[rip], rax
	mov	eax, DWORD PTR hpos[rip]
	add	eax, ebx
	mov	DWORD PTR hpos[rip], eax
	mov	edx, DWORD PTR hpos[rip]
	mov	eax, DWORD PTR maxh[rip]
	cmp	edx, eax
	jle	.L79
	mov	eax, DWORD PTR hpos[rip]
	mov	DWORD PTR maxh[rip], eax
.L79:
	mov	eax, DWORD PTR [r14]
	mov	DWORD PTR vpos[rip], eax
.L76:
	add	DWORD PTR -1680[rbp], 1
	cmp	DWORD PTR -1680[rbp], r13d
	jl	.L80
	jmp	.L81
.L75:
	lea	rbx, -1664[rbp]
	lea	rax, -1664[rbp]
	lea	r14, 4[rax]
	mov	r15d, 0
	jmp	.L82
.L83:
	add	r14, 4
	mov	eax, DWORD PTR [r14]
	add	rbx, 4
	mov	edx, DWORD PTR [rbx]
	sub	eax, edx
	mov	ecx, eax
	mov	eax, DWORD PTR hpos[rip]
	add	eax, ecx
	mov	DWORD PTR hpos[rip], eax
	mov	edx, DWORD PTR hpos[rip]
	mov	eax, DWORD PTR maxh[rip]
	cmp	edx, eax
	jle	.L82
	mov	eax, DWORD PTR hpos[rip]
	mov	DWORD PTR maxh[rip], eax
.L82:
	add	r15d, 1
	cmp	r15d, r13d
	jl	.L83
	movsx	rax, r13d
	mov	eax, DWORD PTR -864[rbp+rax*4]
	mov	DWORD PTR vpos[rip], eax
	mov	ecx, DWORD PTR vpos[rip]
	mov	edx, DWORD PTR hpos[rip]
	mov	rax, QWORD PTR op[rip]
	lea	rsi, .LC11[rip]
	mov	rdi, rax
	mov	eax, 0
	call	sprintf@PLT
	mov	rbx, QWORD PTR op[rip]
	mov	rax, QWORD PTR op[rip]
	mov	rdi, rax
	call	strlen@PLT
	add	rax, rbx
	mov	QWORD PTR op[rip], rax
.L81:
	cmp	DWORD PTR -1668[rbp], 0
	je	.L101
	mov	edi, DWORD PTR -1684[rbp]
	mov	esi, DWORD PTR -1688[rbp]
	lea	rcx, -864[rbp]
	lea	rdx, -1664[rbp]
	mov	eax, DWORD PTR -1668[rbp]
	mov	r9d, edi
	mov	r8d, esi
	mov	esi, r13d
	mov	edi, eax
	mov	eax, 0
	call	polygon
	jmp	.L101
.L54:
	mov	eax, DWORD PTR vpos[rip]
	mov	edi, eax
	mov	eax, 0
	call	startspan
	mov	rax, QWORD PTR op[rip]
	mov	edx, ebx
	lea	rsi, .LC12[rip]
	mov	rdi, rax
	mov	eax, 0
	call	sprintf@PLT
	mov	rax, QWORD PTR op[rip]
	add	rax, 3
	mov	QWORD PTR op[rip], rax
	mov	eax, DWORD PTR vpos[rip]
	mov	DWORD PTR -1684[rbp], eax
	mov	eax, DWORD PTR -1684[rbp]
	mov	DWORD PTR -1688[rbp], eax
.L88:
	mov	rdi, r12
	mov	eax, 0
	call	getnumber
	mov	edx, DWORD PTR hpos[rip]
	add	eax, edx
	mov	DWORD PTR hpos[rip], eax
	mov	rax, QWORD PTR op[rip]
	lea	rdx, 1[rax]
	mov	QWORD PTR op[rip], rdx
	mov	BYTE PTR [rax], 32
	mov	rdi, r12
	mov	eax, 0
	call	getnumber
	mov	edx, DWORD PTR vpos[rip]
	add	eax, edx
	mov	DWORD PTR vpos[rip], eax
	mov	rax, QWORD PTR op[rip]
	lea	rdx, 1[rax]
	mov	QWORD PTR op[rip], rdx
	mov	BYTE PTR [rax], 32
	mov	eax, DWORD PTR vpos[rip]
	cmp	DWORD PTR -1684[rbp], eax
	jle	.L85
	mov	eax, DWORD PTR vpos[rip]
	mov	DWORD PTR -1684[rbp], eax
	jmp	.L86
.L85:
	mov	eax, DWORD PTR vpos[rip]
	cmp	DWORD PTR -1688[rbp], eax
	jge	.L86
	mov	eax, DWORD PTR vpos[rip]
	mov	DWORD PTR -1688[rbp], eax
.L86:
	mov	rdi, r12
	call	getc@PLT
	mov	ebx, eax
	cmp	ebx, 10
	je	.L87
	cmp	ebx, -1
	jne	.L88
.L87:
	mov	eax, 0
	cmp	DWORD PTR -1684[rbp], 0
	cmovns	eax, DWORD PTR -1684[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR vlp[rip]
	mov	WORD PTR 8[rax], dx
	mov	rax, QWORD PTR vlp[rip]
	mov	edx, DWORD PTR -1688[rbp]
	mov	WORD PTR 10[rax], dx
	mov	rax, QWORD PTR op[rip]
	lea	rdx, 1[rax]
	mov	QWORD PTR op[rip], rdx
	mov	BYTE PTR [rax], 10
	mov	eax, DWORD PTR vpos[rip]
	mov	edi, eax
	mov	eax, 0
	call	startspan
	jmp	.L63
.L53:
	mov	edx, ebx
	lea	rsi, .LC13[rip]
	mov	edi, 1
	mov	eax, 0
	call	error
	jmp	.L63
.L99:
	nop
	jmp	.L25
.L100:
	nop
	jmp	.L25
.L101:
	nop
.L63:
	jmp	.L25
.L35:
	mov	rax, QWORD PTR op[rip]
	lea	rdx, 1[rax]
	mov	QWORD PTR op[rip], rdx
	mov	edx, ebx
	mov	BYTE PTR [rax], dl
	mov	rdi, r12
	mov	eax, 0
	call	getnumber
	mov	DWORD PTR size[rip], eax
	mov	eax, DWORD PTR size[rip]
	add	eax, 1
	imul	eax, eax, 200
	movsx	rdx, eax
	imul	rdx, rdx, 954437177
	shr	rdx, 32
	sar	edx, 4
	sar	eax, 31
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	mov	DWORD PTR up[rip], eax
	mov	eax, DWORD PTR up[rip]
	movsx	rdx, eax
	imul	rdx, rdx, 1431655766
	shr	rdx, 32
	sar	eax, 31
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	mov	DWORD PTR down[rip], eax
	jmp	.L25
.L40:
	mov	rax, QWORD PTR op[rip]
	lea	rdx, 1[rax]
	mov	QWORD PTR op[rip], rdx
	mov	edx, ebx
	mov	BYTE PTR [rax], dl
	mov	rdi, r12
	mov	eax, 0
	call	getnumber
	mov	DWORD PTR font[rip], eax
	jmp	.L25
.L38:
	mov	rax, QWORD PTR op[rip]
	lea	rdx, 1[rax]
	mov	QWORD PTR op[rip], rdx
	mov	edx, ebx
	mov	BYTE PTR [rax], dl
	mov	rdi, r12
	mov	eax, 0
	call	getnumber
	mov	DWORD PTR stip[rip], eax
	jmp	.L25
.L43:
	mov	rdi, r12
	mov	eax, 0
	call	ngetnumber
	mov	edx, DWORD PTR leftmarg[rip]
	add	eax, edx
	mov	DWORD PTR hpos[rip], eax
	mov	edx, DWORD PTR hpos[rip]
	mov	eax, DWORD PTR maxh[rip]
	cmp	edx, eax
	jle	.L89
	mov	eax, DWORD PTR hpos[rip]
	mov	DWORD PTR maxh[rip], eax
.L89:
	mov	edx, DWORD PTR hpos[rip]
	mov	rax, QWORD PTR op[rip]
	lea	rsi, .LC14[rip]
	mov	rdi, rax
	mov	eax, 0
	call	sprintf@PLT
	mov	rbx, QWORD PTR op[rip]
	mov	rax, QWORD PTR op[rip]
	mov	rdi, rax
	call	strlen@PLT
	add	rax, rbx
	mov	QWORD PTR op[rip], rax
	jmp	.L25
.L39:
	mov	rax, QWORD PTR op[rip]
	lea	rdx, 1[rax]
	mov	QWORD PTR op[rip], rdx
	mov	edx, ebx
	mov	BYTE PTR [rax], dl
	mov	rdi, r12
	mov	eax, 0
	call	getnumber
	mov	edx, DWORD PTR hpos[rip]
	add	eax, edx
	mov	DWORD PTR hpos[rip], eax
	mov	edx, DWORD PTR hpos[rip]
	mov	eax, DWORD PTR maxh[rip]
	cmp	edx, eax
	jle	.L25
	mov	eax, DWORD PTR hpos[rip]
	mov	DWORD PTR maxh[rip], eax
	jmp	.L25
.L42:
	mov	rax, QWORD PTR op[rip]
	lea	rdx, 1[rax]
	mov	QWORD PTR op[rip], rdx
	mov	edx, ebx
	mov	BYTE PTR [rax], dl
	mov	rdi, r12
	mov	eax, 0
	call	getnumber
	mov	DWORD PTR vpos[rip], eax
	jmp	.L25
.L33:
	mov	rax, QWORD PTR op[rip]
	lea	rdx, 1[rax]
	mov	QWORD PTR op[rip], rdx
	mov	edx, ebx
	mov	BYTE PTR [rax], dl
	mov	rdi, r12
	mov	eax, 0
	call	getnumber
	mov	edx, DWORD PTR vpos[rip]
	add	eax, edx
	mov	DWORD PTR vpos[rip], eax
	jmp	.L25
.L36:
	mov	rdi, r12
	mov	eax, 0
	call	ngetnumber
	mov	edi, eax
	mov	eax, 0
	call	t_page
	mov	DWORD PTR vpos[rip], 0
	jmp	.L25
.L37:
	mov	eax, DWORD PTR leftmarg[rip]
	mov	DWORD PTR hpos[rip], eax
	mov	rax, QWORD PTR op[rip]
	lea	rdx, 1[rax]
	mov	QWORD PTR op[rip], rdx
	mov	edx, ebx
	mov	BYTE PTR [rax], dl
.L92:
	mov	rdi, r12
	call	getc@PLT
	mov	ebx, eax
	mov	rax, QWORD PTR op[rip]
	lea	rdx, 1[rax]
	mov	QWORD PTR op[rip], rdx
	mov	edx, ebx
	mov	BYTE PTR [rax], dl
	cmp	ebx, 10
	je	.L25
	cmp	ebx, -1
	jne	.L92
	jmp	.L25
.L102:
	nop
.L94:
	mov	rdi, r12
	call	getc@PLT
	mov	ebx, eax
	cmp	ebx, 10
	je	.L25
	cmp	ebx, -1
	jne	.L102
	jmp	.L25
.L31:
	mov	eax, DWORD PTR vpos[rip]
	mov	edi, eax
	mov	eax, 0
	call	startspan
	mov	rax, QWORD PTR op[rip]
	lea	rdx, 1[rax]
	mov	QWORD PTR op[rip], rdx
	mov	edx, ebx
	mov	BYTE PTR [rax], dl
.L96:
	mov	rdi, r12
	call	getc@PLT
	mov	ebx, eax
	mov	rax, QWORD PTR op[rip]
	lea	rdx, 1[rax]
	mov	QWORD PTR op[rip], rdx
	mov	edx, ebx
	mov	BYTE PTR [rax], dl
	cmp	ebx, 10
	je	.L25
	cmp	ebx, -1
	jne	.L96
	jmp	.L25
.L27:
	mov	ecx, ebx
	mov	edx, ebx
	lea	rsi, .LC15[rip]
	mov	edi, 0
	mov	eax, 0
	call	error
	mov	eax, 0
	call	done
.L25:
	mov	rdi, r12
	call	getc@PLT
	mov	ebx, eax
	cmp	ebx, -1
	jne	.L97
	nop
	mov	rsi, QWORD PTR -56[rbp]
	sub	rsi, QWORD PTR fs:40
	je	.L98
	call	__stack_chk_fail@PLT
.L98:
	add	rsp, 1688
	pop	rbx
	pop	r12
	pop	r13
	pop	r14
	pop	r15
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE3:
	.size	conv, .-conv
	.globl	setlimit
	.type	setlimit, @function
setlimit:
.LFB4:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	r14
	push	r13
	push	r12
	push	rbx
	.cfi_offset 14, -24
	.cfi_offset 13, -32
	.cfi_offset 12, -40
	.cfi_offset 3, -48
	mov	r12d, edi
	mov	ebx, esi
	mov	rax, QWORD PTR vlp[rip]
	movzx	eax, WORD PTR 8[rax]
	movzx	r14d, ax
	mov	rax, QWORD PTR vlp[rip]
	movzx	eax, WORD PTR 10[rax]
	movzx	r13d, ax
	test	r12d, r12d
	jns	.L104
	mov	r12d, 0
.L104:
	test	ebx, ebx
	jns	.L105
	mov	ebx, 0
.L105:
	movsx	rax, r14d
	imul	rax, rax, 1374389535
	shr	rax, 32
	sar	eax, 6
	mov	ecx, r14d
	sar	ecx, 31
	sub	eax, ecx
	mov	edx, eax
	movsx	rax, r13d
	imul	rax, rax, 1374389535
	shr	rax, 32
	sar	eax, 6
	mov	ecx, r13d
	sar	ecx, 31
	sub	eax, ecx
	cmp	edx, eax
	je	.L106
	movsx	rax, r12d
	imul	rax, rax, 1374389535
	shr	rax, 32
	sar	eax, 6
	mov	ecx, r12d
	sar	ecx, 31
	sub	eax, ecx
	mov	edx, eax
	movsx	rax, r14d
	imul	rax, rax, 1374389535
	shr	rax, 32
	sar	eax, 6
	mov	ecx, r14d
	sar	ecx, 31
	sub	eax, ecx
	cmp	edx, eax
	jne	.L107
	movsx	rax, ebx
	imul	rax, rax, 1374389535
	shr	rax, 32
	sar	eax, 6
	mov	ecx, ebx
	sar	ecx, 31
	sub	eax, ecx
	mov	edx, eax
	movsx	rax, r13d
	imul	rax, rax, 1374389535
	shr	rax, 32
	sar	eax, 6
	mov	ecx, r13d
	sar	ecx, 31
	sub	eax, ecx
	cmp	edx, eax
	je	.L108
.L107:
	mov	eax, DWORD PTR vpos[rip]
	mov	edi, eax
	mov	eax, 0
	call	startspan
	mov	rax, QWORD PTR vlp[rip]
	mov	edx, r12d
	mov	WORD PTR 8[rax], dx
	mov	rax, QWORD PTR vlp[rip]
	mov	edx, ebx
	mov	WORD PTR 10[rax], dx
	jmp	.L111
.L108:
	cmp	r12d, r14d
	jge	.L110
	mov	rax, QWORD PTR vlp[rip]
	mov	edx, r12d
	mov	WORD PTR 8[rax], dx
.L110:
	cmp	ebx, r13d
	jle	.L111
	mov	rax, QWORD PTR vlp[rip]
	mov	edx, ebx
	mov	WORD PTR 10[rax], dx
	jmp	.L111
.L106:
	cmp	r12d, r14d
	jge	.L112
	mov	rax, QWORD PTR vlp[rip]
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	cmp	r14d, eax
	jne	.L113
	mov	rax, QWORD PTR vlp[rip]
	mov	edx, r12d
	mov	WORD PTR 8[rax], dx
	jmp	.L112
.L113:
	movsx	rax, r12d
	imul	rax, rax, 1374389535
	shr	rax, 32
	sar	eax, 6
	mov	ecx, r12d
	sar	ecx, 31
	sub	eax, ecx
	mov	edx, eax
	movsx	rax, r14d
	imul	rax, rax, 1374389535
	shr	rax, 32
	sar	eax, 6
	mov	ecx, r14d
	sar	ecx, 31
	sub	eax, ecx
	cmp	edx, eax
	je	.L114
	mov	eax, DWORD PTR vpos[rip]
	mov	edi, eax
	mov	eax, 0
	call	startspan
	mov	rax, QWORD PTR vlp[rip]
	mov	edx, r12d
	mov	WORD PTR 8[rax], dx
	mov	rax, QWORD PTR vlp[rip]
	mov	edx, ebx
	mov	WORD PTR 10[rax], dx
	jmp	.L111
.L114:
	mov	rax, QWORD PTR vlp[rip]
	mov	edx, r12d
	mov	WORD PTR 8[rax], dx
.L112:
	cmp	ebx, r13d
	jle	.L111
	mov	rax, QWORD PTR vlp[rip]
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	cmp	r13d, eax
	jne	.L115
	mov	rax, QWORD PTR vlp[rip]
	mov	edx, ebx
	mov	WORD PTR 10[rax], dx
	jmp	.L111
.L115:
	movsx	rax, ebx
	imul	rax, rax, 1374389535
	shr	rax, 32
	sar	eax, 6
	mov	ecx, ebx
	sar	ecx, 31
	sub	eax, ecx
	mov	edx, eax
	movsx	rax, r13d
	imul	rax, rax, 1374389535
	shr	rax, 32
	sar	eax, 6
	mov	ecx, r13d
	sar	ecx, 31
	sub	eax, ecx
	cmp	edx, eax
	je	.L116
	mov	eax, DWORD PTR vpos[rip]
	mov	edi, eax
	mov	eax, 0
	call	startspan
	mov	rax, QWORD PTR vlp[rip]
	mov	edx, r12d
	mov	WORD PTR 8[rax], dx
	mov	rax, QWORD PTR vlp[rip]
	mov	edx, ebx
	mov	WORD PTR 10[rax], dx
	jmp	.L111
.L116:
	mov	rax, QWORD PTR vlp[rip]
	mov	edx, ebx
	mov	WORD PTR 10[rax], dx
.L111:
	pop	rbx
	pop	r12
	pop	r13
	pop	r14
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE4:
	.size	setlimit, .-setlimit
	.globl	arcbounds
	.type	arcbounds, @function
arcbounds:
.LFB5:
	.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, 16
	.cfi_offset 12, -24
	.cfi_offset 3, -32
	mov	DWORD PTR -20[rbp], edi
	mov	DWORD PTR -24[rbp], esi
	mov	DWORD PTR -28[rbp], edx
	mov	DWORD PTR -32[rbp], ecx
	mov	eax, DWORD PTR -20[rbp]
	imul	eax, eax
	mov	edx, eax
	mov	eax, DWORD PTR -24[rbp]
	imul	eax, eax
	add	eax, edx
	pxor	xmm2, xmm2
	cvtsi2sd	xmm2, eax
	movq	rax, xmm2
	movq	xmm0, rax
	call	sqrt@PLT
	movsd	xmm1, QWORD PTR .LC16[rip]
	addsd	xmm0, xmm1
	cvttsd2si	eax, xmm0
	mov	r12d, eax
	cmp	DWORD PTR -20[rbp], 0
	js	.L118
	mov	edx, 4
	jmp	.L119
.L118:
	mov	edx, 0
.L119:
	mov	eax, DWORD PTR -28[rbp]
	sar	eax, 30
	and	eax, 2
	mov	ecx, edx
	or	ecx, eax
	mov	edx, DWORD PTR -24[rbp]
	mov	eax, DWORD PTR -32[rbp]
	add	eax, edx
	shr	eax, 31
	movzx	eax, al
	mov	ebx, ecx
	or	ebx, eax
	mov	edx, DWORD PTR vpos[rip]
	mov	eax, DWORD PTR -24[rbp]
	add	eax, edx
	add	DWORD PTR -32[rbp], eax
	mov	eax, ebx
	and	eax, 3
	cmp	eax, 2
	je	.L120
	mov	eax, ebx
	and	eax, 5
	cmp	eax, 1
	je	.L121
	mov	edx, DWORD PTR vpos[rip]
	mov	eax, DWORD PTR -24[rbp]
	add	eax, edx
	add	eax, r12d
	jmp	.L123
.L121:
	mov	eax, DWORD PTR vpos[rip]
	jmp	.L123
.L120:
	mov	eax, DWORD PTR -32[rbp]
.L123:
	mov	edx, DWORD PTR thick[rip]
	mov	ecx, edx
	shr	ecx, 31
	add	edx, ecx
	sar	edx
	add	edx, eax
	mov	eax, ebx
	and	eax, 3
	cmp	eax, 1
	je	.L124
	mov	eax, ebx
	and	eax, 5
	cmp	eax, 4
	je	.L125
	mov	ecx, DWORD PTR vpos[rip]
	mov	eax, DWORD PTR -24[rbp]
	add	eax, ecx
	sub	eax, r12d
	jmp	.L127
.L125:
	mov	eax, DWORD PTR vpos[rip]
	jmp	.L127
.L124:
	mov	eax, DWORD PTR -32[rbp]
.L127:
	mov	ecx, DWORD PTR thick[rip]
	mov	esi, ecx
	shr	esi, 31
	add	ecx, esi
	sar	ecx
	sub	eax, ecx
	mov	esi, edx
	mov	edi, eax
	mov	eax, 0
	call	setlimit
	nop
	add	rsp, 16
	pop	rbx
	pop	r12
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE5:
	.size	arcbounds, .-arcbounds
	.section	.rodata
.LC17:
	.string	"H%dV%ds%df%d\ni%d\nDs%d\nDt%d\n%s"
	.text
	.globl	oflush
	.type	oflush, @function
oflush:
.LFB6:
	.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, 8
	.cfi_offset 15, -24
	.cfi_offset 14, -32
	.cfi_offset 13, -40
	.cfi_offset 12, -48
	.cfi_offset 3, -56
	mov	rax, QWORD PTR op[rip]
	lea	rdx, obuf[rip]
	cmp	rax, rdx
	je	.L136
	mov	rax, QWORD PTR op[rip]
	mov	BYTE PTR [rax], 0
	mov	r14d, 0
	mov	r12d, 199
.L135:
	mov	r13d, 0
	lea	rbx, vlist[rip]
	mov	r15d, 0
	jmp	.L131
.L133:
	movzx	eax, WORD PTR 8[rbx]
	movzx	eax, ax
	cmp	r12d, eax
	jl	.L132
	movzx	eax, WORD PTR 10[rbx]
	movzx	eax, ax
	cmp	r14d, eax
	jg	.L132
	mov	r8, QWORD PTR 16[rbx]
	movzx	eax, WORD PTR 4[rbx]
	movzx	edi, ax
	movzx	eax, WORD PTR 6[rbx]
	movsx	esi, ax
	movzx	eax, BYTE PTR 15[rbx]
	movzx	r9d, al
	movzx	eax, BYTE PTR 14[rbx]
	movzx	r10d, al
	movzx	eax, WORD PTR 12[rbx]
	movzx	ecx, ax
	movzx	eax, WORD PTR [rbx]
	movzx	edx, ax
	movzx	eax, WORD PTR 2[rbx]
	movzx	eax, ax
	sub	rsp, 8
	push	r8
	push	rdi
	push	rsi
	mov	r8d, r10d
	mov	esi, eax
	lea	rdi, .LC17[rip]
	mov	eax, 0
	call	printf@PLT
	add	rsp, 32
.L132:
	movzx	eax, WORD PTR 10[rbx]
	movzx	eax, ax
	cmp	r12d, eax
	setl	al
	movzx	eax, al
	or	r13d, eax
	add	r15d, 1
	add	rbx, 24
.L131:
	mov	eax, DWORD PTR nvlist[rip]
	cmp	r15d, eax
	jl	.L133
	test	r13d, r13d
	je	.L134
	mov	edi, 80
	call	putchar@PLT
.L134:
	add	r14d, 200
	add	r12d, 200
	test	r13d, r13d
	jne	.L135
	mov	rax, QWORD PTR stdout[rip]
	mov	rdi, rax
	call	fflush@PLT
	lea	rax, vlist[rip]
	mov	QWORD PTR vlp[rip], rax
	lea	rax, obuf[rip]
	mov	QWORD PTR op[rip], rax
	mov	rax, QWORD PTR vlp[rip]
	mov	rdx, QWORD PTR op[rip]
	mov	QWORD PTR 16[rax], rdx
	mov	edx, DWORD PTR hpos[rip]
	mov	rax, QWORD PTR vlp[rip]
	mov	WORD PTR 2[rax], dx
	mov	edx, DWORD PTR vpos[rip]
	mov	rax, QWORD PTR vlp[rip]
	mov	WORD PTR [rax], dx
	mov	edx, DWORD PTR vpos[rip]
	mov	rax, QWORD PTR vlp[rip]
	mov	WORD PTR 8[rax], dx
	mov	edx, DWORD PTR vpos[rip]
	mov	rax, QWORD PTR vlp[rip]
	mov	WORD PTR 10[rax], dx
	mov	edx, DWORD PTR size[rip]
	mov	rax, QWORD PTR vlp[rip]
	mov	WORD PTR 12[rax], dx
	mov	edx, DWORD PTR font[rip]
	mov	rax, QWORD PTR vlp[rip]
	mov	BYTE PTR 14[rax], dl
	mov	edx, DWORD PTR stip[rip]
	mov	rax, QWORD PTR vlp[rip]
	mov	BYTE PTR 15[rax], dl
	mov	edx, DWORD PTR style[rip]
	mov	rax, QWORD PTR vlp[rip]
	mov	WORD PTR 6[rax], dx
	mov	edx, DWORD PTR thick[rip]
	mov	rax, QWORD PTR vlp[rip]
	mov	WORD PTR 4[rax], dx
	mov	rax, QWORD PTR op[rip]
	mov	BYTE PTR [rax], 0
	mov	DWORD PTR nvlist[rip], 1
	jmp	.L130
.L136:
	nop
.L130:
	lea	rsp, -40[rbp]
	pop	rbx
	pop	r12
	pop	r13
	pop	r14
	pop	r15
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	oflush, .-oflush
	.globl	done
	.type	done, @function
done:
.LFB7:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, 0
	call	oflush
	mov	edi, 0
	call	exit@PLT
	.cfi_endproc
.LFE7:
	.size	done, .-done
	.section	.rodata
.LC18:
	.string	"vsort: "
	.text
	.globl	error
	.type	error, @function
error:
.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	DWORD PTR -4[rbp], edi
	mov	DWORD PTR -8[rbp], esi
	mov	DWORD PTR -12[rbp], edx
	mov	DWORD PTR -16[rbp], ecx
	mov	DWORD PTR -20[rbp], r8d
	mov	DWORD PTR -24[rbp], r9d
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 7
	mov	esi, 1
	lea	rdi, .LC18[rip]
	call	fwrite@PLT
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	mov	r10, rax
	mov	rax, QWORD PTR stderr[rip]
	mov	r8d, DWORD PTR -24[rbp]
	mov	edi, DWORD PTR -20[rbp]
	mov	ecx, DWORD PTR -16[rbp]
	mov	edx, DWORD PTR -12[rbp]
	sub	rsp, 8
	mov	esi, DWORD PTR 32[rbp]
	push	rsi
	mov	esi, DWORD PTR 24[rbp]
	push	rsi
	mov	esi, DWORD PTR 16[rbp]
	push	rsi
	mov	r9d, r8d
	mov	r8d, edi
	mov	rsi, r10
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	add	rsp, 32
	mov	rax, QWORD PTR stderr[rip]
	mov	rsi, rax
	mov	edi, 10
	call	fputc@PLT
	cmp	DWORD PTR -4[rbp], 0
	je	.L139
	mov	eax, 0
	call	done
.L139:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	error, .-error
	.globl	state
	.bss
	.align 32
	.type	state, @object
	.size	state, 80
state:
	.zero	80
	.globl	statep
	.section	.data.rel.local
	.align 8
	.type	statep, @object
	.size	statep, 8
statep:
	.quad	state
	.section	.rodata
.LC19:
	.string	"{ nested too deep"
	.text
	.globl	t_push
	.type	t_push, @function
t_push:
.LFB9:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	rax, QWORD PTR statep[rip]
	mov	edx, DWORD PTR size[rip]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR statep[rip]
	mov	edx, DWORD PTR font[rip]
	mov	DWORD PTR 4[rax], edx
	mov	rax, QWORD PTR statep[rip]
	mov	edx, DWORD PTR hpos[rip]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR statep[rip]
	mov	edx, DWORD PTR vpos[rip]
	mov	DWORD PTR 12[rax], edx
	mov	DWORD PTR vpos[rip], 0
	mov	eax, DWORD PTR vpos[rip]
	mov	DWORD PTR hpos[rip], eax
	mov	rax, QWORD PTR statep[rip]
	lea	rdx, 16[rax]
	mov	QWORD PTR statep[rip], rdx
	lea	rdx, state[rip+80]
	cmp	rax, rdx
	jb	.L141
	lea	rsi, .LC19[rip]
	mov	edi, 1
	mov	eax, 0
	call	error
.L141:
	mov	DWORD PTR vpos[rip], 0
	mov	eax, DWORD PTR vpos[rip]
	mov	DWORD PTR hpos[rip], eax
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	t_push, .-t_push
	.section	.rodata
.LC20:
	.string	"extra }"
	.text
	.globl	t_pop
	.type	t_pop, @function
t_pop:
.LFB10:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	rax, QWORD PTR statep[rip]
	sub	rax, 16
	mov	QWORD PTR statep[rip], rax
	mov	rax, QWORD PTR statep[rip]
	lea	rdx, state[rip]
	cmp	rax, rdx
	jnb	.L143
	lea	rsi, .LC20[rip]
	mov	edi, 1
	mov	eax, 0
	call	error
.L143:
	mov	rax, QWORD PTR statep[rip]
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR size[rip], eax
	mov	rax, QWORD PTR statep[rip]
	mov	eax, DWORD PTR 4[rax]
	mov	DWORD PTR font[rip], eax
	mov	rax, QWORD PTR statep[rip]
	mov	eax, DWORD PTR 8[rax]
	mov	DWORD PTR hpos[rip], eax
	mov	rax, QWORD PTR statep[rip]
	mov	eax, DWORD PTR 12[rax]
	mov	DWORD PTR vpos[rip], eax
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	t_pop, .-t_pop
	.section	.rodata
.LC21:
	.string	"p%d\n"
	.text
	.globl	t_page
	.type	t_page, @function
t_page:
.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, 24
	.cfi_offset 3, -24
	mov	DWORD PTR -20[rbp], edi
	mov	eax, DWORD PTR pageno[rip]
	test	eax, eax
	je	.L145
	mov	eax, DWORD PTR leftmarg[rip]
	mov	esi, DWORD PTR pageno[rip]
	cdq
	idiv	esi
	lea	edx, [rax+rax]
	jmp	.L146
.L145:
	mov	edx, 0
.L146:
	mov	eax, DWORD PTR leftmarg[rip]
	add	eax, edx
	cmp	eax, 7040
	jg	.L147
	mov	eax, DWORD PTR maxh[rip]
	cmp	eax, 6840
	jg	.L147
	mov	eax, DWORD PTR first.0[rip]
	test	eax, eax
	je	.L148
.L147:
	mov	eax, 0
	call	oflush
	mov	eax, DWORD PTR spanno[rip]
	lea	edx, 1[rax]
	mov	DWORD PTR spanno[rip], edx
	mov	esi, eax
	lea	rdi, .LC21[rip]
	mov	eax, 0
	call	printf@PLT
	mov	DWORD PTR maxh[rip], 0
	mov	eax, DWORD PTR maxh[rip]
	mov	DWORD PTR leftmarg[rip], eax
	mov	eax, DWORD PTR leftmarg[rip]
	mov	DWORD PTR pageno[rip], eax
	mov	eax, DWORD PTR pageno[rip]
	mov	DWORD PTR first.0[rip], eax
	jmp	.L149
.L148:
	mov	eax, DWORD PTR maxh[rip]
	mov	edx, DWORD PTR leftmarg[rip]
	sub	eax, edx
	add	eax, 99
	movsx	rdx, eax
	imul	rdx, rdx, 1374389535
	shr	rdx, 32
	sar	edx, 5
	sar	eax, 31
	mov	ebx, edx
	sub	ebx, eax
	cmp	ebx, 11
	jle	.L150
	cmp	ebx, 17
	jg	.L150
	mov	eax, DWORD PTR leftmarg[rip]
	add	eax, 1700
	mov	DWORD PTR leftmarg[rip], eax
	jmp	.L151
.L150:
	mov	eax, DWORD PTR maxh[rip]
	add	eax, 100
	movsx	rdx, eax
	imul	rdx, rdx, 1374389535
	shr	rdx, 32
	sar	edx, 5
	sar	eax, 31
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	imul	eax, eax, 100
	mov	DWORD PTR leftmarg[rip], eax
.L151:
	mov	eax, DWORD PTR pageno[rip]
	add	eax, 1
	mov	DWORD PTR pageno[rip], eax
.L149:
	nop
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	t_page, .-t_page
	.globl	startspan
	.type	startspan, @function
startspan:
.LFB12:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 8
	.cfi_offset 3, -24
	mov	ebx, edi
	mov	rax, QWORD PTR op[rip]
	lea	rdx, 1[rax]
	mov	QWORD PTR op[rip], rdx
	mov	BYTE PTR [rax], 0
	mov	eax, DWORD PTR nvlist[rip]
	cmp	eax, 2999
	jle	.L153
	mov	eax, 0
	call	oflush
.L153:
	mov	rax, QWORD PTR vlp[rip]
	add	rax, 24
	mov	QWORD PTR vlp[rip], rax
	mov	rax, QWORD PTR vlp[rip]
	mov	rdx, QWORD PTR op[rip]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR vlp[rip]
	mov	edx, ebx
	mov	WORD PTR [rax], dx
	mov	rax, QWORD PTR vlp[rip]
	mov	edx, ebx
	mov	WORD PTR 10[rax], dx
	mov	rax, QWORD PTR vlp[rip]
	mov	edx, ebx
	mov	WORD PTR 8[rax], dx
	mov	edx, DWORD PTR hpos[rip]
	mov	rax, QWORD PTR vlp[rip]
	mov	WORD PTR 2[rax], dx
	mov	edx, DWORD PTR size[rip]
	mov	rax, QWORD PTR vlp[rip]
	mov	WORD PTR 12[rax], dx
	mov	edx, DWORD PTR font[rip]
	mov	rax, QWORD PTR vlp[rip]
	mov	BYTE PTR 14[rax], dl
	mov	edx, DWORD PTR stip[rip]
	mov	rax, QWORD PTR vlp[rip]
	mov	BYTE PTR 15[rax], dl
	mov	edx, DWORD PTR style[rip]
	mov	rax, QWORD PTR vlp[rip]
	mov	WORD PTR 6[rax], dx
	mov	edx, DWORD PTR thick[rip]
	mov	rax, QWORD PTR vlp[rip]
	mov	WORD PTR 4[rax], dx
	mov	eax, DWORD PTR nvlist[rip]
	add	eax, 1
	mov	DWORD PTR nvlist[rip], eax
	nop
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE12:
	.size	startspan, .-startspan
	.section	.rodata
	.align 8
.LC22:
	.string	"unable to allocate space for polygon"
.LC23:
	.string	"Dq %d %d %d %d"
.LC24:
	.string	" %d %d %d %d %d"
	.text
	.globl	polygon
	.type	polygon, @function
polygon:
.LFB13:
	.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, 72
	.cfi_offset 15, -24
	.cfi_offset 14, -32
	.cfi_offset 13, -40
	.cfi_offset 12, -48
	.cfi_offset 3, -56
	mov	DWORD PTR -84[rbp], edi
	mov	DWORD PTR -88[rbp], esi
	mov	QWORD PTR -96[rbp], rdx
	mov	QWORD PTR -104[rbp], rcx
	mov	DWORD PTR -108[rbp], r8d
	mov	DWORD PTR -112[rbp], r9d
	mov	eax, DWORD PTR -88[rbp]
	add	eax, 4
	cdqe
	sal	rax, 5
	mov	rdi, rax
	call	malloc@PLT
	mov	rbx, rax
	test	rbx, rbx
	jne	.L155
	lea	rsi, .LC22[rip]
	mov	edi, 0
	mov	eax, 0
	call	error
	jmp	.L156
.L155:
	mov	QWORD PTR -64[rbp], rbx
	mov	eax, DWORD PTR -112[rbp]
	sub	eax, 1
	mov	DWORD PTR 16[rbx], eax
	mov	rax, rbx
	lea	rbx, 32[rax]
	mov	QWORD PTR 8[rax], 0
	mov	rax, QWORD PTR -64[rbp]
	mov	QWORD PTR [rax], rbx
	mov	rax, QWORD PTR -64[rbp]
	mov	QWORD PTR 8[rbx], rax
	mov	r12d, 1
	mov	rax, QWORD PTR -104[rbp]
	add	rax, 4
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -104[rbp]
	add	rax, rcx
	mov	eax, DWORD PTR [rax]
	cmp	edx, eax
	jne	.L157
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 4
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rcx
	mov	eax, DWORD PTR [rax]
	cmp	edx, eax
	je	.L158
.L157:
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -104[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -96[rbp]
	mov	DWORD PTR [rax], edx
	mov	r12d, 0
.L158:
	mov	r13d, 0
	jmp	.L159
.L162:
	mov	r14d, r12d
	add	r12d, 1
	mov	r15d, r12d
	movsx	rax, r14d
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -104[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	movsx	rax, r15d
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -104[rbp]
	add	rax, rcx
	mov	eax, DWORD PTR [rax]
	cmp	edx, eax
	jne	.L160
	jmp	.L159
.L160:
	movsx	rax, r14d
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -104[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	movsx	rax, r15d
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -104[rbp]
	add	rax, rcx
	mov	eax, DWORD PTR [rax]
	cmp	edx, eax
	jle	.L161
	add	r14d, 1
	sub	r15d, 1
.L161:
	add	r13d, 1
	lea	rax, 32[rbx]
	mov	QWORD PTR [rbx], rax
	movsx	rax, r14d
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -104[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR 16[rbx], eax
	movsx	rax, r15d
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, eax
	movsx	rax, r14d
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rcx
	mov	eax, DWORD PTR [rax]
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	mov	WORD PTR 20[rbx], ax
	movsx	rax, r15d
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -104[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, eax
	movsx	rax, r14d
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -104[rbp]
	add	rax, rcx
	mov	eax, DWORD PTR [rax]
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	mov	WORD PTR 22[rbx], ax
	movsx	rax, r14d
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	WORD PTR 24[rbx], ax
	movsx	rax, r15d
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -104[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	rax, rbx
	lea	rbx, 32[rax]
	mov	WORD PTR 26[rax], dx
	lea	rax, -32[rbx]
	mov	QWORD PTR 8[rbx], rax
.L159:
	cmp	r12d, DWORD PTR -88[rbp]
	jl	.L162
	cmp	r13d, 1
	jle	.L205
	mov	eax, DWORD PTR -108[rbp]
	add	eax, 1
	mov	DWORD PTR 16[rbx], eax
	mov	QWORD PTR [rbx], 0
	add	rbx, 32
	mov	QWORD PTR -56[rbp], rbx
	mov	WORD PTR 24[rbx], -32768
	mov	eax, DWORD PTR -108[rbp]
	add	eax, 1
	mov	WORD PTR 26[rbx], ax
	mov	WORD PTR 22[rbx], 0
	movzx	eax, WORD PTR 22[rbx]
	mov	WORD PTR 20[rbx], ax
	movzx	eax, WORD PTR 20[rbx]
	cwde
	mov	DWORD PTR 16[rbx], eax
	add	rbx, 32
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR [rax], rbx
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR 8[rax], rbx
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR 8[rbx], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR [rbx], rax
	mov	WORD PTR 24[rbx], 32767
	mov	eax, DWORD PTR -108[rbp]
	add	eax, 1
	mov	WORD PTR 26[rbx], ax
	mov	WORD PTR 22[rbx], 0
	movzx	eax, WORD PTR 22[rbx]
	mov	WORD PTR 20[rbx], ax
	movzx	eax, WORD PTR 20[rbx]
	cwde
	mov	DWORD PTR 16[rbx], eax
	mov	eax, DWORD PTR -112[rbp]
	movsx	rdx, eax
	imul	rdx, rdx, 1374389535
	shr	rdx, 32
	sar	edx, 6
	sar	eax, 31
	mov	ecx, edx
	sub	ecx, eax
	mov	eax, DWORD PTR -108[rbp]
	movsx	rdx, eax
	imul	rdx, rdx, 1374389535
	shr	rdx, 32
	sar	edx, 6
	sar	eax, 31
	mov	esi, eax
	mov	eax, edx
	sub	eax, esi
	cmp	ecx, eax
	je	.L165
	mov	r13d, 0
	mov	DWORD PTR -72[rbp], 1
	jmp	.L169
.L165:
	mov	eax, DWORD PTR -112[rbp]
	mov	edi, eax
	mov	eax, 0
	call	startspan
	mov	rax, QWORD PTR op[rip]
	mov	esi, DWORD PTR -108[rbp]
	mov	ecx, DWORD PTR -112[rbp]
	mov	edx, DWORD PTR -84[rbp]
	mov	r9d, esi
	mov	r8d, ecx
	mov	ecx, r13d
	lea	rsi, .LC23[rip]
	mov	rdi, rax
	mov	eax, 0
	call	sprintf@PLT
	mov	rbx, QWORD PTR op[rip]
	mov	rax, QWORD PTR op[rip]
	mov	rdi, rax
	call	strlen@PLT
	add	rax, rbx
	mov	QWORD PTR op[rip], rax
	mov	rax, QWORD PTR -64[rbp]
	mov	rbx, QWORD PTR [rax]
	jmp	.L167
.L168:
	movzx	eax, WORD PTR 26[rbx]
	movsx	esi, ax
	movzx	eax, WORD PTR 24[rbx]
	movsx	r8d, ax
	movzx	eax, WORD PTR 22[rbx]
	movsx	edi, ax
	movzx	eax, WORD PTR 20[rbx]
	movsx	ecx, ax
	mov	edx, DWORD PTR 16[rbx]
	mov	rax, QWORD PTR op[rip]
	sub	rsp, 8
	push	rsi
	mov	r9d, r8d
	mov	r8d, edi
	lea	rsi, .LC24[rip]
	mov	rdi, rax
	mov	eax, 0
	call	sprintf@PLT
	add	rsp, 16
	mov	r12, QWORD PTR op[rip]
	mov	rax, QWORD PTR op[rip]
	mov	rdi, rax
	call	strlen@PLT
	add	rax, r12
	mov	QWORD PTR op[rip], rax
	add	rbx, 32
.L167:
	mov	eax, r13d
	lea	r13d, -1[rax]
	test	eax, eax
	jne	.L168
	mov	rax, QWORD PTR op[rip]
	lea	rdx, 1[rax]
	mov	QWORD PTR op[rip], rdx
	mov	BYTE PTR [rax], 10
	jmp	.L164
.L204:
	mov	eax, DWORD PTR -108[rbp]
	lea	r12d, 1[rax]
	mov	rax, QWORD PTR -64[rbp]
	mov	rbx, QWORD PTR [rax]
	jmp	.L170
.L177:
	mov	eax, DWORD PTR 16[rbx]
	cmp	DWORD PTR -112[rbp], eax
	jne	.L171
	movzx	eax, WORD PTR 20[rbx]
	test	ax, ax
	jns	.L172
	movzx	eax, WORD PTR 20[rbx]
	sar	ax
	movsx	edx, ax
	movzx	eax, WORD PTR 22[rbx]
	sar	ax
	cwde
	add	eax, edx
	neg	eax
	mov	DWORD PTR 16[rbx], eax
	jmp	.L173
.L172:
	movzx	eax, WORD PTR 20[rbx]
	sar	ax
	cwde
	movzx	edx, WORD PTR 22[rbx]
	sar	dx
	movsx	edx, dx
	sub	eax, edx
	mov	DWORD PTR 16[rbx], eax
.L173:
	mov	r14, rbx
	mov	rbx, QWORD PTR [rbx]
	mov	rax, QWORD PTR 8[r14]
	mov	QWORD PTR 8[rbx], rax
	mov	rax, QWORD PTR 8[r14]
	mov	QWORD PTR [rax], rbx
	mov	rax, QWORD PTR -56[rbp]
	mov	r15, QWORD PTR [rax]
	jmp	.L174
.L175:
	mov	r15, QWORD PTR [r15]
.L174:
	movzx	edx, WORD PTR 24[r15]
	movzx	eax, WORD PTR 24[r14]
	cmp	dx, ax
	jl	.L175
	mov	QWORD PTR [r14], r15
	mov	rax, QWORD PTR 8[r15]
	mov	QWORD PTR 8[r14], rax
	mov	QWORD PTR 8[r15], r14
	mov	rax, QWORD PTR 8[r14]
	mov	QWORD PTR [rax], r14
	add	r13d, 1
	jmp	.L170
.L171:
	mov	eax, DWORD PTR 16[rbx]
	cmp	r12d, eax
	jle	.L176
	mov	r12d, DWORD PTR 16[rbx]
.L176:
	mov	rbx, QWORD PTR [rbx]
.L170:
	test	rbx, rbx
	jne	.L177
	mov	DWORD PTR -68[rbp], r12d
	jmp	.L178
.L203:
	mov	rax, QWORD PTR -56[rbp]
	mov	rbx, QWORD PTR [rax]
.L180:
	movzx	eax, WORD PTR 26[rbx]
	cwde
	cmp	DWORD PTR -112[rbp], eax
	jl	.L179
	mov	rax, QWORD PTR 8[rbx]
	mov	rdx, QWORD PTR [rbx]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR [rbx]
	mov	rdx, QWORD PTR 8[rbx]
	mov	QWORD PTR 8[rax], rdx
	sub	r13d, 1
.L179:
	mov	rbx, QWORD PTR [rbx]
	cmp	rbx, QWORD PTR -56[rbp]
	jne	.L180
	cmp	DWORD PTR -72[rbp], 0
	jne	.L181
	mov	edx, DWORD PTR -112[rbp]
	movsx	rax, edx
	imul	rax, rax, 1374389535
	shr	rax, 32
	sar	eax, 6
	mov	ecx, edx
	sar	ecx, 31
	sub	eax, ecx
	imul	ecx, eax, 200
	mov	eax, edx
	sub	eax, ecx
	test	eax, eax
	jne	.L182
.L181:
	mov	eax, DWORD PTR -112[rbp]
	mov	edi, eax
	mov	eax, 0
	call	startspan
	mov	eax, DWORD PTR -112[rbp]
	movsx	rdx, eax
	imul	rdx, rdx, 1374389535
	shr	rdx, 32
	sar	edx, 6
	sar	eax, 31
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	imul	eax, eax, 200
	lea	r14d, 199[rax]
	cmp	r14d, DWORD PTR -108[rbp]
	jle	.L183
	mov	r14d, DWORD PTR -108[rbp]
.L183:
	mov	r12d, 0
	mov	rax, QWORD PTR -64[rbp]
	mov	rbx, QWORD PTR [rax]
	jmp	.L184
.L186:
	mov	eax, DWORD PTR 16[rbx]
	cmp	r14d, eax
	jl	.L185
	add	r12d, 1
.L185:
	mov	rbx, QWORD PTR [rbx]
.L184:
	test	rbx, rbx
	jne	.L186
	lea	ecx, 0[r13+r12]
	mov	rax, QWORD PTR op[rip]
	mov	esi, DWORD PTR -112[rbp]
	mov	edx, DWORD PTR -84[rbp]
	mov	r9d, r14d
	mov	r8d, esi
	lea	rsi, .LC23[rip]
	mov	rdi, rax
	mov	eax, 0
	call	sprintf@PLT
	mov	rbx, QWORD PTR op[rip]
	mov	rax, QWORD PTR op[rip]
	mov	rdi, rax
	call	strlen@PLT
	add	rax, rbx
	mov	QWORD PTR op[rip], rax
	mov	r12d, r13d
	mov	rax, QWORD PTR -56[rbp]
	mov	rbx, QWORD PTR [rax]
	jmp	.L187
.L188:
	movzx	eax, WORD PTR 26[rbx]
	movsx	esi, ax
	movzx	eax, WORD PTR 24[rbx]
	movsx	edi, ax
	movzx	eax, WORD PTR 22[rbx]
	cwde
	neg	eax
	mov	r8d, eax
	movzx	eax, WORD PTR 20[rbx]
	movsx	ecx, ax
	mov	edx, DWORD PTR 16[rbx]
	mov	rax, QWORD PTR op[rip]
	sub	rsp, 8
	push	rsi
	mov	r9d, edi
	lea	rsi, .LC24[rip]
	mov	rdi, rax
	mov	eax, 0
	call	sprintf@PLT
	add	rsp, 16
	mov	r15, QWORD PTR op[rip]
	mov	rax, QWORD PTR op[rip]
	mov	rdi, rax
	call	strlen@PLT
	add	rax, r15
	mov	QWORD PTR op[rip], rax
	mov	rbx, QWORD PTR [rbx]
.L187:
	mov	eax, r12d
	lea	r12d, -1[rax]
	test	eax, eax
	jne	.L188
	mov	rax, QWORD PTR -64[rbp]
	mov	rbx, QWORD PTR [rax]
	jmp	.L189
.L191:
	mov	eax, DWORD PTR 16[rbx]
	cmp	r14d, eax
	jl	.L190
	movzx	eax, WORD PTR 26[rbx]
	movsx	esi, ax
	movzx	eax, WORD PTR 24[rbx]
	movsx	r8d, ax
	movzx	eax, WORD PTR 22[rbx]
	movsx	edi, ax
	movzx	eax, WORD PTR 20[rbx]
	movsx	ecx, ax
	mov	edx, DWORD PTR 16[rbx]
	mov	rax, QWORD PTR op[rip]
	sub	rsp, 8
	push	rsi
	mov	r9d, r8d
	mov	r8d, edi
	lea	rsi, .LC24[rip]
	mov	rdi, rax
	mov	eax, 0
	call	sprintf@PLT
	add	rsp, 16
	mov	r12, QWORD PTR op[rip]
	mov	rax, QWORD PTR op[rip]
	mov	rdi, rax
	call	strlen@PLT
	add	rax, r12
	mov	QWORD PTR op[rip], rax
.L190:
	mov	rbx, QWORD PTR [rbx]
.L189:
	test	rbx, rbx
	jne	.L191
	mov	rax, QWORD PTR op[rip]
	lea	rdx, 1[rax]
	mov	QWORD PTR op[rip], rdx
	mov	BYTE PTR [rax], 10
	mov	DWORD PTR -72[rbp], 0
.L182:
	mov	rax, QWORD PTR -56[rbp]
	mov	rbx, QWORD PTR [rax]
.L202:
	movzx	eax, WORD PTR 20[rbx]
	test	ax, ax
	jle	.L192
	jmp	.L193
.L194:
	mov	eax, DWORD PTR 16[rbx]
	movzx	edx, WORD PTR 22[rbx]
	movsx	edx, dx
	sub	eax, edx
	mov	DWORD PTR 16[rbx], eax
	movzx	eax, WORD PTR 24[rbx]
	add	eax, 1
	mov	WORD PTR 24[rbx], ax
.L193:
	mov	eax, DWORD PTR 16[rbx]
	test	eax, eax
	jns	.L194
	mov	edx, DWORD PTR 16[rbx]
	movzx	eax, WORD PTR 20[rbx]
	cwde
	add	eax, edx
	mov	DWORD PTR 16[rbx], eax
	jmp	.L195
.L192:
	movzx	eax, WORD PTR 20[rbx]
	test	ax, ax
	jns	.L195
	jmp	.L196
.L197:
	mov	eax, DWORD PTR 16[rbx]
	movzx	edx, WORD PTR 22[rbx]
	movsx	edx, dx
	sub	eax, edx
	mov	DWORD PTR 16[rbx], eax
	movzx	eax, WORD PTR 24[rbx]
	sub	eax, 1
	mov	WORD PTR 24[rbx], ax
.L196:
	mov	eax, DWORD PTR 16[rbx]
	test	eax, eax
	jns	.L197
	mov	eax, DWORD PTR 16[rbx]
	movzx	edx, WORD PTR 20[rbx]
	movsx	edx, dx
	sub	eax, edx
	mov	DWORD PTR 16[rbx], eax
.L195:
	movzx	edx, WORD PTR 24[rbx]
	mov	rax, QWORD PTR 8[rbx]
	movzx	eax, WORD PTR 24[rax]
	cmp	dx, ax
	jge	.L198
	mov	r12, rbx
	mov	r14, QWORD PTR 8[r12]
	jmp	.L199
.L200:
	mov	r14, QWORD PTR 8[r14]
.L199:
	movzx	edx, WORD PTR 24[r12]
	movzx	eax, WORD PTR 24[r14]
	cmp	dx, ax
	jl	.L200
	mov	rbx, QWORD PTR [rbx]
	mov	rax, QWORD PTR 8[r12]
	mov	QWORD PTR 8[rbx], rax
	mov	rax, QWORD PTR 8[r12]
	mov	QWORD PTR [rax], rbx
	mov	QWORD PTR 8[r12], r14
	mov	rax, QWORD PTR [r14]
	mov	QWORD PTR [r12], rax
	mov	QWORD PTR [r14], r12
	mov	rax, QWORD PTR [r12]
	mov	QWORD PTR 8[rax], r12
	jmp	.L201
.L198:
	mov	rbx, QWORD PTR [rbx]
.L201:
	cmp	rbx, QWORD PTR -56[rbp]
	jne	.L202
	add	DWORD PTR -112[rbp], 1
.L178:
	mov	eax, DWORD PTR -112[rbp]
	cmp	eax, DWORD PTR -68[rbp]
	jl	.L203
.L169:
	mov	eax, DWORD PTR -112[rbp]
	cmp	eax, DWORD PTR -108[rbp]
	jle	.L204
	jmp	.L164
.L205:
	nop
.L164:
	mov	eax, DWORD PTR vpos[rip]
	mov	edi, eax
	mov	eax, 0
	call	startspan
	mov	rax, QWORD PTR -64[rbp]
	mov	rdi, rax
	call	free@PLT
.L156:
	lea	rsp, -40[rbp]
	pop	rbx
	pop	r12
	pop	r13
	pop	r14
	pop	r15
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE13:
	.size	polygon, .-polygon
	.data
	.align 4
	.type	first.0, @object
	.size	first.0, 4
first.0:
	.long	1
	.section	.rodata
	.align 8
.LC16:
	.long	0
	.long	1071644672
	.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	"181392871.c"
	.text
	.global	size
	.data
	.align	2
	.type	size, %object
	.size	size, 4
size:
	.word	10
	.global	up
	.bss
	.align	2
	.type	up, %object
	.size	up, 4
up:
	.space	4
	.global	down
	.align	2
	.type	down, %object
	.size	down, 4
down:
	.space	4
	.global	font
	.data
	.align	2
	.type	font, %object
	.size	font, 4
font:
	.word	1
	.global	stip
	.align	2
	.type	stip, %object
	.size	stip, 4
stip:
	.word	1
	.global	fontdir
	.section	.rodata
	.align	2
.LC0:
	.ascii	"/usr/lib/font\000"
	.data
	.align	2
	.type	fontdir, %object
	.size	fontdir, 4
fontdir:
	.word	.LC0
	.global	thick
	.align	2
	.type	thick, %object
	.size	thick, 4
thick:
	.word	3
	.global	style
	.align	2
	.type	style, %object
	.size	style, 4
style:
	.word	-1
	.global	hpos
	.bss
	.align	2
	.type	hpos, %object
	.size	hpos, 4
hpos:
	.space	4
	.global	vpos
	.align	2
	.type	vpos, %object
	.size	vpos, 4
vpos:
	.space	4
	.global	maxh
	.align	2
	.type	maxh, %object
	.size	maxh, 4
maxh:
	.space	4
	.global	leftmarg
	.align	2
	.type	leftmarg, %object
	.size	leftmarg, 4
leftmarg:
	.space	4
	.global	spanno
	.align	2
	.type	spanno, %object
	.size	spanno, 4
spanno:
	.space	4
	.global	pageno
	.align	2
	.type	pageno, %object
	.size	pageno, 4
pageno:
	.space	4
	.comm	vlist,60020,4
	.comm	vlp,4,4
	.global	nvlist
	.data
	.align	2
	.type	nvlist, %object
	.size	nvlist, 4
nvlist:
	.word	1
	.global	obufsiz
	.align	2
	.type	obufsiz, %object
	.size	obufsiz, 4
obufsiz:
	.word	250000
	.comm	obuf,251000,4
	.global	op
	.align	2
	.type	op, %object
	.size	op, 4
op:
	.word	obuf
	.section	.rodata
	.align	2
.LC1:
	.ascii	"r\000"
	.align	2
.LC2:
	.ascii	"can't open %s\000"
	.text
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, .L12
	ldr	r2, .L12+4
	str	r2, [r3]
	ldr	r3, .L12
	ldr	r3, [r3]
	ldr	r2, .L12+8
	ldr	r2, [r2]
	str	r2, [r3, #16]
	ldr	r3, .L12
	ldr	r3, [r3]
	mov	r2, #0
	strh	r2, [r3, #2]	@ movhi
	ldr	r2, .L12
	ldr	r2, [r2]
	ldrh	r3, [r3, #2]
	strh	r3, [r2, #8]	@ movhi
	ldr	r3, .L12
	ldr	r3, [r3]
	ldrh	r2, [r2, #8]
	strh	r2, [r3, #10]	@ movhi
	ldr	r2, .L12
	ldr	r2, [r2]
	ldrh	r3, [r3, #10]
	strh	r3, [r2]	@ movhi
	ldr	r3, .L12+12
	ldr	r2, [r3]
	ldr	r3, .L12
	ldr	r3, [r3]
	lsl	r2, r2, #16
	lsr	r2, r2, #16
	strh	r2, [r3, #12]	@ movhi
	ldr	r3, .L12+16
	ldr	r2, [r3]
	ldr	r3, .L12
	ldr	r3, [r3]
	and	r2, r2, #255
	strb	r2, [r3, #14]
	ldr	r3, .L12+20
	ldr	r2, [r3]
	ldr	r3, .L12
	ldr	r3, [r3]
	and	r2, r2, #255
	strb	r2, [r3, #15]
	ldr	r3, .L12+24
	ldr	r2, [r3]
	ldr	r3, .L12
	ldr	r3, [r3]
	lsl	r2, r2, #16
	asr	r2, r2, #16
	strh	r2, [r3, #6]	@ movhi
	ldr	r3, .L12+28
	ldr	r2, [r3]
	ldr	r3, .L12
	ldr	r3, [r3]
	lsl	r2, r2, #16
	lsr	r2, r2, #16
	strh	r2, [r3, #4]	@ movhi
	b	.L2
.L5:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #102
	bne	.L3
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	add	r3, r3, #2
	ldr	r2, .L12+32
	str	r3, [r2]
	nop
.L3:
	ldr	r3, [fp, #-16]
	sub	r3, r3, #1
	str	r3, [fp, #-16]
.L2:
	ldr	r3, [fp, #-16]
	cmp	r3, #1
	ble	.L4
	ldr	r3, [fp, #-20]
	add	r3, r3, #4
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #45
	beq	.L5
.L4:
	ldr	r3, [fp, #-16]
	cmp	r3, #1
	bgt	.L8
	ldr	r3, .L12+36
	ldr	r3, [r3]
	mov	r0, r3
	bl	conv
	b	.L7
.L10:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	ldr	r1, .L12+40
	mov	r0, r3
	bl	fopen
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L9
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, .L12+44
	mov	r0, #1
	bl	error
.L9:
	ldr	r0, [fp, #-8]
	bl	conv
	ldr	r0, [fp, #-8]
	bl	fclose
.L8:
	ldr	r3, [fp, #-16]
	sub	r3, r3, #1
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bgt	.L10
.L7:
	bl	done
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L13:
	.align	2
.L12:
	.word	vlp
	.word	vlist
	.word	op
	.word	size
	.word	font
	.word	stip
	.word	style
	.word	thick
	.word	fontdir
	.word	stdin
	.word	.LC1
	.word	.LC2
	.size	main, .-main
	.align	2
	.global	getnumber
	.syntax unified
	.arm
	.fpu softvfp
	.type	getnumber, %function
getnumber:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, fp, lr}
	add	fp, sp, #20
	mov	r6, r0
	nop
.L15:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r5, [r3]
	mov	r0, r6
	bl	getc
	mov	r3, r0
	and	r4, r3, #255
	mov	r3, r4
	lsl	r3, r3, #1
	add	r3, r5, r3
	ldrh	r3, [r3]
	and	r3, r3, #8192
	cmp	r3, #0
	bne	.L15
	mov	r5, #0
	cmp	r4, #45
	bne	.L16
	mov	r0, r6
	bl	getc
	mov	r3, r0
	and	r4, r3, #255
.L17:
	mov	r3, r5
	lsl	r3, r3, #2
	add	r3, r3, r5
	lsl	r3, r3, #1
	mov	r0, r3
	ldr	r3, .L20
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r1, .L20
	str	r2, [r1]
	mov	r2, r4
	strb	r2, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r3, r3, #48
	sub	r5, r0, r3
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r7, [r3]
	mov	r0, r6
	bl	getc
	mov	r3, r0
	and	r4, r3, #255
	mov	r3, r4
	lsl	r3, r3, #1
	add	r3, r7, r3
	ldrh	r3, [r3]
	and	r3, r3, #2048
	cmp	r3, #0
	bne	.L17
	b	.L18
.L16:
	mov	r3, r5
	lsl	r3, r3, #2
	add	r3, r3, r5
	lsl	r3, r3, #1
	mov	r0, r3
	ldr	r3, .L20
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r1, .L20
	str	r2, [r1]
	mov	r2, r4
	strb	r2, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	add	r3, r0, r3
	sub	r5, r3, #48
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r7, [r3]
	mov	r0, r6
	bl	getc
	mov	r3, r0
	and	r4, r3, #255
	mov	r3, r4
	lsl	r3, r3, #1
	add	r3, r7, r3
	ldrh	r3, [r3]
	and	r3, r3, #2048
	cmp	r3, #0
	bne	.L16
.L18:
	mov	r3, r4
	mov	r1, r6
	mov	r0, r3
	bl	ungetc
	mov	r3, r5
	mov	r0, r3
	pop	{r4, r5, r6, r7, fp, pc}
.L21:
	.align	2
.L20:
	.word	op
	.size	getnumber, .-getnumber
	.align	2
	.global	ngetnumber
	.syntax unified
	.arm
	.fpu softvfp
	.type	ngetnumber, %function
ngetnumber:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, fp, lr}
	add	fp, sp, #20
	mov	r6, r0
	nop
.L23:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r5, [r3]
	mov	r0, r6
	bl	getc
	mov	r3, r0
	and	r4, r3, #255
	mov	r3, r4
	lsl	r3, r3, #1
	add	r3, r5, r3
	ldrh	r3, [r3]
	and	r3, r3, #8192
	cmp	r3, #0
	bne	.L23
	mov	r5, #0
	cmp	r4, #45
	bne	.L24
	mov	r0, r6
	bl	getc
	mov	r3, r0
	and	r4, r3, #255
.L25:
	mov	r3, r5
	lsl	r3, r3, #2
	add	r3, r3, r5
	lsl	r3, r3, #1
	mov	r2, r3
	mov	r3, r4
	sub	r3, r3, #48
	sub	r5, r2, r3
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r7, [r3]
	mov	r0, r6
	bl	getc
	mov	r3, r0
	and	r4, r3, #255
	mov	r3, r4
	lsl	r3, r3, #1
	add	r3, r7, r3
	ldrh	r3, [r3]
	and	r3, r3, #2048
	cmp	r3, #0
	bne	.L25
	b	.L26
.L24:
	mov	r3, r5
	lsl	r3, r3, #2
	add	r3, r3, r5
	lsl	r3, r3, #1
	mov	r2, r3
	mov	r3, r4
	add	r3, r2, r3
	sub	r5, r3, #48
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r7, [r3]
	mov	r0, r6
	bl	getc
	mov	r3, r0
	and	r4, r3, #255
	mov	r3, r4
	lsl	r3, r3, #1
	add	r3, r7, r3
	ldrh	r3, [r3]
	and	r3, r3, #2048
	cmp	r3, #0
	bne	.L24
.L26:
	mov	r3, r4
	mov	r1, r6
	mov	r0, r3
	bl	ungetc
	mov	r3, r5
	mov	r0, r3
	pop	{r4, r5, r6, r7, fp, pc}
	.size	ngetnumber, .-ngetnumber
	.section	.rodata
	.align	2
.LC3:
	.ascii	"buffer overflow %d.\000"
	.align	2
.LC4:
	.ascii	"Ds \000"
	.align	2
.LC5:
	.ascii	"Dt \000"
	.align	2
.LC6:
	.ascii	"Dl %d %d\000"
	.align	2
.LC7:
	.ascii	"De %d %d\000"
	.align	2
.LC8:
	.ascii	"Dc %d\000"
	.align	2
.LC9:
	.ascii	"Da %d %d %d %d\000"
	.align	2
.LC10:
	.ascii	"Dl %d %d\012\000"
	.align	2
.LC11:
	.ascii	"H%dV%d\000"
	.align	2
.LC12:
	.ascii	"D%c \000"
	.align	2
.LC13:
	.ascii	"unknown drawing command %c\000"
	.align	2
.LC14:
	.ascii	"H%d\000"
	.align	2
.LC15:
	.ascii	"unknown input character %o %c\000"
	.align	2
.LC16:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	conv
	.syntax unified
	.arm
	.fpu softvfp
	.type	conv, %function
conv:
	@ args = 0, pretend = 0, frame = 1640
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, r10, fp, lr}
	add	fp, sp, #32
	sub	sp, sp, #1648
	sub	sp, sp, #4
	mov	r5, r0
	ldr	r3, .L107
	ldr	r3, [r3]
	str	r3, [fp, #-40]
	mov	r3,#0
	b	.L29
.L101:
	ldr	r3, .L107+4
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r3, .L107+8
	add	r2, r2, r3
	ldr	r3, .L107+12
	ldr	r3, [r3]
	cmp	r2, r3
	bcs	.L30
	ldr	r3, .L107+12
	ldr	r2, [r3]
	ldr	r3, .L107+4
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r3, .L107+8
	add	r3, r1, r3
	sub	r3, r2, r3
	mov	r2, r3
	ldr	r1, .L107+16
	mov	r0, #0
	bl	error
	bl	oflush
.L30:
	cmp	r4, #125
	ldrls	pc, [pc, r4, asl #2]
	b	.L31
.L33:
	.word	.L29
	.word	.L31
	.word	.L31
	.word	.L31
	.word	.L31
	.word	.L31
	.word	.L31
	.word	.L31
	.word	.L31
	.word	.L52
	.word	.L52
	.word	.L31
	.word	.L31
	.word	.L31
	.word	.L31
	.word	.L31
	.word	.L31
	.word	.L31
	.word	.L31
	.word	.L31
	.word	.L31
	.word	.L31
	.word	.L31
	.word	.L31
	.word	.L31
	.word	.L31
	.word	.L31
	.word	.L31
	.word	.L31
	.word	.L31
	.word	.L31
	.word	.L31
	.word	.L52
	.word	.L31
	.word	.L31
	.word	.L98
	.word	.L31
	.word	.L31
	.word	.L31
	.word	.L31
	.word	.L31
	.word	.L31
	.word	.L31
	.word	.L31
	.word	.L31
	.word	.L31
	.word	.L31
	.word	.L31
	.word	.L50
	.word	.L50
	.word	.L50
	.word	.L50
	.word	.L50
	.word	.L50
	.word	.L50
	.word	.L50
	.word	.L50
	.word	.L50
	.word	.L31
	.word	.L31
	.word	.L31
	.word	.L31
	.word	.L31
	.word	.L31
	.word	.L31
	.word	.L31
	.word	.L31
	.word	.L49
	.word	.L48
	.word	.L31
	.word	.L31
	.word	.L31
	.word	.L47
	.word	.L31
	.word	.L31
	.word	.L31
	.word	.L31
	.word	.L31
	.word	.L31
	.word	.L31
	.word	.L31
	.word	.L31
	.word	.L31
	.word	.L31
	.word	.L31
	.word	.L31
	.word	.L46
	.word	.L31
	.word	.L31
	.word	.L31
	.word	.L31
	.word	.L31
	.word	.L31
	.word	.L31
	.word	.L31
	.word	.L31
	.word	.L31
	.word	.L31
	.word	.L31
	.word	.L45
	.word	.L31
	.word	.L31
	.word	.L44
	.word	.L31
	.word	.L43
	.word	.L42
	.word	.L31
	.word	.L31
	.word	.L31
	.word	.L31
	.word	.L41
	.word	.L31
	.word	.L40
	.word	.L31
	.word	.L31
	.word	.L39
	.word	.L38
	.word	.L31
	.word	.L37
	.word	.L29
	.word	.L35
	.word	.L31
	.word	.L31
	.word	.L34
	.word	.L31
	.word	.L32
.L52:
	ldr	r3, .L107+12
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r1, .L107+12
	str	r2, [r1]
	and	r2, r4, #255
	strb	r2, [r3]
	b	.L29
.L34:
	ldr	r3, .L107+12
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r1, .L107+12
	str	r2, [r1]
	and	r2, r4, #255
	strb	r2, [r3]
	bl	t_push
	b	.L29
.L32:
	ldr	r3, .L107+12
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r1, .L107+12
	str	r2, [r1]
	and	r2, r4, #255
	strb	r2, [r3]
	bl	t_pop
	b	.L29
.L50:
	ldr	r3, .L107+116
	ldr	r2, [r3]
	ldr	r3, .L107+80
	ldr	r3, [r3]
	sub	r0, r2, r3
	ldr	r3, .L107+116
	ldr	r2, [r3]
	ldr	r3, .L107+88
	ldr	r3, [r3]
	add	r3, r2, r3
	mov	r1, r3
	bl	setlimit
	ldr	r3, .L107+12
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r1, .L107+12
	str	r2, [r1]
	and	r2, r4, #255
	strb	r2, [r3]
	sub	r2, r4, #48
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #1
	mov	r4, r3
	mov	r0, r5
	bl	getc
	mov	r1, r0
	ldr	r3, .L107+12
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r0, .L107+12
	str	r2, [r0]
	and	r2, r1, #255
	strb	r2, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	add	r3, r4, r3
	sub	r2, r3, #48
	ldr	r3, .L107+112
	ldr	r3, [r3]
	add	r3, r2, r3
	ldr	r2, .L107+112
	str	r3, [r2]
	ldr	r3, .L107+112
	ldr	r2, [r3]
	ldr	r3, .L107+104
	ldr	r3, [r3]
	cmp	r2, r3
	ble	.L54
	ldr	r3, .L107+112
	ldr	r3, [r3]
	ldr	r2, .L107+104
	str	r3, [r2]
.L54:
	mov	r0, r5
	bl	getc
	mov	r1, r0
	ldr	r3, .L107+12
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r0, .L107+12
	str	r2, [r0]
	and	r2, r1, #255
	strb	r2, [r3]
	b	.L29
.L45:
	ldr	r3, .L107+116
	ldr	r2, [r3]
	ldr	r3, .L107+80
	ldr	r3, [r3]
	sub	r0, r2, r3
	ldr	r3, .L107+116
	ldr	r2, [r3]
	ldr	r3, .L107+88
	ldr	r3, [r3]
	add	r3, r2, r3
	mov	r1, r3
	bl	setlimit
	ldr	r3, .L107+12
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r1, .L107+12
	str	r2, [r1]
	and	r2, r4, #255
	strb	r2, [r3]
	mov	r0, r5
	bl	getc
	mov	r1, r0
	ldr	r3, .L107+12
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r0, .L107+12
	str	r2, [r0]
	and	r2, r1, #255
	strb	r2, [r3]
	b	.L29
.L49:
	ldr	r3, .L107+116
	ldr	r2, [r3]
	ldr	r3, .L107+80
	ldr	r3, [r3]
	sub	r0, r2, r3
	ldr	r3, .L107+116
	ldr	r2, [r3]
	ldr	r3, .L107+88
	ldr	r3, [r3]
	add	r3, r2, r3
	mov	r1, r3
	bl	setlimit
	ldr	r3, .L107+12
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r1, .L107+12
	str	r2, [r1]
	and	r2, r4, #255
	strb	r2, [r3]
.L56:
	mov	r0, r5
	bl	getc
	mov	r4, r0
	ldr	r3, .L107+12
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r1, .L107+12
	str	r2, [r1]
	and	r2, r4, #255
	strb	r2, [r3]
	cmn	r4, #1
	beq	.L29
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	mov	r3, r4
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8192
	cmp	r3, #0
	beq	.L56
	b	.L29
.L38:
	ldr	r3, .L107+116
	ldr	r2, [r3]
	ldr	r3, .L107+80
	ldr	r3, [r3]
	sub	r0, r2, r3
	ldr	r3, .L107+116
	ldr	r2, [r3]
	ldr	r3, .L107+88
	ldr	r3, [r3]
	add	r3, r2, r3
	mov	r1, r3
	bl	setlimit
	ldr	r3, .L107+12
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r1, .L107+12
	str	r2, [r1]
	and	r2, r4, #255
	strb	r2, [r3]
	ldr	r3, .L107+12
	ldr	r3, [r3]
	mov	r2, r5
	mov	r1, #1000
	mov	r0, r3
	bl	fgets
	ldr	r3, .L107+12
	ldr	r4, [r3]
	ldr	r3, .L107+12
	ldr	r3, [r3]
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	add	r3, r4, r3
	ldr	r2, .L107+12
	str	r3, [r2]
	b	.L29
.L48:
	mov	r0, r5
	bl	getc
	mov	r4, r0
	sub	r3, r4, #80
	cmp	r3, #46
	ldrls	pc, [pc, r3, asl #2]
	b	.L57
.L59:
	.word	.L62
	.word	.L57
	.word	.L57
	.word	.L57
	.word	.L57
	.word	.L57
	.word	.L57
	.word	.L57
	.word	.L57
	.word	.L57
	.word	.L57
	.word	.L57
	.word	.L57
	.word	.L57
	.word	.L57
	.word	.L57
	.word	.L57
	.word	.L66
	.word	.L57
	.word	.L65
	.word	.L57
	.word	.L64
	.word	.L57
	.word	.L58
	.word	.L57
	.word	.L57
	.word	.L57
	.word	.L57
	.word	.L63
	.word	.L57
	.word	.L57
	.word	.L57
	.word	.L62
	.word	.L57
	.word	.L57
	.word	.L61
	.word	.L60
	.word	.L57
	.word	.L57
	.word	.L57
	.word	.L57
	.word	.L57
	.word	.L57
	.word	.L57
	.word	.L57
	.word	.L57
	.word	.L58
.L61:
	ldr	r3, .L107+12
	ldr	r3, [r3]
	ldr	r1, .L107+20
	mov	r0, r3
	bl	sprintf
	ldr	r3, .L107+12
	ldr	r3, [r3]
	add	r3, r3, #3
	ldr	r2, .L107+12
	str	r3, [r2]
	mov	r0, r5
	bl	getnumber
	mov	r3, r0
	ldr	r2, .L107+24
	str	r3, [r2]
	b	.L67
.L60:
	ldr	r3, .L107+12
	ldr	r3, [r3]
	ldr	r1, .L107+28
	mov	r0, r3
	bl	sprintf
	ldr	r3, .L107+12
	ldr	r3, [r3]
	add	r3, r3, #3
	ldr	r2, .L107+12
	str	r3, [r2]
	mov	r0, r5
	bl	getnumber
	mov	r3, r0
	ldr	r2, .L107+32
	str	r3, [r2]
	b	.L67
.L63:
	mov	r0, r5
	bl	ngetnumber
	str	r0, [fp, #-1660]
	mov	r0, r5
	bl	ngetnumber
	str	r0, [fp, #-1664]
	ldr	r3, [fp, #-1664]
	cmp	r3, #0
	bge	.L68
	ldr	r3, .L107+116
	ldr	r2, [r3]
	ldr	r3, [fp, #-1664]
	add	r2, r2, r3
	ldr	r3, .L107+32
	ldr	r3, [r3]
	lsr	r1, r3, #31
	add	r3, r1, r3
	asr	r3, r3, #1
	rsb	r3, r3, #0
	add	r0, r2, r3
	ldr	r3, .L107+32
	ldr	r3, [r3]
	lsr	r2, r3, #31
	add	r3, r2, r3
	asr	r3, r3, #1
	mov	r2, r3
	ldr	r3, .L107+116
	ldr	r3, [r3]
	add	r3, r2, r3
	mov	r1, r3
	bl	setlimit
	b	.L69
.L68:
	ldr	r3, .L107+116
	ldr	r2, [r3]
	ldr	r3, .L107+32
	ldr	r3, [r3]
	lsr	r1, r3, #31
	add	r3, r1, r3
	asr	r3, r3, #1
	add	r3, r3, #1
	sub	r0, r2, r3
	ldr	r3, .L107+116
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-1664]
	add	r2, r2, r3
	ldr	r3, .L107+32
	ldr	r3, [r3]
	lsr	r1, r3, #31
	add	r3, r1, r3
	asr	r3, r3, #1
	add	r3, r2, r3
	mov	r1, r3
	bl	setlimit
.L69:
	ldr	r3, .L107+12
	ldr	r0, [r3]
	ldr	r3, [fp, #-1664]
	ldr	r2, [fp, #-1660]
	ldr	r1, .L107+36
	bl	sprintf
	ldr	r3, .L107+12
	ldr	r4, [r3]
	ldr	r3, .L107+12
	ldr	r3, [r3]
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	add	r3, r4, r3
	ldr	r2, .L107+12
	str	r3, [r2]
	ldr	r3, .L107+112
	ldr	r2, [r3]
	ldr	r3, [fp, #-1660]
	add	r3, r2, r3
	ldr	r2, .L107+112
	str	r3, [r2]
	ldr	r3, .L107+112
	ldr	r2, [r3]
	ldr	r3, .L107+104
	ldr	r3, [r3]
	cmp	r2, r3
	ble	.L70
	ldr	r3, .L107+112
	ldr	r3, [r3]
	ldr	r2, .L107+104
	str	r3, [r2]
.L70:
	ldr	r3, .L107+116
	ldr	r2, [r3]
	ldr	r3, [fp, #-1664]
	add	r3, r2, r3
	ldr	r2, .L107+116
	str	r3, [r2]
	b	.L67
.L64:
	mov	r0, r5
	bl	ngetnumber
	str	r0, [fp, #-1660]
	mov	r0, r5
	bl	ngetnumber
	str	r0, [fp, #-1664]
	ldr	r3, .L107+32
	ldr	r2, [r3]
	ldr	r3, [fp, #-1664]
	add	r3, r2, r3
	lsr	r2, r3, #31
	add	r3, r2, r3
	asr	r3, r3, #1
	rsb	r3, r3, #0
	mov	r2, r3
	ldr	r3, .L107+116
	ldr	r3, [r3]
	add	r0, r2, r3
	ldr	r3, .L107+32
	ldr	r2, [r3]
	ldr	r3, [fp, #-1664]
	add	r3, r2, r3
	lsr	r2, r3, #31
	add	r3, r2, r3
	asr	r3, r3, #1
	mov	r2, r3
	ldr	r3, .L107+116
	ldr	r3, [r3]
	add	r3, r2, r3
	mov	r1, r3
	bl	setlimit
	ldr	r3, .L107+12
	ldr	r0, [r3]
	ldr	r3, [fp, #-1664]
	ldr	r2, [fp, #-1660]
	ldr	r1, .L107+40
	bl	sprintf
	ldr	r3, .L107+12
	ldr	r4, [r3]
	ldr	r3, .L107+12
	ldr	r3, [r3]
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	add	r3, r4, r3
	ldr	r2, .L107+12
	str	r3, [r2]
	ldr	r3, .L107+112
	ldr	r2, [r3]
	ldr	r3, [fp, #-1660]
	add	r3, r2, r3
	ldr	r2, .L107+112
	str	r3, [r2]
	ldr	r3, .L107+112
	ldr	r2, [r3]
	ldr	r3, .L107+104
	ldr	r3, [r3]
	cmp	r2, r3
	ble	.L103
	ldr	r3, .L107+112
	ldr	r3, [r3]
	ldr	r2, .L107+104
	str	r3, [r2]
	b	.L103
.L65:
	mov	r0, r5
	bl	ngetnumber
	str	r0, [fp, #-1660]
	ldr	r3, .L107+32
	ldr	r2, [r3]
	ldr	r3, [fp, #-1660]
	add	r3, r2, r3
	lsr	r2, r3, #31
	add	r3, r2, r3
	asr	r3, r3, #1
	rsb	r3, r3, #0
	mov	r2, r3
	ldr	r3, .L107+116
	ldr	r3, [r3]
	add	r0, r2, r3
	ldr	r3, .L107+32
	ldr	r2, [r3]
	ldr	r3, [fp, #-1660]
	add	r3, r2, r3
	lsr	r2, r3, #31
	add	r3, r2, r3
	asr	r3, r3, #1
	mov	r2, r3
	ldr	r3, .L107+116
	ldr	r3, [r3]
	add	r3, r2, r3
	mov	r1, r3
	bl	setlimit
	ldr	r3, .L107+12
	ldr	r3, [r3]
	ldr	r2, [fp, #-1660]
	ldr	r1, .L107+44
	mov	r0, r3
	bl	sprintf
	ldr	r3, .L107+12
	ldr	r4, [r3]
	ldr	r3, .L107+12
	ldr	r3, [r3]
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	add	r3, r4, r3
	ldr	r2, .L107+12
	str	r3, [r2]
	ldr	r3, .L107+112
	ldr	r2, [r3]
	ldr	r3, [fp, #-1660]
	add	r3, r2, r3
	ldr	r2, .L107+112
	str	r3, [r2]
	ldr	r3, .L107+112
	ldr	r2, [r3]
	ldr	r3, .L107+104
	ldr	r3, [r3]
	cmp	r2, r3
	ble	.L104
	ldr	r3, .L107+112
	ldr	r3, [r3]
	ldr	r2, .L107+104
	str	r3, [r2]
	b	.L104
.L66:
	mov	r0, r5
	bl	getnumber
	str	r0, [fp, #-1660]
	mov	r0, r5
	bl	getnumber
	str	r0, [fp, #-1664]
	mov	r0, r5
	bl	getnumber
	str	r0, [fp, #-1652]
	mov	r0, r5
	bl	getnumber
	str	r0, [fp, #-1648]
	ldr	r3, [fp, #-1648]
	ldr	r2, [fp, #-1652]
	ldr	r1, [fp, #-1664]
	ldr	r0, [fp, #-1660]
	bl	arcbounds
	ldr	r3, .L107+12
	ldr	r0, [r3]
	ldr	r3, [fp, #-1648]
	str	r3, [sp, #4]
	ldr	r3, [fp, #-1652]
	str	r3, [sp]
	ldr	r3, [fp, #-1664]
	ldr	r2, [fp, #-1660]
	ldr	r1, .L107+48
	bl	sprintf
	ldr	r3, .L107+12
	ldr	r4, [r3]
	ldr	r3, .L107+12
	ldr	r3, [r3]
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	add	r3, r4, r3
	ldr	r2, .L107+12
	str	r3, [r2]
	ldr	r2, [fp, #-1660]
	ldr	r3, [fp, #-1652]
	add	r2, r2, r3
	ldr	r3, .L107+112
	ldr	r3, [r3]
	add	r3, r2, r3
	ldr	r2, .L107+112
	str	r3, [r2]
	ldr	r3, .L107+112
	ldr	r2, [r3]
	ldr	r3, .L107+104
	ldr	r3, [r3]
	cmp	r2, r3
	ble	.L73
	ldr	r3, .L107+112
	ldr	r3, [r3]
	ldr	r2, .L107+104
	str	r3, [r2]
.L73:
	ldr	r2, [fp, #-1664]
	ldr	r3, [fp, #-1648]
	add	r2, r2, r3
	ldr	r3, .L107+116
	ldr	r3, [r3]
	add	r3, r2, r3
	ldr	r2, .L107+116
	str	r3, [r2]
	b	.L67
.L62:
	cmp	r4, #112
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-1656]
	mov	r0, r5
	bl	ngetnumber
	str	r0, [fp, #-1644]
	mov	r6, #1
	ldr	r3, .L107+112
	ldr	r3, [r3]
	str	r3, [fp, #-1636]
	ldr	r3, .L107+116
	ldr	r3, [r3]
	str	r3, [fp, #-836]
	ldr	r3, .L107+116
	ldr	r3, [r3]
	str	r3, [fp, #-1660]
	ldr	r3, [fp, #-1660]
	str	r3, [fp, #-1664]
	ldr	r3, .L107+112
	ldr	r8, [r3]
	ldr	r3, .L107+116
	ldr	r7, [r3]
.L78:
	mov	r0, r5
	bl	ngetnumber
	mov	r3, r0
	add	r8, r8, r3
	mov	r0, r5
	bl	ngetnumber
	mov	r3, r0
	add	r7, r7, r3
	ldr	r3, [fp, #-1660]
	cmp	r7, r3
	bge	.L74
	str	r7, [fp, #-1660]
	b	.L75
.L74:
	ldr	r3, [fp, #-1664]
	cmp	r7, r3
	ble	.L75
	str	r7, [fp, #-1664]
.L75:
	cmp	r6, #198
	bgt	.L76
	add	r6, r6, #1
.L76:
	lsl	r3, r6, #2
	sub	r2, fp, #36
	add	r3, r2, r3
	str	r8, [r3, #-1604]
	lsl	r3, r6, #2
	sub	r2, fp, #36
	add	r3, r2, r3
	str	r7, [r3, #-804]
	mov	r0, r5
	bl	getc
	mov	r4, r0
	cmp	r4, #10
	beq	.L77
	cmn	r4, #1
	bne	.L78
.L77:
	ldr	r3, [fp, #-1656]
	cmp	r3, #0
	beq	.L79
	ldr	r3, .L107+32
	ldr	r3, [r3]
	lsr	r2, r3, #31
	add	r3, r2, r3
	asr	r3, r3, #1
	mov	r10, r3
	sub	r8, fp, #1632
	sub	r8, r8, #4
	sub	r8, r8, #4
	sub	r3, fp, #1632
	sub	r3, r3, #4
	sub	r3, r3, #4
	add	r3, r3, #4
	str	r3, [fp, #-1672]
	sub	r9, fp, #840
	sub	r3, fp, #840
	add	r7, r3, #4
	mov	r3, #0
	str	r3, [fp, #-1656]
	b	.L80
.L84:
	add	r9, r9, #4
	ldr	r2, [r9]
	add	r7, r7, #4
	ldr	r3, [r7]
	cmp	r2, r3
	ble	.L81
	ldr	r3, [r7]
	sub	r2, r3, r10
	ldr	r3, .L107+116
	ldr	r3, [r3]
	add	r3, r10, r3
	mov	r1, r3
	mov	r0, r2
	bl	setlimit
	b	.L82
.L81:
	ldr	r3, .L107+116
	ldr	r2, [r3]
	add	r3, r10, #1
	sub	r2, r2, r3
	ldr	r3, [r7]
	add	r3, r3, #1
	add	r3, r10, r3
	mov	r1, r3
	mov	r0, r2
	bl	setlimit
.L82:
	ldr	r3, .L107+12
	ldr	r0, [r3]
	ldr	r3, [fp, #-1672]
	add	r3, r3, #4
	str	r3, [fp, #-1672]
	ldr	r2, [r3]
	add	r8, r8, #4
	ldr	r3, [r8]
	sub	r4, r2, r3
	ldr	r2, [r7]
	ldr	r3, [r9]
	sub	r3, r2, r3
	mov	r2, r4
	ldr	r1, .L107+52
	bl	sprintf
	ldr	r3, .L107+12
	ldr	r3, [r3]
	str	r3, [fp, #-1676]
	ldr	r3, .L107+12
	ldr	r3, [r3]
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	ldr	r2, [fp, #-1676]
	add	r3, r2, r3
	ldr	r2, .L107+12
	str	r3, [r2]
	ldr	r3, .L107+112
	ldr	r3, [r3]
	add	r3, r4, r3
	ldr	r2, .L107+112
	str	r3, [r2]
	ldr	r3, .L107+112
	ldr	r2, [r3]
	ldr	r3, .L107+104
	ldr	r3, [r3]
	cmp	r2, r3
	ble	.L83
	ldr	r3, .L107+112
	ldr	r3, [r3]
	ldr	r2, .L107+104
	str	r3, [r2]
.L83:
	ldr	r3, [r7]
	ldr	r2, .L107+116
	str	r3, [r2]
.L80:
	ldr	r3, [fp, #-1656]
	add	r3, r3, #1
	str	r3, [fp, #-1656]
	ldr	r3, [fp, #-1656]
	cmp	r3, r6
	blt	.L84
	b	.L85
.L79:
	sub	r4, fp, #1632
	sub	r4, r4, #4
	sub	r4, r4, #4
	sub	r3, fp, #1632
	sub	r3, r3, #4
	sub	r3, r3, #4
	add	r7, r3, #4
	mov	r8, #0
	b	.L86
.L87:
	add	r7, r7, #4
	ldr	r2, [r7]
	add	r4, r4, #4
	ldr	r3, [r4]
	sub	r2, r2, r3
	ldr	r3, .L107+112
	ldr	r3, [r3]
	add	r3, r2, r3
	ldr	r2, .L107+112
	str	r3, [r2]
	ldr	r3, .L107+112
	ldr	r2, [r3]
	ldr	r3, .L107+104
	ldr	r3, [r3]
	cmp	r2, r3
	ble	.L86
	ldr	r3, .L107+112
	ldr	r3, [r3]
	ldr	r2, .L107+104
	str	r3, [r2]
.L86:
	add	r8, r8, #1
	cmp	r8, r6
	blt	.L87
	lsl	r3, r6, #2
	sub	r2, fp, #36
	add	r3, r2, r3
	ldr	r3, [r3, #-804]
	ldr	r2, .L107+116
	str	r3, [r2]
	ldr	r3, .L107+12
	ldr	r0, [r3]
	ldr	r3, .L107+112
	ldr	r2, [r3]
	ldr	r3, .L107+116
	ldr	r3, [r3]
	ldr	r1, .L107+56
	bl	sprintf
	ldr	r3, .L107+12
	ldr	r4, [r3]
	ldr	r3, .L107+12
	ldr	r3, [r3]
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	add	r3, r4, r3
	ldr	r2, .L107+12
	str	r3, [r2]
.L85:
	ldr	r3, [fp, #-1644]
	cmp	r3, #0
	beq	.L105
	sub	r1, fp, #840
	sub	r2, fp, #1632
	sub	r2, r2, #4
	sub	r2, r2, #4
	ldr	r3, [fp, #-1660]
	str	r3, [sp, #4]
	ldr	r3, [fp, #-1664]
	str	r3, [sp]
	mov	r3, r1
	mov	r1, r6
	ldr	r0, [fp, #-1644]
	bl	polygon
	b	.L105
.L58:
	ldr	r3, .L107+116
	ldr	r3, [r3]
	mov	r0, r3
	bl	startspan
	ldr	r3, .L107+12
	ldr	r3, [r3]
	mov	r2, r4
	ldr	r1, .L107+60
	mov	r0, r3
	bl	sprintf
	ldr	r3, .L107+12
	ldr	r3, [r3]
	add	r3, r3, #3
	ldr	r2, .L107+12
	str	r3, [r2]
	ldr	r3, .L107+116
	ldr	r3, [r3]
	str	r3, [fp, #-1660]
	ldr	r3, [fp, #-1660]
	str	r3, [fp, #-1664]
.L92:
	mov	r0, r5
	bl	getnumber
	mov	r2, r0
	ldr	r3, .L107+112
	ldr	r3, [r3]
	add	r3, r2, r3
	ldr	r2, .L107+112
	str	r3, [r2]
	ldr	r3, .L107+12
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r1, .L107+12
	str	r2, [r1]
	mov	r2, #32
	strb	r2, [r3]
	mov	r0, r5
	bl	getnumber
	mov	r2, r0
	ldr	r3, .L107+116
	ldr	r3, [r3]
	add	r3, r2, r3
	ldr	r2, .L107+116
	str	r3, [r2]
	ldr	r3, .L107+12
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r1, .L107+12
	str	r2, [r1]
	mov	r2, #32
	strb	r2, [r3]
	ldr	r3, .L107+116
	ldr	r3, [r3]
	ldr	r2, [fp, #-1660]
	cmp	r2, r3
	ble	.L89
	ldr	r3, .L107+116
	ldr	r3, [r3]
	str	r3, [fp, #-1660]
	b	.L90
.L108:
	.align	2
.L107:
	.word	.LC16
	.word	obufsiz
	.word	obuf
	.word	op
	.word	.LC3
	.word	.LC4
	.word	style
	.word	.LC5
	.word	thick
	.word	.LC6
	.word	.LC7
	.word	.LC8
	.word	.LC9
	.word	.LC10
	.word	.LC11
	.word	.LC12
	.word	vlp
	.word	.LC13
	.word	size
	.word	954437177
	.word	up
	.word	1431655766
	.word	down
	.word	font
	.word	stip
	.word	.LC14
	.word	maxh
	.word	leftmarg
	.word	hpos
	.word	vpos
	.word	op
	.word	.LC15
	.word	.LC16
.L89:
	ldr	r3, .L107+116
	ldr	r3, [r3]
	ldr	r2, [fp, #-1664]
	cmp	r2, r3
	bge	.L90
	ldr	r3, .L107+116
	ldr	r3, [r3]
	str	r3, [fp, #-1664]
.L90:
	mov	r0, r5
	bl	getc
	mov	r4, r0
	cmp	r4, #10
	beq	.L91
	cmn	r4, #1
	bne	.L92
.L91:
	ldr	r3, [fp, #-1660]
	bic	r2, r3, r3, asr #31
	ldr	r3, .L107+64
	ldr	r3, [r3]
	lsl	r2, r2, #16
	lsr	r2, r2, #16
	strh	r2, [r3, #8]	@ movhi
	ldr	r3, .L107+64
	ldr	r3, [r3]
	ldr	r2, [fp, #-1664]
	lsl	r2, r2, #16
	lsr	r2, r2, #16
	strh	r2, [r3, #10]	@ movhi
	ldr	r3, .L107+120
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r1, .L107+120
	str	r2, [r1]
	mov	r2, #10
	strb	r2, [r3]
	ldr	r3, .L107+116
	ldr	r3, [r3]
	mov	r0, r3
	bl	startspan
	b	.L67
.L57:
	mov	r2, r4
	ldr	r1, .L107+68
	mov	r0, #1
	bl	error
	b	.L67
.L103:
	nop
	b	.L29
.L104:
	nop
	b	.L29
.L105:
	nop
.L67:
	b	.L29
.L39:
	ldr	r3, .L107+120
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r1, .L107+120
	str	r2, [r1]
	and	r2, r4, #255
	strb	r2, [r3]
	mov	r0, r5
	bl	getnumber
	mov	r3, r0
	ldr	r2, .L107+72
	str	r3, [r2]
	ldr	r3, .L107+72
	ldr	r3, [r3]
	add	r2, r3, #1
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #3
	ldr	r2, .L107+76
	smull	r1, r2, r3, r2
	asr	r2, r2, #4
	asr	r3, r3, #31
	sub	r3, r2, r3
	ldr	r2, .L107+80
	str	r3, [r2]
	ldr	r3, .L107+80
	ldr	r3, [r3]
	ldr	r2, .L107+84
	smull	r1, r2, r3, r2
	asr	r3, r3, #31
	sub	r3, r2, r3
	ldr	r2, .L107+88
	str	r3, [r2]
	b	.L29
.L44:
	ldr	r3, .L107+120
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r1, .L107+120
	str	r2, [r1]
	and	r2, r4, #255
	strb	r2, [r3]
	mov	r0, r5
	bl	getnumber
	mov	r3, r0
	ldr	r2, .L107+92
	str	r3, [r2]
	b	.L29
.L42:
	ldr	r3, .L107+120
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r1, .L107+120
	str	r2, [r1]
	and	r2, r4, #255
	strb	r2, [r3]
	mov	r0, r5
	bl	getnumber
	mov	r3, r0
	ldr	r2, .L107+96
	str	r3, [r2]
	b	.L29
.L47:
	mov	r0, r5
	bl	ngetnumber
	mov	r2, r0
	ldr	r3, .L107+108
	ldr	r3, [r3]
	add	r3, r2, r3
	ldr	r2, .L107+112
	str	r3, [r2]
	ldr	r3, .L107+112
	ldr	r2, [r3]
	ldr	r3, .L107+104
	ldr	r3, [r3]
	cmp	r2, r3
	ble	.L93
	ldr	r3, .L107+112
	ldr	r3, [r3]
	ldr	r2, .L107+104
	str	r3, [r2]
.L93:
	ldr	r3, .L107+120
	ldr	r3, [r3]
	ldr	r2, .L107+112
	ldr	r2, [r2]
	ldr	r1, .L107+100
	mov	r0, r3
	bl	sprintf
	ldr	r3, .L107+120
	ldr	r4, [r3]
	ldr	r3, .L107+120
	ldr	r3, [r3]
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	add	r3, r4, r3
	ldr	r2, .L107+120
	str	r3, [r2]
	b	.L29
.L43:
	ldr	r3, .L107+120
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r1, .L107+120
	str	r2, [r1]
	and	r2, r4, #255
	strb	r2, [r3]
	mov	r0, r5
	bl	getnumber
	mov	r2, r0
	ldr	r3, .L107+112
	ldr	r3, [r3]
	add	r3, r2, r3
	ldr	r2, .L107+112
	str	r3, [r2]
	ldr	r3, .L107+112
	ldr	r2, [r3]
	ldr	r3, .L107+104
	ldr	r3, [r3]
	cmp	r2, r3
	ble	.L29
	ldr	r3, .L107+112
	ldr	r3, [r3]
	ldr	r2, .L107+104
	str	r3, [r2]
	b	.L29
.L46:
	ldr	r3, .L107+120
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r1, .L107+120
	str	r2, [r1]
	and	r2, r4, #255
	strb	r2, [r3]
	mov	r0, r5
	bl	getnumber
	mov	r3, r0
	ldr	r2, .L107+116
	str	r3, [r2]
	b	.L29
.L37:
	ldr	r3, .L107+120
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r1, .L107+120
	str	r2, [r1]
	and	r2, r4, #255
	strb	r2, [r3]
	mov	r0, r5
	bl	getnumber
	mov	r2, r0
	ldr	r3, .L107+116
	ldr	r3, [r3]
	add	r3, r2, r3
	ldr	r2, .L107+116
	str	r3, [r2]
	b	.L29
.L40:
	mov	r0, r5
	bl	ngetnumber
	mov	r3, r0
	mov	r0, r3
	bl	t_page
	ldr	r3, .L107+116
	mov	r2, #0
	str	r2, [r3]
	b	.L29
.L41:
	ldr	r3, .L107+108
	ldr	r3, [r3]
	ldr	r2, .L107+112
	str	r3, [r2]
	ldr	r3, .L107+120
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r1, .L107+120
	str	r2, [r1]
	and	r2, r4, #255
	strb	r2, [r3]
.L96:
	mov	r0, r5
	bl	getc
	mov	r4, r0
	ldr	r3, .L107+120
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r1, .L107+120
	str	r2, [r1]
	and	r2, r4, #255
	strb	r2, [r3]
	cmp	r4, #10
	beq	.L29
	cmn	r4, #1
	bne	.L96
	b	.L29
.L106:
	nop
.L98:
	mov	r0, r5
	bl	getc
	mov	r4, r0
	cmp	r4, #10
	beq	.L29
	cmn	r4, #1
	bne	.L106
	b	.L29
.L35:
	ldr	r3, .L107+116
	ldr	r3, [r3]
	mov	r0, r3
	bl	startspan
	ldr	r3, .L107+120
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r1, .L107+120
	str	r2, [r1]
	and	r2, r4, #255
	strb	r2, [r3]
.L100:
	mov	r0, r5
	bl	getc
	mov	r4, r0
	ldr	r3, .L107+120
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r1, .L107+120
	str	r2, [r1]
	and	r2, r4, #255
	strb	r2, [r3]
	cmp	r4, #10
	beq	.L29
	cmn	r4, #1
	bne	.L100
	b	.L29
.L31:
	mov	r3, r4
	mov	r2, r4
	ldr	r1, .L107+124
	mov	r0, #0
	bl	error
	bl	done
.L29:
	mov	r0, r5
	bl	getc
	mov	r4, r0
	cmn	r4, #1
	bne	.L101
	nop
	ldr	r2, .L107+128
	ldr	r1, [r2]
	ldr	r2, [fp, #-40]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L102
	bl	__stack_chk_fail
.L102:
	mov	r0, r3
	sub	sp, fp, #32
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, r10, fp, pc}
	.size	conv, .-conv
	.align	2
	.global	setlimit
	.syntax unified
	.arm
	.fpu softvfp
	.type	setlimit, %function
setlimit:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, fp, lr}
	add	fp, sp, #20
	mov	r5, r0
	mov	r4, r1
	ldr	r3, .L123
	ldr	r3, [r3]
	ldrh	r3, [r3, #8]
	mov	r7, r3
	ldr	r3, .L123
	ldr	r3, [r3]
	ldrh	r3, [r3, #10]
	mov	r6, r3
	cmp	r5, #0
	bge	.L110
	mov	r5, #0
.L110:
	cmp	r4, #0
	bge	.L111
	mov	r4, #0
.L111:
	ldr	r3, .L123+4
	smull	r2, r3, r7, r3
	asr	r2, r3, #6
	asr	r3, r7, #31
	sub	r2, r2, r3
	ldr	r3, .L123+4
	smull	r1, r3, r6, r3
	asr	r1, r3, #6
	asr	r3, r6, #31
	sub	r3, r1, r3
	cmp	r2, r3
	beq	.L112
	ldr	r3, .L123+4
	smull	r2, r3, r5, r3
	asr	r2, r3, #6
	asr	r3, r5, #31
	sub	r2, r2, r3
	ldr	r3, .L123+4
	smull	r1, r3, r7, r3
	asr	r1, r3, #6
	asr	r3, r7, #31
	sub	r3, r1, r3
	cmp	r2, r3
	bne	.L113
	ldr	r3, .L123+4
	smull	r2, r3, r4, r3
	asr	r2, r3, #6
	asr	r3, r4, #31
	sub	r2, r2, r3
	ldr	r3, .L123+4
	smull	r1, r3, r6, r3
	asr	r1, r3, #6
	asr	r3, r6, #31
	sub	r3, r1, r3
	cmp	r2, r3
	beq	.L114
.L113:
	ldr	r3, .L123+8
	ldr	r3, [r3]
	mov	r0, r3
	bl	startspan
	ldr	r3, .L123
	ldr	r3, [r3]
	lsl	r2, r5, #16
	lsr	r2, r2, #16
	strh	r2, [r3, #8]	@ movhi
	ldr	r3, .L123
	ldr	r3, [r3]
	lsl	r2, r4, #16
	lsr	r2, r2, #16
	strh	r2, [r3, #10]	@ movhi
	b	.L117
.L114:
	cmp	r5, r7
	bge	.L116
	ldr	r3, .L123
	ldr	r3, [r3]
	lsl	r2, r5, #16
	lsr	r2, r2, #16
	strh	r2, [r3, #8]	@ movhi
.L116:
	cmp	r4, r6
	ble	.L117
	ldr	r3, .L123
	ldr	r3, [r3]
	lsl	r2, r4, #16
	lsr	r2, r2, #16
	strh	r2, [r3, #10]	@ movhi
	b	.L117
.L112:
	cmp	r5, r7
	bge	.L118
	ldr	r3, .L123
	ldr	r3, [r3]
	ldrh	r3, [r3]
	cmp	r7, r3
	bne	.L119
	ldr	r3, .L123
	ldr	r3, [r3]
	lsl	r2, r5, #16
	lsr	r2, r2, #16
	strh	r2, [r3, #8]	@ movhi
	b	.L118
.L119:
	ldr	r3, .L123+4
	smull	r2, r3, r5, r3
	asr	r2, r3, #6
	asr	r3, r5, #31
	sub	r2, r2, r3
	ldr	r3, .L123+4
	smull	r1, r3, r7, r3
	asr	r1, r3, #6
	asr	r3, r7, #31
	sub	r3, r1, r3
	cmp	r2, r3
	beq	.L120
	ldr	r3, .L123+8
	ldr	r3, [r3]
	mov	r0, r3
	bl	startspan
	ldr	r3, .L123
	ldr	r3, [r3]
	lsl	r2, r5, #16
	lsr	r2, r2, #16
	strh	r2, [r3, #8]	@ movhi
	ldr	r3, .L123
	ldr	r3, [r3]
	lsl	r2, r4, #16
	lsr	r2, r2, #16
	strh	r2, [r3, #10]	@ movhi
	b	.L117
.L120:
	ldr	r3, .L123
	ldr	r3, [r3]
	lsl	r2, r5, #16
	lsr	r2, r2, #16
	strh	r2, [r3, #8]	@ movhi
.L118:
	cmp	r4, r6
	ble	.L117
	ldr	r3, .L123
	ldr	r3, [r3]
	ldrh	r3, [r3]
	cmp	r6, r3
	bne	.L121
	ldr	r3, .L123
	ldr	r3, [r3]
	lsl	r2, r4, #16
	lsr	r2, r2, #16
	strh	r2, [r3, #10]	@ movhi
	b	.L117
.L121:
	ldr	r3, .L123+4
	smull	r2, r3, r4, r3
	asr	r2, r3, #6
	asr	r3, r4, #31
	sub	r2, r2, r3
	ldr	r3, .L123+4
	smull	r1, r3, r6, r3
	asr	r1, r3, #6
	asr	r3, r6, #31
	sub	r3, r1, r3
	cmp	r2, r3
	beq	.L122
	ldr	r3, .L123+8
	ldr	r3, [r3]
	mov	r0, r3
	bl	startspan
	ldr	r3, .L123
	ldr	r3, [r3]
	lsl	r2, r5, #16
	lsr	r2, r2, #16
	strh	r2, [r3, #8]	@ movhi
	ldr	r3, .L123
	ldr	r3, [r3]
	lsl	r2, r4, #16
	lsr	r2, r2, #16
	strh	r2, [r3, #10]	@ movhi
	b	.L117
.L122:
	ldr	r3, .L123
	ldr	r3, [r3]
	lsl	r2, r4, #16
	lsr	r2, r2, #16
	strh	r2, [r3, #10]	@ movhi
.L117:
	mov	r0, r3
	pop	{r4, r5, r6, r7, fp, pc}
.L124:
	.align	2
.L123:
	.word	vlp
	.word	1374389535
	.word	vpos
	.size	setlimit, .-setlimit
	.global	__aeabi_i2d
	.global	__aeabi_dadd
	.global	__aeabi_d2iz
	.align	2
	.global	arcbounds
	.syntax unified
	.arm
	.fpu softvfp
	.type	arcbounds, %function
arcbounds:
	@ args = 0, 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]
	mul	r2, r3, r3
	ldr	r3, [fp, #-20]
	mov	r1, r3
	mul	r1, r3, r1
	mov	r3, r1
	add	r3, r2, r3
	mov	r0, r3
	bl	__aeabi_i2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	sqrt
	mov	r2, #0
	ldr	r3, .L136
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2iz
	mov	r3, r0
	mov	r5, r3
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	blt	.L126
	mov	r2, #4
	b	.L127
.L126:
	mov	r2, #0
.L127:
	ldr	r3, [fp, #-24]
	asr	r3, r3, #30
	and	r3, r3, #2
	orr	r3, r2, r3
	ldr	r1, [fp, #-20]
	ldr	r2, [fp, #-28]
	add	r2, r1, r2
	lsr	r2, r2, #31
	and	r2, r2, #255
	orr	r4, r3, r2
	ldr	r3, .L136+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	add	r3, r2, r3
	ldr	r2, [fp, #-28]
	add	r3, r2, r3
	str	r3, [fp, #-28]
	and	r3, r4, #3
	cmp	r3, #1
	beq	.L128
	and	r3, r4, #5
	cmp	r3, #4
	beq	.L129
	ldr	r3, .L136+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	add	r3, r2, r3
	sub	r3, r3, r5
	b	.L131
.L129:
	ldr	r3, .L136+4
	ldr	r3, [r3]
	b	.L131
.L128:
	ldr	r3, [fp, #-28]
.L131:
	ldr	r2, .L136+8
	ldr	r2, [r2]
	lsr	r1, r2, #31
	add	r2, r1, r2
	asr	r2, r2, #1
	sub	r0, r3, r2
	and	r3, r4, #3
	cmp	r3, #2
	beq	.L132
	and	r3, r4, #5
	cmp	r3, #1
	beq	.L133
	ldr	r3, .L136+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	add	r3, r2, r3
	add	r3, r5, r3
	b	.L135
.L133:
	ldr	r3, .L136+4
	ldr	r3, [r3]
	b	.L135
.L132:
	ldr	r3, [fp, #-28]
.L135:
	ldr	r2, .L136+8
	ldr	r2, [r2]
	lsr	r1, r2, #31
	add	r2, r1, r2
	asr	r2, r2, #1
	add	r3, r3, r2
	mov	r1, r3
	bl	setlimit
	nop
	mov	r0, r3
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L137:
	.align	2
.L136:
	.word	1071644672
	.word	vpos
	.word	thick
	.size	arcbounds, .-arcbounds
	.section	.rodata
	.align	2
.LC17:
	.ascii	"H%dV%ds%df%d\012i%d\012Ds%d\012Dt%d\012%s\000"
	.text
	.align	2
	.global	oflush
	.syntax unified
	.arm
	.fpu softvfp
	.type	oflush, %function
oflush:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, r10, fp, lr}
	add	fp, sp, #32
	sub	sp, sp, #28
	ldr	r3, .L147
	ldr	r3, [r3]
	ldr	r2, .L147+4
	cmp	r3, r2
	beq	.L146
	ldr	r3, .L147
	ldr	r3, [r3]
	mov	r2, #0
	strb	r2, [r3]
	mov	r7, #0
	mov	r6, #199
.L145:
	mov	r5, #0
	ldr	r4, .L147+8
	mov	r8, #0
	b	.L141
.L143:
	ldrh	r3, [r4, #8]
	cmp	r6, r3
	blt	.L142
	ldrh	r3, [r4, #10]
	cmp	r7, r3
	bgt	.L142
	ldrh	r3, [r4, #2]
	mov	lr, r3
	ldrh	r3, [r4]
	mov	r9, r3
	ldrh	r3, [r4, #12]
	mov	r10, r3
	ldrb	r3, [r4, #14]	@ zero_extendqisi2
	mov	r2, r3
	ldrb	r3, [r4, #15]	@ zero_extendqisi2
	mov	r1, r3
	ldrsh	r3, [r4, #6]
	mov	r0, r3
	ldrh	r3, [r4, #4]
	mov	ip, r3
	ldr	r3, [r4, #16]
	str	r3, [sp, #16]
	str	ip, [sp, #12]
	str	r0, [sp, #8]
	str	r1, [sp, #4]
	str	r2, [sp]
	mov	r3, r10
	mov	r2, r9
	mov	r1, lr
	ldr	r0, .L147+12
	bl	printf
.L142:
	ldrh	r3, [r4, #10]
	cmp	r6, r3
	movlt	r3, #1
	movge	r3, #0
	and	r3, r3, #255
	orr	r5, r5, r3
	add	r8, r8, #1
	add	r4, r4, #20
.L141:
	ldr	r3, .L147+16
	ldr	r3, [r3]
	cmp	r8, r3
	blt	.L143
	cmp	r5, #0
	beq	.L144
	mov	r0, #80
	bl	putchar
.L144:
	add	r7, r7, #200
	add	r6, r6, #200
	cmp	r5, #0
	bne	.L145
	ldr	r3, .L147+20
	ldr	r3, [r3]
	mov	r0, r3
	bl	fflush
	ldr	r3, .L147+24
	ldr	r2, .L147+8
	str	r2, [r3]
	ldr	r3, .L147
	ldr	r2, .L147+4
	str	r2, [r3]
	ldr	r3, .L147+24
	ldr	r3, [r3]
	ldr	r2, .L147
	ldr	r2, [r2]
	str	r2, [r3, #16]
	ldr	r3, .L147+28
	ldr	r2, [r3]
	ldr	r3, .L147+24
	ldr	r3, [r3]
	lsl	r2, r2, #16
	lsr	r2, r2, #16
	strh	r2, [r3, #2]	@ movhi
	ldr	r3, .L147+32
	ldr	r2, [r3]
	ldr	r3, .L147+24
	ldr	r3, [r3]
	lsl	r2, r2, #16
	lsr	r2, r2, #16
	strh	r2, [r3]	@ movhi
	ldr	r3, .L147+32
	ldr	r2, [r3]
	ldr	r3, .L147+24
	ldr	r3, [r3]
	lsl	r2, r2, #16
	lsr	r2, r2, #16
	strh	r2, [r3, #8]	@ movhi
	ldr	r3, .L147+32
	ldr	r2, [r3]
	ldr	r3, .L147+24
	ldr	r3, [r3]
	lsl	r2, r2, #16
	lsr	r2, r2, #16
	strh	r2, [r3, #10]	@ movhi
	ldr	r3, .L147+36
	ldr	r2, [r3]
	ldr	r3, .L147+24
	ldr	r3, [r3]
	lsl	r2, r2, #16
	lsr	r2, r2, #16
	strh	r2, [r3, #12]	@ movhi
	ldr	r3, .L147+40
	ldr	r2, [r3]
	ldr	r3, .L147+24
	ldr	r3, [r3]
	and	r2, r2, #255
	strb	r2, [r3, #14]
	ldr	r3, .L147+44
	ldr	r2, [r3]
	ldr	r3, .L147+24
	ldr	r3, [r3]
	and	r2, r2, #255
	strb	r2, [r3, #15]
	ldr	r3, .L147+48
	ldr	r2, [r3]
	ldr	r3, .L147+24
	ldr	r3, [r3]
	lsl	r2, r2, #16
	asr	r2, r2, #16
	strh	r2, [r3, #6]	@ movhi
	ldr	r3, .L147+52
	ldr	r2, [r3]
	ldr	r3, .L147+24
	ldr	r3, [r3]
	lsl	r2, r2, #16
	lsr	r2, r2, #16
	strh	r2, [r3, #4]	@ movhi
	ldr	r3, .L147
	ldr	r3, [r3]
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, .L147+16
	mov	r2, #1
	str	r2, [r3]
	b	.L140
.L146:
	nop
.L140:
	mov	r0, r3
	sub	sp, fp, #32
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, r10, fp, pc}
.L148:
	.align	2
.L147:
	.word	op
	.word	obuf
	.word	vlist
	.word	.LC17
	.word	nvlist
	.word	stdout
	.word	vlp
	.word	hpos
	.word	vpos
	.word	size
	.word	font
	.word	stip
	.word	style
	.word	thick
	.size	oflush, .-oflush
	.align	2
	.global	done
	.syntax unified
	.arm
	.fpu softvfp
	.type	done, %function
done:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	bl	oflush
	mov	r0, #0
	bl	exit
	.size	done, .-done
	.section	.rodata
	.align	2
.LC18:
	.ascii	"vsort: \000"
	.text
	.align	2
	.global	error
	.syntax unified
	.arm
	.fpu softvfp
	.type	error, %function
error:
	@ args = 20, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	str	r3, [fp, #-20]
	ldr	r3, .L152
	ldr	r3, [r3]
	mov	r2, #7
	mov	r1, #1
	ldr	r0, .L152+4
	bl	fwrite
	ldr	r3, .L152
	ldr	r0, [r3]
	ldr	r1, [fp, #-12]
	ldr	r3, [fp, #20]
	str	r3, [sp, #16]
	ldr	r3, [fp, #16]
	str	r3, [sp, #12]
	ldr	r3, [fp, #12]
	str	r3, [sp, #8]
	ldr	r3, [fp, #8]
	str	r3, [sp, #4]
	ldr	r3, [fp, #4]
	str	r3, [sp]
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-16]
	bl	fprintf
	ldr	r3, .L152
	ldr	r3, [r3]
	mov	r1, r3
	mov	r0, #10
	bl	fputc
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L151
	bl	done
.L151:
	nop
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L153:
	.align	2
.L152:
	.word	stderr
	.word	.LC18
	.size	error, .-error
	.comm	state,80,4
	.global	statep
	.data
	.align	2
	.type	statep, %object
	.size	statep, 4
statep:
	.word	state
	.section	.rodata
	.align	2
.LC19:
	.ascii	"{ nested too deep\000"
	.text
	.align	2
	.global	t_push
	.syntax unified
	.arm
	.fpu softvfp
	.type	t_push, %function
t_push:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L156
	ldr	r3, [r3]
	ldr	r2, .L156+4
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, .L156
	ldr	r3, [r3]
	ldr	r2, .L156+8
	ldr	r2, [r2]
	str	r2, [r3, #4]
	ldr	r3, .L156
	ldr	r3, [r3]
	ldr	r2, .L156+12
	ldr	r2, [r2]
	str	r2, [r3, #8]
	ldr	r3, .L156
	ldr	r3, [r3]
	ldr	r2, .L156+16
	ldr	r2, [r2]
	str	r2, [r3, #12]
	ldr	r3, .L156+16
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L156+16
	ldr	r3, [r3]
	ldr	r2, .L156+12
	str	r3, [r2]
	ldr	r3, .L156
	ldr	r3, [r3]
	add	r2, r3, #16
	ldr	r1, .L156
	str	r2, [r1]
	ldr	r2, .L156+20
	cmp	r3, r2
	bcc	.L155
	ldr	r1, .L156+24
	mov	r0, #1
	bl	error
.L155:
	ldr	r3, .L156+16
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L156+16
	ldr	r3, [r3]
	ldr	r2, .L156+12
	str	r3, [r2]
	nop
	mov	r0, r3
	pop	{fp, pc}
.L157:
	.align	2
.L156:
	.word	statep
	.word	size
	.word	font
	.word	hpos
	.word	vpos
	.word	state+80
	.word	.LC19
	.size	t_push, .-t_push
	.section	.rodata
	.align	2
.LC20:
	.ascii	"extra }\000"
	.text
	.align	2
	.global	t_pop
	.syntax unified
	.arm
	.fpu softvfp
	.type	t_pop, %function
t_pop:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L160
	ldr	r3, [r3]
	sub	r3, r3, #16
	ldr	r2, .L160
	str	r3, [r2]
	ldr	r3, .L160
	ldr	r3, [r3]
	ldr	r2, .L160+4
	cmp	r3, r2
	bcs	.L159
	ldr	r1, .L160+8
	mov	r0, #1
	bl	error
.L159:
	ldr	r3, .L160
	ldr	r3, [r3]
	ldr	r3, [r3]
	ldr	r2, .L160+12
	str	r3, [r2]
	ldr	r3, .L160
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	ldr	r2, .L160+16
	str	r3, [r2]
	ldr	r3, .L160
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	ldr	r2, .L160+20
	str	r3, [r2]
	ldr	r3, .L160
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	ldr	r2, .L160+24
	str	r3, [r2]
	nop
	mov	r0, r3
	pop	{fp, pc}
.L161:
	.align	2
.L160:
	.word	statep
	.word	state
	.word	.LC20
	.word	size
	.word	font
	.word	hpos
	.word	vpos
	.size	t_pop, .-t_pop
	.global	__aeabi_idiv
	.section	.rodata
	.align	2
.LC21:
	.ascii	"p%d\012\000"
	.text
	.align	2
	.global	t_page
	.syntax unified
	.arm
	.fpu softvfp
	.type	t_page, %function
t_page:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #12
	str	r0, [fp, #-16]
	ldr	r3, .L170
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L163
	ldr	r3, .L170+4
	ldr	r3, [r3]
	ldr	r2, .L170
	ldr	r2, [r2]
	mov	r1, r2
	mov	r0, r3
	bl	__aeabi_idiv
	mov	r3, r0
	lsl	r3, r3, #1
	b	.L164
.L163:
	mov	r3, #0
.L164:
	ldr	r2, .L170+4
	ldr	r2, [r2]
	add	r3, r3, r2
	cmp	r3, #7040
	bgt	.L165
	ldr	r3, .L170+8
	ldr	r3, [r3]
	ldr	r2, .L170+12
	cmp	r3, r2
	bgt	.L165
	ldr	r3, .L170+16
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L166
.L165:
	bl	oflush
	ldr	r3, .L170+20
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r1, .L170+20
	str	r2, [r1]
	mov	r1, r3
	ldr	r0, .L170+24
	bl	printf
	ldr	r3, .L170+8
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L170+8
	ldr	r3, [r3]
	ldr	r2, .L170+4
	str	r3, [r2]
	ldr	r3, .L170+4
	ldr	r3, [r3]
	ldr	r2, .L170
	str	r3, [r2]
	ldr	r3, .L170
	ldr	r3, [r3]
	ldr	r2, .L170+16
	str	r3, [r2]
	b	.L167
.L166:
	ldr	r3, .L170+8
	ldr	r2, [r3]
	ldr	r3, .L170+4
	ldr	r3, [r3]
	sub	r3, r2, r3
	add	r3, r3, #99
	ldr	r2, .L170+28
	smull	r1, r2, r3, r2
	asr	r2, r2, #5
	asr	r3, r3, #31
	sub	r4, r2, r3
	cmp	r4, #11
	ble	.L168
	cmp	r4, #17
	bgt	.L168
	ldr	r3, .L170+4
	ldr	r3, [r3]
	add	r3, r3, #1696
	add	r3, r3, #4
	ldr	r2, .L170+4
	str	r3, [r2]
	b	.L169
.L168:
	ldr	r3, .L170+8
	ldr	r3, [r3]
	add	r3, r3, #100
	ldr	r2, .L170+28
	smull	r1, r2, r3, r2
	asr	r2, r2, #5
	asr	r3, r3, #31
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, .L170+4
	str	r2, [r3]
.L169:
	ldr	r3, .L170
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L170
	str	r3, [r2]
.L167:
	nop
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L171:
	.align	2
.L170:
	.word	pageno
	.word	leftmarg
	.word	maxh
	.word	6840
	.word	first.5995
	.word	spanno
	.word	.LC21
	.word	1374389535
	.size	t_page, .-t_page
	.align	2
	.global	startspan
	.syntax unified
	.arm
	.fpu softvfp
	.type	startspan, %function
startspan:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	mov	r4, r0
	ldr	r3, .L174
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r1, .L174
	str	r2, [r1]
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, .L174+4
	ldr	r3, [r3]
	ldr	r2, .L174+8
	cmp	r3, r2
	ble	.L173
	bl	oflush
.L173:
	ldr	r3, .L174+12
	ldr	r3, [r3]
	add	r3, r3, #20
	ldr	r2, .L174+12
	str	r3, [r2]
	ldr	r3, .L174+12
	ldr	r3, [r3]
	ldr	r2, .L174
	ldr	r2, [r2]
	str	r2, [r3, #16]
	ldr	r3, .L174+12
	ldr	r3, [r3]
	lsl	r2, r4, #16
	lsr	r2, r2, #16
	strh	r2, [r3]	@ movhi
	ldr	r3, .L174+12
	ldr	r3, [r3]
	lsl	r2, r4, #16
	lsr	r2, r2, #16
	strh	r2, [r3, #10]	@ movhi
	ldr	r3, .L174+12
	ldr	r3, [r3]
	lsl	r2, r4, #16
	lsr	r2, r2, #16
	strh	r2, [r3, #8]	@ movhi
	ldr	r3, .L174+16
	ldr	r2, [r3]
	ldr	r3, .L174+12
	ldr	r3, [r3]
	lsl	r2, r2, #16
	lsr	r2, r2, #16
	strh	r2, [r3, #2]	@ movhi
	ldr	r3, .L174+20
	ldr	r2, [r3]
	ldr	r3, .L174+12
	ldr	r3, [r3]
	lsl	r2, r2, #16
	lsr	r2, r2, #16
	strh	r2, [r3, #12]	@ movhi
	ldr	r3, .L174+24
	ldr	r2, [r3]
	ldr	r3, .L174+12
	ldr	r3, [r3]
	and	r2, r2, #255
	strb	r2, [r3, #14]
	ldr	r3, .L174+28
	ldr	r2, [r3]
	ldr	r3, .L174+12
	ldr	r3, [r3]
	and	r2, r2, #255
	strb	r2, [r3, #15]
	ldr	r3, .L174+32
	ldr	r2, [r3]
	ldr	r3, .L174+12
	ldr	r3, [r3]
	lsl	r2, r2, #16
	asr	r2, r2, #16
	strh	r2, [r3, #6]	@ movhi
	ldr	r3, .L174+36
	ldr	r2, [r3]
	ldr	r3, .L174+12
	ldr	r3, [r3]
	lsl	r2, r2, #16
	lsr	r2, r2, #16
	strh	r2, [r3, #4]	@ movhi
	ldr	r3, .L174+4
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L174+4
	str	r3, [r2]
	nop
	mov	r0, r3
	pop	{r4, r5, fp, pc}
.L175:
	.align	2
.L174:
	.word	op
	.word	nvlist
	.word	2999
	.word	vlp
	.word	hpos
	.word	size
	.word	font
	.word	stip
	.word	style
	.word	thick
	.size	startspan, .-startspan
	.section	.rodata
	.align	2
.LC22:
	.ascii	"unable to allocate space for polygon\000"
	.align	2
.LC23:
	.ascii	"Dq %d %d %d %d\000"
	.align	2
.LC24:
	.ascii	" %d %d %d %d %d\000"
	.text
	.align	2
	.global	polygon
	.syntax unified
	.arm
	.fpu softvfp
	.type	polygon, %function
polygon:
	@ args = 8, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, fp, lr}
	add	fp, sp, #24
	sub	sp, sp, #52
	str	r0, [fp, #-48]
	str	r1, [fp, #-52]
	str	r2, [fp, #-56]
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-52]
	add	r3, r3, #4
	mov	r2, r3
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	mov	r4, r3
	cmp	r4, #0
	bne	.L177
	ldr	r1, .L228
	mov	r0, #0
	bl	error
	b	.L178
.L177:
	str	r4, [fp, #-40]
	ldr	r3, [fp, #8]
	sub	r3, r3, #1
	str	r3, [r4, #8]
	mov	r3, r4
	add	r4, r3, #20
	mov	r2, #0
	str	r2, [r3, #4]
	ldr	r3, [fp, #-40]
	str	r4, [r3]
	ldr	r3, [fp, #-40]
	str	r3, [r4, #4]
	mov	r6, #1
	ldr	r3, [fp, #-60]
	add	r3, r3, #4
	ldr	r2, [r3]
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-60]
	add	r3, r1, r3
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L179
	ldr	r3, [fp, #-56]
	add	r3, r3, #4
	ldr	r2, [r3]
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-56]
	add	r3, r1, r3
	ldr	r3, [r3]
	cmp	r2, r3
	beq	.L180
.L179:
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-60]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-60]
	str	r2, [r3]
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-56]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-56]
	str	r2, [r3]
	mov	r6, #0
.L180:
	mov	r5, #0
	b	.L181
.L184:
	mov	r7, r6
	add	r6, r6, #1
	mov	r8, r6
	mov	r3, r7
	lsl	r3, r3, #2
	ldr	r2, [fp, #-60]
	add	r3, r2, r3
	ldr	r2, [r3]
	mov	r3, r8
	lsl	r3, r3, #2
	ldr	r1, [fp, #-60]
	add	r3, r1, r3
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L182
	b	.L181
.L182:
	mov	r3, r7
	lsl	r3, r3, #2
	ldr	r2, [fp, #-60]
	add	r3, r2, r3
	ldr	r2, [r3]
	mov	r3, r8
	lsl	r3, r3, #2
	ldr	r1, [fp, #-60]
	add	r3, r1, r3
	ldr	r3, [r3]
	cmp	r2, r3
	ble	.L183
	add	r7, r7, #1
	sub	r8, r8, #1
.L183:
	add	r5, r5, #1
	add	r3, r4, #20
	str	r3, [r4]
	mov	r3, r7
	lsl	r3, r3, #2
	ldr	r2, [fp, #-60]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [r4, #8]
	mov	r3, r8
	lsl	r3, r3, #2
	ldr	r2, [fp, #-56]
	add	r3, r2, r3
	ldr	r3, [r3]
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	mov	r3, r7
	lsl	r3, r3, #2
	ldr	r1, [fp, #-56]
	add	r3, r1, r3
	ldr	r3, [r3]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	sub	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #16
	asr	r3, r3, #16
	strh	r3, [r4, #12]	@ movhi
	mov	r3, r8
	lsl	r3, r3, #2
	ldr	r2, [fp, #-60]
	add	r3, r2, r3
	ldr	r3, [r3]
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	mov	r3, r7
	lsl	r3, r3, #2
	ldr	r1, [fp, #-60]
	add	r3, r1, r3
	ldr	r3, [r3]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	sub	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #16
	asr	r3, r3, #16
	strh	r3, [r4, #14]	@ movhi
	mov	r3, r7
	lsl	r3, r3, #2
	ldr	r2, [fp, #-56]
	add	r3, r2, r3
	ldr	r3, [r3]
	lsl	r3, r3, #16
	asr	r3, r3, #16
	strh	r3, [r4, #16]	@ movhi
	mov	r3, r8
	lsl	r3, r3, #2
	ldr	r2, [fp, #-60]
	add	r3, r2, r3
	ldr	r2, [r3]
	mov	r3, r4
	add	r4, r3, #20
	lsl	r2, r2, #16
	asr	r2, r2, #16
	strh	r2, [r3, #18]	@ movhi
	sub	r3, r4, #20
	str	r3, [r4, #4]
.L181:
	ldr	r3, [fp, #-52]
	cmp	r6, r3
	blt	.L184
	cmp	r5, #1
	ble	.L227
	ldr	r3, [fp, #4]
	add	r3, r3, #1
	str	r3, [r4, #8]
	mov	r3, #0
	str	r3, [r4]
	add	r4, r4, #20
	str	r4, [fp, #-36]
	mov	r3, #32768
	strh	r3, [r4, #16]	@ movhi
	ldr	r3, [fp, #4]
	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	r3, r3, #16
	strh	r3, [r4, #18]	@ movhi
	mov	r3, #0
	strh	r3, [r4, #14]	@ movhi
	ldrsh	r3, [r4, #14]
	strh	r3, [r4, #12]	@ movhi
	ldrsh	r3, [r4, #12]
	str	r3, [r4, #8]
	add	r4, r4, #20
	ldr	r3, [fp, #-36]
	str	r4, [r3]
	ldr	r3, [fp, #-36]
	str	r4, [r3, #4]
	ldr	r3, [fp, #-36]
	str	r3, [r4, #4]
	ldr	r3, [fp, #-36]
	str	r3, [r4]
	mvn	r3, #32768
	strh	r3, [r4, #16]	@ movhi
	ldr	r3, [fp, #4]
	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	r3, r3, #16
	strh	r3, [r4, #18]	@ movhi
	mov	r3, #0
	strh	r3, [r4, #14]	@ movhi
	ldrsh	r3, [r4, #14]
	strh	r3, [r4, #12]	@ movhi
	ldrsh	r3, [r4, #12]
	str	r3, [r4, #8]
	ldr	r3, [fp, #8]
	ldr	r2, .L228+4
	smull	r1, r2, r3, r2
	asr	r2, r2, #6
	asr	r3, r3, #31
	sub	r2, r2, r3
	ldr	r3, [fp, #4]
	ldr	r1, .L228+4
	smull	r0, r1, r3, r1
	asr	r1, r1, #6
	asr	r3, r3, #31
	sub	r3, r1, r3
	cmp	r2, r3
	beq	.L187
	mov	r5, #0
	mov	r3, #1
	str	r3, [fp, #-44]
	b	.L191
.L187:
	ldr	r0, [fp, #8]
	bl	startspan
	ldr	r3, .L228+8
	ldr	r0, [r3]
	ldr	r3, [fp, #4]
	str	r3, [sp, #4]
	ldr	r3, [fp, #8]
	str	r3, [sp]
	mov	r3, r5
	ldr	r2, [fp, #-48]
	ldr	r1, .L228+12
	bl	sprintf
	ldr	r3, .L228+8
	ldr	r4, [r3]
	ldr	r3, .L228+8
	ldr	r3, [r3]
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	add	r3, r4, r3
	ldr	r2, .L228+8
	str	r3, [r2]
	ldr	r3, [fp, #-40]
	ldr	r4, [r3]
	b	.L189
.L190:
	ldr	r3, .L228+8
	ldr	r0, [r3]
	ldr	r2, [r4, #8]
	ldrsh	r3, [r4, #12]
	mov	lr, r3
	ldrsh	r3, [r4, #14]
	ldrsh	r1, [r4, #16]
	ldrsh	ip, [r4, #18]
	str	ip, [sp, #8]
	str	r1, [sp, #4]
	str	r3, [sp]
	mov	r3, lr
	ldr	r1, .L228+16
	bl	sprintf
	ldr	r3, .L228+8
	ldr	r6, [r3]
	ldr	r3, .L228+8
	ldr	r3, [r3]
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	add	r3, r6, r3
	ldr	r2, .L228+8
	str	r3, [r2]
	add	r4, r4, #20
.L189:
	mov	r3, r5
	sub	r5, r3, #1
	cmp	r3, #0
	bne	.L190
	ldr	r3, .L228+8
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r1, .L228+8
	str	r2, [r1]
	mov	r2, #10
	strb	r2, [r3]
	b	.L186
.L226:
	ldr	r3, [fp, #4]
	add	r6, r3, #1
	ldr	r3, [fp, #-40]
	ldr	r4, [r3]
	b	.L192
.L199:
	ldr	r3, [r4, #8]
	ldr	r2, [fp, #8]
	cmp	r2, r3
	bne	.L193
	ldrsh	r3, [r4, #12]
	cmp	r3, #0
	bge	.L194
	ldrsh	r3, [r4, #12]
	asr	r3, r3, #1
	lsl	r3, r3, #16
	asr	r3, r3, #16
	mov	r2, r3
	ldrsh	r3, [r4, #14]
	asr	r3, r3, #1
	lsl	r3, r3, #16
	asr	r3, r3, #16
	add	r3, r2, r3
	rsb	r3, r3, #0
	str	r3, [r4, #8]
	b	.L195
.L194:
	ldrsh	r3, [r4, #12]
	asr	r3, r3, #1
	lsl	r3, r3, #16
	asr	r3, r3, #16
	mov	r2, r3
	ldrsh	r3, [r4, #14]
	asr	r3, r3, #1
	lsl	r3, r3, #16
	asr	r3, r3, #16
	sub	r3, r2, r3
	str	r3, [r4, #8]
.L195:
	mov	r7, r4
	ldr	r4, [r4]
	ldr	r3, [r7, #4]
	str	r3, [r4, #4]
	ldr	r3, [r7, #4]
	str	r4, [r3]
	ldr	r3, [fp, #-36]
	ldr	r8, [r3]
	b	.L196
.L197:
	ldr	r8, [r8]
.L196:
	ldrsh	r2, [r8, #16]
	ldrsh	r3, [r7, #16]
	cmp	r2, r3
	blt	.L197
	str	r8, [r7]
	ldr	r3, [r8, #4]
	str	r3, [r7, #4]
	str	r7, [r8, #4]
	ldr	r3, [r7, #4]
	str	r7, [r3]
	add	r5, r5, #1
	b	.L192
.L193:
	ldr	r3, [r4, #8]
	cmp	r6, r3
	ble	.L198
	ldr	r6, [r4, #8]
.L198:
	ldr	r4, [r4]
.L192:
	cmp	r4, #0
	bne	.L199
	str	r6, [fp, #-32]
	b	.L200
.L225:
	ldr	r3, [fp, #-36]
	ldr	r4, [r3]
.L202:
	ldrsh	r3, [r4, #18]
	mov	r2, r3
	ldr	r3, [fp, #8]
	cmp	r3, r2
	blt	.L201
	ldr	r3, [r4, #4]
	ldr	r2, [r4]
	str	r2, [r3]
	ldr	r3, [r4]
	ldr	r2, [r4, #4]
	str	r2, [r3, #4]
	sub	r5, r5, #1
.L201:
	ldr	r4, [r4]
	ldr	r3, [fp, #-36]
	cmp	r4, r3
	bne	.L202
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	bne	.L203
	ldr	r1, [fp, #8]
	ldr	r3, .L228+4
	smull	r2, r3, r1, r3
	asr	r2, r3, #6
	asr	r3, r1, #31
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #3
	sub	r2, r1, r3
	cmp	r2, #0
	bne	.L204
.L203:
	ldr	r0, [fp, #8]
	bl	startspan
	ldr	r3, [fp, #8]
	ldr	r2, .L228+4
	smull	r1, r2, r3, r2
	asr	r2, r2, #6
	asr	r3, r3, #31
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #3
	add	r7, r3, #199
	ldr	r3, [fp, #4]
	cmp	r7, r3
	ble	.L205
	ldr	r7, [fp, #4]
.L205:
	mov	r6, #0
	ldr	r3, [fp, #-40]
	ldr	r4, [r3]
	b	.L206
.L208:
	ldr	r3, [r4, #8]
	cmp	r7, r3
	blt	.L207
	add	r6, r6, #1
.L207:
	ldr	r4, [r4]
.L206:
	cmp	r4, #0
	bne	.L208
	ldr	r3, .L228+8
	ldr	r0, [r3]
	add	r2, r5, r6
	str	r7, [sp, #4]
	ldr	r3, [fp, #8]
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [fp, #-48]
	ldr	r1, .L228+12
	bl	sprintf
	ldr	r3, .L228+8
	ldr	r4, [r3]
	ldr	r3, .L228+8
	ldr	r3, [r3]
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	add	r3, r4, r3
	ldr	r2, .L228+8
	str	r3, [r2]
	mov	r6, r5
	ldr	r3, [fp, #-36]
	ldr	r4, [r3]
	b	.L209
.L210:
	ldr	r3, .L228+8
	ldr	r0, [r3]
	ldr	r2, [r4, #8]
	ldrsh	r3, [r4, #12]
	mov	lr, r3
	ldrsh	r3, [r4, #14]
	rsb	r3, r3, #0
	ldrsh	r1, [r4, #16]
	ldrsh	ip, [r4, #18]
	str	ip, [sp, #8]
	str	r1, [sp, #4]
	str	r3, [sp]
	mov	r3, lr
	ldr	r1, .L228+16
	bl	sprintf
	ldr	r3, .L228+8
	ldr	r8, [r3]
	ldr	r3, .L228+8
	ldr	r3, [r3]
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	add	r3, r8, r3
	ldr	r2, .L228+8
	str	r3, [r2]
	ldr	r4, [r4]
.L209:
	mov	r3, r6
	sub	r6, r3, #1
	cmp	r3, #0
	bne	.L210
	ldr	r3, [fp, #-40]
	ldr	r4, [r3]
	b	.L211
.L213:
	ldr	r3, [r4, #8]
	cmp	r7, r3
	blt	.L212
	ldr	r3, .L228+8
	ldr	r0, [r3]
	ldr	r2, [r4, #8]
	ldrsh	r3, [r4, #12]
	mov	lr, r3
	ldrsh	r3, [r4, #14]
	ldrsh	r1, [r4, #16]
	ldrsh	ip, [r4, #18]
	str	ip, [sp, #8]
	str	r1, [sp, #4]
	str	r3, [sp]
	mov	r3, lr
	ldr	r1, .L228+16
	bl	sprintf
	ldr	r3, .L228+8
	ldr	r6, [r3]
	ldr	r3, .L228+8
	ldr	r3, [r3]
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	add	r3, r6, r3
	ldr	r2, .L228+8
	str	r3, [r2]
.L212:
	ldr	r4, [r4]
.L211:
	cmp	r4, #0
	bne	.L213
	ldr	r3, .L228+8
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r1, .L228+8
	str	r2, [r1]
	mov	r2, #10
	strb	r2, [r3]
	mov	r3, #0
	str	r3, [fp, #-44]
.L204:
	ldr	r3, [fp, #-36]
	ldr	r4, [r3]
.L224:
	ldrsh	r3, [r4, #12]
	cmp	r3, #0
	ble	.L214
	b	.L215
.L216:
	ldr	r3, [r4, #8]
	ldrsh	r2, [r4, #14]
	sub	r3, r3, r2
	str	r3, [r4, #8]
	ldrsh	r3, [r4, #16]
	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	r3, r3, #16
	strh	r3, [r4, #16]	@ movhi
.L215:
	ldr	r3, [r4, #8]
	cmp	r3, #0
	bge	.L216
	ldr	r3, [r4, #8]
	ldrsh	r2, [r4, #12]
	add	r3, r3, r2
	str	r3, [r4, #8]
	b	.L217
.L214:
	ldrsh	r3, [r4, #12]
	cmp	r3, #0
	bge	.L217
	b	.L218
.L219:
	ldr	r3, [r4, #8]
	ldrsh	r2, [r4, #14]
	sub	r3, r3, r2
	str	r3, [r4, #8]
	ldrsh	r3, [r4, #16]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	sub	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #16
	asr	r3, r3, #16
	strh	r3, [r4, #16]	@ movhi
.L218:
	ldr	r3, [r4, #8]
	cmp	r3, #0
	bge	.L219
	ldr	r3, [r4, #8]
	ldrsh	r2, [r4, #12]
	sub	r3, r3, r2
	str	r3, [r4, #8]
.L217:
	ldrsh	r2, [r4, #16]
	ldr	r3, [r4, #4]
	ldrsh	r3, [r3, #16]
	cmp	r2, r3
	bge	.L220
	mov	r6, r4
	ldr	r7, [r6, #4]
	b	.L221
.L222:
	ldr	r7, [r7, #4]
.L221:
	ldrsh	r2, [r6, #16]
	ldrsh	r3, [r7, #16]
	cmp	r2, r3
	blt	.L222
	ldr	r4, [r4]
	ldr	r3, [r6, #4]
	str	r3, [r4, #4]
	ldr	r3, [r6, #4]
	str	r4, [r3]
	str	r7, [r6, #4]
	ldr	r3, [r7]
	str	r3, [r6]
	str	r6, [r7]
	ldr	r3, [r6]
	str	r6, [r3, #4]
	b	.L223
.L220:
	ldr	r4, [r4]
.L223:
	ldr	r3, [fp, #-36]
	cmp	r4, r3
	bne	.L224
	ldr	r3, [fp, #8]
	add	r3, r3, #1
	str	r3, [fp, #8]
.L200:
	ldr	r2, [fp, #8]
	ldr	r3, [fp, #-32]
	cmp	r2, r3
	blt	.L225
.L191:
	ldr	r2, [fp, #8]
	ldr	r3, [fp, #4]
	cmp	r2, r3
	ble	.L226
	b	.L186
.L227:
	nop
.L186:
	ldr	r3, .L228+20
	ldr	r3, [r3]
	mov	r0, r3
	bl	startspan
	ldr	r0, [fp, #-40]
	bl	free
.L178:
	mov	r0, r3
	sub	sp, fp, #24
	@ sp needed
	pop	{r4, r5, r6, r7, r8, fp, pc}
.L229:
	.align	2
.L228:
	.word	.LC22
	.word	1374389535
	.word	op
	.word	.LC23
	.word	.LC24
	.word	vpos
	.size	polygon, .-polygon
	.data
	.align	2
	.type	first.5995, %object
	.size	first.5995, 4
first.5995:
	.word	1
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
