	.file	"888193.c"
	.intel_syntax noprefix
	.text
	.globl	state
	.bss
	.align 32
	.type	state, @object
	.size	state, 1600
state:
	.zero	1600
	.globl	vars
	.align 32
	.type	vars, @object
	.size	vars, 200
vars:
	.zero	200
	.globl	astep
	.align 32
	.type	astep, @object
	.size	astep, 400
astep:
	.zero	400
	.globl	bstep
	.align 32
	.type	bstep, @object
	.size	bstep, 400
bstep:
	.zero	400
	.globl	r
	.align 4
	.type	r, @object
	.size	r, 4
r:
	.zero	4
	.globl	p
	.align 4
	.type	p, @object
	.size	p, 4
p:
	.zero	4
	.globl	pp
	.align 4
	.type	pp, @object
	.size	pp, 4
pp:
	.zero	4
	.globl	buf
	.align 32
	.type	buf, @object
	.size	buf, 1024
buf:
	.zero	1024
	.section	.rodata
.LC0:
	.string	"%d"
.LC1:
	.string	"Usage: %s r {+|-}p < foo.dat\n"
	.align 8
.LC2:
	.string	"Parameter r must be positive!\n"
.LC3:
	.string	"~ sat-mutex-starve %d %d\n"
.LC4:
	.string	"%s"
	.align 8
.LC5:
	.string	"Recompile me -- I only have room for %d steps!\n"
.LC6:
	.string	"the name is too long"
.LC7:
	.string	"Oops, %s!\n> %s\n"
	.align 8
.LC8:
	.string	"the step name must begin with A or B"
	.align 8
.LC9:
	.string	"that name has already been used"
.LC10:
	.string	"step is incomplete"
.LC11:
	.string	"maybe "
.LC12:
	.string	" goto "
.LC13:
	.string	"missing goto"
.LC14:
	.string	"the label is too long"
.LC15:
	.string	"maybe step ends badly"
.LC16:
	.string	"critical "
.LC17:
	.string	"critical step ends badly"
.LC18:
	.string	"if "
.LC19:
	.string	"the variable name is too long"
	.align 8
.LC20:
	.string	"a variable name must begin with a lowercase letter"
.LC21:
	.string	"missing `=' in an if step"
.LC22:
	.string	"the value must be 0 or 1"
.LC23:
	.string	" else "
.LC24:
	.string	"missing else"
.LC25:
	.string	"the else label is too long"
.LC26:
	.string	"that if step ends badly"
	.align 8
.LC27:
	.string	"missing `=' in an assignment step"
.LC28:
	.string	"assignment step ends badly"
	.align 8
.LC29:
	.string	"There are no steps for process A!\n"
	.align 8
.LC30:
	.string	"There are no steps for process B!\n"
.LC31:
	.string	"Missing step %.4s!\n"
	.align 8
.LC32:
	.string	"Both processes are initially in critical sections!\n"
	.align 8
.LC33:
	.string	"(%d+%d steps with %d shared variables successfully input)\n"
.LC34:
	.string	"~000%.2s\n"
.LC35:
	.string	"000%.4s\n"
.LC36:
	.string	"~000%.4s\n"
.LC37:
	.string	"~%03d%.4s ~%03d%.4s\n"
.LC38:
	.string	"%03d_A%d"
.LC39:
	.string	"~%03d%.4s"
.LC40:
	.string	" ~%03d%.4s\n"
.LC41:
	.string	" ~%03d_A%d\n"
.LC42:
	.string	"~%03d%.4s ~%03d_A%d\n"
.LC43:
	.string	"%03d_B%d"
.LC44:
	.string	" ~%03d_B%d\n"
.LC45:
	.string	"~%03d%.4s ~%03d_B%d\n"
.LC46:
	.string	"%03d@ ~%03d%.4s %03d%.4s\n"
	.align 8
.LC47:
	.string	"~%03d@ ~%03d%.4s %03d%.4s %03d%.4s\n"
.LC48:
	.string	"~%03d@ ~%03d%.4s %03d%.4s\n"
.LC49:
	.string	"~%03d@ ~%03d%.4s"
.LC50:
	.string	"~"
.LC51:
	.string	""
.LC52:
	.string	" %s%03d%.2s %03d%.4s\n"
	.align 8
.LC53:
	.string	"%03d@ ~%03d%.4s %03d%.4s %03d%.4s\n"
.LC54:
	.string	"%03d@ ~%03d%.4s"
.LC55:
	.string	"%s%03d@ ~%03d%.4s %s%03d%.2s\n"
.LC56:
	.string	"~%03d@ %03d%.2s"
.LC57:
	.string	" %03d%.4s"
.LC58:
	.string	" ~%03d%.2s\n"
.LC59:
	.string	"%03d@ %03d%.2s"
.LC60:
	.string	"~%03d@ ~%03d%.2s"
.LC61:
	.string	" %03d%.2s\n"
.LC62:
	.string	"%03d@ ~%03d%.2s"
.LC63:
	.string	" ~%03d@"
.LC64:
	.string	" %03d@"
.LC65:
	.string	"~%03d%.4s\n"
	.text
	.globl	main
	.type	main, @function
main:
.LFB6:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	r15
	push	r14
	push	r13
	push	r12
	push	rbx
	sub	rsp, 56
	.cfi_offset 15, -24
	.cfi_offset 14, -32
	.cfi_offset 13, -40
	.cfi_offset 12, -48
	.cfi_offset 3, -56
	mov	DWORD PTR -68[rbp], edi
	mov	QWORD PTR -80[rbp], rsi
	cmp	DWORD PTR -68[rbp], 3
	jne	.L2
	mov	rax, QWORD PTR -80[rbp]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	lea	rdx, r[rip]
	lea	rsi, .LC0[rip]
	mov	rdi, rax
	mov	eax, 0
	call	__isoc99_sscanf@PLT
	cmp	eax, 1
	jne	.L2
	mov	rax, QWORD PTR -80[rbp]
	add	rax, 16
	mov	rax, QWORD PTR [rax]
	lea	rdx, p[rip]
	lea	rsi, .LC0[rip]
	mov	rdi, rax
	mov	eax, 0
	call	__isoc99_sscanf@PLT
	cmp	eax, 1
	je	.L3
