	.file	"93888498.c"
	.intel_syntax noprefix
	.text
	.globl	cmdwin
	.bss
	.align 8
	.type	cmdwin, @object
	.size	cmdwin, 8
cmdwin:
	.zero	8
	.globl	initialMap
	.data
	.align 32
	.type	initialMap, @object
	.size	initialMap, 256
initialMap:
	.quad	0
	.quad	14
	.quad	8
	.quad	234881032
	.quad	553648136
	.quad	553648136
	.quad	6299512
	.quad	536875008
	.quad	1052672
	.quad	1052672
	.quad	537923584
	.quad	1048576
	.quad	4096
	.quad	536875008
	.quad	1052672
	.quad	470814720
	.quad	8519680
	.quad	0
	.quad	4096
	.quad	16846848
	.quad	134287360
	.quad	69632
	.quad	69632
	.quad	67112960
	.quad	8392704
	.quad	69528
	.quad	65538
	.quad	65538
	.quad	32514
	.quad	130
	.quad	128
	.quad	60
	.globl	map
	.bss
	.align 32
	.type	map, @object
	.size	map, 256
map:
	.zero	256
	.globl	timestep
	.align 4
	.type	timestep, @object
	.size	timestep, 4
timestep:
	.zero	4
	.globl	food
	.align 4
	.type	food, @object
	.size	food, 4
food:
	.zero	4
	.globl	antx
	.align 4
	.type	antx, @object
	.size	antx, 4
antx:
	.zero	4
	.globl	anty
	.align 4
	.type	anty, @object
	.size	anty, 4
anty:
	.zero	4
	.globl	dir
	.align 4
	.type	dir, @object
	.size	dir, 4
dir:
	.zero	4
	.globl	proglen
	.align 4
	.type	proglen, @object
	.size	proglen, 4
proglen:
	.zero	4
	.globl	speed
	.data
	.align 4
	.type	speed, @object
	.size	speed, 4
speed:
	.long	10000
	.globl	antchar
	.align 16
	.type	antchar, @object
	.size	antchar, 16
antchar:
	.long	62
	.long	118
	.long	60
	.long	94
	.globl	func
	.section	.rodata
.LC0:
	.string	"IF_FOOD"
.LC1:
	.string	"PROGN"
	.section	.data.rel.local,"aw"
	.align 16
	.type	func, @object
	.size	func, 16
func:
	.quad	.LC0
	.quad	.LC1
	.globl	ops
	.section	.rodata
.LC2:
	.string	"LEFT"
.LC3:
	.string	"RIGHT"
.LC4:
	.string	"MOVE"
.LC5:
	.string	"NOP"
	.section	.data.rel.local
	.align 32
	.type	ops, @object
	.size	ops, 32
ops:
	.quad	.LC2
	.quad	.LC3
	.quad	.LC4
	.quad	.LC5
	.globl	prog
	.bss
	.align 32
	.type	prog, @object
	.size	prog, 1536
prog:
	.zero	1536
	.globl	fp
	.align 8
	.type	fp, @object
	.size	fp, 8
fp:
	.zero	8
	.globl	logp
	.align 8
	.type	logp, @object
	.size	logp, 8
logp:
	.zero	8
	.section	.rodata
.LC6:
	.string	"%d %d %d"
	.text
	.globl	initProg
	.type	initProg, @function
initProg:
.LFB0:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	DWORD PTR -4[rbp], 0
	mov	DWORD PTR proglen[rip], 0
	mov	rax, QWORD PTR fp[rip]
	mov	edx, 0
	mov	esi, 0
	mov	rdi, rax
	call	fseek@PLT
	jmp	.L2