.L2:
	mov	rax, QWORD PTR -80[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR stderr[rip]
	lea	rsi, .LC1[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	edi, -1
	call	exit@PLT
.L3:
	mov	eax, DWORD PTR p[rip]
	cdq
	xor	eax, edx
	sub	eax, edx
	mov	DWORD PTR pp[rip], eax
	mov	eax, DWORD PTR r[rip]
	test	eax, eax
	jg	.L4
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 30
	mov	esi, 1
	lea	rdi, .LC2[rip]
	call	fwrite@PLT
	mov	edi, -2
	call	exit@PLT
.L4:
	mov	edx, DWORD PTR p[rip]
	mov	eax, DWORD PTR r[rip]
	mov	esi, eax
	lea	rdi, .LC3[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 0
	mov	DWORD PTR -88[rbp], eax
	mov	DWORD PTR -84[rbp], eax
	mov	DWORD PTR -72[rbp], eax
	mov	r14d, eax
.L89:
	mov	rax, QWORD PTR stdin[rip]
	mov	rdx, rax
	mov	esi, 1024
	lea	rdi, buf[rip]
	call	fgets@PLT
	test	rax, rax
	je	.L238
	movzx	eax, BYTE PTR buf[rip]
	cmp	al, 126
	jne	.L7
	lea	rsi, buf[rip]
	lea	rdi, .LC4[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L89
.L7:
	lea	rax, buf[rip]
	mov	QWORD PTR -56[rbp], rax
	cmp	r14d, 99
	jle	.L9
	mov	rax, QWORD PTR stderr[rip]
	mov	edx, 100
	lea	rsi, .LC5[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	edi, -666
	call	exit@PLT
.L9:
	mov	ebx, 0
	jmp	.L10
.L13:
	cmp	ebx, 3
	jg	.L11
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	rcx, ebx
	movsx	rdx, r14d
	sal	rdx, 4
	add	rcx, rdx
	lea	rdx, state[rip]
	add	rdx, rcx
	mov	BYTE PTR [rdx], al
.L11:
	add	ebx, 1
	add	QWORD PTR -56[rbp], 1
.L10:
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L12
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 32
	je	.L12
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 10
	jne	.L13
.L12:
	cmp	ebx, 4
	jle	.L14
	mov	rax, QWORD PTR stderr[rip]
	lea	rcx, buf[rip]
	lea	rdx, .LC6[rip]
	lea	rsi, .LC7[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	edi, -10
	call	exit@PLT
.L14:
	movsx	rax, r14d
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	movzx	eax, BYTE PTR [rdx+rax]
	cmp	al, 64
	jle	.L15
	movsx	rax, r14d
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	movzx	eax, BYTE PTR [rdx+rax]
	cmp	al, 66
	jle	.L16
.L15:
	mov	rax, QWORD PTR stderr[rip]
	lea	rcx, buf[rip]
	lea	rdx, .LC8[rip]
	lea	rsi, .LC7[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	edi, -11
	call	exit@PLT
.L16:
	mov	ebx, 0
	jmp	.L17
.L19:
	movsx	rax, r14d
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	lea	rcx, [rdx+rax]
	movsx	rax, ebx
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	add	rax, rdx
	mov	edx, 4
	mov	rsi, rcx
	mov	rdi, rax
	call	strncmp@PLT
	test	eax, eax
	jne	.L18
	mov	rax, QWORD PTR stderr[rip]
	lea	rcx, buf[rip]
	lea	rdx, .LC9[rip]
	lea	rsi, .LC7[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	edi, -12
	call	exit@PLT
.L18:
	add	ebx, 1
.L17:
	cmp	ebx, r14d
	jl	.L19
	movsx	rax, r14d
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	movzx	eax, BYTE PTR [rdx+rax]
	cmp	al, 65
	jne	.L20
	mov	eax, DWORD PTR -84[rbp]
	lea	ebx, 1[rax]
	mov	DWORD PTR -84[rbp], ebx
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, astep[rip]
	mov	DWORD PTR [rdx+rax], r14d
	jmp	.L21
.L20:
	mov	eax, DWORD PTR -88[rbp]
	lea	ebx, 1[rax]
	mov	DWORD PTR -88[rbp], ebx
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, bstep[rip]
	mov	DWORD PTR [rdx+rax], r14d
.L21:
	mov	rax, QWORD PTR -56[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -56[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 32
	je	.L22
	mov	rax, QWORD PTR stderr[rip]
	lea	rcx, buf[rip]
	lea	rdx, .LC10[rip]
	lea	rsi, .LC7[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	edi, -13
	call	exit@PLT
.L22:
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, 6
	lea	rsi, .LC11[rip]
	mov	rdi, rax
	call	strncmp@PLT
	test	eax, eax
	jne	.L23
	add	QWORD PTR -56[rbp], 5
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, 6
	lea	rsi, .LC12[rip]
	mov	rdi, rax
	call	strncmp@PLT
	test	eax, eax
	je	.L24
	mov	rax, QWORD PTR stderr[rip]
	lea	rcx, buf[rip]
	lea	rdx, .LC13[rip]
	lea	rsi, .LC7[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	edi, -16
	call	exit@PLT
.L24:
	add	QWORD PTR -56[rbp], 6
	mov	ebx, 0
	jmp	.L25
.L28:
	cmp	ebx, 3
	jg	.L26
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	rcx, ebx
	movsx	rdx, r14d
	sal	rdx, 4
	add	rcx, rdx
	lea	rdx, state[rip+4]
	add	rdx, rcx
	mov	BYTE PTR [rdx], al
.L26:
	add	ebx, 1
	add	QWORD PTR -56[rbp], 1
.L25:
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L27
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 32
	je	.L27
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 10
	jne	.L28
.L27:
	cmp	ebx, 4
	jle	.L29
	mov	rax, QWORD PTR stderr[rip]
	lea	rcx, buf[rip]
	lea	rdx, .LC14[rip]
	lea	rsi, .LC7[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	edi, -17
	call	exit@PLT
.L29:
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 10
	je	.L30
	mov	rax, QWORD PTR stderr[rip]
	lea	rcx, buf[rip]
	lea	rdx, .LC15[rip]
	lea	rsi, .LC7[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	edi, -14
	call	exit@PLT
.L23:
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, 9
	lea	rsi, .LC16[rip]
	mov	rdi, rax
	call	strncmp@PLT
	test	eax, eax
	jne	.L31
	add	QWORD PTR -56[rbp], 8
	movsx	rax, r14d
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip+15]
	mov	BYTE PTR [rdx+rax], 1
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, 6
	lea	rsi, .LC12[rip]
	mov	rdi, rax
	call	strncmp@PLT
	test	eax, eax
	je	.L32
	mov	rax, QWORD PTR stderr[rip]
	lea	rcx, buf[rip]
	lea	rdx, .LC13[rip]
	lea	rsi, .LC7[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	edi, -16
	call	exit@PLT
.L32:
	add	QWORD PTR -56[rbp], 6
	mov	ebx, 0
	jmp	.L33
.L36:
	cmp	ebx, 3
	jg	.L34
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	rcx, ebx
	movsx	rdx, r14d
	sal	rdx, 4
	add	rcx, rdx
	lea	rdx, state[rip+4]
	add	rdx, rcx
	mov	BYTE PTR [rdx], al
.L34:
	add	ebx, 1
	add	QWORD PTR -56[rbp], 1
.L33:
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L35
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 32
	je	.L35
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 10
	jne	.L36
.L35:
	cmp	ebx, 4
	jle	.L37
	mov	rax, QWORD PTR stderr[rip]
	lea	rcx, buf[rip]
	lea	rdx, .LC14[rip]
	lea	rsi, .LC7[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	edi, -17
	call	exit@PLT
.L37:
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 10
	je	.L30
	mov	rax, QWORD PTR stderr[rip]
	lea	rcx, buf[rip]
	lea	rdx, .LC17[rip]
	lea	rsi, .LC7[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	edi, -15
	call	exit@PLT
.L31:
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, 3
	lea	rsi, .LC18[rip]
	mov	rdi, rax
	call	strncmp@PLT
	test	eax, eax
	jne	.L38
	add	QWORD PTR -56[rbp], 3
	mov	ebx, 0
	jmp	.L39
.L42:
	cmp	ebx, 1
	jg	.L40
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	rcx, ebx
	mov	edi, DWORD PTR -72[rbp]
	movsx	rdx, edi
	add	rdx, rdx
	add	rcx, rdx
	lea	rdx, vars[rip]
	add	rdx, rcx
	mov	BYTE PTR [rdx], al
	movsx	rdx, ebx
	movsx	rax, edi
	add	rax, rax
	add	rdx, rax
	lea	rax, vars[rip]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	rcx, ebx
	movsx	rdx, r14d
	sal	rdx, 4
	add	rcx, rdx
	lea	rdx, state[rip+12]
	add	rdx, rcx
	mov	BYTE PTR [rdx], al
.L40:
	add	ebx, 1
	add	QWORD PTR -56[rbp], 1
.L39:
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L41
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 61
	je	.L41
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 10
	jne	.L42
.L41:
	cmp	ebx, 2
	jle	.L43
	mov	rax, QWORD PTR stderr[rip]
	lea	rcx, buf[rip]
	lea	rdx, .LC19[rip]
	lea	rsi, .LC7[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	edi, -20
	call	exit@PLT
.L43:
	movsx	rax, r14d
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip+12]
	movzx	eax, BYTE PTR [rdx+rax]
	cmp	al, 96
	jle	.L44
	movsx	rax, r14d
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip+12]
	movzx	eax, BYTE PTR [rdx+rax]
	cmp	al, 122
	jle	.L45
.L44:
	mov	rax, QWORD PTR stderr[rip]
	lea	rcx, buf[rip]
	lea	rdx, .LC20[rip]
	lea	rsi, .LC7[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	edi, -21
	call	exit@PLT
.L45:
	mov	ebx, 0
	jmp	.L46
.L49:
	movsx	rax, r14d
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	add	rax, rdx
	lea	rcx, 12[rax]
	movsx	rax, ebx
	lea	rdx, [rax+rax]
	lea	rax, vars[rip]
	add	rax, rdx
	mov	edx, 2
	mov	rsi, rcx
	mov	rdi, rax
	call	strncmp@PLT
	test	eax, eax
	je	.L239
	add	ebx, 1
.L46:
	cmp	ebx, DWORD PTR -72[rbp]
	jl	.L49
	jmp	.L48
.L239:
	nop
.L48:
	mov	eax, DWORD PTR -72[rbp]
	cmp	ebx, eax
	jne	.L50
	add	eax, 1
	mov	DWORD PTR -72[rbp], eax
	jmp	.L51
.L50:
	movsx	rax, DWORD PTR -72[rbp]
	lea	rdx, [rax+rax]
	lea	rax, vars[rip+1]
	mov	BYTE PTR [rdx+rax], 0
.L51:
	mov	rax, QWORD PTR -56[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -56[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 61
	je	.L52
	mov	rax, QWORD PTR stderr[rip]
	lea	rcx, buf[rip]
	lea	rdx, .LC21[rip]
	lea	rsi, .LC7[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	edi, -18
	call	exit@PLT
.L52:
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 47
	jle	.L53
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 49
	jle	.L54
.L53:
	mov	rax, QWORD PTR stderr[rip]
	lea	rcx, buf[rip]
	lea	rdx, .LC22[rip]
	lea	rsi, .LC7[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	edi, -22
	call	exit@PLT
.L54:
	mov	rax, QWORD PTR -56[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -56[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	sub	eax, 48
	mov	ecx, eax
	movsx	rax, r14d
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip+14]
	mov	BYTE PTR [rdx+rax], cl
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, 6
	lea	rsi, .LC12[rip]
	mov	rdi, rax
	call	strncmp@PLT
	test	eax, eax
	je	.L55
	mov	rax, QWORD PTR stderr[rip]
	lea	rcx, buf[rip]
	lea	rdx, .LC13[rip]
	lea	rsi, .LC7[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	edi, -16
	call	exit@PLT
.L55:
	add	QWORD PTR -56[rbp], 6
	mov	ebx, 0
	jmp	.L56
.L59:
	cmp	ebx, 3
	jg	.L57
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	rcx, ebx
	movsx	rdx, r14d
	sal	rdx, 4
	add	rcx, rdx
	lea	rdx, state[rip+4]
	add	rdx, rcx
	mov	BYTE PTR [rdx], al
.L57:
	add	ebx, 1
	add	QWORD PTR -56[rbp], 1
.L56:
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L58
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 32
	je	.L58
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 10
	jne	.L59
.L58:
	cmp	ebx, 4
	jle	.L60
	mov	rax, QWORD PTR stderr[rip]
	lea	rcx, buf[rip]
	lea	rdx, .LC14[rip]
	lea	rsi, .LC7[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	edi, -17
	call	exit@PLT
.L60:
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, 6
	lea	rsi, .LC23[rip]
	mov	rdi, rax
	call	strncmp@PLT
	test	eax, eax
	je	.L61
	mov	rax, QWORD PTR stderr[rip]
	lea	rcx, buf[rip]
	lea	rdx, .LC24[rip]
	lea	rsi, .LC7[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	edi, -23
	call	exit@PLT
.L61:
	add	QWORD PTR -56[rbp], 6
	mov	ebx, 0
	jmp	.L62
.L65:
	cmp	ebx, 3
	jg	.L63
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	rcx, ebx
	movsx	rdx, r14d
	sal	rdx, 4
	add	rcx, rdx
	lea	rdx, state[rip+8]
	add	rdx, rcx
	mov	BYTE PTR [rdx], al
.L63:
	add	ebx, 1
	add	QWORD PTR -56[rbp], 1
.L62:
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L64
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 10
	jne	.L65
.L64:
	cmp	ebx, 4
	jle	.L66
	mov	rax, QWORD PTR stderr[rip]
	lea	rcx, buf[rip]
	lea	rdx, .LC25[rip]
	lea	rsi, .LC7[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	edi, -24
	call	exit@PLT
.L66:
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 10
	je	.L30
	mov	rax, QWORD PTR stderr[rip]
	lea	rcx, buf[rip]
	lea	rdx, .LC26[rip]
	lea	rsi, .LC7[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	edi, -19
	call	exit@PLT
.L38:
	mov	ebx, 0
	jmp	.L67
.L70:
	cmp	ebx, 1
	jg	.L68
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	rcx, ebx
	mov	edi, DWORD PTR -72[rbp]
	movsx	rdx, edi
	add	rdx, rdx
	add	rcx, rdx
	lea	rdx, vars[rip]
	add	rdx, rcx
	mov	BYTE PTR [rdx], al
	movsx	rdx, ebx
	movsx	rax, edi
	add	rax, rax
	add	rdx, rax
	lea	rax, vars[rip]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	rcx, ebx
	movsx	rdx, r14d
	sal	rdx, 4
	add	rcx, rdx
	lea	rdx, state[rip+12]
	add	rdx, rcx
	mov	BYTE PTR [rdx], al
.L68:
	add	ebx, 1
	add	QWORD PTR -56[rbp], 1
.L67:
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L69
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 61
	je	.L69
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 10
	jne	.L70
.L69:
	cmp	ebx, 2
	jle	.L71
	mov	rax, QWORD PTR stderr[rip]
	lea	rcx, buf[rip]
	lea	rdx, .LC19[rip]
	lea	rsi, .LC7[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	edi, -20
	call	exit@PLT
.L71:
	movsx	rax, r14d
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip+12]
	movzx	eax, BYTE PTR [rdx+rax]
	cmp	al, 96
	jle	.L72
	movsx	rax, r14d
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip+12]
	movzx	eax, BYTE PTR [rdx+rax]
	cmp	al, 122
	jle	.L73
.L72:
	mov	rax, QWORD PTR stderr[rip]
	lea	rcx, buf[rip]
	lea	rdx, .LC20[rip]
	lea	rsi, .LC7[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	edi, -21
	call	exit@PLT
.L73:
	mov	ebx, 0
	jmp	.L74
.L77:
	movsx	rax, r14d
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	add	rax, rdx
	lea	rcx, 12[rax]
	movsx	rax, ebx
	lea	rdx, [rax+rax]
	lea	rax, vars[rip]
	add	rax, rdx
	mov	edx, 2
	mov	rsi, rcx
	mov	rdi, rax
	call	strncmp@PLT
	test	eax, eax
	je	.L240
	add	ebx, 1
.L74:
	cmp	ebx, DWORD PTR -72[rbp]
	jl	.L77
	jmp	.L76
.L240:
	nop
.L76:
	mov	eax, DWORD PTR -72[rbp]
	cmp	ebx, eax
	jne	.L78
	add	eax, 1
	mov	DWORD PTR -72[rbp], eax
	jmp	.L79
.L78:
	movsx	rax, DWORD PTR -72[rbp]
	lea	rdx, [rax+rax]
	lea	rax, vars[rip+1]
	mov	BYTE PTR [rdx+rax], 0
.L79:
	mov	rax, QWORD PTR -56[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -56[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 61
	je	.L80
	mov	rax, QWORD PTR stderr[rip]
	lea	rcx, buf[rip]
	lea	rdx, .LC27[rip]
	lea	rsi, .LC7[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	edi, -25
	call	exit@PLT
.L80:
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 47
	jle	.L81
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 49
	jle	.L82
.L81:
	mov	rax, QWORD PTR stderr[rip]
	lea	rcx, buf[rip]
	lea	rdx, .LC22[rip]
	lea	rsi, .LC7[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	edi, -22
	call	exit@PLT
.L82:
	mov	rax, QWORD PTR -56[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -56[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	sub	eax, 48
	mov	ecx, eax
	movsx	rax, r14d
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip+14]
	mov	BYTE PTR [rdx+rax], cl
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, 6
	lea	rsi, .LC12[rip]
	mov	rdi, rax
	call	strncmp@PLT
	test	eax, eax
	je	.L83
	mov	rax, QWORD PTR stderr[rip]
	lea	rcx, buf[rip]
	lea	rdx, .LC13[rip]
	lea	rsi, .LC7[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	edi, -16
	call	exit@PLT
.L83:
	add	QWORD PTR -56[rbp], 6
	mov	ebx, 0
	jmp	.L84
.L87:
	cmp	ebx, 3
	jg	.L85
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	rcx, ebx
	movsx	rdx, r14d
	sal	rdx, 4
	add	rcx, rdx
	lea	rdx, state[rip+4]
	add	rdx, rcx
	mov	BYTE PTR [rdx], al
.L85:
	add	ebx, 1
	add	QWORD PTR -56[rbp], 1
.L84:
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L86
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 32
	je	.L86
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 10
	jne	.L87
.L86:
	cmp	ebx, 4
	jle	.L88
	mov	rax, QWORD PTR stderr[rip]
	lea	rcx, buf[rip]
	lea	rdx, .LC14[rip]
	lea	rsi, .LC7[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	edi, -17
	call	exit@PLT
.L88:
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 10
	je	.L30
	mov	rax, QWORD PTR stderr[rip]
	lea	rcx, buf[rip]
	lea	rdx, .LC28[rip]
	lea	rsi, .LC7[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	edi, -26
	call	exit@PLT
.L30:
	add	r14d, 1
	jmp	.L89
.L238:
	nop
	cmp	DWORD PTR -84[rbp], 0
	jne	.L90
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 34
	mov	esi, 1
	lea	rdi, .LC29[rip]
	call	fwrite@PLT
	mov	edi, -99
	call	exit@PLT
.L90:
	cmp	DWORD PTR -88[rbp], 0
	jne	.L91
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 34
	mov	esi, 1
	lea	rdi, .LC30[rip]
	call	fwrite@PLT
	mov	edi, -98
	call	exit@PLT
.L91:
	mov	r12d, 0
	mov	r13d, r12d
	jmp	.L92
.L103:
	movsx	rax, r13d
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip+4]
	movzx	eax, BYTE PTR [rdx+rax]
	test	al, al
	je	.L93
	mov	ebx, 0
	jmp	.L94
.L97:
	movsx	rax, r13d
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	add	rax, rdx
	lea	rcx, 4[rax]
	movsx	rax, ebx
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	add	rax, rdx
	mov	edx, 4
	mov	rsi, rcx
	mov	rdi, rax
	call	strncmp@PLT
	test	eax, eax
	je	.L241
	add	ebx, 1
.L94:
	cmp	ebx, r14d
	jl	.L97
	jmp	.L96
.L241:
	nop
.L96:
	cmp	ebx, r14d
	jne	.L93
	movsx	rax, r13d
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	add	rax, rdx
	lea	rdx, 4[rax]
	mov	rax, QWORD PTR stderr[rip]
	lea	rsi, .LC31[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	add	r12d, 1
.L93:
	movsx	rax, r13d
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip+8]
	movzx	eax, BYTE PTR [rdx+rax]
	test	al, al
	je	.L98
	mov	ebx, 0
	jmp	.L99
.L102:
	movsx	rax, r13d
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	add	rax, rdx
	lea	rcx, 8[rax]
	movsx	rax, ebx
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	add	rax, rdx
	mov	edx, 4
	mov	rsi, rcx
	mov	rdi, rax
	call	strncmp@PLT
	test	eax, eax
	je	.L242
	add	ebx, 1
.L99:
	cmp	ebx, r14d
	jl	.L102
	jmp	.L101
.L242:
	nop
.L101:
	cmp	ebx, r14d
	jne	.L98
	movsx	rax, r13d
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	add	rax, rdx
	lea	rdx, 8[rax]
	mov	rax, QWORD PTR stderr[rip]
	lea	rsi, .LC31[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	add	r12d, 1
.L98:
	add	r13d, 1
.L92:
	cmp	r13d, r14d
	jl	.L103
	test	r12d, r12d
	je	.L104
	mov	edi, -30
	call	exit@PLT
.L104:
	mov	eax, DWORD PTR astep[rip]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip+15]
	movzx	eax, BYTE PTR [rdx+rax]
	movsx	ecx, al
	mov	eax, DWORD PTR bstep[rip]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip+15]
	movzx	eax, BYTE PTR [rdx+rax]
	movsx	eax, al
	add	eax, ecx
	cmp	eax, 1
	jle	.L105
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 51
	mov	esi, 1
	lea	rdi, .LC32[rip]
	call	fwrite@PLT
	mov	edi, -555
	call	exit@PLT
.L105:
	mov	rax, QWORD PTR stderr[rip]
	mov	r8d, DWORD PTR -72[rbp]
	mov	ecx, DWORD PTR -88[rbp]
	mov	edx, DWORD PTR -84[rbp]
	lea	rsi, .LC33[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	ebx, 0
	jmp	.L106
.L107:
	movsx	rax, ebx
	lea	rdx, [rax+rax]
	lea	rax, vars[rip]
	add	rax, rdx
	mov	rsi, rax
	lea	rdi, .LC34[rip]
	mov	eax, 0
	call	printf@PLT
	add	ebx, 1
.L106:
	cmp	ebx, DWORD PTR -72[rbp]
	jl	.L107
	mov	eax, DWORD PTR astep[rip]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	add	rax, rdx
	mov	rsi, rax
	lea	rdi, .LC35[rip]
	mov	eax, 0
	call	printf@PLT
	mov	ebx, 1
	jmp	.L108
.L109:
	movsx	rax, ebx
	lea	rdx, 0[0+rax*4]
	lea	rax, astep[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	add	rax, rdx
	mov	rsi, rax
	lea	rdi, .LC36[rip]
	mov	eax, 0
	call	printf@PLT
	add	ebx, 1
.L108:
	cmp	ebx, DWORD PTR -84[rbp]
	jl	.L109
	mov	eax, DWORD PTR bstep[rip]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	add	rax, rdx
	mov	rsi, rax
	lea	rdi, .LC35[rip]
	mov	eax, 0
	call	printf@PLT
	mov	ebx, 1
	jmp	.L110
.L111:
	movsx	rax, ebx
	lea	rdx, 0[0+rax*4]
	lea	rax, bstep[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	add	rax, rdx
	mov	rsi, rax
	lea	rdi, .LC36[rip]
	mov	eax, 0
	call	printf@PLT
	add	ebx, 1
.L110:
	cmp	ebx, DWORD PTR -88[rbp]
	jl	.L111
	mov	r12d, 0
	jmp	.L112
.L224:
	lea	edx, 1[r12]
	mov	eax, DWORD PTR r[rip]
	cmp	edx, eax
	je	.L113
	mov	r13d, DWORD PTR -84[rbp]
	cmp	r13d, 1
	jle	.L114
	mov	ebx, 0
	mov	r15d, ebx
	cmp	r13d, 2
	jne	.L116
	mov	eax, DWORD PTR astep[rip+4]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	lea	rcx, [rdx+rax]
	lea	edx, 1[r12]
	mov	eax, DWORD PTR astep[rip]
	cdqe
	sal	rax, 4
	mov	rsi, rax
	lea	rax, state[rip]
	add	rsi, rax
	lea	eax, 1[r12]
	mov	r8, rcx
	mov	ecx, edx
	mov	rdx, rsi
	mov	esi, eax
	lea	rdi, .LC37[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L116
.L123:
	test	ebx, ebx
	je	.L117
	lea	edx, -1[r15]
	lea	eax, 1[r12]
	mov	esi, eax
	lea	rdi, .LC38[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L118
.L117:
	lea	eax, -1[r13]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, astep[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	add	rdx, rax
	lea	eax, 1[r12]
	mov	esi, eax
	lea	rdi, .LC39[rip]
	mov	eax, 0
	call	printf@PLT
.L118:
	lea	eax, -2[r13]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, astep[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	add	rdx, rax
	lea	eax, 1[r12]
	mov	esi, eax
	lea	rdi, .LC40[rip]
	mov	eax, 0
	call	printf@PLT
	test	ebx, ebx
	je	.L119
	lea	edx, -1[r15]
	lea	eax, 1[r12]
	mov	esi, eax
	lea	rdi, .LC38[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L120
.L119:
	lea	eax, -1[r13]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, astep[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	add	rdx, rax
	lea	eax, 1[r12]
	mov	esi, eax
	lea	rdi, .LC39[rip]
	mov	eax, 0
	call	printf@PLT
.L120:
	lea	eax, -3[r13]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, astep[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	add	rdx, rax
	lea	eax, 1[r12]
	mov	esi, eax
	lea	rdi, .LC40[rip]
	mov	eax, 0
	call	printf@PLT
	test	ebx, ebx
	je	.L121
	lea	edx, -1[r15]
	lea	eax, 1[r12]
	mov	esi, eax
	lea	rdi, .LC38[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L122
.L121:
	lea	eax, -1[r13]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, astep[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	add	rdx, rax
	lea	eax, 1[r12]
	mov	esi, eax
	lea	rdi, .LC39[rip]
	mov	eax, 0
	call	printf@PLT
.L122:
	lea	eax, 1[r12]
	mov	edx, r15d
	mov	esi, eax
	lea	rdi, .LC41[rip]
	mov	eax, 0
	call	printf@PLT
	lea	eax, -3[r13]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, astep[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	lea	rdi, [rdx+rax]
	lea	edx, 1[r12]
	lea	eax, -2[r13]
	cdqe
	lea	rcx, 0[0+rax*4]
	lea	rax, astep[rip]
	mov	eax, DWORD PTR [rcx+rax]
	cdqe
	sal	rax, 4
	mov	rcx, rax
	lea	rax, state[rip]
	lea	rsi, [rcx+rax]
	lea	eax, 1[r12]
	mov	r8, rdi
	mov	ecx, edx
	mov	rdx, rsi
	mov	esi, eax
	lea	rdi, .LC37[rip]
	mov	eax, 0
	call	printf@PLT
	lea	edx, 1[r12]
	lea	eax, -2[r13]
	cdqe
	lea	rcx, 0[0+rax*4]
	lea	rax, astep[rip]
	mov	eax, DWORD PTR [rcx+rax]
	cdqe
	sal	rax, 4
	mov	rcx, rax
	lea	rax, state[rip]
	lea	rsi, [rcx+rax]
	lea	eax, 1[r12]
	mov	r8d, r15d
	mov	ecx, edx
	mov	rdx, rsi
	mov	esi, eax
	lea	rdi, .LC42[rip]
	mov	eax, 0
	call	printf@PLT
	lea	edx, 1[r12]
	lea	eax, -3[r13]
	cdqe
	lea	rcx, 0[0+rax*4]
	lea	rax, astep[rip]
	mov	eax, DWORD PTR [rcx+rax]
	cdqe
	sal	rax, 4
	mov	rcx, rax
	lea	rax, state[rip]
	lea	rsi, [rcx+rax]
	lea	eax, 1[r12]
	mov	r8d, r15d
	mov	ecx, edx
	mov	rdx, rsi
	mov	esi, eax
	lea	rdi, .LC42[rip]
	mov	eax, 0
	call	printf@PLT
	add	r15d, 1
	mov	ebx, 1
	sub	r13d, 2
.L116:
	cmp	r13d, 4
	jg	.L123
	test	ebx, ebx
	je	.L124
	lea	edx, -1[r15]
	lea	eax, 1[r12]
	mov	esi, eax
	lea	rdi, .LC38[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L125
.L124:
	lea	eax, -1[r13]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, astep[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	add	rdx, rax
	lea	eax, 1[r12]
	mov	esi, eax
	lea	rdi, .LC39[rip]
	mov	eax, 0
	call	printf@PLT
.L125:
	lea	eax, -2[r13]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, astep[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	add	rdx, rax
	lea	eax, 1[r12]
	mov	esi, eax
	lea	rdi, .LC40[rip]
	mov	eax, 0
	call	printf@PLT
	test	ebx, ebx
	je	.L126
	lea	edx, -1[r15]
	lea	eax, 1[r12]
	mov	esi, eax
	lea	rdi, .LC38[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L127
.L126:
	lea	eax, -1[r13]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, astep[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	add	rdx, rax
	lea	eax, 1[r12]
	mov	esi, eax
	lea	rdi, .LC39[rip]
	mov	eax, 0
	call	printf@PLT
.L127:
	lea	eax, -3[r13]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, astep[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	add	rdx, rax
	lea	eax, 1[r12]
	mov	esi, eax
	lea	rdi, .LC40[rip]
	mov	eax, 0
	call	printf@PLT
	lea	eax, -3[r13]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, astep[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	lea	rdi, [rdx+rax]
	lea	edx, 1[r12]
	lea	eax, -2[r13]
	cdqe
	lea	rcx, 0[0+rax*4]
	lea	rax, astep[rip]
	mov	eax, DWORD PTR [rcx+rax]
	cdqe
	sal	rax, 4
	mov	rcx, rax
	lea	rax, state[rip]
	lea	rsi, [rcx+rax]
	lea	eax, 1[r12]
	mov	r8, rdi
	mov	ecx, edx
	mov	rdx, rsi
	mov	esi, eax
	lea	rdi, .LC37[rip]
	mov	eax, 0
	call	printf@PLT
	cmp	r13d, 3
	jle	.L114
	test	ebx, ebx
	je	.L128
	lea	edx, -1[r15]
	lea	eax, 1[r12]
	mov	esi, eax
	lea	rdi, .LC38[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L129
.L128:
	lea	eax, -1[r13]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, astep[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	add	rdx, rax
	lea	eax, 1[r12]
	mov	esi, eax
	lea	rdi, .LC39[rip]
	mov	eax, 0
	call	printf@PLT
.L129:
	lea	eax, -4[r13]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, astep[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	add	rdx, rax
	lea	eax, 1[r12]
	mov	esi, eax
	lea	rdi, .LC40[rip]
	mov	eax, 0
	call	printf@PLT
	lea	eax, -4[r13]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, astep[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	lea	rdi, [rdx+rax]
	lea	edx, 1[r12]
	lea	eax, -2[r13]
	cdqe
	lea	rcx, 0[0+rax*4]
	lea	rax, astep[rip]
	mov	eax, DWORD PTR [rcx+rax]
	cdqe
	sal	rax, 4
	mov	rcx, rax
	lea	rax, state[rip]
	lea	rsi, [rcx+rax]
	lea	eax, 1[r12]
	mov	r8, rdi
	mov	ecx, edx
	mov	rdx, rsi
	mov	esi, eax
	lea	rdi, .LC37[rip]
	mov	eax, 0
	call	printf@PLT
	lea	eax, -4[r13]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, astep[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	lea	rdi, [rdx+rax]
	lea	edx, 1[r12]
	lea	eax, -3[r13]
	cdqe
	lea	rcx, 0[0+rax*4]
	lea	rax, astep[rip]
	mov	eax, DWORD PTR [rcx+rax]
	cdqe
	sal	rax, 4
	mov	rcx, rax
	lea	rax, state[rip]
	lea	rsi, [rcx+rax]
	lea	eax, 1[r12]
	mov	r8, rdi
	mov	ecx, edx
	mov	rdx, rsi
	mov	esi, eax
	lea	rdi, .LC37[rip]
	mov	eax, 0
	call	printf@PLT
.L114:
	mov	r13d, DWORD PTR -88[rbp]
	cmp	r13d, 1
	jle	.L113
	mov	ebx, 0
	mov	r15d, ebx
	cmp	r13d, 2
	jne	.L131
	mov	eax, DWORD PTR bstep[rip+4]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	lea	rcx, [rdx+rax]
	lea	edx, 1[r12]
	mov	eax, DWORD PTR bstep[rip]
	cdqe
	sal	rax, 4
	mov	rsi, rax
	lea	rax, state[rip]
	add	rsi, rax
	lea	eax, 1[r12]
	mov	r8, rcx
	mov	ecx, edx
	mov	rdx, rsi
	mov	esi, eax
	lea	rdi, .LC37[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L131
.L138:
	test	ebx, ebx
	je	.L132
	lea	edx, -1[r15]
	lea	eax, 1[r12]
	mov	esi, eax
	lea	rdi, .LC43[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L133
.L132:
	lea	eax, -1[r13]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, bstep[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	add	rdx, rax
	lea	eax, 1[r12]
	mov	esi, eax
	lea	rdi, .LC39[rip]
	mov	eax, 0
	call	printf@PLT
.L133:
	lea	eax, -2[r13]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, bstep[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	add	rdx, rax
	lea	eax, 1[r12]
	mov	esi, eax
	lea	rdi, .LC40[rip]
	mov	eax, 0
	call	printf@PLT
	test	ebx, ebx
	je	.L134
	lea	edx, -1[r15]
	lea	eax, 1[r12]
	mov	esi, eax
	lea	rdi, .LC43[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L135
.L134:
	lea	eax, -1[r13]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, bstep[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	add	rdx, rax
	lea	eax, 1[r12]
	mov	esi, eax
	lea	rdi, .LC39[rip]
	mov	eax, 0
	call	printf@PLT
.L135:
	lea	eax, -3[r13]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, bstep[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	add	rdx, rax
	lea	eax, 1[r12]
	mov	esi, eax
	lea	rdi, .LC40[rip]
	mov	eax, 0
	call	printf@PLT
	test	ebx, ebx
	je	.L136
	lea	edx, -1[r15]
	lea	eax, 1[r12]
	mov	esi, eax
	lea	rdi, .LC43[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L137
.L136:
	lea	eax, -1[r13]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, bstep[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	add	rdx, rax
	lea	eax, 1[r12]
	mov	esi, eax
	lea	rdi, .LC39[rip]
	mov	eax, 0
	call	printf@PLT
.L137:
	lea	eax, 1[r12]
	mov	edx, r15d
	mov	esi, eax
	lea	rdi, .LC44[rip]
	mov	eax, 0
	call	printf@PLT
	lea	eax, -3[r13]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, bstep[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	lea	rdi, [rdx+rax]
	lea	edx, 1[r12]
	lea	eax, -2[r13]
	cdqe
	lea	rcx, 0[0+rax*4]
	lea	rax, bstep[rip]
	mov	eax, DWORD PTR [rcx+rax]
	cdqe
	sal	rax, 4
	mov	rcx, rax
	lea	rax, state[rip]
	lea	rsi, [rcx+rax]
	lea	eax, 1[r12]
	mov	r8, rdi
	mov	ecx, edx
	mov	rdx, rsi
	mov	esi, eax
	lea	rdi, .LC37[rip]
	mov	eax, 0
	call	printf@PLT
	lea	edx, 1[r12]
	lea	eax, -2[r13]
	cdqe
	lea	rcx, 0[0+rax*4]
	lea	rax, bstep[rip]
	mov	eax, DWORD PTR [rcx+rax]
	cdqe
	sal	rax, 4
	mov	rcx, rax
	lea	rax, state[rip]
	lea	rsi, [rcx+rax]
	lea	eax, 1[r12]
	mov	r8d, r15d
	mov	ecx, edx
	mov	rdx, rsi
	mov	esi, eax
	lea	rdi, .LC45[rip]
	mov	eax, 0
	call	printf@PLT
	lea	edx, 1[r12]
	lea	eax, -3[r13]
	cdqe
	lea	rcx, 0[0+rax*4]
	lea	rax, bstep[rip]
	mov	eax, DWORD PTR [rcx+rax]
	cdqe
	sal	rax, 4
	mov	rcx, rax
	lea	rax, state[rip]
	lea	rsi, [rcx+rax]
	lea	eax, 1[r12]
	mov	r8d, r15d
	mov	ecx, edx
	mov	rdx, rsi
	mov	esi, eax
	lea	rdi, .LC45[rip]
	mov	eax, 0
	call	printf@PLT
	add	r15d, 1
	mov	ebx, 1
	sub	r13d, 2
.L131:
	cmp	r13d, 4
	jg	.L138
	test	ebx, ebx
	je	.L139
	lea	edx, -1[r15]
	lea	eax, 1[r12]
	mov	esi, eax
	lea	rdi, .LC43[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L140
.L139:
	lea	eax, -1[r13]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, bstep[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	add	rdx, rax
	lea	eax, 1[r12]
	mov	esi, eax
	lea	rdi, .LC39[rip]
	mov	eax, 0
	call	printf@PLT
.L140:
	lea	eax, -2[r13]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, bstep[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	add	rdx, rax
	lea	eax, 1[r12]
	mov	esi, eax
	lea	rdi, .LC40[rip]
	mov	eax, 0
	call	printf@PLT
	test	ebx, ebx
	je	.L141
	lea	edx, -1[r15]
	lea	eax, 1[r12]
	mov	esi, eax
	lea	rdi, .LC43[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L142
.L141:
	lea	eax, -1[r13]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, bstep[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	add	rdx, rax
	lea	eax, 1[r12]
	mov	esi, eax
	lea	rdi, .LC39[rip]
	mov	eax, 0
	call	printf@PLT
.L142:
	lea	eax, -3[r13]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, bstep[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	add	rdx, rax
	lea	eax, 1[r12]
	mov	esi, eax
	lea	rdi, .LC40[rip]
	mov	eax, 0
	call	printf@PLT
	lea	eax, -3[r13]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, bstep[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	lea	rdi, [rdx+rax]
	lea	edx, 1[r12]
	lea	eax, -2[r13]
	cdqe
	lea	rcx, 0[0+rax*4]
	lea	rax, bstep[rip]
	mov	eax, DWORD PTR [rcx+rax]
	cdqe
	sal	rax, 4
	mov	rcx, rax
	lea	rax, state[rip]
	lea	rsi, [rcx+rax]
	lea	eax, 1[r12]
	mov	r8, rdi
	mov	ecx, edx
	mov	rdx, rsi
	mov	esi, eax
	lea	rdi, .LC37[rip]
	mov	eax, 0
	call	printf@PLT
	cmp	r13d, 3
	jle	.L113
	test	ebx, ebx
	je	.L143
	lea	edx, -1[r15]
	lea	eax, 1[r12]
	mov	esi, eax
	lea	rdi, .LC43[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L144
.L143:
	lea	eax, -1[r13]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, bstep[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	add	rdx, rax
	lea	eax, 1[r12]
	mov	esi, eax
	lea	rdi, .LC39[rip]
	mov	eax, 0
	call	printf@PLT
.L144:
	lea	eax, -4[r13]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, bstep[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	add	rdx, rax
	lea	eax, 1[r12]
	mov	esi, eax
	lea	rdi, .LC40[rip]
	mov	eax, 0
	call	printf@PLT
	lea	eax, -4[r13]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, bstep[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	lea	rdi, [rdx+rax]
	lea	edx, 1[r12]
	lea	eax, -2[r13]
	cdqe
	lea	rcx, 0[0+rax*4]
	lea	rax, bstep[rip]
	mov	eax, DWORD PTR [rcx+rax]
	cdqe
	sal	rax, 4
	mov	rcx, rax
	lea	rax, state[rip]
	lea	rsi, [rcx+rax]
	lea	eax, 1[r12]
	mov	r8, rdi
	mov	ecx, edx
	mov	rdx, rsi
	mov	esi, eax
	lea	rdi, .LC37[rip]
	mov	eax, 0
	call	printf@PLT
	lea	eax, -4[r13]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, bstep[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	lea	rdi, [rdx+rax]
	lea	edx, 1[r12]
	lea	eax, -3[r13]
	cdqe
	lea	rcx, 0[0+rax*4]
	lea	rax, bstep[rip]
	mov	eax, DWORD PTR [rcx+rax]
	cdqe
	sal	rax, 4
	mov	rcx, rax
	lea	rax, state[rip]
	lea	rsi, [rcx+rax]
	lea	eax, 1[r12]
	mov	r8, rdi
	mov	ecx, edx
	mov	rdx, rsi
	mov	esi, eax
	lea	rdi, .LC37[rip]
	mov	eax, 0
	call	printf@PLT
.L113:
	mov	r13d, 0
	jmp	.L145
.L168:
	movsx	rax, r13d
	lea	rdx, 0[0+rax*4]
	lea	rax, astep[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	lea	rsi, [rdx+rax]
	lea	edx, 1[r12]
	mov	eax, DWORD PTR r[rip]
	cmp	edx, eax
	je	.L146
	lea	eax, 1[r12]
	jmp	.L147
.L146:
	mov	eax, DWORD PTR pp[rip]
.L147:
	movsx	rdx, r13d
	lea	rcx, 0[0+rdx*4]
	lea	rdx, astep[rip]
	mov	edx, DWORD PTR [rcx+rdx]
	movsx	rdx, edx
	mov	rcx, rdx
	sal	rcx, 4
	lea	rdx, state[rip]
	add	rdx, rcx
	mov	r9, rsi
	mov	r8d, eax
	mov	rcx, rdx
	mov	edx, r12d
	mov	esi, r12d
	lea	rdi, .LC46[rip]
	mov	eax, 0
	call	printf@PLT
	movsx	rax, r13d
	lea	rdx, 0[0+rax*4]
	lea	rax, astep[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip+12]
	movzx	eax, BYTE PTR [rdx+rax]
	test	al, al
	jne	.L148
	movsx	rax, r13d
	lea	rdx, 0[0+rax*4]
	lea	rax, astep[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip+15]
	movzx	eax, BYTE PTR [rdx+rax]
	test	al, al
	jne	.L149
	movsx	rax, r13d
	lea	rdx, 0[0+rax*4]
	lea	rax, astep[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	add	rax, rdx
	lea	rsi, 4[rax]
	lea	edx, 1[r12]
	mov	eax, DWORD PTR r[rip]
	cmp	edx, eax
	je	.L150
	lea	eax, 1[r12]
	jmp	.L151
.L150:
	mov	eax, DWORD PTR pp[rip]
.L151:
	movsx	rdx, r13d
	lea	rcx, 0[0+rdx*4]
	lea	rdx, astep[rip]
	mov	edx, DWORD PTR [rcx+rdx]
	movsx	rdx, edx
	mov	rcx, rdx
	sal	rcx, 4
	lea	rdx, state[rip]
	lea	r8, [rcx+rdx]
	lea	ecx, 1[r12]
	mov	edx, DWORD PTR r[rip]
	cmp	ecx, edx
	je	.L152
	lea	edx, 1[r12]
	jmp	.L153
.L152:
	mov	edx, DWORD PTR pp[rip]
.L153:
	movsx	rcx, r13d
	lea	rdi, 0[0+rcx*4]
	lea	rcx, astep[rip]
	mov	ecx, DWORD PTR [rdi+rcx]
	movsx	rcx, ecx
	mov	rdi, rcx
	sal	rdi, 4
	lea	rcx, state[rip]
	add	rcx, rdi
	push	rsi
	push	rax
	mov	r9, r8
	mov	r8d, edx
	mov	edx, r12d
	mov	esi, r12d
	lea	rdi, .LC47[rip]
	mov	eax, 0
	call	printf@PLT
	add	rsp, 16
	jmp	.L154
.L149:
	movsx	rax, r13d
	lea	rdx, 0[0+rax*4]
	lea	rax, astep[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	add	rax, rdx
	lea	rsi, 4[rax]
	lea	edx, 1[r12]
	mov	eax, DWORD PTR r[rip]
	cmp	edx, eax
	je	.L155
	lea	eax, 1[r12]
	jmp	.L156
.L155:
	mov	eax, DWORD PTR pp[rip]
.L156:
	movsx	rdx, r13d
	lea	rcx, 0[0+rdx*4]
	lea	rdx, astep[rip]
	mov	edx, DWORD PTR [rcx+rdx]
	movsx	rdx, edx
	mov	rcx, rdx
	sal	rcx, 4
	lea	rdx, state[rip]
	add	rdx, rcx
	mov	r9, rsi
	mov	r8d, eax
	mov	rcx, rdx
	mov	edx, r12d
	mov	esi, r12d
	lea	rdi, .LC48[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L154
.L148:
	movsx	rax, r13d
	lea	rdx, 0[0+rax*4]
	lea	rax, astep[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip+8]
	movzx	eax, BYTE PTR [rdx+rax]
	test	al, al
	jne	.L157
	movsx	rax, r13d
	lea	rdx, 0[0+rax*4]
	lea	rax, astep[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	add	rax, rdx
	lea	rsi, 4[rax]
	lea	edx, 1[r12]
	mov	eax, DWORD PTR r[rip]
	cmp	edx, eax
	je	.L158
	lea	eax, 1[r12]
	jmp	.L159
.L158:
	mov	eax, DWORD PTR pp[rip]
.L159:
	movsx	rdx, r13d
	lea	rcx, 0[0+rdx*4]
	lea	rdx, astep[rip]
	mov	edx, DWORD PTR [rcx+rdx]
	movsx	rdx, edx
	mov	rcx, rdx
	sal	rcx, 4
	lea	rdx, state[rip]
	add	rdx, rcx
	mov	r9, rsi
	mov	r8d, eax
	mov	rcx, rdx
	mov	edx, r12d
	mov	esi, r12d
	lea	rdi, .LC48[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L154
.L157:
	movsx	rax, r13d
	lea	rdx, 0[0+rax*4]
	lea	rax, astep[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	add	rax, rdx
	mov	rcx, rax
	mov	edx, r12d
	mov	esi, r12d
	lea	rdi, .LC49[rip]
	mov	eax, 0
	call	printf@PLT
	movsx	rax, r13d
	lea	rdx, 0[0+rax*4]
	lea	rax, astep[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	add	rax, rdx
	lea	rdi, 4[rax]
	lea	edx, 1[r12]
	mov	eax, DWORD PTR r[rip]
	cmp	edx, eax
	je	.L160
	lea	edx, 1[r12]
	jmp	.L161
.L160:
	mov	edx, DWORD PTR pp[rip]
.L161:
	movsx	rax, r13d
	lea	rcx, 0[0+rax*4]
	lea	rax, astep[rip]
	mov	eax, DWORD PTR [rcx+rax]
	cdqe
	sal	rax, 4
	mov	rcx, rax
	lea	rax, state[rip]
	add	rax, rcx
	lea	rcx, 12[rax]
	movsx	rax, r13d
	lea	rsi, 0[0+rax*4]
	lea	rax, astep[rip]
	mov	eax, DWORD PTR [rsi+rax]
	cdqe
	sal	rax, 4
	mov	rsi, rax
	lea	rax, state[rip+14]
	movzx	eax, BYTE PTR [rsi+rax]
	test	al, al
	je	.L162
	lea	rax, .LC50[rip]
	jmp	.L163
.L162:
	lea	rax, .LC51[rip]
.L163:
	mov	r9, rdi
	mov	r8d, edx
	mov	edx, r12d
	mov	rsi, rax
	lea	rdi, .LC52[rip]
	mov	eax, 0
	call	printf@PLT
	movsx	rax, r13d
	lea	rdx, 0[0+rax*4]
	lea	rax, astep[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	add	rax, rdx
	mov	rcx, rax
	mov	edx, r12d
	mov	esi, r12d
	lea	rdi, .LC49[rip]
	mov	eax, 0
	call	printf@PLT
	movsx	rax, r13d
	lea	rdx, 0[0+rax*4]
	lea	rax, astep[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	add	rax, rdx
	lea	rdi, 8[rax]
	lea	edx, 1[r12]
	mov	eax, DWORD PTR r[rip]
	cmp	edx, eax
	je	.L164
	lea	edx, 1[r12]
	jmp	.L165
.L164:
	mov	edx, DWORD PTR pp[rip]
.L165:
	movsx	rax, r13d
	lea	rcx, 0[0+rax*4]
	lea	rax, astep[rip]
	mov	eax, DWORD PTR [rcx+rax]
	cdqe
	sal	rax, 4
	mov	rcx, rax
	lea	rax, state[rip]
	add	rax, rcx
	lea	rcx, 12[rax]
	movsx	rax, r13d
	lea	rsi, 0[0+rax*4]
	lea	rax, astep[rip]
	mov	eax, DWORD PTR [rsi+rax]
	cdqe
	sal	rax, 4
	mov	rsi, rax
	lea	rax, state[rip+14]
	movzx	eax, BYTE PTR [rsi+rax]
	test	al, al
	je	.L166
	lea	rax, .LC51[rip]
	jmp	.L167
.L166:
	lea	rax, .LC50[rip]
.L167:
	mov	r9, rdi
	mov	r8d, edx
	mov	edx, r12d
	mov	rsi, rax
	lea	rdi, .LC52[rip]
	mov	eax, 0
	call	printf@PLT
.L154:
	add	r13d, 1
.L145:
	cmp	r13d, DWORD PTR -84[rbp]
	jl	.L168
	mov	r13d, 0
	jmp	.L169
.L192:
	movsx	rax, r13d
	lea	rdx, 0[0+rax*4]
	lea	rax, bstep[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	lea	rsi, [rdx+rax]
	lea	edx, 1[r12]
	mov	eax, DWORD PTR r[rip]
	cmp	edx, eax
	je	.L170
	lea	eax, 1[r12]
	jmp	.L171
.L170:
	mov	eax, DWORD PTR pp[rip]
.L171:
	movsx	rdx, r13d
	lea	rcx, 0[0+rdx*4]
	lea	rdx, bstep[rip]
	mov	edx, DWORD PTR [rcx+rdx]
	movsx	rdx, edx
	mov	rcx, rdx
	sal	rcx, 4
	lea	rdx, state[rip]
	add	rdx, rcx
	mov	r9, rsi
	mov	r8d, eax
	mov	rcx, rdx
	mov	edx, r12d
	mov	esi, r12d
	lea	rdi, .LC48[rip]
	mov	eax, 0
	call	printf@PLT
	movsx	rax, r13d
	lea	rdx, 0[0+rax*4]
	lea	rax, bstep[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip+12]
	movzx	eax, BYTE PTR [rdx+rax]
	test	al, al
	jne	.L172
	movsx	rax, r13d
	lea	rdx, 0[0+rax*4]
	lea	rax, bstep[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip+15]
	movzx	eax, BYTE PTR [rdx+rax]
	test	al, al
	jne	.L173
	movsx	rax, r13d
	lea	rdx, 0[0+rax*4]
	lea	rax, bstep[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	add	rax, rdx
	lea	rsi, 4[rax]
	lea	edx, 1[r12]
	mov	eax, DWORD PTR r[rip]
	cmp	edx, eax
	je	.L174
	lea	eax, 1[r12]
	jmp	.L175
.L174:
	mov	eax, DWORD PTR pp[rip]
.L175:
	movsx	rdx, r13d
	lea	rcx, 0[0+rdx*4]
	lea	rdx, bstep[rip]
	mov	edx, DWORD PTR [rcx+rdx]
	movsx	rdx, edx
	mov	rcx, rdx
	sal	rcx, 4
	lea	rdx, state[rip]
	lea	r8, [rcx+rdx]
	lea	ecx, 1[r12]
	mov	edx, DWORD PTR r[rip]
	cmp	ecx, edx
	je	.L176
	lea	edx, 1[r12]
	jmp	.L177
.L176:
	mov	edx, DWORD PTR pp[rip]
.L177:
	movsx	rcx, r13d
	lea	rdi, 0[0+rcx*4]
	lea	rcx, bstep[rip]
	mov	ecx, DWORD PTR [rdi+rcx]
	movsx	rcx, ecx
	mov	rdi, rcx
	sal	rdi, 4
	lea	rcx, state[rip]
	add	rcx, rdi
	push	rsi
	push	rax
	mov	r9, r8
	mov	r8d, edx
	mov	edx, r12d
	mov	esi, r12d
	lea	rdi, .LC53[rip]
	mov	eax, 0
	call	printf@PLT
	add	rsp, 16
	jmp	.L178
.L173:
	movsx	rax, r13d
	lea	rdx, 0[0+rax*4]
	lea	rax, bstep[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	add	rax, rdx
	lea	rsi, 4[rax]
	lea	edx, 1[r12]
	mov	eax, DWORD PTR r[rip]
	cmp	edx, eax
	je	.L179
	lea	eax, 1[r12]
	jmp	.L180
.L179:
	mov	eax, DWORD PTR pp[rip]
.L180:
	movsx	rdx, r13d
	lea	rcx, 0[0+rdx*4]
	lea	rdx, bstep[rip]
	mov	edx, DWORD PTR [rcx+rdx]
	movsx	rdx, edx
	mov	rcx, rdx
	sal	rcx, 4
	lea	rdx, state[rip]
	add	rdx, rcx
	mov	r9, rsi
	mov	r8d, eax
	mov	rcx, rdx
	mov	edx, r12d
	mov	esi, r12d
	lea	rdi, .LC46[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L178
.L172:
	movsx	rax, r13d
	lea	rdx, 0[0+rax*4]
	lea	rax, bstep[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip+8]
	movzx	eax, BYTE PTR [rdx+rax]
	test	al, al
	jne	.L181
	movsx	rax, r13d
	lea	rdx, 0[0+rax*4]
	lea	rax, bstep[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	add	rax, rdx
	lea	rsi, 4[rax]
	lea	edx, 1[r12]
	mov	eax, DWORD PTR r[rip]
	cmp	edx, eax
	je	.L182
	lea	eax, 1[r12]
	jmp	.L183
.L182:
	mov	eax, DWORD PTR pp[rip]
.L183:
	movsx	rdx, r13d
	lea	rcx, 0[0+rdx*4]
	lea	rdx, bstep[rip]
	mov	edx, DWORD PTR [rcx+rdx]
	movsx	rdx, edx
	mov	rcx, rdx
	sal	rcx, 4
	lea	rdx, state[rip]
	add	rdx, rcx
	mov	r9, rsi
	mov	r8d, eax
	mov	rcx, rdx
	mov	edx, r12d
	mov	esi, r12d
	lea	rdi, .LC46[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L178
.L181:
	movsx	rax, r13d
	lea	rdx, 0[0+rax*4]
	lea	rax, bstep[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	add	rax, rdx
	mov	rcx, rax
	mov	edx, r12d
	mov	esi, r12d
	lea	rdi, .LC54[rip]
	mov	eax, 0
	call	printf@PLT
	movsx	rax, r13d
	lea	rdx, 0[0+rax*4]
	lea	rax, bstep[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	add	rax, rdx
	lea	rdi, 4[rax]
	lea	edx, 1[r12]
	mov	eax, DWORD PTR r[rip]
	cmp	edx, eax
	je	.L184
	lea	edx, 1[r12]
	jmp	.L185
.L184:
	mov	edx, DWORD PTR pp[rip]
.L185:
	movsx	rax, r13d
	lea	rcx, 0[0+rax*4]
	lea	rax, bstep[rip]
	mov	eax, DWORD PTR [rcx+rax]
	cdqe
	sal	rax, 4
	mov	rcx, rax
	lea	rax, state[rip]
	add	rax, rcx
	lea	rcx, 12[rax]
	movsx	rax, r13d
	lea	rsi, 0[0+rax*4]
	lea	rax, bstep[rip]
	mov	eax, DWORD PTR [rsi+rax]
	cdqe
	sal	rax, 4
	mov	rsi, rax
	lea	rax, state[rip+14]
	movzx	eax, BYTE PTR [rsi+rax]
	test	al, al
	je	.L186
	lea	rax, .LC50[rip]
	jmp	.L187
.L186:
	lea	rax, .LC51[rip]
.L187:
	mov	r9, rdi
	mov	r8d, edx
	mov	edx, r12d
	mov	rsi, rax
	lea	rdi, .LC52[rip]
	mov	eax, 0
	call	printf@PLT
	movsx	rax, r13d
	lea	rdx, 0[0+rax*4]
	lea	rax, bstep[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	add	rax, rdx
	mov	rcx, rax
	mov	edx, r12d
	mov	esi, r12d
	lea	rdi, .LC54[rip]
	mov	eax, 0
	call	printf@PLT
	movsx	rax, r13d
	lea	rdx, 0[0+rax*4]
	lea	rax, bstep[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	add	rax, rdx
	lea	rdi, 8[rax]
	lea	edx, 1[r12]
	mov	eax, DWORD PTR r[rip]
	cmp	edx, eax
	je	.L188
	lea	edx, 1[r12]
	jmp	.L189
.L188:
	mov	edx, DWORD PTR pp[rip]
.L189:
	movsx	rax, r13d
	lea	rcx, 0[0+rax*4]
	lea	rax, bstep[rip]
	mov	eax, DWORD PTR [rcx+rax]
	cdqe
	sal	rax, 4
	mov	rcx, rax
	lea	rax, state[rip]
	add	rax, rcx
	lea	rcx, 12[rax]
	movsx	rax, r13d
	lea	rsi, 0[0+rax*4]
	lea	rax, bstep[rip]
	mov	eax, DWORD PTR [rsi+rax]
	cdqe
	sal	rax, 4
	mov	rsi, rax
	lea	rax, state[rip+14]
	movzx	eax, BYTE PTR [rsi+rax]
	test	al, al
	je	.L190
	lea	rax, .LC51[rip]
	jmp	.L191
.L190:
	lea	rax, .LC50[rip]
.L191:
	mov	r9, rdi
	mov	r8d, edx
	mov	edx, r12d
	mov	rsi, rax
	lea	rdi, .LC52[rip]
	mov	eax, 0
	call	printf@PLT
.L178:
	add	r13d, 1
.L169:
	cmp	r13d, DWORD PTR -88[rbp]
	jl	.L192
	mov	r13d, 0
	jmp	.L193
.L223:
	mov	ebx, 0
	jmp	.L194
.L202:
	movsx	rax, r13d
	lea	rdx, [rax+rax]
	lea	rax, vars[rip]
	lea	rcx, [rdx+rax]
	movsx	rax, ebx
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	add	rax, rdx
	add	rax, 12
	mov	edx, 2
	mov	rsi, rcx
	mov	rdi, rax
	call	strncmp@PLT
	test	eax, eax
	jne	.L195
	movsx	rax, ebx
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip+8]
	movzx	eax, BYTE PTR [rdx+rax]
	test	al, al
	jne	.L195
	movsx	rax, ebx
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	add	rax, rdx
	lea	rcx, 12[rax]
	lea	edx, 1[r12]
	mov	eax, DWORD PTR r[rip]
	cmp	edx, eax
	je	.L196
	lea	eax, 1[r12]
	jmp	.L197
.L196:
	mov	eax, DWORD PTR pp[rip]
.L197:
	movsx	rdx, ebx
	mov	rsi, rdx
	sal	rsi, 4
	lea	rdx, state[rip+14]
	movzx	edx, BYTE PTR [rsi+rdx]
	test	dl, dl
	jne	.L198
	lea	rdx, .LC50[rip]
	jmp	.L199
.L198:
	lea	rdx, .LC51[rip]
.L199:
	movsx	rsi, ebx
	sal	rsi, 4
	mov	rdi, rsi
	lea	rsi, state[rip]
	lea	r8, [rdi+rsi]
	movsx	rsi, ebx
	sal	rsi, 4
	mov	rdi, rsi
	lea	rsi, state[rip]
	movzx	esi, BYTE PTR [rdi+rsi]
	cmp	sil, 65
	jne	.L200
	lea	rsi, .LC50[rip]
	jmp	.L201
.L200:
	lea	rsi, .LC51[rip]
.L201:
	push	rcx
	push	rax
	mov	r9, rdx
	mov	ecx, r12d
	mov	edx, r12d
	lea	rdi, .LC55[rip]
	mov	eax, 0
	call	printf@PLT
	add	rsp, 16
.L195:
	add	ebx, 1
.L194:
	cmp	ebx, r14d
	jl	.L202
	movsx	rax, r13d
	lea	rdx, [rax+rax]
	lea	rax, vars[rip]
	add	rax, rdx
	mov	rcx, rax
	mov	edx, r12d
	mov	esi, r12d
	lea	rdi, .LC56[rip]
	mov	eax, 0
	call	printf@PLT
	mov	ebx, 0
	jmp	.L203
.L205:
	movsx	rax, r13d
	lea	rdx, [rax+rax]
	lea	rax, vars[rip]
	lea	rcx, [rdx+rax]
	movsx	rax, ebx
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	add	rax, rdx
	add	rax, 12
	mov	edx, 2
	mov	rsi, rcx
	mov	rdi, rax
	call	strncmp@PLT
	test	eax, eax
	jne	.L204
	movsx	rax, ebx
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip+8]
	movzx	eax, BYTE PTR [rdx+rax]
	test	al, al
	jne	.L204
	movsx	rax, ebx
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	movzx	eax, BYTE PTR [rdx+rax]
	cmp	al, 65
	jne	.L204
	movsx	rax, ebx
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	add	rax, rdx
	mov	rdx, rax
	mov	esi, r12d
	lea	rdi, .LC57[rip]
	mov	eax, 0
	call	printf@PLT
.L204:
	add	ebx, 1
.L203:
	cmp	ebx, r14d
	jl	.L205
	movsx	rax, r13d
	lea	rdx, [rax+rax]
	lea	rax, vars[rip]
	add	rdx, rax
	lea	ecx, 1[r12]
	mov	eax, DWORD PTR r[rip]
	cmp	ecx, eax
	je	.L206
	lea	eax, 1[r12]
	jmp	.L207
.L206:
	mov	eax, DWORD PTR pp[rip]
.L207:
	mov	esi, eax
	lea	rdi, .LC58[rip]
	mov	eax, 0
	call	printf@PLT
	movsx	rax, r13d
	lea	rdx, [rax+rax]
	lea	rax, vars[rip]
	add	rax, rdx
	mov	rcx, rax
	mov	edx, r12d
	mov	esi, r12d
	lea	rdi, .LC59[rip]
	mov	eax, 0
	call	printf@PLT
	mov	ebx, 0
	jmp	.L208
.L210:
	movsx	rax, r13d
	lea	rdx, [rax+rax]
	lea	rax, vars[rip]
	lea	rcx, [rdx+rax]
	movsx	rax, ebx
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	add	rax, rdx
	add	rax, 12
	mov	edx, 2
	mov	rsi, rcx
	mov	rdi, rax
	call	strncmp@PLT
	test	eax, eax
	jne	.L209
	movsx	rax, ebx
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip+8]
	movzx	eax, BYTE PTR [rdx+rax]
	test	al, al
	jne	.L209
	movsx	rax, ebx
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	movzx	eax, BYTE PTR [rdx+rax]
	cmp	al, 66
	jne	.L209
	movsx	rax, ebx
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	add	rax, rdx
	mov	rdx, rax
	mov	esi, r12d
	lea	rdi, .LC57[rip]
	mov	eax, 0
	call	printf@PLT
.L209:
	add	ebx, 1
.L208:
	cmp	ebx, r14d
	jl	.L210
	movsx	rax, r13d
	lea	rdx, [rax+rax]
	lea	rax, vars[rip]
	add	rdx, rax
	lea	ecx, 1[r12]
	mov	eax, DWORD PTR r[rip]
	cmp	ecx, eax
	je	.L211
	lea	eax, 1[r12]
	jmp	.L212
.L211:
	mov	eax, DWORD PTR pp[rip]
.L212:
	mov	esi, eax
	lea	rdi, .LC58[rip]
	mov	eax, 0
	call	printf@PLT
	movsx	rax, r13d
	lea	rdx, [rax+rax]
	lea	rax, vars[rip]
	add	rax, rdx
	mov	rcx, rax
	mov	edx, r12d
	mov	esi, r12d
	lea	rdi, .LC60[rip]
	mov	eax, 0
	call	printf@PLT
	mov	ebx, 0
	jmp	.L213
.L215:
	movsx	rax, r13d
	lea	rdx, [rax+rax]
	lea	rax, vars[rip]
	lea	rcx, [rdx+rax]
	movsx	rax, ebx
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	add	rax, rdx
	add	rax, 12
	mov	edx, 2
	mov	rsi, rcx
	mov	rdi, rax
	call	strncmp@PLT
	test	eax, eax
	jne	.L214
	movsx	rax, ebx
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip+8]
	movzx	eax, BYTE PTR [rdx+rax]
	test	al, al
	jne	.L214
	movsx	rax, ebx
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	movzx	eax, BYTE PTR [rdx+rax]
	cmp	al, 65
	jne	.L214
	movsx	rax, ebx
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	add	rax, rdx
	mov	rdx, rax
	mov	esi, r12d
	lea	rdi, .LC57[rip]
	mov	eax, 0
	call	printf@PLT
.L214:
	add	ebx, 1
.L213:
	cmp	ebx, r14d
	jl	.L215
	movsx	rax, r13d
	lea	rdx, [rax+rax]
	lea	rax, vars[rip]
	add	rdx, rax
	lea	ecx, 1[r12]
	mov	eax, DWORD PTR r[rip]
	cmp	ecx, eax
	je	.L216
	lea	eax, 1[r12]
	jmp	.L217
.L216:
	mov	eax, DWORD PTR pp[rip]
.L217:
	mov	esi, eax
	lea	rdi, .LC61[rip]
	mov	eax, 0
	call	printf@PLT
	movsx	rax, r13d
	lea	rdx, [rax+rax]
	lea	rax, vars[rip]
	add	rax, rdx
	mov	rcx, rax
	mov	edx, r12d
	mov	esi, r12d
	lea	rdi, .LC62[rip]
	mov	eax, 0
	call	printf@PLT
	mov	ebx, 0
	jmp	.L218
.L220:
	movsx	rax, r13d
	lea	rdx, [rax+rax]
	lea	rax, vars[rip]
	lea	rcx, [rdx+rax]
	movsx	rax, ebx
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	add	rax, rdx
	add	rax, 12
	mov	edx, 2
	mov	rsi, rcx
	mov	rdi, rax
	call	strncmp@PLT
	test	eax, eax
	jne	.L219
	movsx	rax, ebx
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip+8]
	movzx	eax, BYTE PTR [rdx+rax]
	test	al, al
	jne	.L219
	movsx	rax, ebx
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	movzx	eax, BYTE PTR [rdx+rax]
	cmp	al, 66
	jne	.L219
	movsx	rax, ebx
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	add	rax, rdx
	mov	rdx, rax
	mov	esi, r12d
	lea	rdi, .LC57[rip]
	mov	eax, 0
	call	printf@PLT
.L219:
	add	ebx, 1
.L218:
	cmp	ebx, r14d
	jl	.L220
	movsx	rax, r13d
	lea	rdx, [rax+rax]
	lea	rax, vars[rip]
	add	rdx, rax
	lea	ecx, 1[r12]
	mov	eax, DWORD PTR r[rip]
	cmp	ecx, eax
	je	.L221
	lea	eax, 1[r12]
	jmp	.L222
.L221:
	mov	eax, DWORD PTR pp[rip]
.L222:
	mov	esi, eax
	lea	rdi, .LC61[rip]
	mov	eax, 0
	call	printf@PLT
	add	r13d, 1
.L193:
	cmp	r13d, DWORD PTR -72[rbp]
	jl	.L223
	add	r12d, 1
.L112:
	mov	eax, DWORD PTR r[rip]
	cmp	r12d, eax
	jl	.L224
	mov	ebx, DWORD PTR pp[rip]
	jmp	.L225
.L226:
	mov	esi, ebx
	lea	rdi, .LC63[rip]
	mov	eax, 0
	call	printf@PLT
	add	ebx, 1
.L225:
	mov	eax, DWORD PTR r[rip]
	cmp	ebx, eax
	jl	.L226
	mov	edi, 10
	call	putchar@PLT
	mov	ebx, DWORD PTR pp[rip]
	jmp	.L227
.L228:
	mov	esi, ebx
	lea	rdi, .LC64[rip]
	mov	eax, 0
	call	printf@PLT
	add	ebx, 1
.L227:
	mov	eax, DWORD PTR r[rip]
	cmp	ebx, eax
	jl	.L228
	mov	edi, 10
	call	putchar@PLT
	mov	ebx, 0
	jmp	.L229
.L235:
	movsx	rax, ebx
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip+12]
	movzx	eax, BYTE PTR [rdx+rax]
	test	al, al
	jne	.L230
	mov	eax, DWORD PTR p[rip]
	test	eax, eax
	jns	.L231
	movsx	rax, ebx
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	movzx	eax, BYTE PTR [rdx+rax]
	cmp	al, 65
	je	.L232
.L231:
	mov	eax, DWORD PTR p[rip]
	test	eax, eax
	jle	.L230
	movsx	rax, ebx
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	movzx	eax, BYTE PTR [rdx+rax]
	cmp	al, 66
	jne	.L230
.L232:
	mov	r13d, DWORD PTR pp[rip]
	jmp	.L233
.L234:
	movsx	rax, ebx
	sal	rax, 4
	mov	rdx, rax
	lea	rax, state[rip]
	add	rax, rdx
	mov	rdx, rax
	mov	esi, r13d
	lea	rdi, .LC65[rip]
	mov	eax, 0
	call	printf@PLT
	add	r13d, 1
.L233:
	mov	eax, DWORD PTR r[rip]
	cmp	r13d, eax
	jl	.L234
.L230:
	add	ebx, 1
.L229:
	cmp	ebx, r14d
	jl	.L235
	mov	eax, 0
	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	main, .-main
	.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	"888193.c"
	.text
	.comm	state,1600,4
	.comm	vars,200,4
	.comm	astep,400,4
	.comm	bstep,400,4
	.comm	r,4,4
	.comm	p,4,4
	.comm	pp,4,4
	.comm	buf,1024,4
	.section	.rodata
	.align	2
.LC0:
	.ascii	"%d\000"
	.align	2
.LC1:
	.ascii	"Usage: %s r {+|-}p < foo.dat\012\000"
	.align	2
.LC2:
	.ascii	"Parameter r must be positive!\012\000"
	.align	2
.LC3:
	.ascii	"~ sat-mutex-starve %d %d\012\000"
	.align	2
.LC4:
	.ascii	"%s\000"
	.align	2
.LC5:
	.ascii	"Recompile me -- I only have room for %d steps!\012\000"
	.align	2
.LC6:
	.ascii	"the name is too long\000"
	.align	2
.LC7:
	.ascii	"Oops, %s!\012> %s\012\000"
	.align	2
.LC8:
	.ascii	"the step name must begin with A or B\000"
	.align	2
.LC9:
	.ascii	"that name has already been used\000"
	.align	2
.LC10:
	.ascii	"step is incomplete\000"
	.align	2
.LC11:
	.ascii	"maybe \000"
	.align	2
.LC12:
	.ascii	" goto \000"
	.align	2
.LC13:
	.ascii	"missing goto\000"
	.align	2
.LC14:
	.ascii	"the label is too long\000"
	.align	2
.LC15:
	.ascii	"maybe step ends badly\000"
	.align	2
.LC16:
	.ascii	"critical \000"
	.align	2
.LC17:
	.ascii	"critical step ends badly\000"
	.align	2
.LC18:
	.ascii	"if \000"
	.align	2
.LC19:
	.ascii	"the variable name is too long\000"
	.align	2
.LC20:
	.ascii	"a variable name must begin with a lowercase letter\000"
	.align	2
.LC21:
	.ascii	"missing `=' in an if step\000"
	.align	2
.LC22:
	.ascii	"the value must be 0 or 1\000"
	.align	2
.LC23:
	.ascii	" else \000"
	.align	2
.LC24:
	.ascii	"missing else\000"
	.align	2
.LC25:
	.ascii	"the else label is too long\000"
	.align	2
.LC26:
	.ascii	"that if step ends badly\000"
	.align	2
.LC27:
	.ascii	"missing `=' in an assignment step\000"
	.align	2
.LC28:
	.ascii	"assignment step ends badly\000"
	.align	2
.LC29:
	.ascii	"There are no steps for process A!\012\000"
	.align	2
.LC30:
	.ascii	"There are no steps for process B!\012\000"
	.align	2
.LC31:
	.ascii	"Missing step %.4s!\012\000"
	.align	2
.LC32:
	.ascii	"Both processes are initially in critical sections!\012"
	.ascii	"\000"
	.align	2
.LC33:
	.ascii	"(%d+%d steps with %d shared variables successfully "
	.ascii	"input)\012\000"
	.align	2
.LC34:
	.ascii	"~000%.2s\012\000"
	.align	2
.LC35:
	.ascii	"000%.4s\012\000"
	.align	2
.LC36:
	.ascii	"~000%.4s\012\000"
	.align	2
.LC37:
	.ascii	"~%03d%.4s ~%03d%.4s\012\000"
	.align	2
.LC38:
	.ascii	"%03d_A%d\000"
	.align	2
.LC39:
	.ascii	"~%03d%.4s\000"
	.align	2
.LC40:
	.ascii	" ~%03d%.4s\012\000"
	.align	2
.LC41:
	.ascii	" ~%03d_A%d\012\000"
	.align	2
.LC42:
	.ascii	"~%03d%.4s ~%03d_A%d\012\000"
	.align	2
.LC43:
	.ascii	"%03d_B%d\000"
	.align	2
.LC44:
	.ascii	" ~%03d_B%d\012\000"
	.align	2
.LC45:
	.ascii	"~%03d%.4s ~%03d_B%d\012\000"
	.align	2
.LC46:
	.ascii	"%03d@ ~%03d%.4s %03d%.4s\012\000"
	.align	2
.LC47:
	.ascii	"~%03d@ ~%03d%.4s %03d%.4s %03d%.4s\012\000"
	.align	2
.LC48:
	.ascii	"~%03d@ ~%03d%.4s %03d%.4s\012\000"
	.align	2
.LC49:
	.ascii	"~%03d@ ~%03d%.4s\000"
	.align	2
.LC50:
	.ascii	"~\000"
	.align	2
.LC51:
	.ascii	"\000"
	.align	2
.LC52:
	.ascii	" %s%03d%.2s %03d%.4s\012\000"
	.align	2
.LC53:
	.ascii	"%03d@ ~%03d%.4s %03d%.4s %03d%.4s\012\000"
	.align	2
.LC54:
	.ascii	"%03d@ ~%03d%.4s\000"
	.align	2
.LC55:
	.ascii	"%s%03d@ ~%03d%.4s %s%03d%.2s\012\000"
	.align	2
.LC56:
	.ascii	"~%03d@ %03d%.2s\000"
	.align	2
.LC57:
	.ascii	" %03d%.4s\000"
	.align	2
.LC58:
	.ascii	" ~%03d%.2s\012\000"
	.align	2
.LC59:
	.ascii	"%03d@ %03d%.2s\000"
	.align	2
.LC60:
	.ascii	"~%03d@ ~%03d%.2s\000"
	.align	2
.LC61:
	.ascii	" %03d%.2s\012\000"
	.align	2
.LC62:
	.ascii	"%03d@ ~%03d%.2s\000"
	.align	2
.LC63:
	.ascii	" ~%03d@\000"
	.align	2
.LC64:
	.ascii	" %03d@\000"
	.align	2
.LC65:
	.ascii	"~%03d%.4s\012\000"
	.text
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, r10, fp, lr}
	add	fp, sp, #32
	sub	sp, sp, #44
	str	r0, [fp, #-48]
	str	r1, [fp, #-52]
	ldr	r3, [fp, #-48]
	cmp	r3, #3
	bne	.L2
	ldr	r3, [fp, #-52]
	add	r3, r3, #4
	ldr	r3, [r3]
	ldr	r2, .L243
	ldr	r1, .L243+4
	mov	r0, r3
	bl	__isoc99_sscanf
	mov	r3, r0
	cmp	r3, #1
	bne	.L2
	ldr	r3, [fp, #-52]
	add	r3, r3, #8
	ldr	r3, [r3]
	ldr	r2, .L243+8
	ldr	r1, .L243+4
	mov	r0, r3
	bl	__isoc99_sscanf
	mov	r3, r0
	cmp	r3, #1
	beq	.L3
.L2:
	ldr	r3, .L243+12
	ldr	r0, [r3]
	ldr	r3, [fp, #-52]
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, .L243+16
	bl	fprintf
	mvn	r0, #0
	bl	exit
.L3:
	ldr	r3, .L243+8
	ldr	r3, [r3]
	cmp	r3, #0
	rsblt	r3, r3, #0
	ldr	r2, .L243+20
	str	r3, [r2]
	ldr	r3, .L243
	ldr	r3, [r3]
	cmp	r3, #0
	bgt	.L4
	ldr	r3, .L243+12
	ldr	r3, [r3]
	mov	r2, #30
	mov	r1, #1
	ldr	r0, .L243+24
	bl	fwrite
	mvn	r0, #1
	bl	exit
.L4:
	ldr	r3, .L243
	ldr	r3, [r3]
	ldr	r2, .L243+8
	ldr	r2, [r2]
	mov	r1, r3
	ldr	r0, .L243+28
	bl	printf
	mov	r10, #0
	mov	r9, r10
	str	r9, [fp, #-56]
	mov	r7, r9
.L89:
	ldr	r3, .L243+32
	ldr	r3, [r3]
	mov	r2, r3
	mov	r1, #1024
	ldr	r0, .L243+36
	bl	fgets
	mov	r3, r0
	cmp	r3, #0
	beq	.L238
	ldr	r3, .L243+36
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #126
	bne	.L7
	ldr	r1, .L243+36
	ldr	r0, .L243+40
	bl	printf
	b	.L89
.L7:
	ldr	r3, .L243+36
	str	r3, [fp, #-40]
	cmp	r7, #99
	ble	.L9
	ldr	r3, .L243+12
	ldr	r3, [r3]
	mov	r2, #100
	ldr	r1, .L243+44
	mov	r0, r3
	bl	fprintf
	ldr	r0, .L243+48
	bl	exit
.L9:
	mov	r4, #0
	b	.L10
.L13:
	cmp	r4, #3
	bgt	.L11
	ldr	r3, [fp, #-40]
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r2, .L243+260
	lsl	r3, r7, #4
	add	r3, r2, r3
	add	r3, r3, r4
	mov	r2, r1
	strb	r2, [r3]
.L11:
	add	r4, r4, #1
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
.L10:
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L12
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #32
	beq	.L12
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #10
	bne	.L13
.L12:
	cmp	r4, #4
	ble	.L14
	ldr	r3, .L243+12
	ldr	r0, [r3]
	ldr	r3, .L243+36
	ldr	r2, .L243+52
	ldr	r1, .L243+56
	bl	fprintf
	mvn	r0, #9
	bl	exit
.L14:
	ldr	r3, .L243+260
	ldrb	r3, [r3, r7, lsl #4]	@ zero_extendqisi2
	cmp	r3, #64
	bls	.L15
	ldr	r3, .L243+260
	ldrb	r3, [r3, r7, lsl #4]	@ zero_extendqisi2
	cmp	r3, #66
	bls	.L16
.L15:
	ldr	r3, .L243+12
	ldr	r0, [r3]
	ldr	r3, .L243+36
	ldr	r2, .L243+60
	ldr	r1, .L243+56
	bl	fprintf
	mvn	r0, #10
	bl	exit
.L16:
	mov	r4, #0
	b	.L17
.L19:
	lsl	r3, r4, #4
	ldr	r2, .L243+260
	add	r0, r3, r2
	lsl	r3, r7, #4
	ldr	r2, .L243+260
	add	r3, r3, r2
	mov	r2, #4
	mov	r1, r3
	bl	strncmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L18
	ldr	r3, .L243+12
	ldr	r0, [r3]
	ldr	r3, .L243+36
	ldr	r2, .L243+64
	ldr	r1, .L243+56
	bl	fprintf
	mvn	r0, #11
	bl	exit
.L18:
	add	r4, r4, #1
.L17:
	cmp	r4, r7
	blt	.L19
	ldr	r3, .L243+260
	ldrb	r3, [r3, r7, lsl #4]	@ zero_extendqisi2
	cmp	r3, #65
	bne	.L20
	ldr	r3, [fp, #-56]
	add	r2, r3, #1
	str	r2, [fp, #-56]
	ldr	r2, .L243+228
	str	r7, [r2, r3, lsl #2]
	b	.L21
.L20:
	mov	r3, r10
	add	r10, r3, #1
	ldr	r2, .L243+272
	str	r7, [r2, r3, lsl #2]
.L21:
	ldr	r3, [fp, #-40]
	add	r2, r3, #1
	str	r2, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #32
	beq	.L22
	ldr	r3, .L243+12
	ldr	r0, [r3]
	ldr	r3, .L243+36
	ldr	r2, .L243+68
	ldr	r1, .L243+56
	bl	fprintf
	mvn	r0, #12
	bl	exit
.L22:
	mov	r2, #6
	ldr	r1, .L243+72
	ldr	r0, [fp, #-40]
	bl	strncmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L23
	ldr	r3, [fp, #-40]
	add	r3, r3, #5
	str	r3, [fp, #-40]
	mov	r2, #6
	ldr	r1, .L243+76
	ldr	r0, [fp, #-40]
	bl	strncmp
	mov	r3, r0
	cmp	r3, #0
	beq	.L24
	ldr	r3, .L243+12
	ldr	r0, [r3]
	ldr	r3, .L243+36
	ldr	r2, .L243+80
	ldr	r1, .L243+56
	bl	fprintf
	mvn	r0, #15
	bl	exit
.L24:
	ldr	r3, [fp, #-40]
	add	r3, r3, #6
	str	r3, [fp, #-40]
	mov	r4, #0
	b	.L25
.L28:
	cmp	r4, #3
	bgt	.L26
	ldr	r3, [fp, #-40]
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r2, .L243+260
	lsl	r3, r7, #4
	add	r3, r2, r3
	add	r3, r3, r4
	add	r3, r3, #4
	mov	r2, r1
	strb	r2, [r3]
.L26:
	add	r4, r4, #1
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
.L25:
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L27
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #32
	beq	.L27
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #10
	bne	.L28
.L27:
	cmp	r4, #4
	ble	.L29
	ldr	r3, .L243+12
	ldr	r0, [r3]
	ldr	r3, .L243+36
	ldr	r2, .L243+84
	ldr	r1, .L243+56
	bl	fprintf
	mvn	r0, #16
	bl	exit
.L29:
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #10
	beq	.L30
	ldr	r3, .L243+12
	ldr	r0, [r3]
	ldr	r3, .L243+36
	ldr	r2, .L243+88
	ldr	r1, .L243+56
	bl	fprintf
	mvn	r0, #13
	bl	exit
.L23:
	mov	r2, #9
	ldr	r1, .L243+92
	ldr	r0, [fp, #-40]
	bl	strncmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L31
	ldr	r3, [fp, #-40]
	add	r3, r3, #8
	str	r3, [fp, #-40]
	ldr	r2, .L243+260
	lsl	r3, r7, #4
	add	r3, r2, r3
	mov	r2, #1
	strb	r2, [r3, #15]
	mov	r2, #6
	ldr	r1, .L243+76
	ldr	r0, [fp, #-40]
	bl	strncmp
	mov	r3, r0
	cmp	r3, #0
	beq	.L32
	ldr	r3, .L243+12
	ldr	r0, [r3]
	ldr	r3, .L243+36
	ldr	r2, .L243+80
	ldr	r1, .L243+56
	bl	fprintf
	mvn	r0, #15
	bl	exit
.L32:
	ldr	r3, [fp, #-40]
	add	r3, r3, #6
	str	r3, [fp, #-40]
	mov	r4, #0
	b	.L33
.L36:
	cmp	r4, #3
	bgt	.L34
	ldr	r3, [fp, #-40]
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r2, .L243+260
	lsl	r3, r7, #4
	add	r3, r2, r3
	add	r3, r3, r4
	add	r3, r3, #4
	mov	r2, r1
	strb	r2, [r3]
.L34:
	add	r4, r4, #1
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
.L33:
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L35
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #32
	beq	.L35
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #10
	bne	.L36
.L35:
	cmp	r4, #4
	ble	.L37
	ldr	r3, .L243+12
	ldr	r0, [r3]
	ldr	r3, .L243+36
	ldr	r2, .L243+84
	ldr	r1, .L243+56
	bl	fprintf
	mvn	r0, #16
	bl	exit
.L37:
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #10
	beq	.L30
	ldr	r3, .L243+12
	ldr	r0, [r3]
	ldr	r3, .L243+36
	ldr	r2, .L243+96
	ldr	r1, .L243+56
	bl	fprintf
	mvn	r0, #14
	bl	exit
.L31:
	mov	r2, #3
	ldr	r1, .L243+100
	ldr	r0, [fp, #-40]
	bl	strncmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L38
	ldr	r3, [fp, #-40]
	add	r3, r3, #3
	str	r3, [fp, #-40]
	mov	r4, #0
	b	.L39
.L42:
	cmp	r4, #1
	bgt	.L40
	ldr	r3, [fp, #-40]
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r2, .L243+104
	lsl	r3, r9, #1
	add	r3, r2, r3
	add	r3, r3, r4
	mov	r2, r1
	strb	r2, [r3]
	ldr	r2, .L243+104
	lsl	r3, r9, #1
	add	r3, r2, r3
	add	r3, r3, r4
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r2, .L243+260
	lsl	r3, r7, #4
	add	r3, r2, r3
	add	r3, r3, r4
	add	r3, r3, #12
	mov	r2, r1
	strb	r2, [r3]
.L40:
	add	r4, r4, #1
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
.L39:
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L41
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #61
	beq	.L41
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #10
	bne	.L42
.L41:
	cmp	r4, #2
	ble	.L43
	ldr	r3, .L243+12
	ldr	r0, [r3]
	ldr	r3, .L243+36
	ldr	r2, .L243+108
	ldr	r1, .L243+56
	bl	fprintf
	mvn	r0, #19
	bl	exit
.L43:
	ldr	r2, .L243+260
	lsl	r3, r7, #4
	add	r3, r2, r3
	ldrb	r3, [r3, #12]	@ zero_extendqisi2
	cmp	r3, #96
	bls	.L44
	ldr	r2, .L243+260
	lsl	r3, r7, #4
	add	r3, r2, r3
	ldrb	r3, [r3, #12]	@ zero_extendqisi2
	cmp	r3, #122
	bls	.L45
.L44:
	ldr	r3, .L243+12
	ldr	r0, [r3]
	ldr	r3, .L243+36
	ldr	r2, .L243+112
	ldr	r1, .L243+56
	bl	fprintf
	mvn	r0, #20
	bl	exit
.L45:
	mov	r4, #0
	b	.L46
.L49:
	lsl	r3, r4, #1
	ldr	r2, .L243+104
	add	r0, r3, r2
	lsl	r3, r7, #4
	add	r3, r3, #8
	ldr	r2, .L243+260
	add	r3, r3, r2
	add	r3, r3, #4
	mov	r2, #2
	mov	r1, r3
	bl	strncmp
	mov	r3, r0
	cmp	r3, #0
	beq	.L239
	add	r4, r4, #1
.L46:
	cmp	r4, r9
	blt	.L49
	b	.L48
.L239:
	nop
.L48:
	cmp	r4, r9
	bne	.L50
	add	r9, r9, #1
	b	.L51
.L50:
	ldr	r2, .L243+104
	lsl	r3, r9, #1
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3, #1]
.L51:
	ldr	r3, [fp, #-40]
	add	r2, r3, #1
	str	r2, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #61
	beq	.L52
	ldr	r3, .L243+12
	ldr	r0, [r3]
	ldr	r3, .L243+36
	ldr	r2, .L243+116
	ldr	r1, .L243+56
	bl	fprintf
	mvn	r0, #17
	bl	exit
.L52:
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #47
	bls	.L53
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #49
	bls	.L54
.L53:
	ldr	r3, .L243+12
	ldr	r0, [r3]
	ldr	r3, .L243+36
	ldr	r2, .L243+120
	ldr	r1, .L243+56
	bl	fprintf
	mvn	r0, #21
	bl	exit
.L54:
	ldr	r3, [fp, #-40]
	add	r2, r3, #1
	str	r2, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r3, r3, #48
	and	r1, r3, #255
	ldr	r2, .L243+260
	lsl	r3, r7, #4
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3, #14]
	mov	r2, #6
	ldr	r1, .L243+76
	ldr	r0, [fp, #-40]
	bl	strncmp
	mov	r3, r0
	cmp	r3, #0
	beq	.L55
	ldr	r3, .L243+12
	ldr	r0, [r3]
	ldr	r3, .L243+36
	ldr	r2, .L243+80
	ldr	r1, .L243+56
	bl	fprintf
	mvn	r0, #15
	bl	exit
.L55:
	ldr	r3, [fp, #-40]
	add	r3, r3, #6
	str	r3, [fp, #-40]
	mov	r4, #0
	b	.L56
.L59:
	cmp	r4, #3
	bgt	.L57
	ldr	r3, [fp, #-40]
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r2, .L243+260
	lsl	r3, r7, #4
	add	r3, r2, r3
	add	r3, r3, r4
	add	r3, r3, #4
	mov	r2, r1
	strb	r2, [r3]
.L57:
	add	r4, r4, #1
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
.L56:
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L58
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #32
	beq	.L58
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #10
	bne	.L59
.L58:
	cmp	r4, #4
	ble	.L60
	ldr	r3, .L243+12
	ldr	r0, [r3]
	ldr	r3, .L243+36
	ldr	r2, .L243+84
	ldr	r1, .L243+56
	bl	fprintf
	mvn	r0, #16
	bl	exit
.L60:
	mov	r2, #6
	ldr	r1, .L243+124
	ldr	r0, [fp, #-40]
	bl	strncmp
	mov	r3, r0
	cmp	r3, #0
	beq	.L61
	ldr	r3, .L243+12
	ldr	r0, [r3]
	ldr	r3, .L243+36
	ldr	r2, .L243+128
	ldr	r1, .L243+56
	bl	fprintf
	mvn	r0, #22
	bl	exit
.L61:
	ldr	r3, [fp, #-40]
	add	r3, r3, #6
	str	r3, [fp, #-40]
	mov	r4, #0
	b	.L62
.L65:
	cmp	r4, #3
	bgt	.L63
	ldr	r3, [fp, #-40]
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r2, .L243+260
	lsl	r3, r7, #4
	add	r3, r2, r3
	add	r3, r3, r4
	add	r3, r3, #8
	mov	r2, r1
	strb	r2, [r3]
.L63:
	add	r4, r4, #1
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
.L62:
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L64
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #10
	bne	.L65
.L64:
	cmp	r4, #4
	ble	.L66
	ldr	r3, .L243+12
	ldr	r0, [r3]
	ldr	r3, .L243+36
	ldr	r2, .L243+132
	ldr	r1, .L243+56
	bl	fprintf
	mvn	r0, #23
	bl	exit
.L66:
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #10
	beq	.L30
	ldr	r3, .L243+12
	ldr	r0, [r3]
	ldr	r3, .L243+36
	ldr	r2, .L243+136
	ldr	r1, .L243+56
	bl	fprintf
	mvn	r0, #18
	bl	exit
.L38:
	mov	r4, #0
	b	.L67
.L70:
	cmp	r4, #1
	bgt	.L68
	ldr	r3, [fp, #-40]
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r2, .L243+104
	lsl	r3, r9, #1
	add	r3, r2, r3
	add	r3, r3, r4
	mov	r2, r1
	strb	r2, [r3]
	ldr	r2, .L243+104
	lsl	r3, r9, #1
	add	r3, r2, r3
	add	r3, r3, r4
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r2, .L243+260
	lsl	r3, r7, #4
	add	r3, r2, r3
	add	r3, r3, r4
	add	r3, r3, #12
	mov	r2, r1
	strb	r2, [r3]
.L68:
	add	r4, r4, #1
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
.L67:
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L69
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #61
	beq	.L69
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #10
	bne	.L70
.L69:
	cmp	r4, #2
	ble	.L71
	ldr	r3, .L243+12
	ldr	r0, [r3]
	ldr	r3, .L243+36
	ldr	r2, .L243+108
	ldr	r1, .L243+56
	bl	fprintf
	mvn	r0, #19
	bl	exit
.L71:
	ldr	r2, .L243+260
	lsl	r3, r7, #4
	add	r3, r2, r3
	ldrb	r3, [r3, #12]	@ zero_extendqisi2
	cmp	r3, #96
	bls	.L72
	ldr	r2, .L243+260
	lsl	r3, r7, #4
	add	r3, r2, r3
	ldrb	r3, [r3, #12]	@ zero_extendqisi2
	cmp	r3, #122
	bls	.L73
.L72:
	ldr	r3, .L243+12
	ldr	r0, [r3]
	ldr	r3, .L243+36
	ldr	r2, .L243+112
	ldr	r1, .L243+56
	bl	fprintf
	mvn	r0, #20
	bl	exit
.L73:
	mov	r4, #0
	b	.L74
.L77:
	lsl	r3, r4, #1
	ldr	r2, .L243+104
	add	r0, r3, r2
	lsl	r3, r7, #4
	add	r3, r3, #8
	ldr	r2, .L243+260
	add	r3, r3, r2
	add	r3, r3, #4
	mov	r2, #2
	mov	r1, r3
	bl	strncmp
	mov	r3, r0
	cmp	r3, #0
	beq	.L240
	add	r4, r4, #1
.L74:
	cmp	r4, r9
	blt	.L77
	b	.L76
.L240:
	nop
.L76:
	cmp	r4, r9
	bne	.L78
	add	r9, r9, #1
	b	.L79
.L78:
	ldr	r2, .L243+104
	lsl	r3, r9, #1
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3, #1]
.L79:
	ldr	r3, [fp, #-40]
	add	r2, r3, #1
	str	r2, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #61
	beq	.L80
	ldr	r3, .L243+12
	ldr	r0, [r3]
	ldr	r3, .L243+36
	ldr	r2, .L243+140
	ldr	r1, .L243+56
	bl	fprintf
	mvn	r0, #24
	bl	exit
.L80:
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #47
	bls	.L81
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #49
	bls	.L82
.L81:
	ldr	r3, .L243+12
	ldr	r0, [r3]
	ldr	r3, .L243+36
	ldr	r2, .L243+120
	ldr	r1, .L243+56
	bl	fprintf
	mvn	r0, #21
	bl	exit
.L82:
	ldr	r3, [fp, #-40]
	add	r2, r3, #1
	str	r2, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r3, r3, #48
	and	r1, r3, #255
	ldr	r2, .L243+260
	lsl	r3, r7, #4
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3, #14]
	mov	r2, #6
	ldr	r1, .L243+76
	ldr	r0, [fp, #-40]
	bl	strncmp
	mov	r3, r0
	cmp	r3, #0
	beq	.L83
	ldr	r3, .L243+12
	ldr	r0, [r3]
	ldr	r3, .L243+36
	ldr	r2, .L243+80
	ldr	r1, .L243+56
	bl	fprintf
	mvn	r0, #15
	bl	exit
.L83:
	ldr	r3, [fp, #-40]
	add	r3, r3, #6
	str	r3, [fp, #-40]
	mov	r4, #0
	b	.L84
.L87:
	cmp	r4, #3
	bgt	.L85
	ldr	r3, [fp, #-40]
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r2, .L243+260
	lsl	r3, r7, #4
	add	r3, r2, r3
	add	r3, r3, r4
	add	r3, r3, #4
	mov	r2, r1
	strb	r2, [r3]
.L85:
	add	r4, r4, #1
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
.L84:
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L86
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #32
	beq	.L86
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #10
	bne	.L87
.L86:
	cmp	r4, #4
	ble	.L88
	ldr	r3, .L243+12
	ldr	r0, [r3]
	ldr	r3, .L243+36
	ldr	r2, .L243+84
	ldr	r1, .L243+56
	bl	fprintf
	mvn	r0, #16
	bl	exit
.L88:
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #10
	beq	.L30
	ldr	r3, .L243+12
	ldr	r0, [r3]
	ldr	r3, .L243+36
	ldr	r2, .L243+144
	ldr	r1, .L243+56
	bl	fprintf
	mvn	r0, #25
	bl	exit
.L30:
	add	r7, r7, #1
	b	.L89
.L238:
	nop
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	bne	.L90
	ldr	r3, .L243+12
	ldr	r3, [r3]
	mov	r2, #34
	mov	r1, #1
	ldr	r0, .L243+148
	bl	fwrite
	mvn	r0, #98
	bl	exit
.L90:
	cmp	r10, #0
	bne	.L91
	ldr	r3, .L243+12
	ldr	r3, [r3]
	mov	r2, #34
	mov	r1, #1
	ldr	r0, .L243+152
	bl	fwrite
	mvn	r0, #97
	bl	exit
.L91:
	mov	r5, #0
	mov	r6, r5
	b	.L92
.L103:
	ldr	r2, .L243+260
	lsl	r3, r6, #4
	add	r3, r2, r3
	ldrb	r3, [r3, #4]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L93
	mov	r4, #0
	b	.L94
.L97:
	lsl	r3, r4, #4
	ldr	r2, .L243+260
	add	r0, r3, r2
	lsl	r3, r6, #4
	ldr	r2, .L243+260
	add	r3, r3, r2
	add	r3, r3, #4
	mov	r2, #4
	mov	r1, r3
	bl	strncmp
	mov	r3, r0
	cmp	r3, #0
	beq	.L241
	add	r4, r4, #1
.L94:
	cmp	r4, r7
	blt	.L97
	b	.L96
.L241:
	nop
.L96:
	cmp	r4, r7
	bne	.L93
	ldr	r3, .L243+12
	ldr	r0, [r3]
	lsl	r3, r6, #4
	ldr	r2, .L243+260
	add	r3, r3, r2
	add	r3, r3, #4
	mov	r2, r3
	ldr	r1, .L243+156
	bl	fprintf
	add	r5, r5, #1
.L93:
	ldr	r2, .L243+260
	lsl	r3, r6, #4
	add	r3, r2, r3
	ldrb	r3, [r3, #8]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L98
	mov	r4, #0
	b	.L99
.L102:
	lsl	r3, r4, #4
	ldr	r2, .L243+260
	add	r0, r3, r2
	lsl	r3, r6, #4
	add	r3, r3, #8
	ldr	r2, .L243+260
	add	r3, r3, r2
	mov	r2, #4
	mov	r1, r3
	bl	strncmp
	mov	r3, r0
	cmp	r3, #0
	beq	.L242
	add	r4, r4, #1
.L99:
	cmp	r4, r7
	blt	.L102
	b	.L101
.L242:
	nop
.L101:
	cmp	r4, r7
	bne	.L98
	ldr	r3, .L243+12
	ldr	r0, [r3]
	lsl	r3, r6, #4
	add	r3, r3, #8
	ldr	r2, .L243+260
	add	r3, r3, r2
	mov	r2, r3
	ldr	r1, .L243+156
	bl	fprintf
	add	r5, r5, #1
.L98:
	add	r6, r6, #1
.L92:
	cmp	r6, r7
	blt	.L103
	cmp	r5, #0
	beq	.L104
	mvn	r0, #29
	bl	exit
.L104:
	ldr	r3, .L243+228
	ldr	r3, [r3]
	ldr	r2, .L243+260
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldrb	r3, [r3, #15]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r3, .L243+272
	ldr	r3, [r3]
	ldr	r2, .L243+260
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldrb	r3, [r3, #15]	@ zero_extendqisi2
	add	r3, r1, r3
	cmp	r3, #1
	ble	.L105
	ldr	r3, .L243+12
	ldr	r3, [r3]
	mov	r2, #51
	mov	r1, #1
	ldr	r0, .L243+160
	bl	fwrite
	ldr	r0, .L243+164
	bl	exit
.L105:
	ldr	r3, .L243+12
	ldr	r0, [r3]
	str	r9, [sp]
	mov	r3, r10
	ldr	r2, [fp, #-56]
	ldr	r1, .L243+168
	bl	fprintf
	mov	r4, #0
	b	.L106
.L107:
	lsl	r3, r4, #1
	ldr	r2, .L243+104
	add	r3, r3, r2
	mov	r1, r3
	ldr	r0, .L243+172
	bl	printf
	add	r4, r4, #1
.L106:
	cmp	r4, r9
	blt	.L107
	ldr	r3, .L243+228
	ldr	r3, [r3]
	lsl	r3, r3, #4
	ldr	r2, .L243+260
	add	r3, r3, r2
	mov	r1, r3
	ldr	r0, .L243+176
	bl	printf
	mov	r4, #1
	b	.L108
.L109:
	ldr	r3, .L243+228
	ldr	r3, [r3, r4, lsl #2]
	lsl	r3, r3, #4
	ldr	r2, .L243+260
	add	r3, r3, r2
	mov	r1, r3
	ldr	r0, .L243+180
	bl	printf
	add	r4, r4, #1
.L108:
	ldr	r3, [fp, #-56]
	cmp	r4, r3
	blt	.L109
	ldr	r3, .L243+272
	ldr	r3, [r3]
	lsl	r3, r3, #4
	ldr	r2, .L243+260
	add	r3, r3, r2
	mov	r1, r3
	ldr	r0, .L243+176
	bl	printf
	mov	r4, #1
	b	.L110
.L244:
	.align	2
.L243:
	.word	r
	.word	.LC0
	.word	p
	.word	stderr
	.word	.LC1
	.word	pp
	.word	.LC2
	.word	.LC3
	.word	stdin
	.word	buf
	.word	.LC4
	.word	.LC5
	.word	-666
	.word	.LC6
	.word	.LC7
	.word	.LC8
	.word	.LC9
	.word	.LC10
	.word	.LC11
	.word	.LC12
	.word	.LC13
	.word	.LC14
	.word	.LC15
	.word	.LC16
	.word	.LC17
	.word	.LC18
	.word	vars
	.word	.LC19
	.word	.LC20
	.word	.LC21
	.word	.LC22
	.word	.LC23
	.word	.LC24
	.word	.LC25
	.word	.LC26
	.word	.LC27
	.word	.LC28
	.word	.LC29
	.word	.LC30
	.word	.LC31
	.word	.LC32
	.word	-555
	.word	.LC33
	.word	.LC34
	.word	.LC35
	.word	.LC36
	.word	.LC41
	.word	.LC42
	.word	.LC38
	.word	.LC44
	.word	.LC45
	.word	.LC43
	.word	.LC39
	.word	.LC40
	.word	.LC37
	.word	.LC47
	.word	.LC49
	.word	astep
	.word	.LC52
	.word	.LC48
	.word	.LC53
	.word	r
	.word	pp
	.word	.LC46
	.word	.LC54
	.word	state
	.word	.LC50
	.word	.LC51
	.word	bstep
.L111:
	ldr	r3, .L243+272
	ldr	r3, [r3, r4, lsl #2]
	lsl	r3, r3, #4
	ldr	r2, .L243+260
	add	r3, r3, r2
	mov	r1, r3
	ldr	r0, .L243+180
	bl	printf
	add	r4, r4, #1
.L110:
	cmp	r4, r10
	blt	.L111
	mov	r5, #0
	b	.L112
.L224:
	add	r2, r5, #1
	ldr	r3, .L243+244
	ldr	r3, [r3]
	cmp	r2, r3
	beq	.L113
	ldr	r6, [fp, #-56]
	cmp	r6, #1
	ble	.L114
	mov	r4, #0
	mov	r8, r4
	cmp	r6, #2
	bne	.L116
	add	r1, r5, #1
	ldr	r3, .L243+228
	ldr	r3, [r3]
	lsl	r3, r3, #4
	ldr	r2, .L243+260
	add	r2, r3, r2
	add	r0, r5, #1
	ldr	r3, .L243+228
	ldr	r3, [r3, #4]
	lsl	r3, r3, #4
	ldr	ip, .L243+260
	add	r3, r3, ip
	str	r3, [sp]
	mov	r3, r0
	ldr	r0, .L243+216
	bl	printf
	b	.L116
.L123:
	cmp	r4, #0
	beq	.L117
	add	r3, r5, #1
	sub	r2, r8, #1
	mov	r1, r3
	ldr	r0, .L243+192
	bl	printf
	b	.L118
.L117:
	add	r1, r5, #1
	sub	r3, r6, #1
	ldr	r2, .L243+228
	ldr	r3, [r2, r3, lsl #2]
	lsl	r3, r3, #4
	ldr	r2, .L243+260
	add	r3, r3, r2
	mov	r2, r3
	ldr	r0, .L243+208
	bl	printf
.L118:
	add	r1, r5, #1
	sub	r3, r6, #2
	ldr	r2, .L243+228
	ldr	r3, [r2, r3, lsl #2]
	lsl	r3, r3, #4
	ldr	r2, .L243+260
	add	r3, r3, r2
	mov	r2, r3
	ldr	r0, .L243+212
	bl	printf
	cmp	r4, #0
	beq	.L119
	add	r3, r5, #1
	sub	r2, r8, #1
	mov	r1, r3
	ldr	r0, .L243+192
	bl	printf
	b	.L120
.L119:
	add	r1, r5, #1
	sub	r3, r6, #1
	ldr	r2, .L243+228
	ldr	r3, [r2, r3, lsl #2]
	lsl	r3, r3, #4
	ldr	r2, .L243+260
	add	r3, r3, r2
	mov	r2, r3
	ldr	r0, .L243+208
	bl	printf
.L120:
	add	r1, r5, #1
	sub	r3, r6, #3
	ldr	r2, .L243+228
	ldr	r3, [r2, r3, lsl #2]
	lsl	r3, r3, #4
	ldr	r2, .L243+260
	add	r3, r3, r2
	mov	r2, r3
	ldr	r0, .L243+212
	bl	printf
	cmp	r4, #0
	beq	.L121
	add	r3, r5, #1
	sub	r2, r8, #1
	mov	r1, r3
	ldr	r0, .L243+192
	bl	printf
	b	.L122
.L121:
	add	r1, r5, #1
	sub	r3, r6, #1
	ldr	r2, .L243+228
	ldr	r3, [r2, r3, lsl #2]
	lsl	r3, r3, #4
	ldr	r2, .L243+260
	add	r3, r3, r2
	mov	r2, r3
	ldr	r0, .L243+208
	bl	printf
.L122:
	add	r3, r5, #1
	mov	r2, r8
	mov	r1, r3
	ldr	r0, .L243+184
	bl	printf
	add	r1, r5, #1
	sub	r3, r6, #2
	ldr	r2, .L243+228
	ldr	r3, [r2, r3, lsl #2]
	lsl	r3, r3, #4
	ldr	r2, .L243+260
	add	r2, r3, r2
	add	r0, r5, #1
	sub	r3, r6, #3
	ldr	ip, .L243+228
	ldr	r3, [ip, r3, lsl #2]
	lsl	r3, r3, #4
	ldr	ip, .L243+260
	add	r3, r3, ip
	str	r3, [sp]
	mov	r3, r0
	ldr	r0, .L243+216
	bl	printf
	add	r1, r5, #1
	sub	r3, r6, #2
	ldr	r2, .L243+228
	ldr	r3, [r2, r3, lsl #2]
	lsl	r3, r3, #4
	ldr	r2, .L243+260
	add	r2, r3, r2
	add	r3, r5, #1
	str	r8, [sp]
	ldr	r0, .L243+188
	bl	printf
	add	r1, r5, #1
	sub	r3, r6, #3
	ldr	r2, .L243+228
	ldr	r3, [r2, r3, lsl #2]
	lsl	r3, r3, #4
	ldr	r2, .L243+260
	add	r2, r3, r2
	add	r3, r5, #1
	str	r8, [sp]
	ldr	r0, .L243+188
	bl	printf
	add	r8, r8, #1
	mov	r4, #1
	sub	r6, r6, #2
.L116:
	cmp	r6, #4
	bgt	.L123
	cmp	r4, #0
	beq	.L124
	add	r3, r5, #1
	sub	r2, r8, #1
	mov	r1, r3
	ldr	r0, .L243+192
	bl	printf
	b	.L125
.L124:
	add	r1, r5, #1
	sub	r3, r6, #1
	ldr	r2, .L243+228
	ldr	r3, [r2, r3, lsl #2]
	lsl	r3, r3, #4
	ldr	r2, .L243+260
	add	r3, r3, r2
	mov	r2, r3
	ldr	r0, .L243+208
	bl	printf
.L125:
	add	r1, r5, #1
	sub	r3, r6, #2
	ldr	r2, .L243+228
	ldr	r3, [r2, r3, lsl #2]
	lsl	r3, r3, #4
	ldr	r2, .L243+260
	add	r3, r3, r2
	mov	r2, r3
	ldr	r0, .L243+212
	bl	printf
	cmp	r4, #0
	beq	.L126
	add	r3, r5, #1
	sub	r2, r8, #1
	mov	r1, r3
	ldr	r0, .L243+192
	bl	printf
	b	.L127
.L126:
	add	r1, r5, #1
	sub	r3, r6, #1
	ldr	r2, .L243+228
	ldr	r3, [r2, r3, lsl #2]
	lsl	r3, r3, #4
	ldr	r2, .L243+260
	add	r3, r3, r2
	mov	r2, r3
	ldr	r0, .L243+208
	bl	printf
.L127:
	add	r1, r5, #1
	sub	r3, r6, #3
	ldr	r2, .L243+228
	ldr	r3, [r2, r3, lsl #2]
	lsl	r3, r3, #4
	ldr	r2, .L243+260
	add	r3, r3, r2
	mov	r2, r3
	ldr	r0, .L243+212
	bl	printf
	add	r1, r5, #1
	sub	r3, r6, #2
	ldr	r2, .L243+228
	ldr	r3, [r2, r3, lsl #2]
	lsl	r3, r3, #4
	ldr	r2, .L243+260
	add	r2, r3, r2
	add	r0, r5, #1
	sub	r3, r6, #3
	ldr	ip, .L243+228
	ldr	r3, [ip, r3, lsl #2]
	lsl	r3, r3, #4
	ldr	ip, .L243+260
	add	r3, r3, ip
	str	r3, [sp]
	mov	r3, r0
	ldr	r0, .L243+216
	bl	printf
	cmp	r6, #3
	ble	.L114
	cmp	r4, #0
	beq	.L128
	add	r3, r5, #1
	sub	r2, r8, #1
	mov	r1, r3
	ldr	r0, .L243+192
	bl	printf
	b	.L129
.L128:
	add	r1, r5, #1
	sub	r3, r6, #1
	ldr	r2, .L243+228
	ldr	r3, [r2, r3, lsl #2]
	lsl	r3, r3, #4
	ldr	r2, .L243+260
	add	r3, r3, r2
	mov	r2, r3
	ldr	r0, .L243+208
	bl	printf
.L129:
	add	r1, r5, #1
	sub	r3, r6, #4
	ldr	r2, .L243+228
	ldr	r3, [r2, r3, lsl #2]
	lsl	r3, r3, #4
	ldr	r2, .L243+260
	add	r3, r3, r2
	mov	r2, r3
	ldr	r0, .L243+212
	bl	printf
	add	r1, r5, #1
	sub	r3, r6, #2
	ldr	r2, .L243+228
	ldr	r3, [r2, r3, lsl #2]
	lsl	r3, r3, #4
	ldr	r2, .L243+260
	add	r2, r3, r2
	add	r0, r5, #1
	sub	r3, r6, #4
	ldr	ip, .L243+228
	ldr	r3, [ip, r3, lsl #2]
	lsl	r3, r3, #4
	ldr	ip, .L243+260
	add	r3, r3, ip
	str	r3, [sp]
	mov	r3, r0
	ldr	r0, .L243+216
	bl	printf
	add	r1, r5, #1
	sub	r3, r6, #3
	ldr	r2, .L243+228
	ldr	r3, [r2, r3, lsl #2]
	lsl	r3, r3, #4
	ldr	r2, .L243+260
	add	r2, r3, r2
	add	r0, r5, #1
	sub	r3, r6, #4
	ldr	ip, .L243+228
	ldr	r3, [ip, r3, lsl #2]
	lsl	r3, r3, #4
	ldr	ip, .L243+260
	add	r3, r3, ip
	str	r3, [sp]
	mov	r3, r0
	ldr	r0, .L243+216
	bl	printf
.L114:
	mov	r6, r10
	cmp	r6, #1
	ble	.L113
	mov	r4, #0
	mov	r8, r4
	cmp	r6, #2
	bne	.L131
	add	r1, r5, #1
	ldr	r3, .L243+272
	ldr	r3, [r3]
	lsl	r3, r3, #4
	ldr	r2, .L243+260
	add	r2, r3, r2
	add	r0, r5, #1
	ldr	r3, .L243+272
	ldr	r3, [r3, #4]
	lsl	r3, r3, #4
	ldr	ip, .L243+260
	add	r3, r3, ip
	str	r3, [sp]
	mov	r3, r0
	ldr	r0, .L243+216
	bl	printf
	b	.L131
.L138:
	cmp	r4, #0
	beq	.L132
	add	r3, r5, #1
	sub	r2, r8, #1
	mov	r1, r3
	ldr	r0, .L243+204
	bl	printf
	b	.L133
.L132:
	add	r1, r5, #1
	sub	r3, r6, #1
	ldr	r2, .L243+272
	ldr	r3, [r2, r3, lsl #2]
	lsl	r3, r3, #4
	ldr	r2, .L243+260
	add	r3, r3, r2
	mov	r2, r3
	ldr	r0, .L243+208
	bl	printf
.L133:
	add	r1, r5, #1
	sub	r3, r6, #2
	ldr	r2, .L243+272
	ldr	r3, [r2, r3, lsl #2]
	lsl	r3, r3, #4
	ldr	r2, .L243+260
	add	r3, r3, r2
	mov	r2, r3
	ldr	r0, .L243+212
	bl	printf
	cmp	r4, #0
	beq	.L134
	add	r3, r5, #1
	sub	r2, r8, #1
	mov	r1, r3
	ldr	r0, .L243+204
	bl	printf
	b	.L135
.L134:
	add	r1, r5, #1
	sub	r3, r6, #1
	ldr	r2, .L243+272
	ldr	r3, [r2, r3, lsl #2]
	lsl	r3, r3, #4
	ldr	r2, .L243+260
	add	r3, r3, r2
	mov	r2, r3
	ldr	r0, .L243+208
	bl	printf
.L135:
	add	r1, r5, #1
	sub	r3, r6, #3
	ldr	r2, .L243+272
	ldr	r3, [r2, r3, lsl #2]
	lsl	r3, r3, #4
	ldr	r2, .L243+260
	add	r3, r3, r2
	mov	r2, r3
	ldr	r0, .L243+212
	bl	printf
	cmp	r4, #0
	beq	.L136
	add	r3, r5, #1
	sub	r2, r8, #1
	mov	r1, r3
	ldr	r0, .L243+204
	bl	printf
	b	.L137
.L136:
	add	r1, r5, #1
	sub	r3, r6, #1
	ldr	r2, .L243+272
	ldr	r3, [r2, r3, lsl #2]
	lsl	r3, r3, #4
	ldr	r2, .L243+260
	add	r3, r3, r2
	mov	r2, r3
	ldr	r0, .L243+208
	bl	printf
.L137:
	add	r3, r5, #1
	mov	r2, r8
	mov	r1, r3
	ldr	r0, .L243+196
	bl	printf
	add	r1, r5, #1
	sub	r3, r6, #2
	ldr	r2, .L243+272
	ldr	r3, [r2, r3, lsl #2]
	lsl	r3, r3, #4
	ldr	r2, .L243+260
	add	r2, r3, r2
	add	r0, r5, #1
	sub	r3, r6, #3
	ldr	ip, .L243+272
	ldr	r3, [ip, r3, lsl #2]
	lsl	r3, r3, #4
	ldr	ip, .L243+260
	add	r3, r3, ip
	str	r3, [sp]
	mov	r3, r0
	ldr	r0, .L243+216
	bl	printf
	add	r1, r5, #1
	sub	r3, r6, #2
	ldr	r2, .L243+272
	ldr	r3, [r2, r3, lsl #2]
	lsl	r3, r3, #4
	ldr	r2, .L243+260
	add	r2, r3, r2
	add	r3, r5, #1
	str	r8, [sp]
	ldr	r0, .L243+200
	bl	printf
	add	r1, r5, #1
	sub	r3, r6, #3
	ldr	r2, .L243+272
	ldr	r3, [r2, r3, lsl #2]
	lsl	r3, r3, #4
	ldr	r2, .L243+260
	add	r2, r3, r2
	add	r3, r5, #1
	str	r8, [sp]
	ldr	r0, .L243+200
	bl	printf
	add	r8, r8, #1
	mov	r4, #1
	sub	r6, r6, #2
.L131:
	cmp	r6, #4
	bgt	.L138
	cmp	r4, #0
	beq	.L139
	add	r3, r5, #1
	sub	r2, r8, #1
	mov	r1, r3
	ldr	r0, .L243+204
	bl	printf
	b	.L140
.L139:
	add	r1, r5, #1
	sub	r3, r6, #1
	ldr	r2, .L243+272
	ldr	r3, [r2, r3, lsl #2]
	lsl	r3, r3, #4
	ldr	r2, .L243+260
	add	r3, r3, r2
	mov	r2, r3
	ldr	r0, .L243+208
	bl	printf
.L140:
	add	r1, r5, #1
	sub	r3, r6, #2
	ldr	r2, .L243+272
	ldr	r3, [r2, r3, lsl #2]
	lsl	r3, r3, #4
	ldr	r2, .L243+260
	add	r3, r3, r2
	mov	r2, r3
	ldr	r0, .L243+212
	bl	printf
	cmp	r4, #0
	beq	.L141
	add	r3, r5, #1
	sub	r2, r8, #1
	mov	r1, r3
	ldr	r0, .L243+204
	bl	printf
	b	.L142
.L141:
	add	r1, r5, #1
	sub	r3, r6, #1
	ldr	r2, .L243+272
	ldr	r3, [r2, r3, lsl #2]
	lsl	r3, r3, #4
	ldr	r2, .L243+260
	add	r3, r3, r2
	mov	r2, r3
	ldr	r0, .L243+208
	bl	printf
.L142:
	add	r1, r5, #1
	sub	r3, r6, #3
	ldr	r2, .L243+272
	ldr	r3, [r2, r3, lsl #2]
	lsl	r3, r3, #4
	ldr	r2, .L243+260
	add	r3, r3, r2
	mov	r2, r3
	ldr	r0, .L243+212
	bl	printf
	add	r1, r5, #1
	sub	r3, r6, #2
	ldr	r2, .L243+272
	ldr	r3, [r2, r3, lsl #2]
	lsl	r3, r3, #4
	ldr	r2, .L243+260
	add	r2, r3, r2
	add	r0, r5, #1
	sub	r3, r6, #3
	ldr	ip, .L243+272
	ldr	r3, [ip, r3, lsl #2]
	lsl	r3, r3, #4
	ldr	ip, .L243+260
	add	r3, r3, ip
	str	r3, [sp]
	mov	r3, r0
	ldr	r0, .L243+216
	bl	printf
	cmp	r6, #3
	ble	.L113
	cmp	r4, #0
	beq	.L143
	add	r3, r5, #1
	sub	r2, r8, #1
	mov	r1, r3
	ldr	r0, .L243+204
	bl	printf
	b	.L144
.L143:
	add	r1, r5, #1
	sub	r3, r6, #1
	ldr	r2, .L243+272
	ldr	r3, [r2, r3, lsl #2]
	lsl	r3, r3, #4
	ldr	r2, .L243+260
	add	r3, r3, r2
	mov	r2, r3
	ldr	r0, .L243+208
	bl	printf
.L144:
	add	r1, r5, #1
	sub	r3, r6, #4
	ldr	r2, .L243+272
	ldr	r3, [r2, r3, lsl #2]
	lsl	r3, r3, #4
	ldr	r2, .L243+260
	add	r3, r3, r2
	mov	r2, r3
	ldr	r0, .L243+212
	bl	printf
	add	r1, r5, #1
	sub	r3, r6, #2
	ldr	r2, .L243+272
	ldr	r3, [r2, r3, lsl #2]
	lsl	r3, r3, #4
	ldr	r2, .L243+260
	add	r2, r3, r2
	add	r0, r5, #1
	sub	r3, r6, #4
	ldr	ip, .L243+272
	ldr	r3, [ip, r3, lsl #2]
	lsl	r3, r3, #4
	ldr	ip, .L243+260
	add	r3, r3, ip
	str	r3, [sp]
	mov	r3, r0
	ldr	r0, .L243+216
	bl	printf
	add	r1, r5, #1
	sub	r3, r6, #3
	ldr	r2, .L243+272
	ldr	r3, [r2, r3, lsl #2]
	lsl	r3, r3, #4
	ldr	r2, .L243+260
	add	r2, r3, r2
	add	r0, r5, #1
	sub	r3, r6, #4
	ldr	ip, .L243+272
	ldr	r3, [ip, r3, lsl #2]
	lsl	r3, r3, #4
	ldr	ip, .L243+260
	add	r3, r3, ip
	str	r3, [sp]
	mov	r3, r0
	ldr	r0, .L243+216
	bl	printf
.L113:
	mov	r6, #0
	b	.L145
.L168:
	ldr	r3, .L243+228
	ldr	r3, [r3, r6, lsl #2]
	lsl	r3, r3, #4
	ldr	r2, .L243+260
	add	r1, r3, r2
	add	r2, r5, #1
	ldr	r3, .L243+244
	ldr	r3, [r3]
	cmp	r2, r3
	beq	.L146
	add	r3, r5, #1
	b	.L147
.L146:
	ldr	r3, .L243+248
	ldr	r3, [r3]
.L147:
	ldr	r2, .L243+228
	ldr	r2, [r2, r6, lsl #2]
	lsl	r2, r2, #4
	ldr	r0, .L243+260
	add	r2, r2, r0
	str	r2, [sp, #4]
	str	r3, [sp]
	mov	r3, r1
	mov	r2, r5
	mov	r1, r5
	ldr	r0, .L243+252
	bl	printf
	ldr	r3, .L243+228
	ldr	r3, [r3, r6, lsl #2]
	ldr	r2, .L243+260
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldrb	r3, [r3, #12]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L148
	ldr	r3, .L243+228
	ldr	r3, [r3, r6, lsl #2]
	ldr	r2, .L243+260
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldrb	r3, [r3, #15]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L149
	ldr	r3, .L243+228
	ldr	r3, [r3, r6, lsl #2]
	lsl	r3, r3, #4
	ldr	r2, .L243+260
	add	ip, r3, r2
	add	r2, r5, #1
	ldr	r3, .L243+244
	ldr	r3, [r3]
	cmp	r2, r3
	beq	.L150
	add	r3, r5, #1
	b	.L151
.L150:
	ldr	r3, .L243+248
	ldr	r3, [r3]
.L151:
	ldr	r2, .L243+228
	ldr	r2, [r2, r6, lsl #2]
	lsl	r2, r2, #4
	ldr	r1, .L243+260
	add	r1, r2, r1
	add	r0, r5, #1
	ldr	r2, .L243+244
	ldr	r2, [r2]
	cmp	r0, r2
	beq	.L152
	add	r2, r5, #1
	b	.L153
.L152:
	ldr	r2, .L243+248
	ldr	r2, [r2]
.L153:
	ldr	r0, .L243+228
	ldr	r0, [r0, r6, lsl #2]
	lsl	r0, r0, #4
	ldr	lr, .L243+260
	add	r0, r0, lr
	add	r0, r0, #4
	str	r0, [sp, #12]
	str	r2, [sp, #8]
	str	r1, [sp, #4]
	str	r3, [sp]
	mov	r3, ip
	mov	r2, r5
	mov	r1, r5
	ldr	r0, .L243+220
	bl	printf
	b	.L154
.L149:
	ldr	r3, .L243+228
	ldr	r3, [r3, r6, lsl #2]
	lsl	r3, r3, #4
	ldr	r2, .L243+260
	add	r1, r3, r2
	add	r2, r5, #1
	ldr	r3, .L243+244
	ldr	r3, [r3]
	cmp	r2, r3
	beq	.L155
	add	r3, r5, #1
	b	.L156
.L155:
	ldr	r3, .L243+248
	ldr	r3, [r3]
.L156:
	ldr	r2, .L243+228
	ldr	r2, [r2, r6, lsl #2]
	lsl	r2, r2, #4
	ldr	r0, .L243+260
	add	r2, r2, r0
	add	r2, r2, #4
	str	r2, [sp, #4]
	str	r3, [sp]
	mov	r3, r1
	mov	r2, r5
	mov	r1, r5
	ldr	r0, .L243+236
	bl	printf
	b	.L154
.L148:
	ldr	r3, .L243+228
	ldr	r3, [r3, r6, lsl #2]
	ldr	r2, .L243+260
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldrb	r3, [r3, #8]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L157
	ldr	r3, .L243+228
	ldr	r3, [r3, r6, lsl #2]
	lsl	r3, r3, #4
	ldr	r2, .L243+260
	add	r1, r3, r2
	add	r2, r5, #1
	ldr	r3, .L243+244
	ldr	r3, [r3]
	cmp	r2, r3
	beq	.L158
	add	r3, r5, #1
	b	.L159
.L158:
	ldr	r3, .L243+248
	ldr	r3, [r3]
.L159:
	ldr	r2, .L243+228
	ldr	r2, [r2, r6, lsl #2]
	lsl	r2, r2, #4
	ldr	r0, .L243+260
	add	r2, r2, r0
	add	r2, r2, #4
	str	r2, [sp, #4]
	str	r3, [sp]
	mov	r3, r1
	mov	r2, r5
	mov	r1, r5
	ldr	r0, .L243+236
	bl	printf
	b	.L154
.L157:
	ldr	r3, .L243+228
	ldr	r3, [r3, r6, lsl #2]
	lsl	r3, r3, #4
	ldr	r2, .L243+260
	add	r3, r3, r2
	mov	r2, r5
	mov	r1, r5
	ldr	r0, .L243+224
	bl	printf
	ldr	r3, .L243+228
	ldr	r3, [r3, r6, lsl #2]
	ldr	r2, .L243+260
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldrb	r3, [r3, #14]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L160
	ldr	r1, .L243+264
	b	.L161
.L160:
	ldr	r1, .L243+268
.L161:
	ldr	r3, .L243+228
	ldr	r3, [r3, r6, lsl #2]
	lsl	r3, r3, #4
	add	r3, r3, #8
	ldr	r2, .L243+260
	add	r3, r3, r2
	add	r0, r3, #4
	add	r2, r5, #1
	ldr	r3, .L243+244
	ldr	r3, [r3]
	cmp	r2, r3
	beq	.L162
	add	r3, r5, #1
	b	.L163
.L162:
	ldr	r3, .L243+248
	ldr	r3, [r3]
.L163:
	ldr	r2, .L243+228
	ldr	r2, [r2, r6, lsl #2]
	lsl	r2, r2, #4
	ldr	ip, .L243+260
	add	r2, r2, ip
	add	r2, r2, #4
	str	r2, [sp, #4]
	str	r3, [sp]
	mov	r3, r0
	mov	r2, r5
	ldr	r0, .L243+232
	bl	printf
	ldr	r3, .L243+228
	ldr	r3, [r3, r6, lsl #2]
	lsl	r3, r3, #4
	ldr	r2, .L243+260
	add	r3, r3, r2
	mov	r2, r5
	mov	r1, r5
	ldr	r0, .L243+224
	bl	printf
	ldr	r3, .L243+228
	ldr	r3, [r3, r6, lsl #2]
	ldr	r2, .L243+260
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldrb	r3, [r3, #14]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L164
	ldr	r1, .L243+268
	b	.L165
.L164:
	ldr	r1, .L243+264
.L165:
	ldr	r3, .L243+228
	ldr	r3, [r3, r6, lsl #2]
	lsl	r3, r3, #4
	add	r3, r3, #8
	ldr	r2, .L243+260
	add	r3, r3, r2
	add	r0, r3, #4
	add	r2, r5, #1
	ldr	r3, .L243+244
	ldr	r3, [r3]
	cmp	r2, r3
	beq	.L166
	add	r3, r5, #1
	b	.L167
.L166:
	ldr	r3, .L243+248
	ldr	r3, [r3]
.L167:
	ldr	r2, .L243+228
	ldr	r2, [r2, r6, lsl #2]
	lsl	r2, r2, #4
	add	r2, r2, #8
	ldr	ip, .L243+260
	add	r2, r2, ip
	str	r2, [sp, #4]
	str	r3, [sp]
	mov	r3, r0
	mov	r2, r5
	ldr	r0, .L243+232
	bl	printf
.L154:
	add	r6, r6, #1
.L145:
	ldr	r3, [fp, #-56]
	cmp	r6, r3
	blt	.L168
	mov	r6, #0
	b	.L169
.L192:
	ldr	r3, .L243+272
	ldr	r3, [r3, r6, lsl #2]
	lsl	r3, r3, #4
	ldr	r2, .L243+260
	add	r1, r3, r2
	add	r2, r5, #1
	ldr	r3, .L243+244
	ldr	r3, [r3]
	cmp	r2, r3
	beq	.L170
	add	r3, r5, #1
	b	.L171
.L170:
	ldr	r3, .L243+248
	ldr	r3, [r3]
.L171:
	ldr	r2, .L243+272
	ldr	r2, [r2, r6, lsl #2]
	lsl	r2, r2, #4
	ldr	r0, .L243+260
	add	r2, r2, r0
	str	r2, [sp, #4]
	str	r3, [sp]
	mov	r3, r1
	mov	r2, r5
	mov	r1, r5
	ldr	r0, .L243+236
	bl	printf
	ldr	r3, .L243+272
	ldr	r3, [r3, r6, lsl #2]
	ldr	r2, .L243+260
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldrb	r3, [r3, #12]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L172
	ldr	r3, .L243+272
	ldr	r3, [r3, r6, lsl #2]
	ldr	r2, .L243+260
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldrb	r3, [r3, #15]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L173
	ldr	r3, .L243+272
	ldr	r3, [r3, r6, lsl #2]
	lsl	r3, r3, #4
	ldr	r2, .L243+260
	add	ip, r3, r2
	add	r2, r5, #1
	ldr	r3, .L243+244
	ldr	r3, [r3]
	cmp	r2, r3
	beq	.L174
	add	r3, r5, #1
	b	.L175
.L174:
	ldr	r3, .L243+248
	ldr	r3, [r3]
.L175:
	ldr	r2, .L243+272
	ldr	r2, [r2, r6, lsl #2]
	lsl	r2, r2, #4
	ldr	r1, .L243+260
	add	r1, r2, r1
	add	r0, r5, #1
	ldr	r2, .L243+244
	ldr	r2, [r2]
	cmp	r0, r2
	beq	.L176
	add	r2, r5, #1
	b	.L177
.L176:
	ldr	r2, .L243+248
	ldr	r2, [r2]
.L177:
	ldr	r0, .L243+272
	ldr	r0, [r0, r6, lsl #2]
	lsl	r0, r0, #4
	ldr	lr, .L243+260
	add	r0, r0, lr
	add	r0, r0, #4
	str	r0, [sp, #12]
	str	r2, [sp, #8]
	str	r1, [sp, #4]
	str	r3, [sp]
	mov	r3, ip
	mov	r2, r5
	mov	r1, r5
	ldr	r0, .L243+240
	bl	printf
	b	.L178
.L173:
	ldr	r3, .L243+272
	ldr	r3, [r3, r6, lsl #2]
	lsl	r3, r3, #4
	ldr	r2, .L243+260
	add	r1, r3, r2
	add	r2, r5, #1
	ldr	r3, .L243+244
	ldr	r3, [r3]
	cmp	r2, r3
	beq	.L179
	add	r3, r5, #1
	b	.L180
.L179:
	ldr	r3, .L243+248
	ldr	r3, [r3]
.L180:
	ldr	r2, .L243+272
	ldr	r2, [r2, r6, lsl #2]
	lsl	r2, r2, #4
	ldr	r0, .L243+260
	add	r2, r2, r0
	add	r2, r2, #4
	str	r2, [sp, #4]
	str	r3, [sp]
	mov	r3, r1
	mov	r2, r5
	mov	r1, r5
	ldr	r0, .L243+252
	bl	printf
	b	.L178
.L172:
	ldr	r3, .L243+272
	ldr	r3, [r3, r6, lsl #2]
	ldr	r2, .L243+260
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldrb	r3, [r3, #8]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L181
	ldr	r3, .L243+272
	ldr	r3, [r3, r6, lsl #2]
	lsl	r3, r3, #4
	ldr	r2, .L243+260
	add	r1, r3, r2
	add	r2, r5, #1
	ldr	r3, .L243+244
	ldr	r3, [r3]
	cmp	r2, r3
	beq	.L182
	add	r3, r5, #1
	b	.L183
.L182:
	ldr	r3, .L243+248
	ldr	r3, [r3]
.L183:
	ldr	r2, .L243+272
	ldr	r2, [r2, r6, lsl #2]
	lsl	r2, r2, #4
	ldr	r0, .L243+260
	add	r2, r2, r0
	add	r2, r2, #4
	str	r2, [sp, #4]
	str	r3, [sp]
	mov	r3, r1
	mov	r2, r5
	mov	r1, r5
	ldr	r0, .L243+252
	bl	printf
	b	.L178
.L181:
	ldr	r3, .L243+272
	ldr	r3, [r3, r6, lsl #2]
	lsl	r3, r3, #4
	ldr	r2, .L243+260
	add	r3, r3, r2
	mov	r2, r5
	mov	r1, r5
	ldr	r0, .L243+256
	bl	printf
	ldr	r3, .L243+272
	ldr	r3, [r3, r6, lsl #2]
	ldr	r2, .L243+260
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldrb	r3, [r3, #14]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L184
	ldr	r1, .L243+264
	b	.L185
.L184:
	ldr	r1, .L243+268
.L185:
	ldr	r3, .L243+272
	ldr	r3, [r3, r6, lsl #2]
	lsl	r3, r3, #4
	add	r3, r3, #8
	ldr	r2, .L245
	add	r3, r3, r2
	add	r0, r3, #4
	add	r2, r5, #1
	ldr	r3, .L245+4
	ldr	r3, [r3]
	cmp	r2, r3
	beq	.L186
	add	r3, r5, #1
	b	.L187
.L186:
	ldr	r3, .L245+8
	ldr	r3, [r3]
.L187:
	ldr	r2, .L245+12
	ldr	r2, [r2, r6, lsl #2]
	lsl	r2, r2, #4
	ldr	ip, .L245
	add	r2, r2, ip
	add	r2, r2, #4
	str	r2, [sp, #4]
	str	r3, [sp]
	mov	r3, r0
	mov	r2, r5
	ldr	r0, .L245+16
	bl	printf
	ldr	r3, .L245+12
	ldr	r3, [r3, r6, lsl #2]
	lsl	r3, r3, #4
	ldr	r2, .L245
	add	r3, r3, r2
	mov	r2, r5
	mov	r1, r5
	ldr	r0, .L245+20
	bl	printf
	ldr	r3, .L245+12
	ldr	r3, [r3, r6, lsl #2]
	ldr	r2, .L245
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldrb	r3, [r3, #14]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L188
	ldr	r1, .L245+24
	b	.L189
.L188:
	ldr	r1, .L245+28
.L189:
	ldr	r3, .L245+12
	ldr	r3, [r3, r6, lsl #2]
	lsl	r3, r3, #4
	add	r3, r3, #8
	ldr	r2, .L245
	add	r3, r3, r2
	add	r0, r3, #4
	add	r2, r5, #1
	ldr	r3, .L245+4
	ldr	r3, [r3]
	cmp	r2, r3
	beq	.L190
	add	r3, r5, #1
	b	.L191
.L190:
	ldr	r3, .L245+8
	ldr	r3, [r3]
.L191:
	ldr	r2, .L245+12
	ldr	r2, [r2, r6, lsl #2]
	lsl	r2, r2, #4
	add	r2, r2, #8
	ldr	ip, .L245
	add	r2, r2, ip
	str	r2, [sp, #4]
	str	r3, [sp]
	mov	r3, r0
	mov	r2, r5
	ldr	r0, .L245+16
	bl	printf
.L178:
	add	r6, r6, #1
.L169:
	cmp	r6, r10
	blt	.L192
	mov	r6, #0
	b	.L193
.L223:
	mov	r4, #0
	b	.L194
.L202:
	lsl	r3, r4, #4
	add	r3, r3, #8
	ldr	r2, .L245
	add	r3, r3, r2
	add	r0, r3, #4
	lsl	r3, r6, #1
	ldr	r2, .L245+32
	add	r3, r3, r2
	mov	r2, #2
	mov	r1, r3
	bl	strncmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L195
	ldr	r2, .L245
	lsl	r3, r4, #4
	add	r3, r2, r3
	ldrb	r3, [r3, #8]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L195
	ldr	r3, .L245
	ldrb	r3, [r3, r4, lsl #4]	@ zero_extendqisi2
	cmp	r3, #65
	bne	.L196
	ldr	ip, .L245+28
	b	.L197
.L196:
	ldr	ip, .L245+24
.L197:
	lsl	r3, r4, #4
	ldr	r2, .L245
	add	r2, r3, r2
	ldr	r1, .L245
	lsl	r3, r4, #4
	add	r3, r1, r3
	ldrb	r3, [r3, #14]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L198
	ldr	r1, .L245+28
	b	.L199
.L198:
	ldr	r1, .L245+24
.L199:
	add	r0, r5, #1
	ldr	r3, .L245+4
	ldr	r3, [r3]
	cmp	r0, r3
	beq	.L200
	add	r3, r5, #1
	b	.L201
.L200:
	ldr	r3, .L245+8
	ldr	r3, [r3]
.L201:
	lsl	r0, r4, #4
	add	r0, r0, #8
	ldr	lr, .L245
	add	r0, r0, lr
	add	r0, r0, #4
	str	r0, [sp, #12]
	str	r3, [sp, #8]
	str	r1, [sp, #4]
	str	r2, [sp]
	mov	r3, r5
	mov	r2, r5
	mov	r1, ip
	ldr	r0, .L245+36
	bl	printf
.L195:
	add	r4, r4, #1
.L194:
	cmp	r4, r7
	blt	.L202
	lsl	r3, r6, #1
	ldr	r2, .L245+32
	add	r3, r3, r2
	mov	r2, r5
	mov	r1, r5
	ldr	r0, .L245+40
	bl	printf
	mov	r4, #0
	b	.L203
.L205:
	lsl	r3, r4, #4
	add	r3, r3, #8
	ldr	r2, .L245
	add	r3, r3, r2
	add	r0, r3, #4
	lsl	r3, r6, #1
	ldr	r2, .L245+32
	add	r3, r3, r2
	mov	r2, #2
	mov	r1, r3
	bl	strncmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L204
	ldr	r2, .L245
	lsl	r3, r4, #4
	add	r3, r2, r3
	ldrb	r3, [r3, #8]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L204
	ldr	r3, .L245
	ldrb	r3, [r3, r4, lsl #4]	@ zero_extendqisi2
	cmp	r3, #65
	bne	.L204
	lsl	r3, r4, #4
	ldr	r2, .L245
	add	r3, r3, r2
	mov	r2, r3
	mov	r1, r5
	ldr	r0, .L245+44
	bl	printf
.L204:
	add	r4, r4, #1
.L203:
	cmp	r4, r7
	blt	.L205
	add	r2, r5, #1
	ldr	r3, .L245+4
	ldr	r3, [r3]
	cmp	r2, r3
	beq	.L206
	add	r3, r5, #1
	b	.L207
.L206:
	ldr	r3, .L245+8
	ldr	r3, [r3]
.L207:
	lsl	r2, r6, #1
	ldr	r1, .L245+32
	add	r2, r2, r1
	mov	r1, r3
	ldr	r0, .L245+48
	bl	printf
	lsl	r3, r6, #1
	ldr	r2, .L245+32
	add	r3, r3, r2
	mov	r2, r5
	mov	r1, r5
	ldr	r0, .L245+52
	bl	printf
	mov	r4, #0
	b	.L208
.L210:
	lsl	r3, r4, #4
	add	r3, r3, #8
	ldr	r2, .L245
	add	r3, r3, r2
	add	r0, r3, #4
	lsl	r3, r6, #1
	ldr	r2, .L245+32
	add	r3, r3, r2
	mov	r2, #2
	mov	r1, r3
	bl	strncmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L209
	ldr	r2, .L245
	lsl	r3, r4, #4
	add	r3, r2, r3
	ldrb	r3, [r3, #8]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L209
	ldr	r3, .L245
	ldrb	r3, [r3, r4, lsl #4]	@ zero_extendqisi2
	cmp	r3, #66
	bne	.L209
	lsl	r3, r4, #4
	ldr	r2, .L245
	add	r3, r3, r2
	mov	r2, r3
	mov	r1, r5
	ldr	r0, .L245+44
	bl	printf
.L209:
	add	r4, r4, #1
.L208:
	cmp	r4, r7
	blt	.L210
	add	r2, r5, #1
	ldr	r3, .L245+4
	ldr	r3, [r3]
	cmp	r2, r3
	beq	.L211
	add	r3, r5, #1
	b	.L212
.L211:
	ldr	r3, .L245+8
	ldr	r3, [r3]
.L212:
	lsl	r2, r6, #1
	ldr	r1, .L245+32
	add	r2, r2, r1
	mov	r1, r3
	ldr	r0, .L245+48
	bl	printf
	lsl	r3, r6, #1
	ldr	r2, .L245+32
	add	r3, r3, r2
	mov	r2, r5
	mov	r1, r5
	ldr	r0, .L245+56
	bl	printf
	mov	r4, #0
	b	.L213
.L215:
	lsl	r3, r4, #4
	add	r3, r3, #8
	ldr	r2, .L245
	add	r3, r3, r2
	add	r0, r3, #4
	lsl	r3, r6, #1
	ldr	r2, .L245+32
	add	r3, r3, r2
	mov	r2, #2
	mov	r1, r3
	bl	strncmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L214
	ldr	r2, .L245
	lsl	r3, r4, #4
	add	r3, r2, r3
	ldrb	r3, [r3, #8]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L214
	ldr	r3, .L245
	ldrb	r3, [r3, r4, lsl #4]	@ zero_extendqisi2
	cmp	r3, #65
	bne	.L214
	lsl	r3, r4, #4
	ldr	r2, .L245
	add	r3, r3, r2
	mov	r2, r3
	mov	r1, r5
	ldr	r0, .L245+44
	bl	printf
.L214:
	add	r4, r4, #1
.L213:
	cmp	r4, r7
	blt	.L215
	add	r2, r5, #1
	ldr	r3, .L245+4
	ldr	r3, [r3]
	cmp	r2, r3
	beq	.L216
	add	r3, r5, #1
	b	.L217
.L216:
	ldr	r3, .L245+8
	ldr	r3, [r3]
.L217:
	lsl	r2, r6, #1
	ldr	r1, .L245+32
	add	r2, r2, r1
	mov	r1, r3
	ldr	r0, .L245+60
	bl	printf
	lsl	r3, r6, #1
	ldr	r2, .L245+32
	add	r3, r3, r2
	mov	r2, r5
	mov	r1, r5
	ldr	r0, .L245+64
	bl	printf
	mov	r4, #0
	b	.L218
.L220:
	lsl	r3, r4, #4
	add	r3, r3, #8
	ldr	r2, .L245
	add	r3, r3, r2
	add	r0, r3, #4
	lsl	r3, r6, #1
	ldr	r2, .L245+32
	add	r3, r3, r2
	mov	r2, #2
	mov	r1, r3
	bl	strncmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L219
	ldr	r2, .L245
	lsl	r3, r4, #4
	add	r3, r2, r3
	ldrb	r3, [r3, #8]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L219
	ldr	r3, .L245
	ldrb	r3, [r3, r4, lsl #4]	@ zero_extendqisi2
	cmp	r3, #66
	bne	.L219
	lsl	r3, r4, #4
	ldr	r2, .L245
	add	r3, r3, r2
	mov	r2, r3
	mov	r1, r5
	ldr	r0, .L245+44
	bl	printf
.L219:
	add	r4, r4, #1
.L218:
	cmp	r4, r7
	blt	.L220
	add	r2, r5, #1
	ldr	r3, .L245+4
	ldr	r3, [r3]
	cmp	r2, r3
	beq	.L221
	add	r3, r5, #1
	b	.L222
.L221:
	ldr	r3, .L245+8
	ldr	r3, [r3]
.L222:
	lsl	r2, r6, #1
	ldr	r1, .L245+32
	add	r2, r2, r1
	mov	r1, r3
	ldr	r0, .L245+60
	bl	printf
	add	r6, r6, #1
.L193:
	cmp	r6, r9
	blt	.L223
	add	r5, r5, #1
.L112:
	ldr	r3, .L245+4
	ldr	r3, [r3]
	cmp	r5, r3
	blt	.L224
	ldr	r3, .L245+8
	ldr	r4, [r3]
	b	.L225
.L226:
	mov	r1, r4
	ldr	r0, .L245+68
	bl	printf
	add	r4, r4, #1
.L225:
	ldr	r3, .L245+4
	ldr	r3, [r3]
	cmp	r4, r3
	blt	.L226
	mov	r0, #10
	bl	putchar
	ldr	r3, .L245+8
	ldr	r4, [r3]
	b	.L227
.L228:
	mov	r1, r4
	ldr	r0, .L245+72
	bl	printf
	add	r4, r4, #1
.L227:
	ldr	r3, .L245+4
	ldr	r3, [r3]
	cmp	r4, r3
	blt	.L228
	mov	r0, #10
	bl	putchar
	mov	r4, #0
	b	.L229
.L235:
	ldr	r2, .L245
	lsl	r3, r4, #4
	add	r3, r2, r3
	ldrb	r3, [r3, #12]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L230
	ldr	r3, .L245+76
	ldr	r3, [r3]
	cmp	r3, #0
	bge	.L231
	ldr	r3, .L245
	ldrb	r3, [r3, r4, lsl #4]	@ zero_extendqisi2
	cmp	r3, #65
	beq	.L232
.L231:
	ldr	r3, .L245+76
	ldr	r3, [r3]
	cmp	r3, #0
	ble	.L230
	ldr	r3, .L245
	ldrb	r3, [r3, r4, lsl #4]	@ zero_extendqisi2
	cmp	r3, #66
	bne	.L230
.L232:
	ldr	r3, .L245+8
	ldr	r6, [r3]
	b	.L233
.L234:
	lsl	r3, r4, #4
	ldr	r2, .L245
	add	r3, r3, r2
	mov	r2, r3
	mov	r1, r6
	ldr	r0, .L245+80
	bl	printf
	add	r6, r6, #1
.L233:
	ldr	r3, .L245+4
	ldr	r3, [r3]
	cmp	r6, r3
	blt	.L234
.L230:
	add	r4, r4, #1
.L229:
	cmp	r4, r7
	blt	.L235
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #32
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, r10, fp, pc}
.L246:
	.align	2
.L245:
	.word	state
	.word	r
	.word	pp
	.word	bstep
	.word	.LC52
	.word	.LC54
	.word	.LC51
	.word	.LC50
	.word	vars
	.word	.LC55
	.word	.LC56
	.word	.LC57
	.word	.LC58
	.word	.LC59
	.word	.LC60
	.word	.LC61
	.word	.LC62
	.word	.LC63
	.word	.LC64
	.word	p
	.word	.LC65
	.size	main, .-main
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