.L3:
	mov	eax, DWORD PTR -4[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	lea	rdx, 8[rax]
	lea	rax, prog[rip]
	lea	rsi, [rdx+rax]
	mov	eax, DWORD PTR -4[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	lea	rdx, 4[rax]
	lea	rax, prog[rip]
	lea	rcx, [rdx+rax]
	mov	eax, DWORD PTR -4[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	lea	rdx, prog[rip]
	add	rdx, rax
	mov	rax, QWORD PTR fp[rip]
	mov	r8, rsi
	lea	rsi, .LC6[rip]
	mov	rdi, rax
	mov	eax, 0
	call	__isoc99_fscanf@PLT
	add	DWORD PTR -4[rbp], 1
	mov	eax, DWORD PTR proglen[rip]
	add	eax, 1
	mov	DWORD PTR proglen[rip], eax
.L2:
	mov	rax, QWORD PTR fp[rip]
	mov	rdi, rax
	call	feof@PLT
	test	eax, eax
	je	.L3
	mov	eax, DWORD PTR proglen[rip]
	sub	eax, 1
	mov	DWORD PTR proglen[rip], eax
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	initProg, .-initProg
	.globl	drawTrail
	.type	drawTrail, @function
drawTrail:
.LFB1:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	DWORD PTR -4[rbp], 0
	jmp	.L5
.L6:
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, initialMap[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	edx, DWORD PTR -4[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*8]
	lea	rdx, map[rip]
	mov	QWORD PTR [rcx+rdx], rax
	add	DWORD PTR -4[rbp], 1
.L5:
	cmp	DWORD PTR -4[rbp], 31
	jle	.L6
	mov	DWORD PTR -12[rbp], 0
	jmp	.L7
.L17:
	mov	DWORD PTR -8[rbp], 0
	jmp	.L8
.L16:
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, map[rip]
	mov	rdx, QWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -12[rbp]
	mov	esi, 1
	mov	ecx, eax
	sal	esi, cl
	mov	eax, esi
	cdqe
	and	rax, rdx
	test	rax, rax
	setne	al
	movzx	eax, al
	test	eax, eax
	je	.L9
	cmp	eax, 1
	je	.L10
	jmp	.L11
.L9:
	mov	rax, QWORD PTR stdscr[rip]
	mov	edx, DWORD PTR -12[rbp]
	mov	ecx, DWORD PTR -8[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	wmove@PLT
	cmp	eax, -1
	je	.L18
	mov	rax, QWORD PTR stdscr[rip]
	mov	esi, 46
	mov	rdi, rax
	call	waddch@PLT
	jmp	.L18
.L10:
	mov	rax, QWORD PTR stdscr[rip]
	mov	edx, DWORD PTR -12[rbp]
	mov	ecx, DWORD PTR -8[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	wmove@PLT
	cmp	eax, -1
	je	.L19
	mov	rax, QWORD PTR stdscr[rip]
	mov	esi, 35
	mov	rdi, rax
	call	waddch@PLT
	jmp	.L19
.L18:
	nop
	jmp	.L11
.L19:
	nop
.L11:
	add	DWORD PTR -8[rbp], 1
.L8:
	cmp	DWORD PTR -8[rbp], 31
	jle	.L16
	mov	eax, 0
	call	initProg
	add	DWORD PTR -12[rbp], 1
.L7:
	cmp	DWORD PTR -12[rbp], 31
	jle	.L17
	mov	DWORD PTR food[rip], 89
	mov	DWORD PTR timestep[rip], 0
	mov	DWORD PTR antx[rip], 0
	mov	DWORD PTR anty[rip], 1
	mov	DWORD PTR dir[rip], 0
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1:
	.size	drawTrail, .-drawTrail
	.section	.rodata
.LC7:
	.string	"Timestep %4.4d Food %2.2d\n"
.LC8:
	.string	"X=%d y=%d dir=%s\n"
	.text
	.globl	displayStats
	.type	displayStats, @function
displayStats:
.LFB2:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	edx, DWORD PTR food[rip]
	mov	eax, DWORD PTR timestep[rip]
	mov	r8d, edx
	mov	ecx, eax
	lea	rdx, .LC7[rip]
	mov	esi, 1
	mov	edi, 33
	mov	eax, 0
	call	mvprintw@PLT
	mov	eax, DWORD PTR dir[rip]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, dirs.0[rip]
	mov	rcx, QWORD PTR [rdx+rax]
	mov	edx, DWORD PTR anty[rip]
	mov	eax, DWORD PTR antx[rip]
	mov	r9, rcx
	mov	r8d, edx
	mov	ecx, eax
	lea	rdx, .LC8[rip]
	mov	esi, 1
	mov	edi, 35
	mov	eax, 0
	call	mvprintw@PLT
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE2:
	.size	displayStats, .-displayStats
	.globl	doterm
	.type	doterm, @function
doterm:
.LFB3:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	mov	eax, DWORD PTR timestep[rip]
	add	eax, 1
	mov	DWORD PTR timestep[rip], eax
	cmp	DWORD PTR -20[rbp], 0
	jne	.L22
	mov	eax, DWORD PTR dir[rip]
	sub	eax, 1
	and	eax, 3
	mov	DWORD PTR dir[rip], eax
	mov	edx, DWORD PTR antx[rip]
	mov	ecx, DWORD PTR anty[rip]
	mov	rax, QWORD PTR stdscr[rip]
	mov	esi, ecx
	mov	rdi, rax
	call	wmove@PLT
	cmp	eax, -1
	je	.L24
	mov	eax, DWORD PTR dir[rip]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, antchar[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	edx, eax
	mov	rax, QWORD PTR stdscr[rip]
	mov	esi, edx
	mov	rdi, rax
	call	waddch@PLT
.L24:
	call	displayStats
	mov	rax, QWORD PTR stdscr[rip]
	mov	rdi, rax
	call	wrefresh@PLT
	mov	eax, DWORD PTR speed[rip]
	mov	edi, eax
	mov	eax, 0
	call	usleep@PLT
	jmp	.L43
.L22:
	cmp	DWORD PTR -20[rbp], 1
	jne	.L26
	mov	eax, DWORD PTR dir[rip]
	add	eax, 1
	and	eax, 3
	mov	DWORD PTR dir[rip], eax
	mov	edx, DWORD PTR antx[rip]
	mov	ecx, DWORD PTR anty[rip]
	mov	rax, QWORD PTR stdscr[rip]
	mov	esi, ecx
	mov	rdi, rax
	call	wmove@PLT
	cmp	eax, -1
	je	.L28
	mov	eax, DWORD PTR dir[rip]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, antchar[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	edx, eax
	mov	rax, QWORD PTR stdscr[rip]
	mov	esi, edx
	mov	rdi, rax
	call	waddch@PLT
.L28:
	call	displayStats
	mov	rax, QWORD PTR stdscr[rip]
	mov	rdi, rax
	call	wrefresh@PLT
	mov	eax, DWORD PTR speed[rip]
	mov	edi, eax
	mov	eax, 0
	call	usleep@PLT
	jmp	.L43
.L26:
	cmp	DWORD PTR -20[rbp], 2
	jne	.L29
	mov	edx, DWORD PTR antx[rip]
	mov	ecx, DWORD PTR anty[rip]
	mov	rax, QWORD PTR stdscr[rip]
	mov	esi, ecx
	mov	rdi, rax
	call	wmove@PLT
	cmp	eax, -1
	je	.L31
	mov	rax, QWORD PTR stdscr[rip]
	mov	esi, 42
	mov	rdi, rax
	call	waddch@PLT
.L31:
	call	displayStats
	mov	rax, QWORD PTR stdscr[rip]
	mov	rdi, rax
	call	wrefresh@PLT
	mov	eax, DWORD PTR dir[rip]
	cmp	eax, 3
	je	.L32
	cmp	eax, 3
	jg	.L33
	cmp	eax, 2
	je	.L34
	cmp	eax, 2
	jg	.L33
	test	eax, eax
	je	.L35
	cmp	eax, 1
	je	.L36
	jmp	.L33
.L35:
	mov	eax, DWORD PTR antx[rip]
	add	eax, 1
	mov	DWORD PTR antx[rip], eax
	jmp	.L33
.L34:
	mov	eax, DWORD PTR antx[rip]
	sub	eax, 1
	mov	DWORD PTR antx[rip], eax
	jmp	.L33
.L36:
	mov	eax, DWORD PTR anty[rip]
	add	eax, 1
	mov	DWORD PTR anty[rip], eax
	jmp	.L33
.L32:
	mov	eax, DWORD PTR anty[rip]
	sub	eax, 1
	mov	DWORD PTR anty[rip], eax
	nop
.L33:
	mov	eax, DWORD PTR anty[rip]
	and	eax, 31
	mov	DWORD PTR anty[rip], eax
	mov	eax, DWORD PTR antx[rip]
	and	eax, 31
	mov	DWORD PTR antx[rip], eax
	mov	eax, DWORD PTR anty[rip]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, map[rip]
	mov	rdx, QWORD PTR [rdx+rax]
	mov	eax, DWORD PTR antx[rip]
	mov	esi, 1
	mov	ecx, eax
	sal	esi, cl
	mov	eax, esi
	cdqe
	and	rax, rdx
	test	rax, rax
	setne	al
	movzx	eax, al
	mov	DWORD PTR -4[rbp], eax
	mov	edx, DWORD PTR antx[rip]
	mov	ecx, DWORD PTR anty[rip]
	mov	rax, QWORD PTR stdscr[rip]
	mov	esi, ecx
	mov	rdi, rax
	call	wmove@PLT
	cmp	eax, -1
	je	.L38
	mov	eax, DWORD PTR dir[rip]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, antchar[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	edx, eax
	mov	rax, QWORD PTR stdscr[rip]
	mov	esi, edx
	mov	rdi, rax
	call	waddch@PLT
.L38:
	call	displayStats
	mov	rax, QWORD PTR stdscr[rip]
	mov	rdi, rax
	call	wrefresh@PLT
	mov	eax, DWORD PTR speed[rip]
	mov	edi, eax
	mov	eax, 0
	call	usleep@PLT
	cmp	DWORD PTR -4[rbp], 0
	je	.L43
	mov	eax, DWORD PTR food[rip]
	test	eax, eax
	je	.L39
	mov	eax, DWORD PTR food[rip]
	sub	eax, 1
	jmp	.L40
.L39:
	mov	eax, DWORD PTR food[rip]
.L40:
	mov	DWORD PTR food[rip], eax
	mov	eax, DWORD PTR anty[rip]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, map[rip]
	mov	rsi, QWORD PTR [rdx+rax]
	mov	eax, DWORD PTR antx[rip]
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	not	eax
	movsx	rdx, eax
	mov	eax, DWORD PTR anty[rip]
	mov	rcx, rsi
	and	rcx, rdx
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, map[rip]
	mov	QWORD PTR [rdx+rax], rcx
	mov	edx, DWORD PTR antx[rip]
	mov	ecx, DWORD PTR anty[rip]
	mov	rax, QWORD PTR stdscr[rip]
	mov	esi, ecx
	mov	rdi, rax
	call	wmove@PLT
	cmp	eax, -1
	je	.L42
	mov	rax, QWORD PTR stdscr[rip]
	mov	esi, 42
	mov	rdi, rax
	call	waddch@PLT
.L42:
	call	displayStats
	mov	rax, QWORD PTR stdscr[rip]
	mov	rdi, rax
	call	wrefresh@PLT
	mov	eax, DWORD PTR speed[rip]
	mov	edi, eax
	mov	eax, 0
	call	usleep@PLT
	jmp	.L43
.L29:
	call	displayStats
	mov	eax, DWORD PTR speed[rip]
	mov	edi, eax
	mov	eax, 0
	call	usleep@PLT
.L43:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE3:
	.size	doterm, .-doterm
	.section	.rodata
.LC9:
	.string	"%d -> %s,(%s,%s)\n"
	.align 8
.LC10:
	.string	"dir=%d x=%d, y= %d pc = %d opcode = %d, ea1 = %d, ea2 = %d food = %d\n"
	.text
	.globl	executeTrail
	.type	executeTrail, @function
executeTrail:
.LFB4:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -28[rbp], 0
	jmp	.L45
.L55:
	mov	eax, DWORD PTR -28[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, prog[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -16[rbp], eax
	mov	eax, DWORD PTR -28[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, prog[rip+4]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR -28[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, prog[rip+8]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -8[rbp], eax
	mov	eax, DWORD PTR antx[rip]
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR anty[rip]
	mov	DWORD PTR -20[rbp], eax
	call	displayStats
	mov	eax, DWORD PTR -28[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, prog[rip+8]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, ops[rip]
	mov	rdx, QWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -28[rbp]
	movsx	rcx, eax
	mov	rax, rcx
	add	rax, rax
	add	rax, rcx
	sal	rax, 2
	mov	rcx, rax
	lea	rax, prog[rip+4]
	mov	eax, DWORD PTR [rcx+rax]
	cdqe
	lea	rcx, 0[0+rax*8]
	lea	rax, ops[rip]
	mov	rsi, QWORD PTR [rcx+rax]
	mov	eax, DWORD PTR -28[rbp]
	movsx	rcx, eax
	mov	rax, rcx
	add	rax, rax
	add	rax, rcx
	sal	rax, 2
	mov	rcx, rax
	lea	rax, prog[rip]
	mov	eax, DWORD PTR [rcx+rax]
	cdqe
	lea	rcx, 0[0+rax*8]
	lea	rax, func[rip]
	mov	rcx, QWORD PTR [rcx+rax]
	mov	eax, DWORD PTR -28[rbp]
	sub	rsp, 8
	push	rdx
	mov	r9, rsi
	mov	r8, rcx
	mov	ecx, eax
	lea	rdx, .LC9[rip]
	mov	esi, 1
	mov	edi, 34
	mov	eax, 0
	call	mvprintw@PLT
	add	rsp, 16
	mov	esi, DWORD PTR food[rip]
	mov	edi, DWORD PTR anty[rip]
	mov	ecx, DWORD PTR antx[rip]
	mov	edx, DWORD PTR dir[rip]
	mov	rax, QWORD PTR logp[rip]
	mov	r8d, DWORD PTR -28[rbp]
	push	rsi
	mov	esi, DWORD PTR -8[rbp]
	push	rsi
	mov	esi, DWORD PTR -12[rbp]
	push	rsi
	mov	esi, DWORD PTR -16[rbp]
	push	rsi
	mov	r9d, r8d
	mov	r8d, edi
	lea	rsi, .LC10[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	add	rsp, 32
	mov	rax, QWORD PTR logp[rip]
	mov	rdi, rax
	call	fflush@PLT
	mov	rax, QWORD PTR stdscr[rip]
	mov	rdi, rax
	call	wrefresh@PLT
	cmp	DWORD PTR -16[rbp], 0
	je	.L46
	cmp	DWORD PTR -16[rbp], 1
	je	.L47
	jmp	.L45
.L46:
	mov	eax, DWORD PTR dir[rip]
	cmp	eax, 3
	je	.L48
	cmp	eax, 3
	jg	.L49
	cmp	eax, 2
	je	.L50
	cmp	eax, 2
	jg	.L49
	test	eax, eax
	je	.L51
	cmp	eax, 1
	je	.L52
	jmp	.L49
.L51:
	add	DWORD PTR -24[rbp], 1
	jmp	.L49
.L50:
	sub	DWORD PTR -24[rbp], 1
	jmp	.L49
.L48:
	sub	DWORD PTR -20[rbp], 1
	jmp	.L49
.L52:
	add	DWORD PTR -20[rbp], 1
	nop
.L49:
	and	DWORD PTR -24[rbp], 31
	and	DWORD PTR -20[rbp], 31
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, map[rip]
	mov	rdx, QWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -24[rbp]
	mov	esi, 1
	mov	ecx, eax
	sal	esi, cl
	mov	eax, esi
	cdqe
	and	rax, rdx
	test	rax, rax
	setne	al
	movzx	eax, al
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 0
	je	.L53
	mov	eax, DWORD PTR -12[rbp]
	mov	edi, eax
	call	doterm
	jmp	.L54
.L53:
	mov	eax, DWORD PTR -8[rbp]
	mov	edi, eax
	call	doterm
.L54:
	add	DWORD PTR -28[rbp], 1
	jmp	.L45
.L47:
	mov	eax, DWORD PTR -12[rbp]
	mov	edi, eax
	call	doterm
	mov	eax, DWORD PTR -8[rbp]
	mov	edi, eax
	call	doterm
	add	DWORD PTR -28[rbp], 1
	nop
.L45:
	mov	eax, DWORD PTR proglen[rip]
	cmp	DWORD PTR -28[rbp], eax
	jl	.L55
	mov	DWORD PTR -28[rbp], 0
	mov	eax, DWORD PTR food[rip]
	test	eax, eax
	jne	.L45
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE4:
	.size	executeTrail, .-executeTrail
	.section	.rodata
.LC11:
	.string	"w"
.LC12:
	.string	"log.out"
.LC13:
	.string	"r"
.LC14:
	.string	"Opening trail"
	.align 8
.LC15:
	.string	"q)uit e)execute r)eset f)ast s)low"
	.text
	.globl	main
	.type	main, @function
main:
.LFB5:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	mov	QWORD PTR -32[rbp], rsi
	lea	rsi, .LC11[rip]
	lea	rdi, .LC12[rip]
	call	fopen@PLT
	mov	QWORD PTR logp[rip], rax
	cmp	DWORD PTR -20[rbp], 1
	jle	.L58
	mov	rax, QWORD PTR -32[rbp]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	lea	rsi, .LC13[rip]
	mov	rdi, rax
	call	fopen@PLT
	mov	QWORD PTR fp[rip], rax
	mov	rax, QWORD PTR fp[rip]
	test	rax, rax
	jne	.L59
	lea	rdi, .LC14[rip]
	call	perror@PLT
	mov	edi, 1
	call	exit@PLT
.L58:
	mov	rax, QWORD PTR stdin[rip]
	mov	QWORD PTR fp[rip], rax
.L59:
	call	initscr@PLT
	call	nonl@PLT
	call	noecho@PLT
	call	cbreak@PLT
	mov	ecx, 0
	mov	edx, 0
	mov	esi, 33
	mov	edi, 34
	call	newwin@PLT
	mov	QWORD PTR cmdwin[rip], rax
	call	drawTrail
.L67:
	lea	rdx, .LC15[rip]
	mov	esi, 1
	mov	edi, 32
	mov	eax, 0
	call	mvprintw@PLT
	call	displayStats
	mov	rax, QWORD PTR stdscr[rip]
	mov	rdi, rax
	call	wrefresh@PLT
	mov	rax, QWORD PTR stdscr[rip]
	mov	rdi, rax
	call	wgetch@PLT
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	sub	eax, 101
	cmp	eax, 14
	ja	.L67
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L62[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L62[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L62:
	.long	.L66-.L62
	.long	.L65-.L62
	.long	.L67-.L62
	.long	.L67-.L62
	.long	.L67-.L62
	.long	.L67-.L62
	.long	.L67-.L62
	.long	.L67-.L62
	.long	.L67-.L62
	.long	.L67-.L62
	.long	.L67-.L62
	.long	.L67-.L62
	.long	.L64-.L62
	.long	.L63-.L62
	.long	.L61-.L62
	.text
.L64:
	mov	rax, QWORD PTR stdscr[rip]
	mov	rdi, rax
	call	werase@PLT
	call	endwin@PLT
	mov	edi, 0
	call	exit@PLT
.L63:
	mov	rax, QWORD PTR stdscr[rip]
	mov	rdi, rax
	call	werase@PLT
	call	drawTrail
	jmp	.L60
.L66:
	call	executeTrail
	jmp	.L60
.L65:
	mov	DWORD PTR speed[rip], 10
	jmp	.L60
.L61:
	mov	DWORD PTR speed[rip], 1000000
	nop
.L60:
	jmp	.L67
	.cfi_endproc
.LFE5:
	.size	main, .-main
	.section	.rodata
.LC16:
	.string	"EAST"
.LC17:
	.string	"SOUTH"
.LC18:
	.string	"WEST"
.LC19:
	.string	"NORTH"
	.section	.data.rel.local
	.align 32
	.type	dirs.0, @object
	.size	dirs.0, 32
dirs.0:
	.quad	.LC16
	.quad	.LC17
	.quad	.LC18
	.quad	.LC19
	.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	"93888498.c"
	.text
	.comm	cmdwin,4,4
	.global	initialMap
	.data
	.align	2
	.type	initialMap, %object
	.size	initialMap, 128
initialMap:
	.word	0
	.word	14
	.word	8
	.word	234881032
	.word	553648136
	.word	553648136
	.word	6299512
	.word	536875008
	.word	1052672
	.word	1052672
	.word	537923584
	.word	1048576
	.word	4096
	.word	536875008
	.word	1052672
	.word	470814720
	.word	8519680
	.word	0
	.word	4096
	.word	16846848
	.word	134287360
	.word	69632
	.word	69632
	.word	67112960
	.word	8392704
	.word	69528
	.word	65538
	.word	65538
	.word	32514
	.word	130
	.word	128
	.word	60
	.comm	map,128,4
	.comm	timestep,4,4
	.comm	food,4,4
	.comm	antx,4,4
	.comm	anty,4,4
	.comm	dir,4,4
	.comm	proglen,4,4
	.global	speed
	.align	2
	.type	speed, %object
	.size	speed, 4
speed:
	.word	10000
	.global	antchar
	.align	2
	.type	antchar, %object
	.size	antchar, 16
antchar:
	.word	62
	.word	118
	.word	60
	.word	94
	.global	func
	.section	.rodata
	.align	2
.LC0:
	.ascii	"IF_FOOD\000"
	.align	2
.LC1:
	.ascii	"PROGN\000"
	.data
	.align	2
	.type	func, %object
	.size	func, 8
func:
	.word	.LC0
	.word	.LC1
	.global	ops
	.section	.rodata
	.align	2
.LC2:
	.ascii	"LEFT\000"
	.align	2
.LC3:
	.ascii	"RIGHT\000"
	.align	2
.LC4:
	.ascii	"MOVE\000"
	.align	2
.LC5:
	.ascii	"NOP\000"
	.data
	.align	2
	.type	ops, %object
	.size	ops, 16
ops:
	.word	.LC2
	.word	.LC3
	.word	.LC4
	.word	.LC5
	.comm	prog,1536,4
	.comm	fp,4,4
	.comm	logp,4,4
	.section	.rodata
	.align	2
.LC6:
	.ascii	"%d %d %d\000"
	.text
	.align	2
	.global	initProg
	.syntax unified
	.arm
	.fpu softvfp
	.type	initProg, %function
initProg:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, .L4
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L4+4
	ldr	r3, [r3]
	mov	r2, #0
	mov	r1, #0
	mov	r0, r3
	bl	fseek
	b	.L2
.L3:
	ldr	r3, .L4+4
	ldr	r0, [r3]
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	ldr	r2, .L4+8
	add	r1, r3, r2
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r3, #4
	ldr	r2, .L4+8
	add	ip, r3, r2
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r3, #8
	ldr	r2, .L4+8
	add	r3, r3, r2
	str	r3, [sp]
	mov	r3, ip
	mov	r2, r1
	ldr	r1, .L4+12
	bl	__isoc99_fscanf
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
	ldr	r3, .L4
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L4
	str	r3, [r2]
.L2:
	ldr	r3, .L4+4
	ldr	r3, [r3]
	mov	r0, r3
	bl	feof
	mov	r3, r0
	cmp	r3, #0
	beq	.L3
	ldr	r3, .L4
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L4
	str	r3, [r2]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L5:
	.align	2
.L4:
	.word	proglen
	.word	fp
	.word	prog
	.word	.LC6
	.size	initProg, .-initProg
	.align	2
	.global	drawTrail
	.syntax unified
	.arm
	.fpu softvfp
	.type	drawTrail, %function
drawTrail:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L7
.L8:
	ldr	r2, .L22
	ldr	r3, [fp, #-8]
	ldr	r2, [r2, r3, lsl #2]
	ldr	r1, .L22+4
	ldr	r3, [fp, #-8]
	str	r2, [r1, r3, lsl #2]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L7:
	ldr	r3, [fp, #-8]
	cmp	r3, #31
	ble	.L8
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L9
.L19:
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L10
.L18:
	ldr	r2, .L22+4
	ldr	r3, [fp, #-12]
	ldr	r3, [r2, r3, lsl #2]
	mov	r1, #1
	ldr	r2, [fp, #-16]
	lsl	r2, r1, r2
	and	r3, r3, r2
	cmp	r3, #0
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L11
	cmp	r3, #1
	beq	.L12
	b	.L13
.L11:
	ldr	r3, .L22+8
	ldr	r3, [r3]
	ldr	r2, [fp, #-16]
	ldr	r1, [fp, #-12]
	mov	r0, r3
	bl	wmove
	mov	r3, r0
	cmn	r3, #1
	beq	.L20
	ldr	r3, .L22+8
	ldr	r3, [r3]
	mov	r1, #46
	mov	r0, r3
	bl	waddch
	b	.L20
.L12:
	ldr	r3, .L22+8
	ldr	r3, [r3]
	ldr	r2, [fp, #-16]
	ldr	r1, [fp, #-12]
	mov	r0, r3
	bl	wmove
	mov	r3, r0
	cmn	r3, #1
	beq	.L21
	ldr	r3, .L22+8
	ldr	r3, [r3]
	mov	r1, #35
	mov	r0, r3
	bl	waddch
	b	.L21
.L20:
	nop
	b	.L13
.L21:
	nop
.L13:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L10:
	ldr	r3, [fp, #-12]
	cmp	r3, #31
	ble	.L18
	bl	initProg
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L9:
	ldr	r3, [fp, #-16]
	cmp	r3, #31
	ble	.L19
	ldr	r3, .L22+12
	mov	r2, #89
	str	r2, [r3]
	ldr	r3, .L22+16
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L22+20
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L22+24
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, .L22+28
	mov	r2, #0
	str	r2, [r3]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L23:
	.align	2
.L22:
	.word	initialMap
	.word	map
	.word	stdscr
	.word	food
	.word	timestep
	.word	antx
	.word	anty
	.word	dir
	.size	drawTrail, .-drawTrail
	.section	.rodata
	.align	2
.LC7:
	.ascii	"Timestep %4.4d Food %2.2d\012\000"
	.align	2
.LC8:
	.ascii	"X=%d y=%d dir=%s\012\000"
	.text
	.align	2
	.global	displayStats
	.syntax unified
	.arm
	.fpu softvfp
	.type	displayStats, %function
displayStats:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	ldr	r3, .L25
	ldr	r2, [r3]
	ldr	r3, .L25+4
	ldr	r3, [r3]
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, .L25+8
	mov	r1, #1
	mov	r0, #33
	bl	mvprintw
	ldr	r3, .L25+12
	ldr	r1, [r3]
	ldr	r3, .L25+16
	ldr	r3, [r3]
	ldr	r2, .L25+20
	ldr	r2, [r2]
	ldr	r0, .L25+24
	ldr	r2, [r0, r2, lsl #2]
	str	r2, [sp, #4]
	str	r3, [sp]
	mov	r3, r1
	ldr	r2, .L25+28
	mov	r1, #1
	mov	r0, #35
	bl	mvprintw
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L26:
	.align	2
.L25:
	.word	timestep
	.word	food
	.word	.LC7
	.word	antx
	.word	anty
	.word	dir
	.word	dirs.6098
	.word	.LC8
	.size	displayStats, .-displayStats
	.align	2
	.global	doterm
	.syntax unified
	.arm
	.fpu softvfp
	.type	doterm, %function
doterm:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r3, .L51
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L51
	str	r3, [r2]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L28
	ldr	r3, .L51+4
	ldr	r3, [r3]
	sub	r3, r3, #1
	and	r3, r3, #3
	ldr	r2, .L51+4
	str	r3, [r2]
	ldr	r3, .L51+8
	ldr	r3, [r3]
	ldr	r2, .L51+12
	ldr	r1, [r2]
	ldr	r2, .L51+16
	ldr	r2, [r2]
	mov	r0, r3
	bl	wmove
	mov	r3, r0
	cmn	r3, #1
	beq	.L30
	ldr	r3, .L51+8
	ldr	r2, [r3]
	ldr	r3, .L51+4
	ldr	r3, [r3]
	ldr	r1, .L51+20
	ldr	r3, [r1, r3, lsl #2]
	mov	r1, r3
	mov	r0, r2
	bl	waddch
.L30:
	bl	displayStats
	ldr	r3, .L51+8
	ldr	r3, [r3]
	mov	r0, r3
	bl	wrefresh
	ldr	r3, .L51+24
	ldr	r3, [r3]
	mov	r0, r3
	bl	usleep
	b	.L50
.L28:
	ldr	r3, [fp, #-16]
	cmp	r3, #1
	bne	.L32
	ldr	r3, .L51+4
	ldr	r3, [r3]
	add	r3, r3, #1
	and	r3, r3, #3
	ldr	r2, .L51+4
	str	r3, [r2]
	ldr	r3, .L51+8
	ldr	r3, [r3]
	ldr	r2, .L51+12
	ldr	r1, [r2]
	ldr	r2, .L51+16
	ldr	r2, [r2]
	mov	r0, r3
	bl	wmove
	mov	r3, r0
	cmn	r3, #1
	beq	.L34
	ldr	r3, .L51+8
	ldr	r2, [r3]
	ldr	r3, .L51+4
	ldr	r3, [r3]
	ldr	r1, .L51+20
	ldr	r3, [r1, r3, lsl #2]
	mov	r1, r3
	mov	r0, r2
	bl	waddch
.L34:
	bl	displayStats
	ldr	r3, .L51+8
	ldr	r3, [r3]
	mov	r0, r3
	bl	wrefresh
	ldr	r3, .L51+24
	ldr	r3, [r3]
	mov	r0, r3
	bl	usleep
	b	.L50
.L32:
	ldr	r3, [fp, #-16]
	cmp	r3, #2
	bne	.L35
	ldr	r3, .L51+8
	ldr	r3, [r3]
	ldr	r2, .L51+12
	ldr	r1, [r2]
	ldr	r2, .L51+16
	ldr	r2, [r2]
	mov	r0, r3
	bl	wmove
	mov	r3, r0
	cmn	r3, #1
	beq	.L37
	ldr	r3, .L51+8
	ldr	r3, [r3]
	mov	r1, #42
	mov	r0, r3
	bl	waddch
.L37:
	bl	displayStats
	ldr	r3, .L51+8
	ldr	r3, [r3]
	mov	r0, r3
	bl	wrefresh
	ldr	r3, .L51+4
	ldr	r3, [r3]
	cmp	r3, #3
	ldrls	pc, [pc, r3, asl #2]
	b	.L38
.L40:
	.word	.L43
	.word	.L42
	.word	.L41
	.word	.L39
.L43:
	ldr	r3, .L51+16
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L51+16
	str	r3, [r2]
	b	.L38
.L41:
	ldr	r3, .L51+16
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L51+16
	str	r3, [r2]
	b	.L38
.L42:
	ldr	r3, .L51+12
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L51+12
	str	r3, [r2]
	b	.L38
.L39:
	ldr	r3, .L51+12
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L51+12
	str	r3, [r2]
	nop
.L38:
	ldr	r3, .L51+12
	ldr	r3, [r3]
	and	r3, r3, #31
	ldr	r2, .L51+12
	str	r3, [r2]
	ldr	r3, .L51+16
	ldr	r3, [r3]
	and	r3, r3, #31
	ldr	r2, .L51+16
	str	r3, [r2]
	ldr	r3, .L51+12
	ldr	r3, [r3]
	ldr	r2, .L51+28
	ldr	r3, [r2, r3, lsl #2]
	ldr	r2, .L51+16
	ldr	r2, [r2]
	mov	r1, #1
	lsl	r2, r1, r2
	and	r3, r3, r2
	cmp	r3, #0
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-8]
	ldr	r3, .L51+8
	ldr	r3, [r3]
	ldr	r2, .L51+12
	ldr	r1, [r2]
	ldr	r2, .L51+16
	ldr	r2, [r2]
	mov	r0, r3
	bl	wmove
	mov	r3, r0
	cmn	r3, #1
	beq	.L45
	ldr	r3, .L51+8
	ldr	r2, [r3]
	ldr	r3, .L51+4
	ldr	r3, [r3]
	ldr	r1, .L51+20
	ldr	r3, [r1, r3, lsl #2]
	mov	r1, r3
	mov	r0, r2
	bl	waddch
.L45:
	bl	displayStats
	ldr	r3, .L51+8
	ldr	r3, [r3]
	mov	r0, r3
	bl	wrefresh
	ldr	r3, .L51+24
	ldr	r3, [r3]
	mov	r0, r3
	bl	usleep
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L50
	ldr	r3, .L51+32
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L46
	ldr	r3, .L51+32
	ldr	r3, [r3]
	sub	r3, r3, #1
	b	.L47
.L46:
	ldr	r3, .L51+32
	ldr	r3, [r3]
.L47:
	ldr	r2, .L51+32
	str	r3, [r2]
	ldr	r3, .L51+12
	ldr	r3, [r3]
	ldr	r2, .L51+28
	ldr	r2, [r2, r3, lsl #2]
	ldr	r3, .L51+16
	ldr	r3, [r3]
	mov	r1, #1
	lsl	r3, r1, r3
	mvn	r3, r3
	mov	r1, r3
	ldr	r3, .L51+12
	ldr	r3, [r3]
	and	r2, r2, r1
	ldr	r1, .L51+28
	str	r2, [r1, r3, lsl #2]
	ldr	r3, .L51+8
	ldr	r3, [r3]
	ldr	r2, .L51+12
	ldr	r1, [r2]
	ldr	r2, .L51+16
	ldr	r2, [r2]
	mov	r0, r3
	bl	wmove
	mov	r3, r0
	cmn	r3, #1
	beq	.L49
	ldr	r3, .L51+8
	ldr	r3, [r3]
	mov	r1, #42
	mov	r0, r3
	bl	waddch
.L49:
	bl	displayStats
	ldr	r3, .L51+8
	ldr	r3, [r3]
	mov	r0, r3
	bl	wrefresh
	ldr	r3, .L51+24
	ldr	r3, [r3]
	mov	r0, r3
	bl	usleep
	b	.L50
.L35:
	bl	displayStats
	ldr	r3, .L51+24
	ldr	r3, [r3]
	mov	r0, r3
	bl	usleep
.L50:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L52:
	.align	2
.L51:
	.word	timestep
	.word	dir
	.word	stdscr
	.word	anty
	.word	antx
	.word	antchar
	.word	speed
	.word	map
	.word	food
	.size	doterm, .-doterm
	.section	.rodata
	.align	2
.LC9:
	.ascii	"%d -> %s,(%s,%s)\012\000"
	.align	2
.LC10:
	.ascii	"dir=%d x=%d, y= %d pc = %d opcode = %d, ea1 = %d, e"
	.ascii	"a2 = %d food = %d\012\000"
	.text
	.align	2
	.global	executeTrail
	.syntax unified
	.arm
	.fpu softvfp
	.type	executeTrail, %function
executeTrail:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	mov	r3, #0
	str	r3, [fp, #-32]
	b	.L54
.L65:
	ldr	r1, .L67
	ldr	r2, [fp, #-32]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	ldr	r1, .L67
	ldr	r2, [fp, #-32]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	add	r3, r3, #4
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	ldr	r1, .L67
	ldr	r2, [fp, #-32]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	add	r3, r3, #8
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r3, .L67+4
	ldr	r3, [r3]
	str	r3, [fp, #-28]
	ldr	r3, .L67+8
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	bl	displayStats
	ldr	r1, .L67
	ldr	r2, [fp, #-32]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3]
	ldr	r2, .L67+12
	ldr	r1, [r2, r3, lsl #2]
	ldr	r0, .L67
	ldr	r2, [fp, #-32]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r0, r3
	add	r3, r3, #4
	ldr	r3, [r3]
	ldr	r2, .L67+16
	ldr	r0, [r2, r3, lsl #2]
	ldr	ip, .L67
	ldr	r2, [fp, #-32]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, ip, r3
	add	r3, r3, #8
	ldr	r3, [r3]
	ldr	r2, .L67+16
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [sp, #8]
	str	r0, [sp, #4]
	str	r1, [sp]
	ldr	r3, [fp, #-32]
	ldr	r2, .L67+20
	mov	r1, #1
	mov	r0, #34
	bl	mvprintw
	ldr	r3, .L67+24
	ldr	r0, [r3]
	ldr	r3, .L67+28
	ldr	r1, [r3]
	ldr	r3, .L67+4
	ldr	ip, [r3]
	ldr	r3, .L67+8
	ldr	r3, [r3]
	ldr	r2, .L67+32
	ldr	r2, [r2]
	str	r2, [sp, #20]
	ldr	r2, [fp, #-12]
	str	r2, [sp, #16]
	ldr	r2, [fp, #-16]
	str	r2, [sp, #12]
	ldr	r2, [fp, #-20]
	str	r2, [sp, #8]
	ldr	r2, [fp, #-32]
	str	r2, [sp, #4]
	str	r3, [sp]
	mov	r3, ip
	mov	r2, r1
	ldr	r1, .L67+36
	bl	fprintf
	ldr	r3, .L67+24
	ldr	r3, [r3]
	mov	r0, r3
	bl	fflush
	ldr	r3, .L67+40
	ldr	r3, [r3]
	mov	r0, r3
	bl	wrefresh
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L55
	ldr	r3, [fp, #-20]
	cmp	r3, #1
	beq	.L56
	b	.L54
.L55:
	ldr	r3, .L67+28
	ldr	r3, [r3]
	cmp	r3, #3
	ldrls	pc, [pc, r3, asl #2]
	b	.L57
.L59:
	.word	.L62
	.word	.L61
	.word	.L60
	.word	.L58
.L62:
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	b	.L57
.L60:
	ldr	r3, [fp, #-28]
	sub	r3, r3, #1
	str	r3, [fp, #-28]
	b	.L57
.L58:
	ldr	r3, [fp, #-24]
	sub	r3, r3, #1
	str	r3, [fp, #-24]
	b	.L57
.L61:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	nop
.L57:
	ldr	r3, [fp, #-28]
	and	r3, r3, #31
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-24]
	and	r3, r3, #31
	str	r3, [fp, #-24]
	ldr	r2, .L67+44
	ldr	r3, [fp, #-24]
	ldr	r3, [r2, r3, lsl #2]
	mov	r1, #1
	ldr	r2, [fp, #-28]
	lsl	r2, r1, r2
	and	r3, r3, r2
	cmp	r3, #0
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L63
	ldr	r0, [fp, #-16]
	bl	doterm
	b	.L64
.L63:
	ldr	r0, [fp, #-12]
	bl	doterm
.L64:
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
	b	.L54
.L56:
	ldr	r0, [fp, #-16]
	bl	doterm
	ldr	r0, [fp, #-12]
	bl	doterm
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
	nop
.L54:
	ldr	r3, .L67+48
	ldr	r3, [r3]
	ldr	r2, [fp, #-32]
	cmp	r2, r3
	blt	.L65
	mov	r3, #0
	str	r3, [fp, #-32]
	ldr	r3, .L67+32
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L54
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L68:
	.align	2
.L67:
	.word	prog
	.word	antx
	.word	anty
	.word	func
	.word	ops
	.word	.LC9
	.word	logp
	.word	dir
	.word	food
	.word	.LC10
	.word	stdscr
	.word	map
	.word	proglen
	.size	executeTrail, .-executeTrail
	.section	.rodata
	.align	2
.LC11:
	.ascii	"w\000"
	.align	2
.LC12:
	.ascii	"log.out\000"
	.align	2
.LC13:
	.ascii	"r\000"
	.align	2
.LC14:
	.ascii	"Opening trail\000"
	.align	2
.LC15:
	.ascii	"q)uit e)execute r)eset f)ast s)low\000"
	.text
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r1, .L80
	ldr	r0, .L80+4
	bl	fopen
	mov	r3, r0
	ldr	r2, .L80+8
	str	r3, [r2]
	ldr	r3, [fp, #-16]
	cmp	r3, #1
	ble	.L70
	ldr	r3, [fp, #-20]
	add	r3, r3, #4
	ldr	r3, [r3]
	ldr	r1, .L80+12
	mov	r0, r3
	bl	fopen
	mov	r3, r0
	ldr	r2, .L80+16
	str	r3, [r2]
	ldr	r3, .L80+16
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L71
	ldr	r0, .L80+20
	bl	perror
	mov	r0, #1
	bl	exit
.L70:
	ldr	r3, .L80+24
	ldr	r3, [r3]
	ldr	r2, .L80+16
	str	r3, [r2]
.L71:
	bl	initscr
	bl	nonl
	bl	noecho
	bl	cbreak
	mov	r3, #0
	mov	r2, #0
	mov	r1, #33
	mov	r0, #34
	bl	newwin
	mov	r3, r0
	ldr	r2, .L80+28
	str	r3, [r2]
	bl	drawTrail
.L79:
	ldr	r2, .L80+32
	mov	r1, #1
	mov	r0, #32
	bl	mvprintw
	bl	displayStats
	ldr	r3, .L80+36
	ldr	r3, [r3]
	mov	r0, r3
	bl	wrefresh
	ldr	r3, .L80+36
	ldr	r3, [r3]
	mov	r0, r3
	bl	wgetch
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	sub	r3, r3, #101
	cmp	r3, #14
	ldrls	pc, [pc, r3, asl #2]
	b	.L79
.L74:
	.word	.L78
	.word	.L77
	.word	.L79
	.word	.L79
	.word	.L79
	.word	.L79
	.word	.L79
	.word	.L79
	.word	.L79
	.word	.L79
	.word	.L79
	.word	.L79
	.word	.L76
	.word	.L75
	.word	.L73
.L76:
	ldr	r3, .L80+36
	ldr	r3, [r3]
	mov	r0, r3
	bl	werase
	bl	endwin
	mov	r0, #0
	bl	exit
.L75:
	ldr	r3, .L80+36
	ldr	r3, [r3]
	mov	r0, r3
	bl	werase
	bl	drawTrail
	b	.L72
.L78:
	bl	executeTrail
	b	.L72
.L77:
	ldr	r3, .L80+40
	mov	r2, #10
	str	r2, [r3]
	b	.L72
.L73:
	ldr	r3, .L80+40
	ldr	r2, .L80+44
	str	r2, [r3]
	nop
.L72:
	b	.L79
.L81:
	.align	2
.L80:
	.word	.LC11
	.word	.LC12
	.word	logp
	.word	.LC13
	.word	fp
	.word	.LC14
	.word	stdin
	.word	cmdwin
	.word	.LC15
	.word	stdscr
	.word	speed
	.word	1000000
	.size	main, .-main
	.section	.rodata
	.align	2
.LC16:
	.ascii	"EAST\000"
	.align	2
.LC17:
	.ascii	"SOUTH\000"
	.align	2
.LC18:
	.ascii	"WEST\000"
	.align	2
.LC19:
	.ascii	"NORTH\000"
	.data
	.align	2
	.type	dirs.6098, %object
	.size	dirs.6098, 16
dirs.6098:
	.word	.LC16
	.word	.LC17
	.word	.LC18
	.word	.LC19
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
