	.file	"420562.c"
	.intel_syntax noprefix
	.text
	.globl	quit
	.bss
	.type	quit, @object
	.size	quit, 1
quit:
	.zero	1
	.globl	scr_x
	.align 4
	.type	scr_x, @object
	.size	scr_x, 4
scr_x:
	.zero	4
	.globl	scr_y
	.align 4
	.type	scr_y, @object
	.size	scr_y, 4
scr_y:
	.zero	4
	.globl	size_x
	.align 4
	.type	size_x, @object
	.size	size_x, 4
size_x:
	.zero	4
	.globl	size_y
	.align 4
	.type	size_y, @object
	.size	size_y, 4
size_y:
	.zero	4
	.globl	mines
	.align 4
	.type	mines, @object
	.size	mines, 4
mines:
	.zero	4
	.globl	cur_x
	.align 4
	.type	cur_x, @object
	.size	cur_x, 4
cur_x:
	.zero	4
	.globl	cur_y
	.align 4
	.type	cur_y, @object
	.size	cur_y, 4
cur_y:
	.zero	4
	.globl	st_game
	.align 4
	.type	st_game, @object
	.size	st_game, 4
st_game:
	.zero	4
	.globl	time_start
	.align 8
	.type	time_start, @object
	.size	time_start, 8
time_start:
	.zero	8
	.globl	time_end
	.align 8
	.type	time_end, @object
	.size	time_end, 8
time_end:
	.zero	8
	.globl	field
	.align 8
	.type	field, @object
	.size	field, 8
field:
	.zero	8
	.text
	.globl	gen_field
	.type	gen_field, @function
gen_field:
.LFB6:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 40
	.cfi_offset 3, -24
	mov	edi, 0
	call	time@PLT
	mov	QWORD PTR time_start[rip], rax
	mov	edi, 0
	call	time@PLT
	mov	edi, eax
	call	srand@PLT
	mov	eax, DWORD PTR size_x[rip]
	mov	eax, eax
	mov	esi, 8
	mov	rdi, rax
	call	calloc@PLT
	mov	QWORD PTR field[rip], rax
	mov	DWORD PTR -36[rbp], 0
	jmp	.L2
.L5:
	mov	eax, DWORD PTR size_y[rip]
	mov	edx, eax
	mov	rcx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	sal	rax, 3
	lea	rbx, [rcx+rax]
	mov	esi, 3
	mov	rdi, rdx
	call	calloc@PLT
	mov	QWORD PTR [rbx], rax
	mov	DWORD PTR -32[rbp], 0
	jmp	.L3
.L4:
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -32[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	add	rax, rcx
	mov	BYTE PTR [rax], 0
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -32[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	add	rax, rcx
	mov	BYTE PTR 1[rax], 0
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -32[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	add	rax, rcx
	mov	BYTE PTR 2[rax], 0
	add	DWORD PTR -32[rbp], 1
.L3:
	mov	edx, DWORD PTR -32[rbp]
	mov	eax, DWORD PTR size_y[rip]
	cmp	edx, eax
	jb	.L4
	add	DWORD PTR -36[rbp], 1
.L2:
	mov	edx, DWORD PTR -36[rbp]
	mov	eax, DWORD PTR size_x[rip]
	cmp	edx, eax
	jb	.L5
	mov	DWORD PTR -28[rbp], 0
	jmp	.L6
.L10:
	call	rand@PLT
	mov	ecx, DWORD PTR size_x[rip]
	mov	edx, 0
	div	ecx
	mov	eax, edx
	mov	DWORD PTR -24[rbp], eax
	call	rand@PLT
	mov	ecx, DWORD PTR size_y[rip]
	mov	edx, 0
	div	ecx
	mov	eax, edx
	mov	DWORD PTR -20[rbp], eax
	mov	edx, DWORD PTR -24[rbp]
	mov	eax, DWORD PTR cur_x[rip]
	cmp	edx, eax
	je	.L7
	mov	edx, DWORD PTR -20[rbp]
	mov	eax, DWORD PTR cur_y[rip]
	cmp	edx, eax
	je	.L7
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -20[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L8
.L7:
	sub	DWORD PTR -28[rbp], 1
	jmp	.L9
.L8:
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -20[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	add	rax, rcx
	mov	BYTE PTR [rax], 1
.L9:
	add	DWORD PTR -28[rbp], 1
.L6:
	mov	edx, DWORD PTR -28[rbp]
	mov	eax, DWORD PTR mines[rip]
	cmp	edx, eax
	jb	.L10
	nop
	nop
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	gen_field, .-gen_field
	.globl	mines_around
	.type	mines_around, @function
mines_around:
.LFB7:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	mov	DWORD PTR -24[rbp], esi
	mov	eax, edx
	mov	BYTE PTR -28[rbp], al
	mov	DWORD PTR -4[rbp], 0
	cmp	DWORD PTR -20[rbp], 0
	jle	.L12
	mov	eax, DWORD PTR -20[rbp]
	sub	eax, 1
	mov	edx, eax
	mov	eax, DWORD PTR size_x[rip]
	sub	eax, 1
	cmp	edx, eax
	ja	.L12
	cmp	DWORD PTR -24[rbp], 0
	jle	.L12
	mov	eax, DWORD PTR -24[rbp]
	sub	eax, 1
	mov	edx, eax
	mov	eax, DWORD PTR size_y[rip]
	sub	eax, 1
	cmp	edx, eax
	ja	.L12
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sub	rax, 3
	add	rax, rcx
	movzx	eax, BYTE PTR 2[rax]
	xor	eax, 1
	test	al, al
	jne	.L13
	cmp	BYTE PTR -28[rbp], 0
	je	.L12
.L13:
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sub	rax, 3
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L12
	add	DWORD PTR -4[rbp], 1
.L12:
	cmp	DWORD PTR -20[rbp], 0
	js	.L14
	mov	eax, DWORD PTR size_x[rip]
	lea	edx, -1[rax]
	mov	eax, DWORD PTR -20[rbp]
	cmp	edx, eax
	jb	.L14
	cmp	DWORD PTR -24[rbp], 0
	jle	.L14
	mov	eax, DWORD PTR -24[rbp]
	sub	eax, 1
	mov	edx, eax
	mov	eax, DWORD PTR size_y[rip]
	sub	eax, 1
	cmp	edx, eax
	ja	.L14
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sub	rax, 3
	add	rax, rcx
	movzx	eax, BYTE PTR 2[rax]
	xor	eax, 1
	test	al, al
	jne	.L15
	cmp	BYTE PTR -28[rbp], 0
	je	.L14
.L15:
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sub	rax, 3
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L14
	add	DWORD PTR -4[rbp], 1
.L14:
	cmp	DWORD PTR -20[rbp], -1
	jl	.L16
	mov	eax, DWORD PTR -20[rbp]
	add	eax, 1
	mov	edx, eax
	mov	eax, DWORD PTR size_x[rip]
	sub	eax, 1
	cmp	edx, eax
	ja	.L16
	cmp	DWORD PTR -24[rbp], 0
	jle	.L16
	mov	eax, DWORD PTR -24[rbp]
	sub	eax, 1
	mov	edx, eax
	mov	eax, DWORD PTR size_y[rip]
	sub	eax, 1
	cmp	edx, eax
	ja	.L16
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	add	rax, 1
	sal	rax, 3
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sub	rax, 3
	add	rax, rcx
	movzx	eax, BYTE PTR 2[rax]
	xor	eax, 1
	test	al, al
	jne	.L17
	cmp	BYTE PTR -28[rbp], 0
	je	.L16
.L17:
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	add	rax, 1
	sal	rax, 3
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sub	rax, 3
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L16
	add	DWORD PTR -4[rbp], 1
.L16:
	cmp	DWORD PTR -20[rbp], 0
	jle	.L18
	mov	eax, DWORD PTR -20[rbp]
	sub	eax, 1
	mov	edx, eax
	mov	eax, DWORD PTR size_x[rip]
	sub	eax, 1
	cmp	edx, eax
	ja	.L18
	cmp	DWORD PTR -24[rbp], 0
	js	.L18
	mov	eax, DWORD PTR size_y[rip]
	lea	edx, -1[rax]
	mov	eax, DWORD PTR -24[rbp]
	cmp	edx, eax
	jb	.L18
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	add	rax, rcx
	movzx	eax, BYTE PTR 2[rax]
	xor	eax, 1
	test	al, al
	jne	.L19
	cmp	BYTE PTR -28[rbp], 0
	je	.L18
.L19:
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L18
	add	DWORD PTR -4[rbp], 1
.L18:
	cmp	DWORD PTR -20[rbp], -1
	jl	.L20
	mov	eax, DWORD PTR -20[rbp]
	add	eax, 1
	mov	edx, eax
	mov	eax, DWORD PTR size_x[rip]
	sub	eax, 1
	cmp	edx, eax
	ja	.L20
	cmp	DWORD PTR -24[rbp], 0
	js	.L20
	mov	eax, DWORD PTR size_y[rip]
	lea	edx, -1[rax]
	mov	eax, DWORD PTR -24[rbp]
	cmp	edx, eax
	jb	.L20
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	add	rax, 1
	sal	rax, 3
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	add	rax, rcx
	movzx	eax, BYTE PTR 2[rax]
	xor	eax, 1
	test	al, al
	jne	.L21
	cmp	BYTE PTR -28[rbp], 0
	je	.L20
.L21:
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	add	rax, 1
	sal	rax, 3
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L20
	add	DWORD PTR -4[rbp], 1
.L20:
	cmp	DWORD PTR -20[rbp], 0
	jle	.L22
	mov	eax, DWORD PTR -20[rbp]
	sub	eax, 1
	mov	edx, eax
	mov	eax, DWORD PTR size_x[rip]
	sub	eax, 1
	cmp	edx, eax
	ja	.L22
	cmp	DWORD PTR -24[rbp], -1
	jl	.L22
	mov	eax, DWORD PTR -24[rbp]
	add	eax, 1
	mov	edx, eax
	mov	eax, DWORD PTR size_y[rip]
	sub	eax, 1
	cmp	edx, eax
	ja	.L22
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 1[rax]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	add	rax, rcx
	movzx	eax, BYTE PTR 2[rax]
	xor	eax, 1
	test	al, al
	jne	.L23
	cmp	BYTE PTR -28[rbp], 0
	je	.L22
.L23:
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 1[rax]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L22
	add	DWORD PTR -4[rbp], 1
.L22:
	cmp	DWORD PTR -20[rbp], 0
	js	.L24
	mov	eax, DWORD PTR size_x[rip]
	lea	edx, -1[rax]
	mov	eax, DWORD PTR -20[rbp]
	cmp	edx, eax
	jb	.L24
	cmp	DWORD PTR -24[rbp], -1
	jl	.L24
	mov	eax, DWORD PTR -24[rbp]
	add	eax, 1
	mov	edx, eax
	mov	eax, DWORD PTR size_y[rip]
	sub	eax, 1
	cmp	edx, eax
	ja	.L24
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 1[rax]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	add	rax, rcx
	movzx	eax, BYTE PTR 2[rax]
	xor	eax, 1
	test	al, al
	jne	.L25
	cmp	BYTE PTR -28[rbp], 0
	je	.L24
.L25:
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 1[rax]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L24
	add	DWORD PTR -4[rbp], 1
.L24:
	cmp	DWORD PTR -20[rbp], -1
	jl	.L26
	mov	eax, DWORD PTR -20[rbp]
	add	eax, 1
	mov	edx, eax
	mov	eax, DWORD PTR size_x[rip]
	sub	eax, 1
	cmp	edx, eax
	ja	.L26
	cmp	DWORD PTR -24[rbp], -1
	jl	.L26
	mov	eax, DWORD PTR -24[rbp]
	add	eax, 1
	mov	edx, eax
	mov	eax, DWORD PTR size_y[rip]
	sub	eax, 1
	cmp	edx, eax
	ja	.L26
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	add	rax, 1
	sal	rax, 3
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 1[rax]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	add	rax, rcx
	movzx	eax, BYTE PTR 2[rax]
	xor	eax, 1
	test	al, al
	jne	.L27
	cmp	BYTE PTR -28[rbp], 0
	je	.L26
.L27:
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	add	rax, 1
	sal	rax, 3
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 1[rax]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L26
	add	DWORD PTR -4[rbp], 1
.L26:
	mov	eax, DWORD PTR -4[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	mines_around, .-mines_around
	.globl	flags_around
	.type	flags_around, @function
flags_around:
.LFB8:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	mov	DWORD PTR -24[rbp], esi
	mov	DWORD PTR -4[rbp], 0
	cmp	DWORD PTR -20[rbp], 0
	jle	.L30
	mov	eax, DWORD PTR -20[rbp]
	sub	eax, 1
	mov	edx, eax
	mov	eax, DWORD PTR size_x[rip]
	sub	eax, 1
	cmp	edx, eax
	ja	.L30
	cmp	DWORD PTR -24[rbp], 0
	jle	.L30
	mov	eax, DWORD PTR -24[rbp]
	sub	eax, 1
	mov	edx, eax
	mov	eax, DWORD PTR size_y[rip]
	sub	eax, 1
	cmp	edx, eax
	ja	.L30
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sub	rax, 3
	add	rax, rcx
	movzx	eax, BYTE PTR 2[rax]
	xor	eax, 1
	test	al, al
	je	.L30
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sub	rax, 3
	add	rax, rcx
	movzx	eax, BYTE PTR 1[rax]
	test	al, al
	je	.L30
	add	DWORD PTR -4[rbp], 1
.L30:
	cmp	DWORD PTR -20[rbp], 0
	js	.L31
	mov	eax, DWORD PTR size_x[rip]
	lea	edx, -1[rax]
	mov	eax, DWORD PTR -20[rbp]
	cmp	edx, eax
	jb	.L31
	cmp	DWORD PTR -24[rbp], 0
	jle	.L31
	mov	eax, DWORD PTR -24[rbp]
	sub	eax, 1
	mov	edx, eax
	mov	eax, DWORD PTR size_y[rip]
	sub	eax, 1
	cmp	edx, eax
	ja	.L31
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sub	rax, 3
	add	rax, rcx
	movzx	eax, BYTE PTR 2[rax]
	xor	eax, 1
	test	al, al
	je	.L31
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sub	rax, 3
	add	rax, rcx
	movzx	eax, BYTE PTR 1[rax]
	test	al, al
	je	.L31
	add	DWORD PTR -4[rbp], 1
.L31:
	cmp	DWORD PTR -20[rbp], -1
	jl	.L32
	mov	eax, DWORD PTR -20[rbp]
	add	eax, 1
	mov	edx, eax
	mov	eax, DWORD PTR size_x[rip]
	sub	eax, 1
	cmp	edx, eax
	ja	.L32
	cmp	DWORD PTR -24[rbp], 0
	jle	.L32
	mov	eax, DWORD PTR -24[rbp]
	sub	eax, 1
	mov	edx, eax
	mov	eax, DWORD PTR size_y[rip]
	sub	eax, 1
	cmp	edx, eax
	ja	.L32
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	add	rax, 1
	sal	rax, 3
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sub	rax, 3
	add	rax, rcx
	movzx	eax, BYTE PTR 2[rax]
	xor	eax, 1
	test	al, al
	je	.L32
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	add	rax, 1
	sal	rax, 3
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sub	rax, 3
	add	rax, rcx
	movzx	eax, BYTE PTR 1[rax]
	test	al, al
	je	.L32
	add	DWORD PTR -4[rbp], 1
.L32:
	cmp	DWORD PTR -20[rbp], 0
	jle	.L33
	mov	eax, DWORD PTR -20[rbp]
	sub	eax, 1
	mov	edx, eax
	mov	eax, DWORD PTR size_x[rip]
	sub	eax, 1
	cmp	edx, eax
	ja	.L33
	cmp	DWORD PTR -24[rbp], 0
	js	.L33
	mov	eax, DWORD PTR size_y[rip]
	lea	edx, -1[rax]
	mov	eax, DWORD PTR -24[rbp]
	cmp	edx, eax
	jb	.L33
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	add	rax, rcx
	movzx	eax, BYTE PTR 2[rax]
	xor	eax, 1
	test	al, al
	je	.L33
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	add	rax, rcx
	movzx	eax, BYTE PTR 1[rax]
	test	al, al
	je	.L33
	add	DWORD PTR -4[rbp], 1
.L33:
	cmp	DWORD PTR -20[rbp], -1
	jl	.L34
	mov	eax, DWORD PTR -20[rbp]
	add	eax, 1
	mov	edx, eax
	mov	eax, DWORD PTR size_x[rip]
	sub	eax, 1
	cmp	edx, eax
	ja	.L34
	cmp	DWORD PTR -24[rbp], 0
	js	.L34
	mov	eax, DWORD PTR size_y[rip]
	lea	edx, -1[rax]
	mov	eax, DWORD PTR -24[rbp]
	cmp	edx, eax
	jb	.L34
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	add	rax, 1
	sal	rax, 3
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	add	rax, rcx
	movzx	eax, BYTE PTR 2[rax]
	xor	eax, 1
	test	al, al
	je	.L34
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	add	rax, 1
	sal	rax, 3
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	add	rax, rcx
	movzx	eax, BYTE PTR 1[rax]
	test	al, al
	je	.L34
	add	DWORD PTR -4[rbp], 1
.L34:
	cmp	DWORD PTR -20[rbp], 0
	jle	.L35
	mov	eax, DWORD PTR -20[rbp]
	sub	eax, 1
	mov	edx, eax
	mov	eax, DWORD PTR size_x[rip]
	sub	eax, 1
	cmp	edx, eax
	ja	.L35
	cmp	DWORD PTR -24[rbp], -1
	jl	.L35
	mov	eax, DWORD PTR -24[rbp]
	add	eax, 1
	mov	edx, eax
	mov	eax, DWORD PTR size_y[rip]
	sub	eax, 1
	cmp	edx, eax
	ja	.L35
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 1[rax]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	add	rax, rcx
	movzx	eax, BYTE PTR 2[rax]
	xor	eax, 1
	test	al, al
	je	.L35
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 1[rax]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	add	rax, rcx
	movzx	eax, BYTE PTR 1[rax]
	test	al, al
	je	.L35
	add	DWORD PTR -4[rbp], 1
.L35:
	cmp	DWORD PTR -20[rbp], 0
	js	.L36
	mov	eax, DWORD PTR size_x[rip]
	lea	edx, -1[rax]
	mov	eax, DWORD PTR -20[rbp]
	cmp	edx, eax
	jb	.L36
	cmp	DWORD PTR -24[rbp], -1
	jl	.L36
	mov	eax, DWORD PTR -24[rbp]
	add	eax, 1
	mov	edx, eax
	mov	eax, DWORD PTR size_y[rip]
	sub	eax, 1
	cmp	edx, eax
	ja	.L36
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 1[rax]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	add	rax, rcx
	movzx	eax, BYTE PTR 2[rax]
	xor	eax, 1
	test	al, al
	je	.L36
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 1[rax]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	add	rax, rcx
	movzx	eax, BYTE PTR 1[rax]
	test	al, al
	je	.L36
	add	DWORD PTR -4[rbp], 1
.L36:
	cmp	DWORD PTR -20[rbp], -1
	jl	.L37
	mov	eax, DWORD PTR -20[rbp]
	add	eax, 1
	mov	edx, eax
	mov	eax, DWORD PTR size_x[rip]
	sub	eax, 1
	cmp	edx, eax
	ja	.L37
	cmp	DWORD PTR -24[rbp], -1
	jl	.L37
	mov	eax, DWORD PTR -24[rbp]
	add	eax, 1
	mov	edx, eax
	mov	eax, DWORD PTR size_y[rip]
	sub	eax, 1
	cmp	edx, eax
	ja	.L37
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	add	rax, 1
	sal	rax, 3
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 1[rax]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	add	rax, rcx
	movzx	eax, BYTE PTR 2[rax]
	xor	eax, 1
	test	al, al
	je	.L37
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	add	rax, 1
	sal	rax, 3
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 1[rax]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	add	rax, rcx
	movzx	eax, BYTE PTR 1[rax]
	test	al, al
	je	.L37
	add	DWORD PTR -4[rbp], 1
.L37:
	mov	eax, DWORD PTR -4[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	flags_around, .-flags_around
	.globl	mine_open_all
	.type	mine_open_all, @function
mine_open_all:
.LFB9:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -8[rbp], 0
	jmp	.L40
.L44:
	mov	DWORD PTR -4[rbp], 0
	jmp	.L41
.L43:
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -4[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L42
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -4[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	add	rax, rcx
	mov	BYTE PTR 2[rax], 1
.L42:
	add	DWORD PTR -4[rbp], 1
.L41:
	mov	edx, DWORD PTR -4[rbp]
	mov	eax, DWORD PTR size_y[rip]
	cmp	edx, eax
	jb	.L43
	add	DWORD PTR -8[rbp], 1
.L40:
	mov	edx, DWORD PTR -8[rbp]
	mov	eax, DWORD PTR size_x[rip]
	cmp	edx, eax
	jb	.L44
	nop
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	mine_open_all, .-mine_open_all
	.globl	mine_open
	.type	mine_open, @function
mine_open:
.LFB10:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	mov	DWORD PTR -24[rbp], esi
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	add	rax, rcx
	movzx	eax, BYTE PTR 2[rax]
	xor	eax, 1
	test	al, al
	je	.L46
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	add	rax, rcx
	movzx	eax, BYTE PTR 1[rax]
	test	al, al
	jne	.L72
.L46:
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	add	rax, rcx
	mov	BYTE PTR 2[rax], 1
	mov	DWORD PTR -16[rbp], 0
	mov	DWORD PTR -12[rbp], 0
	jmp	.L48
.L54:
	mov	DWORD PTR -8[rbp], 0
	jmp	.L49
.L53:
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -8[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L50
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -8[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	add	rax, rcx
	movzx	eax, BYTE PTR 2[rax]
	xor	eax, 1
	test	al, al
	jne	.L51
.L50:
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -8[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	xor	eax, 1
	test	al, al
	je	.L52
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -8[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	add	rax, rcx
	movzx	eax, BYTE PTR 2[rax]
	test	al, al
	je	.L52
.L51:
	add	DWORD PTR -16[rbp], 1
.L52:
	add	DWORD PTR -8[rbp], 1
.L49:
	mov	edx, DWORD PTR -8[rbp]
	mov	eax, DWORD PTR size_y[rip]
	cmp	edx, eax
	jb	.L53
	add	DWORD PTR -12[rbp], 1
.L48:
	mov	edx, DWORD PTR -12[rbp]
	mov	eax, DWORD PTR size_x[rip]
	cmp	edx, eax
	jb	.L54
	mov	ecx, DWORD PTR -24[rbp]
	mov	eax, DWORD PTR -20[rbp]
	mov	edx, 0
	mov	esi, ecx
	mov	edi, eax
	call	mines_around
	mov	DWORD PTR -4[rbp], eax
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L55
	mov	eax, 0
	call	mine_open_all
	mov	DWORD PTR st_game[rip], 1
	jmp	.L45
.L55:
	mov	edx, DWORD PTR size_x[rip]
	mov	eax, DWORD PTR size_y[rip]
	imul	edx, eax
	mov	eax, DWORD PTR -16[rbp]
	cmp	edx, eax
	jne	.L56
	mov	eax, 0
	call	mine_open_all
	mov	DWORD PTR st_game[rip], 2
	jmp	.L45
.L56:
	cmp	DWORD PTR -4[rbp], 0
	jne	.L57
	cmp	DWORD PTR -20[rbp], 0
	jle	.L58
	mov	eax, DWORD PTR -20[rbp]
	sub	eax, 1
	mov	edx, eax
	mov	eax, DWORD PTR size_x[rip]
	sub	eax, 1
	cmp	edx, eax
	ja	.L58
	cmp	DWORD PTR -24[rbp], 0
	jle	.L58
	mov	eax, DWORD PTR -24[rbp]
	sub	eax, 1
	mov	edx, eax
	mov	eax, DWORD PTR size_y[rip]
	sub	eax, 1
	cmp	edx, eax
	ja	.L58
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sub	rax, 3
	add	rax, rcx
	movzx	eax, BYTE PTR 2[rax]
	xor	eax, 1
	test	al, al
	je	.L58
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sub	rax, 3
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	xor	eax, 1
	test	al, al
	je	.L58
	mov	eax, DWORD PTR -24[rbp]
	lea	edx, -1[rax]
	mov	eax, DWORD PTR -20[rbp]
	sub	eax, 1
	mov	esi, edx
	mov	edi, eax
	call	mine_open
.L58:
	cmp	DWORD PTR -20[rbp], 0
	js	.L59
	mov	eax, DWORD PTR size_x[rip]
	lea	edx, -1[rax]
	mov	eax, DWORD PTR -20[rbp]
	cmp	edx, eax
	jb	.L59
	cmp	DWORD PTR -24[rbp], 0
	jle	.L59
	mov	eax, DWORD PTR -24[rbp]
	sub	eax, 1
	mov	edx, eax
	mov	eax, DWORD PTR size_y[rip]
	sub	eax, 1
	cmp	edx, eax
	ja	.L59
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sub	rax, 3
	add	rax, rcx
	movzx	eax, BYTE PTR 2[rax]
	xor	eax, 1
	test	al, al
	je	.L59
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sub	rax, 3
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	xor	eax, 1
	test	al, al
	je	.L59
	mov	eax, DWORD PTR -24[rbp]
	lea	edx, -1[rax]
	mov	eax, DWORD PTR -20[rbp]
	mov	esi, edx
	mov	edi, eax
	call	mine_open
.L59:
	cmp	DWORD PTR -20[rbp], -1
	jl	.L60
	mov	eax, DWORD PTR -20[rbp]
	add	eax, 1
	mov	edx, eax
	mov	eax, DWORD PTR size_x[rip]
	sub	eax, 1
	cmp	edx, eax
	ja	.L60
	cmp	DWORD PTR -24[rbp], 0
	jle	.L60
	mov	eax, DWORD PTR -24[rbp]
	sub	eax, 1
	mov	edx, eax
	mov	eax, DWORD PTR size_y[rip]
	sub	eax, 1
	cmp	edx, eax
	ja	.L60
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	add	rax, 1
	sal	rax, 3
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sub	rax, 3
	add	rax, rcx
	movzx	eax, BYTE PTR 2[rax]
	xor	eax, 1
	test	al, al
	je	.L60
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	add	rax, 1
	sal	rax, 3
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sub	rax, 3
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	xor	eax, 1
	test	al, al
	je	.L60
	mov	eax, DWORD PTR -24[rbp]
	lea	edx, -1[rax]
	mov	eax, DWORD PTR -20[rbp]
	add	eax, 1
	mov	esi, edx
	mov	edi, eax
	call	mine_open
.L60:
	cmp	DWORD PTR -20[rbp], 0
	jle	.L61
	mov	eax, DWORD PTR -20[rbp]
	sub	eax, 1
	mov	edx, eax
	mov	eax, DWORD PTR size_x[rip]
	sub	eax, 1
	cmp	edx, eax
	ja	.L61
	cmp	DWORD PTR -24[rbp], 0
	js	.L61
	mov	eax, DWORD PTR size_y[rip]
	lea	edx, -1[rax]
	mov	eax, DWORD PTR -24[rbp]
	cmp	edx, eax
	jb	.L61
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	add	rax, rcx
	movzx	eax, BYTE PTR 2[rax]
	xor	eax, 1
	test	al, al
	je	.L61
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	xor	eax, 1
	test	al, al
	je	.L61
	mov	eax, DWORD PTR -20[rbp]
	lea	edx, -1[rax]
	mov	eax, DWORD PTR -24[rbp]
	mov	esi, eax
	mov	edi, edx
	call	mine_open
.L61:
	cmp	DWORD PTR -20[rbp], -1
	jl	.L62
	mov	eax, DWORD PTR -20[rbp]
	add	eax, 1
	mov	edx, eax
	mov	eax, DWORD PTR size_x[rip]
	sub	eax, 1
	cmp	edx, eax
	ja	.L62
	cmp	DWORD PTR -24[rbp], 0
	js	.L62
	mov	eax, DWORD PTR size_y[rip]
	lea	edx, -1[rax]
	mov	eax, DWORD PTR -24[rbp]
	cmp	edx, eax
	jb	.L62
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	add	rax, 1
	sal	rax, 3
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	add	rax, rcx
	movzx	eax, BYTE PTR 2[rax]
	xor	eax, 1
	test	al, al
	je	.L62
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	add	rax, 1
	sal	rax, 3
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	xor	eax, 1
	test	al, al
	je	.L62
	mov	eax, DWORD PTR -20[rbp]
	lea	edx, 1[rax]
	mov	eax, DWORD PTR -24[rbp]
	mov	esi, eax
	mov	edi, edx
	call	mine_open
.L62:
	cmp	DWORD PTR -20[rbp], 0
	jle	.L63
	mov	eax, DWORD PTR -20[rbp]
	sub	eax, 1
	mov	edx, eax
	mov	eax, DWORD PTR size_x[rip]
	sub	eax, 1
	cmp	edx, eax
	ja	.L63
	cmp	DWORD PTR -24[rbp], -1
	jl	.L63
	mov	eax, DWORD PTR -24[rbp]
	add	eax, 1
	mov	edx, eax
	mov	eax, DWORD PTR size_y[rip]
	sub	eax, 1
	cmp	edx, eax
	ja	.L63
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 1[rax]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	add	rax, rcx
	movzx	eax, BYTE PTR 2[rax]
	xor	eax, 1
	test	al, al
	je	.L63
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 1[rax]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	xor	eax, 1
	test	al, al
	je	.L63
	mov	eax, DWORD PTR -24[rbp]
	lea	edx, 1[rax]
	mov	eax, DWORD PTR -20[rbp]
	sub	eax, 1
	mov	esi, edx
	mov	edi, eax
	call	mine_open
.L63:
	cmp	DWORD PTR -20[rbp], 0
	js	.L64
	mov	eax, DWORD PTR size_x[rip]
	lea	edx, -1[rax]
	mov	eax, DWORD PTR -20[rbp]
	cmp	edx, eax
	jb	.L64
	cmp	DWORD PTR -24[rbp], -1
	jl	.L64
	mov	eax, DWORD PTR -24[rbp]
	add	eax, 1
	mov	edx, eax
	mov	eax, DWORD PTR size_y[rip]
	sub	eax, 1
	cmp	edx, eax
	ja	.L64
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 1[rax]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	add	rax, rcx
	movzx	eax, BYTE PTR 2[rax]
	xor	eax, 1
	test	al, al
	je	.L64
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 1[rax]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	xor	eax, 1
	test	al, al
	je	.L64
	mov	eax, DWORD PTR -24[rbp]
	lea	edx, 1[rax]
	mov	eax, DWORD PTR -20[rbp]
	mov	esi, edx
	mov	edi, eax
	call	mine_open
.L64:
	cmp	DWORD PTR -20[rbp], -1
	jl	.L45
	mov	eax, DWORD PTR -20[rbp]
	add	eax, 1
	mov	edx, eax
	mov	eax, DWORD PTR size_x[rip]
	sub	eax, 1
	cmp	edx, eax
	ja	.L45
	cmp	DWORD PTR -24[rbp], -1
	jl	.L45
	mov	eax, DWORD PTR -24[rbp]
	add	eax, 1
	mov	edx, eax
	mov	eax, DWORD PTR size_y[rip]
	sub	eax, 1
	cmp	edx, eax
	ja	.L45
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	add	rax, 1
	sal	rax, 3
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 1[rax]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	add	rax, rcx
	movzx	eax, BYTE PTR 2[rax]
	xor	eax, 1
	test	al, al
	je	.L45
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	add	rax, 1
	sal	rax, 3
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 1[rax]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	xor	eax, 1
	test	al, al
	je	.L45
	mov	eax, DWORD PTR -24[rbp]
	lea	edx, 1[rax]
	mov	eax, DWORD PTR -20[rbp]
	add	eax, 1
	mov	esi, edx
	mov	edi, eax
	call	mine_open
	jmp	.L45
.L57:
	mov	edx, DWORD PTR -24[rbp]
	mov	eax, DWORD PTR -20[rbp]
	mov	esi, edx
	mov	edi, eax
	call	flags_around
	cmp	DWORD PTR -4[rbp], eax
	jne	.L45
	cmp	DWORD PTR -20[rbp], 0
	jle	.L65
	mov	eax, DWORD PTR -20[rbp]
	sub	eax, 1
	mov	edx, eax
	mov	eax, DWORD PTR size_x[rip]
	sub	eax, 1
	cmp	edx, eax
	ja	.L65
	cmp	DWORD PTR -24[rbp], 0
	jle	.L65
	mov	eax, DWORD PTR -24[rbp]
	sub	eax, 1
	mov	edx, eax
	mov	eax, DWORD PTR size_y[rip]
	sub	eax, 1
	cmp	edx, eax
	ja	.L65
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sub	rax, 3
	add	rax, rcx
	movzx	eax, BYTE PTR 2[rax]
	xor	eax, 1
	test	al, al
	je	.L65
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sub	rax, 3
	add	rax, rcx
	movzx	eax, BYTE PTR 1[rax]
	xor	eax, 1
	test	al, al
	je	.L65
	mov	eax, DWORD PTR -24[rbp]
	lea	edx, -1[rax]
	mov	eax, DWORD PTR -20[rbp]
	sub	eax, 1
	mov	esi, edx
	mov	edi, eax
	call	mine_open
.L65:
	cmp	DWORD PTR -20[rbp], 0
	js	.L66
	mov	eax, DWORD PTR size_x[rip]
	lea	edx, -1[rax]
	mov	eax, DWORD PTR -20[rbp]
	cmp	edx, eax
	jb	.L66
	cmp	DWORD PTR -24[rbp], 0
	jle	.L66
	mov	eax, DWORD PTR -24[rbp]
	sub	eax, 1
	mov	edx, eax
	mov	eax, DWORD PTR size_y[rip]
	sub	eax, 1
	cmp	edx, eax
	ja	.L66
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sub	rax, 3
	add	rax, rcx
	movzx	eax, BYTE PTR 2[rax]
	xor	eax, 1
	test	al, al
	je	.L66
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sub	rax, 3
	add	rax, rcx
	movzx	eax, BYTE PTR 1[rax]
	xor	eax, 1
	test	al, al
	je	.L66
	mov	eax, DWORD PTR -24[rbp]
	lea	edx, -1[rax]
	mov	eax, DWORD PTR -20[rbp]
	mov	esi, edx
	mov	edi, eax
	call	mine_open
.L66:
	cmp	DWORD PTR -20[rbp], -1
	jl	.L67
	mov	eax, DWORD PTR -20[rbp]
	add	eax, 1
	mov	edx, eax
	mov	eax, DWORD PTR size_x[rip]
	sub	eax, 1
	cmp	edx, eax
	ja	.L67
	cmp	DWORD PTR -24[rbp], 0
	jle	.L67
	mov	eax, DWORD PTR -24[rbp]
	sub	eax, 1
	mov	edx, eax
	mov	eax, DWORD PTR size_y[rip]
	sub	eax, 1
	cmp	edx, eax
	ja	.L67
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	add	rax, 1
	sal	rax, 3
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sub	rax, 3
	add	rax, rcx
	movzx	eax, BYTE PTR 2[rax]
	xor	eax, 1
	test	al, al
	je	.L67
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	add	rax, 1
	sal	rax, 3
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sub	rax, 3
	add	rax, rcx
	movzx	eax, BYTE PTR 1[rax]
	xor	eax, 1
	test	al, al
	je	.L67
	mov	eax, DWORD PTR -24[rbp]
	lea	edx, -1[rax]
	mov	eax, DWORD PTR -20[rbp]
	add	eax, 1
	mov	esi, edx
	mov	edi, eax
	call	mine_open
.L67:
	cmp	DWORD PTR -20[rbp], 0
	jle	.L68
	mov	eax, DWORD PTR -20[rbp]
	sub	eax, 1
	mov	edx, eax
	mov	eax, DWORD PTR size_x[rip]
	sub	eax, 1
	cmp	edx, eax
	ja	.L68
	cmp	DWORD PTR -24[rbp], 0
	js	.L68
	mov	eax, DWORD PTR size_y[rip]
	lea	edx, -1[rax]
	mov	eax, DWORD PTR -24[rbp]
	cmp	edx, eax
	jb	.L68
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	add	rax, rcx
	movzx	eax, BYTE PTR 2[rax]
	xor	eax, 1
	test	al, al
	je	.L68
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	add	rax, rcx
	movzx	eax, BYTE PTR 1[rax]
	xor	eax, 1
	test	al, al
	je	.L68
	mov	eax, DWORD PTR -20[rbp]
	lea	edx, -1[rax]
	mov	eax, DWORD PTR -24[rbp]
	mov	esi, eax
	mov	edi, edx
	call	mine_open
.L68:
	cmp	DWORD PTR -20[rbp], -1
	jl	.L69
	mov	eax, DWORD PTR -20[rbp]
	add	eax, 1
	mov	edx, eax
	mov	eax, DWORD PTR size_x[rip]
	sub	eax, 1
	cmp	edx, eax
	ja	.L69
	cmp	DWORD PTR -24[rbp], 0
	js	.L69
	mov	eax, DWORD PTR size_y[rip]
	lea	edx, -1[rax]
	mov	eax, DWORD PTR -24[rbp]
	cmp	edx, eax
	jb	.L69
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	add	rax, 1
	sal	rax, 3
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	add	rax, rcx
	movzx	eax, BYTE PTR 2[rax]
	xor	eax, 1
	test	al, al
	je	.L69
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	add	rax, 1
	sal	rax, 3
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	add	rax, rcx
	movzx	eax, BYTE PTR 1[rax]
	xor	eax, 1
	test	al, al
	je	.L69
	mov	eax, DWORD PTR -20[rbp]
	lea	edx, 1[rax]
	mov	eax, DWORD PTR -24[rbp]
	mov	esi, eax
	mov	edi, edx
	call	mine_open
.L69:
	cmp	DWORD PTR -20[rbp], 0
	jle	.L70
	mov	eax, DWORD PTR -20[rbp]
	sub	eax, 1
	mov	edx, eax
	mov	eax, DWORD PTR size_x[rip]
	sub	eax, 1
	cmp	edx, eax
	ja	.L70
	cmp	DWORD PTR -24[rbp], -1
	jl	.L70
	mov	eax, DWORD PTR -24[rbp]
	add	eax, 1
	mov	edx, eax
	mov	eax, DWORD PTR size_y[rip]
	sub	eax, 1
	cmp	edx, eax
	ja	.L70
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 1[rax]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	add	rax, rcx
	movzx	eax, BYTE PTR 2[rax]
	xor	eax, 1
	test	al, al
	je	.L70
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 1[rax]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	add	rax, rcx
	movzx	eax, BYTE PTR 1[rax]
	xor	eax, 1
	test	al, al
	je	.L70
	mov	eax, DWORD PTR -24[rbp]
	lea	edx, 1[rax]
	mov	eax, DWORD PTR -20[rbp]
	sub	eax, 1
	mov	esi, edx
	mov	edi, eax
	call	mine_open
.L70:
	cmp	DWORD PTR -20[rbp], 0
	js	.L71
	mov	eax, DWORD PTR size_x[rip]
	lea	edx, -1[rax]
	mov	eax, DWORD PTR -20[rbp]
	cmp	edx, eax
	jb	.L71
	cmp	DWORD PTR -24[rbp], -1
	jl	.L71
	mov	eax, DWORD PTR -24[rbp]
	add	eax, 1
	mov	edx, eax
	mov	eax, DWORD PTR size_y[rip]
	sub	eax, 1
	cmp	edx, eax
	ja	.L71
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 1[rax]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	add	rax, rcx
	movzx	eax, BYTE PTR 2[rax]
	xor	eax, 1
	test	al, al
	je	.L71
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 1[rax]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	add	rax, rcx
	movzx	eax, BYTE PTR 1[rax]
	xor	eax, 1
	test	al, al
	je	.L71
	mov	eax, DWORD PTR -24[rbp]
	lea	edx, 1[rax]
	mov	eax, DWORD PTR -20[rbp]
	mov	esi, edx
	mov	edi, eax
	call	mine_open
.L71:
	cmp	DWORD PTR -20[rbp], -1
	jl	.L45
	mov	eax, DWORD PTR -20[rbp]
	add	eax, 1
	mov	edx, eax
	mov	eax, DWORD PTR size_x[rip]
	sub	eax, 1
	cmp	edx, eax
	ja	.L45
	cmp	DWORD PTR -24[rbp], -1
	jl	.L45
	mov	eax, DWORD PTR -24[rbp]
	add	eax, 1
	mov	edx, eax
	mov	eax, DWORD PTR size_y[rip]
	sub	eax, 1
	cmp	edx, eax
	ja	.L45
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	add	rax, 1
	sal	rax, 3
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 1[rax]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	add	rax, rcx
	movzx	eax, BYTE PTR 2[rax]
	xor	eax, 1
	test	al, al
	je	.L45
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	add	rax, 1
	sal	rax, 3
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 1[rax]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	add	rax, rcx
	movzx	eax, BYTE PTR 1[rax]
	xor	eax, 1
	test	al, al
	je	.L45
	mov	eax, DWORD PTR -24[rbp]
	lea	edx, 1[rax]
	mov	eax, DWORD PTR -20[rbp]
	add	eax, 1
	mov	esi, edx
	mov	edi, eax
	call	mine_open
	jmp	.L45
.L72:
	nop
.L45:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	mine_open, .-mine_open
	.globl	render_border
	.type	render_border, @function
render_border:
.LFB11:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	DWORD PTR -4[rbp], edi
	mov	DWORD PTR -8[rbp], esi
	mov	DWORD PTR -12[rbp], edx
	mov	DWORD PTR -16[rbp], ecx
	mov	rax, QWORD PTR stdscr[rip]
	mov	edx, DWORD PTR -8[rbp]
	mov	ecx, DWORD PTR -4[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	wmove@PLT
	cmp	eax, -1
	je	.L75
	mov	eax, DWORD PTR -16[rbp]
	sub	eax, DWORD PTR -8[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR stdscr[rip]
	mov	esi, 0
	mov	rdi, rax
	call	whline@PLT
.L75:
	mov	rax, QWORD PTR stdscr[rip]
	mov	edx, DWORD PTR -8[rbp]
	mov	ecx, DWORD PTR -12[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	wmove@PLT
	cmp	eax, -1
	je	.L77
	mov	eax, DWORD PTR -16[rbp]
	sub	eax, DWORD PTR -8[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR stdscr[rip]
	mov	esi, 0
	mov	rdi, rax
	call	whline@PLT
.L77:
	mov	rax, QWORD PTR stdscr[rip]
	mov	edx, DWORD PTR -8[rbp]
	mov	ecx, DWORD PTR -4[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	wmove@PLT
	cmp	eax, -1
	je	.L79
	mov	eax, DWORD PTR -12[rbp]
	sub	eax, DWORD PTR -4[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR stdscr[rip]
	mov	esi, 0
	mov	rdi, rax
	call	wvline@PLT
.L79:
	mov	rax, QWORD PTR stdscr[rip]
	mov	edx, DWORD PTR -16[rbp]
	mov	ecx, DWORD PTR -4[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	wmove@PLT
	cmp	eax, -1
	je	.L81
	mov	eax, DWORD PTR -12[rbp]
	sub	eax, DWORD PTR -4[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR stdscr[rip]
	mov	esi, 0
	mov	rdi, rax
	call	wvline@PLT
.L81:
	mov	rax, QWORD PTR stdscr[rip]
	mov	edx, DWORD PTR -8[rbp]
	mov	ecx, DWORD PTR -4[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	wmove@PLT
	cmp	eax, -1
	je	.L83
	mov	edx, DWORD PTR acs_map[rip+432]
	mov	rax, QWORD PTR stdscr[rip]
	mov	esi, edx
	mov	rdi, rax
	call	waddch@PLT
.L83:
	mov	rax, QWORD PTR stdscr[rip]
	mov	edx, DWORD PTR -8[rbp]
	mov	ecx, DWORD PTR -12[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	wmove@PLT
	cmp	eax, -1
	je	.L85
	mov	edx, DWORD PTR acs_map[rip+436]
	mov	rax, QWORD PTR stdscr[rip]
	mov	esi, edx
	mov	rdi, rax
	call	waddch@PLT
.L85:
	mov	rax, QWORD PTR stdscr[rip]
	mov	edx, DWORD PTR -16[rbp]
	mov	ecx, DWORD PTR -4[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	wmove@PLT
	cmp	eax, -1
	je	.L87
	mov	edx, DWORD PTR acs_map[rip+428]
	mov	rax, QWORD PTR stdscr[rip]
	mov	esi, edx
	mov	rdi, rax
	call	waddch@PLT
.L87:
	mov	rax, QWORD PTR stdscr[rip]
	mov	edx, DWORD PTR -16[rbp]
	mov	ecx, DWORD PTR -12[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	wmove@PLT
	cmp	eax, -1
	je	.L90
	mov	edx, DWORD PTR acs_map[rip+424]
	mov	rax, QWORD PTR stdscr[rip]
	mov	esi, edx
	mov	rdi, rax
	call	waddch@PLT
.L90:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	render_border, .-render_border
	.section	.rodata
.LC0:
	.string	"  "
.LC1:
	.string	"* "
.LC2:
	.string	"FF"
.LC3:
	.string	"%03d"
.LC4:
	.string	"%02d"
	.align 8
.LC5:
	.string	"You lose. Press any key to menu"
	.align 8
.LC6:
	.string	"You win! Press any key to menu"
	.align 8
.LC7:
	.string	"flag(f) open(space) quit(q) menu(m)"
.LC8:
	.string	"%-35s"
	.text
	.globl	render
	.type	render, @function
render:
.LFB12:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR stdscr[rip]
	mov	rdi, rax
	call	wclear@PLT
	mov	rax, QWORD PTR stdscr[rip]
	mov	esi, 256
	mov	rdi, rax
	call	wbkgd@PLT
	mov	rax, QWORD PTR stdscr[rip]
	test	rax, rax
	je	.L92
	mov	rax, QWORD PTR stdscr[rip]
	movzx	eax, WORD PTR 4[rax]
	cwde
	add	eax, 1
	jmp	.L93
.L92:
	mov	eax, -1
.L93:
	mov	DWORD PTR scr_x[rip], eax
	mov	rax, QWORD PTR stdscr[rip]
	test	rax, rax
	je	.L94
	mov	rax, QWORD PTR stdscr[rip]
	movzx	eax, WORD PTR 6[rax]
	cwde
	add	eax, 1
	jmp	.L95
.L94:
	mov	eax, -1
.L95:
	mov	DWORD PTR scr_y[rip], eax
	mov	eax, DWORD PTR scr_x[rip]
	shr	eax
	mov	edx, eax
	mov	eax, DWORD PTR size_x[rip]
	shr	eax
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	sub	eax, 2
	mov	DWORD PTR -36[rbp], eax
	mov	eax, DWORD PTR scr_y[rip]
	shr	eax
	mov	edx, DWORD PTR size_y[rip]
	sub	eax, edx
	sub	eax, 2
	mov	DWORD PTR -32[rbp], eax
	mov	DWORD PTR -56[rbp], 0
	mov	rax, QWORD PTR field[rip]
	test	rax, rax
	je	.L96
	mov	DWORD PTR -52[rbp], 0
	jmp	.L97
.L102:
	mov	DWORD PTR -48[rbp], 0
	jmp	.L98
.L101:
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -52[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -48[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	add	rax, rcx
	movzx	eax, BYTE PTR 2[rax]
	xor	eax, 1
	test	al, al
	jne	.L99
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -52[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -48[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	add	rax, rcx
	movzx	eax, BYTE PTR 2[rax]
	test	al, al
	je	.L100
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -52[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -48[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L100
.L99:
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -52[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -48[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	add	rax, rcx
	movzx	eax, BYTE PTR 1[rax]
	test	al, al
	je	.L100
	add	DWORD PTR -56[rbp], 1
.L100:
	add	DWORD PTR -48[rbp], 1
.L98:
	mov	edx, DWORD PTR -48[rbp]
	mov	eax, DWORD PTR size_y[rip]
	cmp	edx, eax
	jb	.L101
	add	DWORD PTR -52[rbp], 1
.L97:
	mov	edx, DWORD PTR -52[rbp]
	mov	eax, DWORD PTR size_x[rip]
	cmp	edx, eax
	jb	.L102
.L96:
	mov	eax, DWORD PTR size_y[rip]
	lea	edx, [rax+rax]
	mov	eax, DWORD PTR -32[rbp]
	add	eax, edx
	mov	ecx, eax
	mov	edx, DWORD PTR -36[rbp]
	mov	eax, DWORD PTR size_x[rip]
	add	eax, edx
	mov	edx, eax
	mov	eax, DWORD PTR -32[rbp]
	lea	esi, -1[rax]
	mov	eax, DWORD PTR -36[rbp]
	sub	eax, 1
	mov	edi, eax
	call	render_border
	mov	DWORD PTR -44[rbp], 0
	jmp	.L103
.L137:
	mov	DWORD PTR -40[rbp], 0
	jmp	.L104
.L136:
	mov	edx, DWORD PTR cur_x[rip]
	mov	eax, DWORD PTR -44[rbp]
	cmp	edx, eax
	jne	.L105
	mov	edx, DWORD PTR cur_y[rip]
	mov	eax, DWORD PTR -40[rbp]
	cmp	edx, eax
	jne	.L105
	mov	eax, 1
	jmp	.L106
.L105:
	mov	eax, 0
.L106:
	mov	BYTE PTR -57[rbp], al
	and	BYTE PTR -57[rbp], 1
	mov	rax, QWORD PTR field[rip]
	test	rax, rax
	jne	.L107
	cmp	BYTE PTR -57[rbp], 0
	je	.L108
	mov	ecx, 3328
	jmp	.L109
.L108:
	mov	ecx, 3584
.L109:
	mov	rax, QWORD PTR stdscr[rip]
	mov	edx, 0
	mov	esi, ecx
	mov	rdi, rax
	call	wattr_on@PLT
	mov	eax, DWORD PTR -40[rbp]
	lea	edx, [rax+rax]
	mov	eax, DWORD PTR -32[rbp]
	lea	ecx, [rdx+rax]
	mov	edx, DWORD PTR -36[rbp]
	mov	eax, DWORD PTR -44[rbp]
	add	eax, edx
	lea	rdx, .LC0[rip]
	mov	esi, ecx
	mov	edi, eax
	mov	eax, 0
	call	mvprintw@PLT
	jmp	.L110
.L107:
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -40[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	add	rax, rcx
	movzx	eax, BYTE PTR 2[rax]
	test	al, al
	je	.L111
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -40[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L111
	movzx	eax, BYTE PTR -57[rbp]
	xor	eax, 1
	test	al, al
	je	.L112
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -40[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	add	rax, rcx
	movzx	eax, BYTE PTR 1[rax]
	test	al, al
	je	.L113
	mov	eax, 2816
	jmp	.L115
.L113:
	mov	eax, 2560
	jmp	.L115
.L112:
	mov	eax, 3328
.L115:
	mov	rcx, QWORD PTR stdscr[rip]
	mov	edx, 0
	mov	esi, eax
	mov	rdi, rcx
	call	wattr_on@PLT
	mov	eax, DWORD PTR -40[rbp]
	lea	edx, [rax+rax]
	mov	eax, DWORD PTR -32[rbp]
	lea	ecx, [rdx+rax]
	mov	edx, DWORD PTR -36[rbp]
	mov	eax, DWORD PTR -44[rbp]
	add	eax, edx
	lea	rdx, .LC1[rip]
	mov	esi, ecx
	mov	edi, eax
	mov	eax, 0
	call	mvprintw@PLT
	jmp	.L110
.L111:
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -40[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	add	rax, rcx
	movzx	eax, BYTE PTR 2[rax]
	test	al, al
	je	.L116
	mov	ecx, DWORD PTR -40[rbp]
	mov	eax, DWORD PTR -44[rbp]
	mov	edx, 1
	mov	esi, ecx
	mov	edi, eax
	call	mines_around
	mov	DWORD PTR -28[rbp], eax
	cmp	DWORD PTR -28[rbp], 0
	jne	.L117
	cmp	BYTE PTR -57[rbp], 0
	je	.L118
	mov	ecx, 3328
	jmp	.L119
.L118:
	mov	ecx, 3840
.L119:
	mov	rax, QWORD PTR stdscr[rip]
	mov	edx, 0
	mov	esi, ecx
	mov	rdi, rax
	call	wattr_on@PLT
.L117:
	cmp	DWORD PTR -28[rbp], 1
	jne	.L120
	cmp	BYTE PTR -57[rbp], 0
	je	.L121
	mov	ecx, 3328
	jmp	.L122
.L121:
	mov	ecx, 4096
.L122:
	mov	rax, QWORD PTR stdscr[rip]
	mov	edx, 0
	mov	esi, ecx
	mov	rdi, rax
	call	wattr_on@PLT
.L120:
	cmp	DWORD PTR -28[rbp], 2
	jne	.L123
	cmp	BYTE PTR -57[rbp], 0
	je	.L124
	mov	ecx, 3328
	jmp	.L125
.L124:
	mov	ecx, 4352
.L125:
	mov	rax, QWORD PTR stdscr[rip]
	mov	edx, 0
	mov	esi, ecx
	mov	rdi, rax
	call	wattr_on@PLT
.L123:
	cmp	DWORD PTR -28[rbp], 2
	jle	.L126
	cmp	BYTE PTR -57[rbp], 0
	je	.L127
	mov	ecx, 3328
	jmp	.L128
.L127:
	mov	ecx, 4608
.L128:
	mov	rax, QWORD PTR stdscr[rip]
	mov	edx, 0
	mov	esi, ecx
	mov	rdi, rax
	call	wattr_on@PLT
.L126:
	mov	WORD PTR -11[rbp], 0
	mov	BYTE PTR -9[rbp], 0
	cmp	DWORD PTR -28[rbp], 0
	je	.L129
	mov	eax, DWORD PTR -28[rbp]
	add	eax, 48
	jmp	.L130
.L129:
	mov	eax, 32
.L130:
	mov	BYTE PTR -11[rbp], al
	mov	BYTE PTR -10[rbp], 32
	mov	eax, DWORD PTR -40[rbp]
	lea	edx, [rax+rax]
	mov	eax, DWORD PTR -32[rbp]
	lea	esi, [rdx+rax]
	mov	edx, DWORD PTR -36[rbp]
	mov	eax, DWORD PTR -44[rbp]
	lea	ecx, [rdx+rax]
	lea	rax, -11[rbp]
	mov	rdx, rax
	mov	edi, ecx
	mov	eax, 0
	call	mvprintw@PLT
	jmp	.L110
.L116:
	mov	rdx, QWORD PTR field[rip]
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -40[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	add	rax, rcx
	movzx	eax, BYTE PTR 1[rax]
	test	al, al
	je	.L131
	cmp	BYTE PTR -57[rbp], 0
	je	.L132
	mov	ecx, 3328
	jmp	.L133
.L132:
	mov	ecx, 3072
.L133:
	mov	rax, QWORD PTR stdscr[rip]
	mov	edx, 0
	mov	esi, ecx
	mov	rdi, rax
	call	wattr_on@PLT
	mov	eax, DWORD PTR -40[rbp]
	lea	edx, [rax+rax]
	mov	eax, DWORD PTR -32[rbp]
	lea	ecx, [rdx+rax]
	mov	edx, DWORD PTR -36[rbp]
	mov	eax, DWORD PTR -44[rbp]
	add	eax, edx
	lea	rdx, .LC2[rip]
	mov	esi, ecx
	mov	edi, eax
	mov	eax, 0
	call	mvprintw@PLT
	jmp	.L110
.L131:
	cmp	BYTE PTR -57[rbp], 0
	je	.L134
	mov	ecx, 3328
	jmp	.L135
.L134:
	mov	ecx, 3584
.L135:
	mov	rax, QWORD PTR stdscr[rip]
	mov	edx, 0
	mov	esi, ecx
	mov	rdi, rax
	call	wattr_on@PLT
	mov	eax, DWORD PTR -40[rbp]
	lea	edx, [rax+rax]
	mov	eax, DWORD PTR -32[rbp]
	lea	ecx, [rdx+rax]
	mov	edx, DWORD PTR -36[rbp]
	mov	eax, DWORD PTR -44[rbp]
	add	eax, edx
	lea	rdx, .LC0[rip]
	mov	esi, ecx
	mov	edi, eax
	mov	eax, 0
	call	mvprintw@PLT
.L110:
	add	DWORD PTR -40[rbp], 1
.L104:
	mov	edx, DWORD PTR -40[rbp]
	mov	eax, DWORD PTR size_y[rip]
	cmp	edx, eax
	jb	.L136
	mov	rax, QWORD PTR stdscr[rip]
	mov	edx, 0
	mov	esi, 256
	mov	rdi, rax
	call	wattr_on@PLT
	add	DWORD PTR -44[rbp], 1
.L103:
	mov	edx, DWORD PTR -44[rbp]
	mov	eax, DWORD PTR size_x[rip]
	cmp	edx, eax
	jb	.L137
	mov	rax, QWORD PTR time_start[rip]
	test	rax, rax
	je	.L138
	mov	edi, 0
	call	time@PLT
	mov	rcx, QWORD PTR time_start[rip]
	sub	rax, rcx
	mov	rdx, rax
	jmp	.L139
.L138:
	mov	edx, 0
.L139:
	mov	eax, DWORD PTR -36[rbp]
	lea	edi, -1[rax]
	mov	eax, DWORD PTR -32[rbp]
	mov	rcx, rdx
	lea	rdx, .LC3[rip]
	mov	esi, eax
	mov	eax, 0
	call	mvprintw@PLT
	mov	eax, DWORD PTR mines[rip]
	mov	ecx, DWORD PTR -56[rbp]
	sub	eax, ecx
	mov	edx, eax
	mov	eax, DWORD PTR size_y[rip]
	lea	ecx, [rax+rax]
	mov	eax, DWORD PTR -32[rbp]
	add	eax, ecx
	sub	eax, 2
	mov	esi, eax
	mov	eax, DWORD PTR -36[rbp]
	sub	eax, 1
	mov	ecx, edx
	lea	rdx, .LC4[rip]
	mov	edi, eax
	mov	eax, 0
	call	mvprintw@PLT
	mov	eax, DWORD PTR size_y[rip]
	lea	edx, [rax+rax]
	mov	eax, DWORD PTR -32[rbp]
	add	eax, edx
	add	eax, 10
	mov	ecx, eax
	mov	edx, DWORD PTR -36[rbp]
	mov	eax, DWORD PTR size_x[rip]
	add	eax, edx
	add	eax, 3
	mov	esi, eax
	mov	eax, DWORD PTR -32[rbp]
	sub	eax, 11
	mov	edi, DWORD PTR -36[rbp]
	mov	edx, DWORD PTR size_x[rip]
	add	edx, edi
	add	edx, 1
	mov	edi, edx
	mov	edx, esi
	mov	esi, eax
	call	render_border
	mov	eax, DWORD PTR st_game[rip]
	cmp	eax, 1
	je	.L140
	cmp	eax, 2
	je	.L141
	jmp	.L145
.L140:
	lea	rax, .LC5[rip]
	mov	QWORD PTR -24[rbp], rax
	jmp	.L143
.L141:
	lea	rax, .LC6[rip]
	mov	QWORD PTR -24[rbp], rax
	jmp	.L143
.L145:
	lea	rax, .LC7[rip]
	mov	QWORD PTR -24[rbp], rax
	nop
.L143:
	mov	eax, DWORD PTR -32[rbp]
	lea	esi, -9[rax]
	mov	edx, DWORD PTR -36[rbp]
	mov	eax, DWORD PTR size_x[rip]
	add	eax, edx
	add	eax, 2
	mov	edi, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, rax
	lea	rdx, .LC8[rip]
	mov	eax, 0
	call	mvprintw@PLT
	mov	rax, QWORD PTR stdscr[rip]
	mov	rdi, rax
	call	wrefresh@PLT
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L144
	call	__stack_chk_fail@PLT
.L144:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE12:
	.size	render, .-render
	.globl	start_game
	.type	start_game, @function
start_game:
.LFB13:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR st_game[rip], 0
	mov	DWORD PTR cur_x[rip], 0
	mov	DWORD PTR cur_y[rip], 0
	mov	QWORD PTR field[rip], 0
	mov	QWORD PTR time_start[rip], 0
	mov	eax, 0
	call	render
	mov	rax, QWORD PTR stdscr[rip]
	mov	esi, 100
	mov	rdi, rax
	call	wtimeout@PLT
.L165:
	mov	rax, QWORD PTR stdscr[rip]
	mov	rdi, rax
	call	wgetch@PLT
	cmp	eax, 32
	je	.L147
	cmp	eax, 32
	jl	.L166
	cmp	eax, 113
	jg	.L166
	cmp	eax, 65
	jl	.L166
	sub	eax, 65
	cmp	eax, 48
	ja	.L166
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L150[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L150[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L150:
	.long	.L156-.L150
	.long	.L155-.L150
	.long	.L154-.L150
	.long	.L153-.L150
	.long	.L166-.L150
	.long	.L166-.L150
	.long	.L166-.L150
	.long	.L166-.L150
	.long	.L166-.L150
	.long	.L166-.L150
	.long	.L166-.L150
	.long	.L166-.L150
	.long	.L166-.L150
	.long	.L166-.L150
	.long	.L166-.L150
	.long	.L166-.L150
	.long	.L166-.L150
	.long	.L166-.L150
	.long	.L166-.L150
	.long	.L166-.L150
	.long	.L166-.L150
	.long	.L166-.L150
	.long	.L166-.L150
	.long	.L166-.L150
	.long	.L166-.L150
	.long	.L166-.L150
	.long	.L166-.L150
	.long	.L166-.L150
	.long	.L166-.L150
	.long	.L166-.L150
	.long	.L166-.L150
	.long	.L166-.L150
	.long	.L166-.L150
	.long	.L166-.L150
	.long	.L166-.L150
	.long	.L166-.L150
	.long	.L166-.L150
	.long	.L152-.L150
	.long	.L166-.L150
	.long	.L166-.L150
	.long	.L166-.L150
	.long	.L166-.L150
	.long	.L166-.L150
	.long	.L166-.L150
	.long	.L167-.L150
	.long	.L166-.L150
	.long	.L166-.L150
	.long	.L166-.L150
	.long	.L149-.L150
	.text
.L156:
	mov	eax, DWORD PTR cur_x[rip]
	test	eax, eax
	je	.L168
	mov	eax, DWORD PTR cur_x[rip]
	sub	eax, 1
	mov	DWORD PTR cur_x[rip], eax
	jmp	.L168
.L155:
	mov	eax, DWORD PTR size_x[rip]
	lea	edx, -1[rax]
	mov	eax, DWORD PTR cur_x[rip]
	cmp	edx, eax
	jbe	.L169
	mov	eax, DWORD PTR cur_x[rip]
	add	eax, 1
	mov	DWORD PTR cur_x[rip], eax
	jmp	.L169
.L154:
	mov	eax, DWORD PTR size_y[rip]
	lea	edx, -1[rax]
	mov	eax, DWORD PTR cur_y[rip]
	cmp	edx, eax
	jbe	.L170
	mov	eax, DWORD PTR cur_y[rip]
	add	eax, 1
	mov	DWORD PTR cur_y[rip], eax
	jmp	.L170
.L153:
	mov	eax, DWORD PTR cur_y[rip]
	test	eax, eax
	je	.L171
	mov	eax, DWORD PTR cur_y[rip]
	sub	eax, 1
	mov	DWORD PTR cur_y[rip], eax
	jmp	.L171
.L147:
	mov	rax, QWORD PTR field[rip]
	test	rax, rax
	jne	.L162
	mov	eax, 0
	call	gen_field
.L162:
	mov	eax, DWORD PTR cur_y[rip]
	mov	edx, eax
	mov	eax, DWORD PTR cur_x[rip]
	mov	esi, edx
	mov	edi, eax
	call	mine_open
	jmp	.L158
.L152:
	mov	rax, QWORD PTR field[rip]
	test	rax, rax
	je	.L172
	mov	rax, QWORD PTR field[rip]
	mov	edx, DWORD PTR cur_x[rip]
	mov	edx, edx
	sal	rdx, 3
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR cur_y[rip]
	mov	ecx, eax
	mov	rax, rcx
	add	rax, rax
	add	rax, rcx
	add	rax, rdx
	movzx	eax, BYTE PTR 1[rax]
	movzx	eax, al
	test	eax, eax
	setne	al
	xor	eax, 1
	movzx	ecx, al
	mov	rax, QWORD PTR field[rip]
	mov	edx, DWORD PTR cur_x[rip]
	mov	edx, edx
	sal	rdx, 3
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR cur_y[rip]
	mov	esi, eax
	mov	rax, rsi
	add	rax, rax
	add	rax, rsi
	add	rdx, rax
	mov	eax, ecx
	and	eax, 1
	mov	BYTE PTR 1[rdx], al
	jmp	.L158
.L149:
	mov	BYTE PTR quit[rip], 1
	jmp	.L146
.L166:
	nop
	jmp	.L158
.L168:
	nop
	jmp	.L158
.L169:
	nop
	jmp	.L158
.L170:
	nop
	jmp	.L158
.L171:
	nop
	jmp	.L158
.L172:
	nop
.L158:
	mov	eax, 0
	call	render
	mov	eax, DWORD PTR st_game[rip]
	test	eax, eax
	je	.L165
	mov	rax, QWORD PTR stdscr[rip]
	mov	esi, -1
	mov	rdi, rax
	call	wtimeout@PLT
	mov	rax, QWORD PTR stdscr[rip]
	mov	rdi, rax
	call	wgetch@PLT
	jmp	.L146
.L167:
	nop
.L146:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE13:
	.size	start_game, .-start_game
	.section	.rodata
	.align 8
.LC9:
	.string	"Your terminal does not support color"
.LC10:
	.string	"nMines 0.1.0"
.LC11:
	.string	"   Difficulty   "
.LC12:
	.string	"   Easy (8x8)   "
.LC13:
	.string	" Medium (16x16) "
.LC14:
	.string	"  Hard (32x16)  "
.LC15:
	.string	" Expert (32x16) "
.LC16:
	.string	"      Exit      "
	.text
	.globl	main
	.type	main, @function
main:
.LFB14:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	DWORD PTR -36[rbp], edi
	mov	QWORD PTR -48[rbp], rsi
	call	initscr@PLT
	call	noecho@PLT
	mov	edi, 0
	call	curs_set@PLT
	call	has_colors@PLT
	xor	eax, 1
	test	al, al
	je	.L174
	call	endwin@PLT
	lea	rdi, .LC9[rip]
	call	puts@PLT
	mov	edi, 1
	call	exit@PLT
.L174:
	call	start_color@PLT
	mov	edx, 0
	mov	esi, 7
	mov	edi, 1
	call	init_pair@PLT
	mov	edx, 3
	mov	esi, 7
	mov	edi, 12
	call	init_pair@PLT
	mov	edx, 1
	mov	esi, 7
	mov	edi, 10
	call	init_pair@PLT
	mov	edx, 2
	mov	esi, 7
	mov	edi, 11
	call	init_pair@PLT
	mov	edx, 6
	mov	esi, 0
	mov	edi, 13
	call	init_pair@PLT
	mov	edx, 0
	mov	esi, 7
	mov	edi, 14
	call	init_pair@PLT
	mov	edx, 7
	mov	esi, 0
	mov	edi, 15
	call	init_pair@PLT
	mov	edx, 7
	mov	esi, 4
	mov	edi, 16
	call	init_pair@PLT
	mov	edx, 7
	mov	esi, 2
	mov	edi, 17
	call	init_pair@PLT
	mov	edx, 7
	mov	esi, 1
	mov	edi, 18
	call	init_pair@PLT
	mov	edx, 4
	mov	esi, 7
	mov	edi, 20
	call	init_pair@PLT
	mov	rax, QWORD PTR stdscr[rip]
	mov	esi, 256
	mov	rdi, rax
	call	wbkgd@PLT
	mov	DWORD PTR -24[rbp], 0
	mov	DWORD PTR -20[rbp], 5
	mov	rax, QWORD PTR stdscr[rip]
	mov	esi, 100
	mov	rdi, rax
	call	wtimeout@PLT
	jmp	.L175
.L195:
	mov	rax, QWORD PTR stdscr[rip]
	mov	rdi, rax
	call	wclear@PLT
	mov	rax, QWORD PTR stdscr[rip]
	mov	esi, 256
	mov	rdi, rax
	call	wbkgd@PLT
	mov	rax, QWORD PTR stdscr[rip]
	test	rax, rax
	je	.L176
	mov	rax, QWORD PTR stdscr[rip]
	movzx	eax, WORD PTR 4[rax]
	cwde
	add	eax, 1
	jmp	.L177
.L176:
	mov	eax, -1
.L177:
	mov	DWORD PTR scr_x[rip], eax
	mov	rax, QWORD PTR stdscr[rip]
	test	rax, rax
	je	.L178
	mov	rax, QWORD PTR stdscr[rip]
	movzx	eax, WORD PTR 6[rax]
	cwde
	add	eax, 1
	jmp	.L179
.L178:
	mov	eax, -1
.L179:
	mov	DWORD PTR scr_y[rip], eax
	mov	DWORD PTR -16[rbp], 5
	mov	DWORD PTR -12[rbp], 15
	mov	eax, DWORD PTR scr_x[rip]
	shr	eax
	mov	edx, eax
	mov	eax, DWORD PTR -16[rbp]
	mov	ecx, eax
	shr	ecx, 31
	add	eax, ecx
	sar	eax
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	sub	eax, 2
	mov	DWORD PTR -8[rbp], eax
	mov	eax, DWORD PTR scr_y[rip]
	shr	eax
	mov	edx, DWORD PTR -12[rbp]
	sub	eax, edx
	sub	eax, 2
	mov	DWORD PTR -4[rbp], eax
	mov	edx, DWORD PTR -4[rbp]
	mov	eax, DWORD PTR -12[rbp]
	add	eax, edx
	lea	ecx, 1[rax]
	mov	edx, DWORD PTR -8[rbp]
	mov	eax, DWORD PTR -16[rbp]
	add	eax, edx
	lea	edx, 1[rax]
	mov	eax, DWORD PTR -4[rbp]
	lea	esi, -1[rax]
	mov	eax, DWORD PTR -8[rbp]
	sub	eax, 1
	mov	edi, eax
	call	render_border
	mov	eax, DWORD PTR -4[rbp]
	lea	ecx, 2[rax]
	mov	eax, DWORD PTR -8[rbp]
	sub	eax, 1
	lea	rdx, .LC10[rip]
	mov	esi, ecx
	mov	edi, eax
	mov	eax, 0
	call	mvprintw@PLT
	mov	rax, QWORD PTR stdscr[rip]
	mov	edx, 0
	mov	esi, 2097152
	mov	rdi, rax
	call	wattr_on@PLT
	mov	ecx, DWORD PTR -4[rbp]
	mov	eax, DWORD PTR -8[rbp]
	lea	rdx, .LC11[rip]
	mov	esi, ecx
	mov	edi, eax
	mov	eax, 0
	call	mvprintw@PLT
	mov	rax, QWORD PTR stdscr[rip]
	mov	edx, 0
	mov	esi, 2097152
	mov	rdi, rax
	call	wattr_off@PLT
	cmp	DWORD PTR -24[rbp], 0
	jne	.L180
	mov	rax, QWORD PTR stdscr[rip]
	mov	edx, 0
	mov	esi, 5120
	mov	rdi, rax
	call	wattr_on@PLT
.L180:
	mov	eax, DWORD PTR -8[rbp]
	lea	ecx, 1[rax]
	mov	eax, DWORD PTR -4[rbp]
	lea	rdx, .LC12[rip]
	mov	esi, eax
	mov	edi, ecx
	mov	eax, 0
	call	mvprintw@PLT
	mov	rax, QWORD PTR stdscr[rip]
	mov	edx, 0
	mov	esi, 256
	mov	rdi, rax
	call	wattr_on@PLT
	cmp	DWORD PTR -24[rbp], 1
	jne	.L181
	mov	rax, QWORD PTR stdscr[rip]
	mov	edx, 0
	mov	esi, 5120
	mov	rdi, rax
	call	wattr_on@PLT
.L181:
	mov	eax, DWORD PTR -8[rbp]
	lea	ecx, 2[rax]
	mov	eax, DWORD PTR -4[rbp]
	lea	rdx, .LC13[rip]
	mov	esi, eax
	mov	edi, ecx
	mov	eax, 0
	call	mvprintw@PLT
	mov	rax, QWORD PTR stdscr[rip]
	mov	edx, 0
	mov	esi, 256
	mov	rdi, rax
	call	wattr_on@PLT
	cmp	DWORD PTR -24[rbp], 2
	jne	.L182
	mov	rax, QWORD PTR stdscr[rip]
	mov	edx, 0
	mov	esi, 5120
	mov	rdi, rax
	call	wattr_on@PLT
.L182:
	mov	eax, DWORD PTR -8[rbp]
	lea	ecx, 3[rax]
	mov	eax, DWORD PTR -4[rbp]
	lea	rdx, .LC14[rip]
	mov	esi, eax
	mov	edi, ecx
	mov	eax, 0
	call	mvprintw@PLT
	mov	rax, QWORD PTR stdscr[rip]
	mov	edx, 0
	mov	esi, 256
	mov	rdi, rax
	call	wattr_on@PLT
	cmp	DWORD PTR -24[rbp], 3
	jne	.L183
	mov	rax, QWORD PTR stdscr[rip]
	mov	edx, 0
	mov	esi, 5120
	mov	rdi, rax
	call	wattr_on@PLT
.L183:
	mov	eax, DWORD PTR -8[rbp]
	lea	ecx, 4[rax]
	mov	eax, DWORD PTR -4[rbp]
	lea	rdx, .LC15[rip]
	mov	esi, eax
	mov	edi, ecx
	mov	eax, 0
	call	mvprintw@PLT
	mov	rax, QWORD PTR stdscr[rip]
	mov	edx, 0
	mov	esi, 256
	mov	rdi, rax
	call	wattr_on@PLT
	cmp	DWORD PTR -24[rbp], 4
	jne	.L184
	mov	rax, QWORD PTR stdscr[rip]
	mov	edx, 0
	mov	esi, 5120
	mov	rdi, rax
	call	wattr_on@PLT
.L184:
	mov	eax, DWORD PTR -8[rbp]
	lea	ecx, 5[rax]
	mov	eax, DWORD PTR -4[rbp]
	lea	rdx, .LC16[rip]
	mov	esi, eax
	mov	edi, ecx
	mov	eax, 0
	call	mvprintw@PLT
	mov	rax, QWORD PTR stdscr[rip]
	mov	edx, 0
	mov	esi, 256
	mov	rdi, rax
	call	wattr_on@PLT
	mov	rax, QWORD PTR stdscr[rip]
	mov	rdi, rax
	call	wrefresh@PLT
	mov	rax, QWORD PTR stdscr[rip]
	mov	rdi, rax
	call	wgetch@PLT
	cmp	eax, 66
	je	.L185
	cmp	eax, 66
	jg	.L197
	cmp	eax, 32
	je	.L187
	cmp	eax, 65
	jne	.L197
	cmp	DWORD PTR -24[rbp], 0
	jle	.L175
	sub	DWORD PTR -24[rbp], 1
	jmp	.L175
.L185:
	mov	eax, DWORD PTR -20[rbp]
	sub	eax, 1
	cmp	DWORD PTR -24[rbp], eax
	jge	.L175
	add	DWORD PTR -24[rbp], 1
	jmp	.L175
.L187:
	cmp	DWORD PTR -24[rbp], 4
	jne	.L190
	mov	BYTE PTR quit[rip], 1
	jmp	.L175
.L190:
	cmp	DWORD PTR -24[rbp], 0
	jne	.L191
	mov	DWORD PTR size_x[rip], 8
	mov	DWORD PTR size_y[rip], 8
	mov	DWORD PTR mines[rip], 10
	jmp	.L192
.L191:
	cmp	DWORD PTR -24[rbp], 1
	jne	.L193
	mov	DWORD PTR size_x[rip], 16
	mov	DWORD PTR size_y[rip], 16
	mov	DWORD PTR mines[rip], 40
	jmp	.L192
.L193:
	cmp	DWORD PTR -24[rbp], 2
	jne	.L194
	mov	DWORD PTR size_x[rip], 16
	mov	DWORD PTR size_y[rip], 32
	mov	DWORD PTR mines[rip], 70
	jmp	.L192
.L194:
	cmp	DWORD PTR -24[rbp], 3
	jne	.L192
	mov	DWORD PTR size_x[rip], 16
	mov	DWORD PTR size_y[rip], 32
	mov	DWORD PTR mines[rip], 99
.L192:
	mov	eax, 0
	call	start_game
	jmp	.L175
.L197:
	nop
.L175:
	movzx	eax, BYTE PTR quit[rip]
	xor	eax, 1
	test	al, al
	jne	.L195
	mov	edi, 1
	call	curs_set@PLT
	call	endwin@PLT
	mov	eax, 0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE14:
	.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	"420562.c"
	.text
	.global	quit
	.bss
	.type	quit, %object
	.size	quit, 1
quit:
	.space	1
	.comm	scr_x,4,4
	.comm	scr_y,4,4
	.comm	size_x,4,4
	.comm	size_y,4,4
	.comm	mines,4,4
	.comm	cur_x,4,4
	.comm	cur_y,4,4
	.comm	st_game,4,4
	.global	time_start
	.align	2
	.type	time_start, %object
	.size	time_start, 4
time_start:
	.space	4
	.global	time_end
	.align	2
	.type	time_end, %object
	.size	time_end, 4
time_end:
	.space	4
	.global	field
	.align	2
	.type	field, %object
	.size	field, 4
field:
	.space	4
	.global	__aeabi_uidivmod
	.text
	.align	2
	.global	gen_field
	.syntax unified
	.arm
	.fpu softvfp
	.type	gen_field, %function
gen_field:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #28
	mov	r0, #0
	bl	time
	mov	r3, r0
	ldr	r2, .L11
	str	r3, [r2]
	mov	r0, #0
	bl	time
	mov	r3, r0
	mov	r0, r3
	bl	srand
	ldr	r3, .L11+4
	ldr	r3, [r3]
	mov	r1, #4
	mov	r0, r3
	bl	calloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L11+8
	str	r2, [r3]
	mov	r3, #0
	str	r3, [fp, #-32]
	b	.L2
.L5:
	ldr	r3, .L11+12
	ldr	r0, [r3]
	ldr	r3, .L11+8
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	add	r4, r2, r3
	mov	r1, #3
	bl	calloc
	mov	r3, r0
	str	r3, [r4]
	mov	r3, #0
	str	r3, [fp, #-28]
	b	.L3
.L4:
	ldr	r3, .L11+8
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r2, [fp, #-28]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, .L11+8
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r2, [fp, #-28]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	mov	r2, #0
	strb	r2, [r3, #1]
	ldr	r3, .L11+8
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r2, [fp, #-28]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	mov	r2, #0
	strb	r2, [r3, #2]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L3:
	ldr	r2, [fp, #-28]
	ldr	r3, .L11+12
	ldr	r3, [r3]
	cmp	r2, r3
	bcc	.L4
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L2:
	ldr	r2, [fp, #-32]
	ldr	r3, .L11+4
	ldr	r3, [r3]
	cmp	r2, r3
	bcc	.L5
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L6
.L10:
	bl	rand
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L11+4
	ldr	r3, [r3]
	mov	r1, r3
	mov	r0, r2
	bl	__aeabi_uidivmod
	mov	r3, r1
	str	r3, [fp, #-20]
	bl	rand
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L11+12
	ldr	r3, [r3]
	mov	r1, r3
	mov	r0, r2
	bl	__aeabi_uidivmod
	mov	r3, r1
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-20]
	ldr	r3, .L11+16
	ldr	r3, [r3]
	cmp	r2, r3
	beq	.L7
	ldr	r2, [fp, #-16]
	ldr	r3, .L11+20
	ldr	r3, [r3]
	cmp	r2, r3
	beq	.L7
	ldr	r3, .L11+8
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r2, [fp, #-16]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L8
.L7:
	ldr	r3, [fp, #-24]
	sub	r3, r3, #1
	str	r3, [fp, #-24]
	b	.L9
.L8:
	ldr	r3, .L11+8
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r2, [fp, #-16]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	mov	r2, #1
	strb	r2, [r3]
.L9:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L6:
	ldr	r2, [fp, #-24]
	ldr	r3, .L11+24
	ldr	r3, [r3]
	cmp	r2, r3
	bcc	.L10
	nop
	nop
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L12:
	.align	2
.L11:
	.word	time_start
	.word	size_x
	.word	field
	.word	size_y
	.word	cur_x
	.word	cur_y
	.word	mines
	.size	gen_field, .-gen_field
	.align	2
	.global	mines_around
	.syntax unified
	.arm
	.fpu softvfp
	.type	mines_around, %function
mines_around:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #28
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	mov	r3, r2
	strb	r3, [fp, #-21]
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	ble	.L14
	ldr	r3, [fp, #-16]
	sub	r3, r3, #1
	mov	r2, r3
	ldr	r3, .L31
	ldr	r3, [r3]
	sub	r3, r3, #1
	cmp	r2, r3
	bhi	.L14
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	ble	.L14
	ldr	r3, [fp, #-20]
	sub	r3, r3, #1
	mov	r2, r3
	ldr	r3, .L31+4
	ldr	r3, [r3]
	sub	r3, r3, #1
	cmp	r2, r3
	bhi	.L14
	ldr	r3, .L31+8
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r2, [fp, #-20]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	sub	r3, r3, #3
	add	r3, r1, r3
	ldrb	r3, [r3, #2]	@ zero_extendqisi2
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	bne	.L15
	ldrb	r3, [fp, #-21]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L14
.L15:
	ldr	r3, .L31+8
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r2, [fp, #-20]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	sub	r3, r3, #3
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L14
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L14:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	blt	.L16
	ldr	r3, .L31
	ldr	r3, [r3]
	sub	r2, r3, #1
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	bcc	.L16
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	ble	.L16
	ldr	r3, [fp, #-20]
	sub	r3, r3, #1
	mov	r2, r3
	ldr	r3, .L31+4
	ldr	r3, [r3]
	sub	r3, r3, #1
	cmp	r2, r3
	bhi	.L16
	ldr	r3, .L31+8
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r2, [fp, #-20]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	sub	r3, r3, #3
	add	r3, r1, r3
	ldrb	r3, [r3, #2]	@ zero_extendqisi2
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	bne	.L17
	ldrb	r3, [fp, #-21]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L16
.L17:
	ldr	r3, .L31+8
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r2, [fp, #-20]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	sub	r3, r3, #3
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L16
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L16:
	ldr	r3, [fp, #-16]
	cmn	r3, #1
	blt	.L18
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	mov	r2, r3
	ldr	r3, .L31
	ldr	r3, [r3]
	sub	r3, r3, #1
	cmp	r2, r3
	bhi	.L18
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	ble	.L18
	ldr	r3, [fp, #-20]
	sub	r3, r3, #1
	mov	r2, r3
	ldr	r3, .L31+4
	ldr	r3, [r3]
	sub	r3, r3, #1
	cmp	r2, r3
	bhi	.L18
	ldr	r3, .L31+8
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r2, [fp, #-20]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	sub	r3, r3, #3
	add	r3, r1, r3
	ldrb	r3, [r3, #2]	@ zero_extendqisi2
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	bne	.L19
	ldrb	r3, [fp, #-21]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L18
.L19:
	ldr	r3, .L31+8
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r2, [fp, #-20]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	sub	r3, r3, #3
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L18
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L18:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	ble	.L20
	ldr	r3, [fp, #-16]
	sub	r3, r3, #1
	mov	r2, r3
	ldr	r3, .L31
	ldr	r3, [r3]
	sub	r3, r3, #1
	cmp	r2, r3
	bhi	.L20
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	blt	.L20
	ldr	r3, .L31+4
	ldr	r3, [r3]
	sub	r2, r3, #1
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	bcc	.L20
	ldr	r3, .L31+8
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r2, [fp, #-20]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	ldrb	r3, [r3, #2]	@ zero_extendqisi2
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	bne	.L21
	ldrb	r3, [fp, #-21]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L20
.L21:
	ldr	r3, .L31+8
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r2, [fp, #-20]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L20
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L20:
	ldr	r3, [fp, #-16]
	cmn	r3, #1
	blt	.L22
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	mov	r2, r3
	ldr	r3, .L31
	ldr	r3, [r3]
	sub	r3, r3, #1
	cmp	r2, r3
	bhi	.L22
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	blt	.L22
	ldr	r3, .L31+4
	ldr	r3, [r3]
	sub	r2, r3, #1
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	bcc	.L22
	ldr	r3, .L31+8
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r2, [fp, #-20]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	ldrb	r3, [r3, #2]	@ zero_extendqisi2
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	bne	.L23
	ldrb	r3, [fp, #-21]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L22
.L23:
	ldr	r3, .L31+8
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r2, [fp, #-20]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L22
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L22:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	ble	.L24
	ldr	r3, [fp, #-16]
	sub	r3, r3, #1
	mov	r2, r3
	ldr	r3, .L31
	ldr	r3, [r3]
	sub	r3, r3, #1
	cmp	r2, r3
	bhi	.L24
	ldr	r3, [fp, #-20]
	cmn	r3, #1
	blt	.L24
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	mov	r2, r3
	ldr	r3, .L31+4
	ldr	r3, [r3]
	sub	r3, r3, #1
	cmp	r2, r3
	bhi	.L24
	ldr	r3, .L31+8
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r3, [fp, #-20]
	add	r2, r3, #1
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	ldrb	r3, [r3, #2]	@ zero_extendqisi2
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	bne	.L25
	ldrb	r3, [fp, #-21]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L24
.L25:
	ldr	r3, .L31+8
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r3, [fp, #-20]
	add	r2, r3, #1
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L24
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L24:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	blt	.L26
	ldr	r3, .L31
	ldr	r3, [r3]
	sub	r2, r3, #1
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	bcc	.L26
	ldr	r3, [fp, #-20]
	cmn	r3, #1
	blt	.L26
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	mov	r2, r3
	ldr	r3, .L31+4
	ldr	r3, [r3]
	sub	r3, r3, #1
	cmp	r2, r3
	bhi	.L26
	ldr	r3, .L31+8
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r3, [fp, #-20]
	add	r2, r3, #1
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	ldrb	r3, [r3, #2]	@ zero_extendqisi2
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	bne	.L27
	ldrb	r3, [fp, #-21]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L26
.L27:
	ldr	r3, .L31+8
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r3, [fp, #-20]
	add	r2, r3, #1
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L26
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L26:
	ldr	r3, [fp, #-16]
	cmn	r3, #1
	blt	.L28
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	mov	r2, r3
	ldr	r3, .L31
	ldr	r3, [r3]
	sub	r3, r3, #1
	cmp	r2, r3
	bhi	.L28
	ldr	r3, [fp, #-20]
	cmn	r3, #1
	blt	.L28
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	mov	r2, r3
	ldr	r3, .L31+4
	ldr	r3, [r3]
	sub	r3, r3, #1
	cmp	r2, r3
	bhi	.L28
	ldr	r3, .L31+8
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r3, [fp, #-20]
	add	r2, r3, #1
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	ldrb	r3, [r3, #2]	@ zero_extendqisi2
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	bne	.L29
	ldrb	r3, [fp, #-21]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L28
.L29:
	ldr	r3, .L31+8
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r3, [fp, #-20]
	add	r2, r3, #1
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L28
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L28:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L32:
	.align	2
.L31:
	.word	size_x
	.word	size_y
	.word	field
	.size	mines_around, .-mines_around
	.align	2
	.global	flags_around
	.syntax unified
	.arm
	.fpu softvfp
	.type	flags_around, %function
flags_around:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	ble	.L34
	ldr	r3, [fp, #-16]
	sub	r3, r3, #1
	mov	r2, r3
	ldr	r3, .L43
	ldr	r3, [r3]
	sub	r3, r3, #1
	cmp	r2, r3
	bhi	.L34
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	ble	.L34
	ldr	r3, [fp, #-20]
	sub	r3, r3, #1
	mov	r2, r3
	ldr	r3, .L43+4
	ldr	r3, [r3]
	sub	r3, r3, #1
	cmp	r2, r3
	bhi	.L34
	ldr	r3, .L43+8
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r2, [fp, #-20]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	sub	r3, r3, #3
	add	r3, r1, r3
	ldrb	r3, [r3, #2]	@ zero_extendqisi2
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L34
	ldr	r3, .L43+8
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r2, [fp, #-20]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	sub	r3, r3, #3
	add	r3, r1, r3
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L34
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L34:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	blt	.L35
	ldr	r3, .L43
	ldr	r3, [r3]
	sub	r2, r3, #1
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	bcc	.L35
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	ble	.L35
	ldr	r3, [fp, #-20]
	sub	r3, r3, #1
	mov	r2, r3
	ldr	r3, .L43+4
	ldr	r3, [r3]
	sub	r3, r3, #1
	cmp	r2, r3
	bhi	.L35
	ldr	r3, .L43+8
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r2, [fp, #-20]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	sub	r3, r3, #3
	add	r3, r1, r3
	ldrb	r3, [r3, #2]	@ zero_extendqisi2
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L35
	ldr	r3, .L43+8
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r2, [fp, #-20]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	sub	r3, r3, #3
	add	r3, r1, r3
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L35
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L35:
	ldr	r3, [fp, #-16]
	cmn	r3, #1
	blt	.L36
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	mov	r2, r3
	ldr	r3, .L43
	ldr	r3, [r3]
	sub	r3, r3, #1
	cmp	r2, r3
	bhi	.L36
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	ble	.L36
	ldr	r3, [fp, #-20]
	sub	r3, r3, #1
	mov	r2, r3
	ldr	r3, .L43+4
	ldr	r3, [r3]
	sub	r3, r3, #1
	cmp	r2, r3
	bhi	.L36
	ldr	r3, .L43+8
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r2, [fp, #-20]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	sub	r3, r3, #3
	add	r3, r1, r3
	ldrb	r3, [r3, #2]	@ zero_extendqisi2
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L36
	ldr	r3, .L43+8
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r2, [fp, #-20]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	sub	r3, r3, #3
	add	r3, r1, r3
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L36
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L36:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	ble	.L37
	ldr	r3, [fp, #-16]
	sub	r3, r3, #1
	mov	r2, r3
	ldr	r3, .L43
	ldr	r3, [r3]
	sub	r3, r3, #1
	cmp	r2, r3
	bhi	.L37
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	blt	.L37
	ldr	r3, .L43+4
	ldr	r3, [r3]
	sub	r2, r3, #1
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	bcc	.L37
	ldr	r3, .L43+8
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r2, [fp, #-20]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	ldrb	r3, [r3, #2]	@ zero_extendqisi2
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L37
	ldr	r3, .L43+8
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r2, [fp, #-20]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L37
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L37:
	ldr	r3, [fp, #-16]
	cmn	r3, #1
	blt	.L38
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	mov	r2, r3
	ldr	r3, .L43
	ldr	r3, [r3]
	sub	r3, r3, #1
	cmp	r2, r3
	bhi	.L38
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	blt	.L38
	ldr	r3, .L43+4
	ldr	r3, [r3]
	sub	r2, r3, #1
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	bcc	.L38
	ldr	r3, .L43+8
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r2, [fp, #-20]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	ldrb	r3, [r3, #2]	@ zero_extendqisi2
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L38
	ldr	r3, .L43+8
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r2, [fp, #-20]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L38
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L38:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	ble	.L39
	ldr	r3, [fp, #-16]
	sub	r3, r3, #1
	mov	r2, r3
	ldr	r3, .L43
	ldr	r3, [r3]
	sub	r3, r3, #1
	cmp	r2, r3
	bhi	.L39
	ldr	r3, [fp, #-20]
	cmn	r3, #1
	blt	.L39
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	mov	r2, r3
	ldr	r3, .L43+4
	ldr	r3, [r3]
	sub	r3, r3, #1
	cmp	r2, r3
	bhi	.L39
	ldr	r3, .L43+8
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r3, [fp, #-20]
	add	r2, r3, #1
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	ldrb	r3, [r3, #2]	@ zero_extendqisi2
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L39
	ldr	r3, .L43+8
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r3, [fp, #-20]
	add	r2, r3, #1
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L39
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L39:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	blt	.L40
	ldr	r3, .L43
	ldr	r3, [r3]
	sub	r2, r3, #1
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	bcc	.L40
	ldr	r3, [fp, #-20]
	cmn	r3, #1
	blt	.L40
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	mov	r2, r3
	ldr	r3, .L43+4
	ldr	r3, [r3]
	sub	r3, r3, #1
	cmp	r2, r3
	bhi	.L40
	ldr	r3, .L43+8
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r3, [fp, #-20]
	add	r2, r3, #1
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	ldrb	r3, [r3, #2]	@ zero_extendqisi2
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L40
	ldr	r3, .L43+8
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r3, [fp, #-20]
	add	r2, r3, #1
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L40
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L40:
	ldr	r3, [fp, #-16]
	cmn	r3, #1
	blt	.L41
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	mov	r2, r3
	ldr	r3, .L43
	ldr	r3, [r3]
	sub	r3, r3, #1
	cmp	r2, r3
	bhi	.L41
	ldr	r3, [fp, #-20]
	cmn	r3, #1
	blt	.L41
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	mov	r2, r3
	ldr	r3, .L43+4
	ldr	r3, [r3]
	sub	r3, r3, #1
	cmp	r2, r3
	bhi	.L41
	ldr	r3, .L43+8
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r3, [fp, #-20]
	add	r2, r3, #1
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	ldrb	r3, [r3, #2]	@ zero_extendqisi2
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L41
	ldr	r3, .L43+8
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r3, [fp, #-20]
	add	r2, r3, #1
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L41
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L41:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L44:
	.align	2
.L43:
	.word	size_x
	.word	size_y
	.word	field
	.size	flags_around, .-flags_around
	.align	2
	.global	mine_open_all
	.syntax unified
	.arm
	.fpu softvfp
	.type	mine_open_all, %function
mine_open_all:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L46
.L50:
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L47
.L49:
	ldr	r3, .L51
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L48
	ldr	r3, .L51
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	mov	r2, #1
	strb	r2, [r3, #2]
.L48:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L47:
	ldr	r2, [fp, #-8]
	ldr	r3, .L51+4
	ldr	r3, [r3]
	cmp	r2, r3
	bcc	.L49
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L46:
	ldr	r2, [fp, #-12]
	ldr	r3, .L51+8
	ldr	r3, [r3]
	cmp	r2, r3
	bcc	.L50
	nop
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L52:
	.align	2
.L51:
	.word	field
	.word	size_y
	.word	size_x
	.size	mine_open_all, .-mine_open_all
	.align	2
	.global	mine_open
	.syntax unified
	.arm
	.fpu softvfp
	.type	mine_open, %function
mine_open:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	ldr	r3, .L81+12
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r2, [fp, #-28]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	ldrb	r3, [r3, #2]	@ zero_extendqisi2
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L54
	ldr	r3, .L81+12
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r2, [fp, #-28]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L80
.L54:
	ldr	r3, .L81+12
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r2, [fp, #-28]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	mov	r2, #1
	strb	r2, [r3, #2]
	mov	r3, #0
	str	r3, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L56
.L62:
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L57
.L61:
	ldr	r3, .L81+12
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r2, [fp, #-12]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L58
	ldr	r3, .L81+12
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r2, [fp, #-12]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	ldrb	r3, [r3, #2]	@ zero_extendqisi2
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	bne	.L59
.L58:
	ldr	r3, .L81+12
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r2, [fp, #-12]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L60
	ldr	r3, .L81+12
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r2, [fp, #-12]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	ldrb	r3, [r3, #2]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L60
.L59:
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L60:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L57:
	ldr	r2, [fp, #-12]
	ldr	r3, .L81+8
	ldr	r3, [r3]
	cmp	r2, r3
	bcc	.L61
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L56:
	ldr	r2, [fp, #-16]
	ldr	r3, .L81+4
	ldr	r3, [r3]
	cmp	r2, r3
	bcc	.L62
	mov	r2, #0
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	mines_around
	str	r0, [fp, #-8]
	ldr	r3, .L81+12
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r2, [fp, #-28]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L63
	bl	mine_open_all
	ldr	r3, .L81
	mov	r2, #1
	str	r2, [r3]
	b	.L53
.L63:
	ldr	r3, .L81+4
	ldr	r3, [r3]
	ldr	r2, .L81+8
	ldr	r2, [r2]
	mul	r2, r3, r2
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	bne	.L64
	bl	mine_open_all
	ldr	r3, .L81
	mov	r2, #2
	str	r2, [r3]
	b	.L53
.L64:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L65
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	ble	.L66
	ldr	r3, [fp, #-24]
	sub	r3, r3, #1
	mov	r2, r3
	ldr	r3, .L81+4
	ldr	r3, [r3]
	sub	r3, r3, #1
	cmp	r2, r3
	bhi	.L66
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	ble	.L66
	ldr	r3, [fp, #-28]
	sub	r3, r3, #1
	mov	r2, r3
	ldr	r3, .L81+8
	ldr	r3, [r3]
	sub	r3, r3, #1
	cmp	r2, r3
	bhi	.L66
	ldr	r3, .L81+12
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r2, [fp, #-28]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	sub	r3, r3, #3
	add	r3, r1, r3
	ldrb	r3, [r3, #2]	@ zero_extendqisi2
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L66
	ldr	r3, .L81+12
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r2, [fp, #-28]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	sub	r3, r3, #3
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L66
	ldr	r3, [fp, #-24]
	sub	r2, r3, #1
	ldr	r3, [fp, #-28]
	sub	r3, r3, #1
	mov	r1, r3
	mov	r0, r2
	bl	mine_open
.L66:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	blt	.L67
	ldr	r3, .L81+4
	ldr	r3, [r3]
	sub	r2, r3, #1
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	bcc	.L67
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	ble	.L67
	ldr	r3, [fp, #-28]
	sub	r3, r3, #1
	mov	r2, r3
	ldr	r3, .L81+8
	ldr	r3, [r3]
	sub	r3, r3, #1
	cmp	r2, r3
	bhi	.L67
	ldr	r3, .L81+12
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r2, [fp, #-28]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	sub	r3, r3, #3
	add	r3, r1, r3
	ldrb	r3, [r3, #2]	@ zero_extendqisi2
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L67
	ldr	r3, .L81+12
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r2, [fp, #-28]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	sub	r3, r3, #3
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L67
	ldr	r3, [fp, #-28]
	sub	r3, r3, #1
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	mine_open
.L67:
	ldr	r3, [fp, #-24]
	cmn	r3, #1
	blt	.L68
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	mov	r2, r3
	ldr	r3, .L81+4
	ldr	r3, [r3]
	sub	r3, r3, #1
	cmp	r2, r3
	bhi	.L68
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	ble	.L68
	ldr	r3, [fp, #-28]
	sub	r3, r3, #1
	mov	r2, r3
	ldr	r3, .L81+8
	ldr	r3, [r3]
	sub	r3, r3, #1
	cmp	r2, r3
	bhi	.L68
	ldr	r3, .L81+12
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r2, [fp, #-28]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	sub	r3, r3, #3
	add	r3, r1, r3
	ldrb	r3, [r3, #2]	@ zero_extendqisi2
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L68
	ldr	r3, .L81+12
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r2, [fp, #-28]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	sub	r3, r3, #3
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L68
	ldr	r3, [fp, #-24]
	add	r2, r3, #1
	ldr	r3, [fp, #-28]
	sub	r3, r3, #1
	mov	r1, r3
	mov	r0, r2
	bl	mine_open
.L68:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	ble	.L69
	ldr	r3, [fp, #-24]
	sub	r3, r3, #1
	mov	r2, r3
	ldr	r3, .L81+4
	ldr	r3, [r3]
	sub	r3, r3, #1
	cmp	r2, r3
	bhi	.L69
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	blt	.L69
	ldr	r3, .L81+8
	ldr	r3, [r3]
	sub	r2, r3, #1
	ldr	r3, [fp, #-28]
	cmp	r2, r3
	bcc	.L69
	ldr	r3, .L81+12
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r2, [fp, #-28]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	ldrb	r3, [r3, #2]	@ zero_extendqisi2
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L69
	ldr	r3, .L81+12
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r2, [fp, #-28]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L69
	ldr	r3, [fp, #-24]
	sub	r3, r3, #1
	ldr	r1, [fp, #-28]
	mov	r0, r3
	bl	mine_open
.L69:
	ldr	r3, [fp, #-24]
	cmn	r3, #1
	blt	.L70
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	mov	r2, r3
	ldr	r3, .L81+4
	ldr	r3, [r3]
	sub	r3, r3, #1
	cmp	r2, r3
	bhi	.L70
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	blt	.L70
	ldr	r3, .L81+8
	ldr	r3, [r3]
	sub	r2, r3, #1
	ldr	r3, [fp, #-28]
	cmp	r2, r3
	bcc	.L70
	ldr	r3, .L81+12
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r2, [fp, #-28]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	ldrb	r3, [r3, #2]	@ zero_extendqisi2
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L70
	ldr	r3, .L81+12
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r2, [fp, #-28]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L70
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	ldr	r1, [fp, #-28]
	mov	r0, r3
	bl	mine_open
.L70:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	ble	.L71
	ldr	r3, [fp, #-24]
	sub	r3, r3, #1
	mov	r2, r3
	ldr	r3, .L81+4
	ldr	r3, [r3]
	sub	r3, r3, #1
	cmp	r2, r3
	bhi	.L71
	ldr	r3, [fp, #-28]
	cmn	r3, #1
	blt	.L71
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	mov	r2, r3
	ldr	r3, .L81+8
	ldr	r3, [r3]
	sub	r3, r3, #1
	cmp	r2, r3
	bhi	.L71
	ldr	r3, .L81+12
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r3, [fp, #-28]
	add	r2, r3, #1
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	ldrb	r3, [r3, #2]	@ zero_extendqisi2
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L71
	ldr	r3, .L81+12
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r3, [fp, #-28]
	add	r2, r3, #1
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L71
	ldr	r3, [fp, #-24]
	sub	r2, r3, #1
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	mov	r1, r3
	mov	r0, r2
	bl	mine_open
.L71:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	blt	.L72
	ldr	r3, .L81+4
	ldr	r3, [r3]
	sub	r2, r3, #1
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	bcc	.L72
	ldr	r3, [fp, #-28]
	cmn	r3, #1
	blt	.L72
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	mov	r2, r3
	ldr	r3, .L81+8
	ldr	r3, [r3]
	sub	r3, r3, #1
	cmp	r2, r3
	bhi	.L72
	ldr	r3, .L81+12
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r3, [fp, #-28]
	add	r2, r3, #1
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	ldrb	r3, [r3, #2]	@ zero_extendqisi2
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L72
	ldr	r3, .L81+12
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r3, [fp, #-28]
	add	r2, r3, #1
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L72
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	mine_open
.L72:
	ldr	r3, [fp, #-24]
	cmn	r3, #1
	blt	.L53
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	mov	r2, r3
	ldr	r3, .L81+4
	ldr	r3, [r3]
	sub	r3, r3, #1
	cmp	r2, r3
	bhi	.L53
	ldr	r3, [fp, #-28]
	cmn	r3, #1
	blt	.L53
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	mov	r2, r3
	ldr	r3, .L81+8
	ldr	r3, [r3]
	sub	r3, r3, #1
	cmp	r2, r3
	bhi	.L53
	ldr	r3, .L81+12
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r3, [fp, #-28]
	add	r2, r3, #1
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	ldrb	r3, [r3, #2]	@ zero_extendqisi2
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L53
	ldr	r3, .L81+12
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r3, [fp, #-28]
	add	r2, r3, #1
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L53
	ldr	r3, [fp, #-24]
	add	r2, r3, #1
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	mov	r1, r3
	mov	r0, r2
	bl	mine_open
	b	.L53
.L82:
	.align	2
.L81:
	.word	st_game
	.word	size_x
	.word	size_y
	.word	field
.L65:
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	flags_around
	mov	r2, r0
	ldr	r3, [fp, #-8]
	cmp	r3, r2
	bne	.L53
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	ble	.L73
	ldr	r3, [fp, #-24]
	sub	r3, r3, #1
	mov	r2, r3
	ldr	r3, .L81+4
	ldr	r3, [r3]
	sub	r3, r3, #1
	cmp	r2, r3
	bhi	.L73
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	ble	.L73
	ldr	r3, [fp, #-28]
	sub	r3, r3, #1
	mov	r2, r3
	ldr	r3, .L81+8
	ldr	r3, [r3]
	sub	r3, r3, #1
	cmp	r2, r3
	bhi	.L73
	ldr	r3, .L81+12
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r2, [fp, #-28]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	sub	r3, r3, #3
	add	r3, r1, r3
	ldrb	r3, [r3, #2]	@ zero_extendqisi2
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L73
	ldr	r3, .L81+12
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r2, [fp, #-28]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	sub	r3, r3, #3
	add	r3, r1, r3
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L73
	ldr	r3, [fp, #-24]
	sub	r2, r3, #1
	ldr	r3, [fp, #-28]
	sub	r3, r3, #1
	mov	r1, r3
	mov	r0, r2
	bl	mine_open
.L73:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	blt	.L74
	ldr	r3, .L81+4
	ldr	r3, [r3]
	sub	r2, r3, #1
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	bcc	.L74
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	ble	.L74
	ldr	r3, [fp, #-28]
	sub	r3, r3, #1
	mov	r2, r3
	ldr	r3, .L81+8
	ldr	r3, [r3]
	sub	r3, r3, #1
	cmp	r2, r3
	bhi	.L74
	ldr	r3, .L81+12
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r2, [fp, #-28]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	sub	r3, r3, #3
	add	r3, r1, r3
	ldrb	r3, [r3, #2]	@ zero_extendqisi2
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L74
	ldr	r3, .L81+12
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r2, [fp, #-28]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	sub	r3, r3, #3
	add	r3, r1, r3
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L74
	ldr	r3, [fp, #-28]
	sub	r3, r3, #1
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	mine_open
.L74:
	ldr	r3, [fp, #-24]
	cmn	r3, #1
	blt	.L75
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	mov	r2, r3
	ldr	r3, .L81+4
	ldr	r3, [r3]
	sub	r3, r3, #1
	cmp	r2, r3
	bhi	.L75
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	ble	.L75
	ldr	r3, [fp, #-28]
	sub	r3, r3, #1
	mov	r2, r3
	ldr	r3, .L81+8
	ldr	r3, [r3]
	sub	r3, r3, #1
	cmp	r2, r3
	bhi	.L75
	ldr	r3, .L81+12
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r2, [fp, #-28]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	sub	r3, r3, #3
	add	r3, r1, r3
	ldrb	r3, [r3, #2]	@ zero_extendqisi2
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L75
	ldr	r3, .L81+12
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r2, [fp, #-28]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	sub	r3, r3, #3
	add	r3, r1, r3
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L75
	ldr	r3, [fp, #-24]
	add	r2, r3, #1
	ldr	r3, [fp, #-28]
	sub	r3, r3, #1
	mov	r1, r3
	mov	r0, r2
	bl	mine_open
.L75:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	ble	.L76
	ldr	r3, [fp, #-24]
	sub	r3, r3, #1
	mov	r2, r3
	ldr	r3, .L81+4
	ldr	r3, [r3]
	sub	r3, r3, #1
	cmp	r2, r3
	bhi	.L76
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	blt	.L76
	ldr	r3, .L81+8
	ldr	r3, [r3]
	sub	r2, r3, #1
	ldr	r3, [fp, #-28]
	cmp	r2, r3
	bcc	.L76
	ldr	r3, .L81+12
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r2, [fp, #-28]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	ldrb	r3, [r3, #2]	@ zero_extendqisi2
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L76
	ldr	r3, .L81+12
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r2, [fp, #-28]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L76
	ldr	r3, [fp, #-24]
	sub	r3, r3, #1
	ldr	r1, [fp, #-28]
	mov	r0, r3
	bl	mine_open
.L76:
	ldr	r3, [fp, #-24]
	cmn	r3, #1
	blt	.L77
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	mov	r2, r3
	ldr	r3, .L81+4
	ldr	r3, [r3]
	sub	r3, r3, #1
	cmp	r2, r3
	bhi	.L77
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	blt	.L77
	ldr	r3, .L81+8
	ldr	r3, [r3]
	sub	r2, r3, #1
	ldr	r3, [fp, #-28]
	cmp	r2, r3
	bcc	.L77
	ldr	r3, .L81+12
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r2, [fp, #-28]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	ldrb	r3, [r3, #2]	@ zero_extendqisi2
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L77
	ldr	r3, .L81+12
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r2, [fp, #-28]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L77
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	ldr	r1, [fp, #-28]
	mov	r0, r3
	bl	mine_open
.L77:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	ble	.L78
	ldr	r3, [fp, #-24]
	sub	r3, r3, #1
	mov	r2, r3
	ldr	r3, .L81+4
	ldr	r3, [r3]
	sub	r3, r3, #1
	cmp	r2, r3
	bhi	.L78
	ldr	r3, [fp, #-28]
	cmn	r3, #1
	blt	.L78
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	mov	r2, r3
	ldr	r3, .L81+8
	ldr	r3, [r3]
	sub	r3, r3, #1
	cmp	r2, r3
	bhi	.L78
	ldr	r3, .L81+12
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r3, [fp, #-28]
	add	r2, r3, #1
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	ldrb	r3, [r3, #2]	@ zero_extendqisi2
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L78
	ldr	r3, .L81+12
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r3, [fp, #-28]
	add	r2, r3, #1
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L78
	ldr	r3, [fp, #-24]
	sub	r2, r3, #1
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	mov	r1, r3
	mov	r0, r2
	bl	mine_open
.L78:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	blt	.L79
	ldr	r3, .L81+4
	ldr	r3, [r3]
	sub	r2, r3, #1
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	bcc	.L79
	ldr	r3, [fp, #-28]
	cmn	r3, #1
	blt	.L79
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	mov	r2, r3
	ldr	r3, .L81+8
	ldr	r3, [r3]
	sub	r3, r3, #1
	cmp	r2, r3
	bhi	.L79
	ldr	r3, .L81+12
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r3, [fp, #-28]
	add	r2, r3, #1
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	ldrb	r3, [r3, #2]	@ zero_extendqisi2
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L79
	ldr	r3, .L81+12
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r3, [fp, #-28]
	add	r2, r3, #1
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L79
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	mine_open
.L79:
	ldr	r3, [fp, #-24]
	cmn	r3, #1
	blt	.L53
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	mov	r2, r3
	ldr	r3, .L81+4
	ldr	r3, [r3]
	sub	r3, r3, #1
	cmp	r2, r3
	bhi	.L53
	ldr	r3, [fp, #-28]
	cmn	r3, #1
	blt	.L53
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	mov	r2, r3
	ldr	r3, .L81+8
	ldr	r3, [r3]
	sub	r3, r3, #1
	cmp	r2, r3
	bhi	.L53
	ldr	r3, .L81+12
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r3, [fp, #-28]
	add	r2, r3, #1
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	ldrb	r3, [r3, #2]	@ zero_extendqisi2
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L53
	ldr	r3, .L81+12
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r3, [fp, #-28]
	add	r2, r3, #1
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L53
	ldr	r3, [fp, #-24]
	add	r2, r3, #1
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	mov	r1, r3
	mov	r0, r2
	bl	mine_open
	b	.L53
.L80:
	nop
.L53:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	mine_open, .-mine_open
	.align	2
	.global	render_border
	.syntax unified
	.arm
	.fpu softvfp
	.type	render_border, %function
render_border:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	str	r3, [fp, #-20]
	ldr	r3, .L101
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	ldr	r1, [fp, #-8]
	mov	r0, r3
	bl	wmove
	mov	r3, r0
	cmn	r3, #1
	beq	.L85
	ldr	r3, .L101
	ldr	r0, [r3]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-12]
	sub	r3, r2, r3
	mov	r2, r3
	mov	r1, #0
	bl	whline
.L85:
	ldr	r3, .L101
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	ldr	r1, [fp, #-16]
	mov	r0, r3
	bl	wmove
	mov	r3, r0
	cmn	r3, #1
	beq	.L87
	ldr	r3, .L101
	ldr	r0, [r3]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-12]
	sub	r3, r2, r3
	mov	r2, r3
	mov	r1, #0
	bl	whline
.L87:
	ldr	r3, .L101
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	ldr	r1, [fp, #-8]
	mov	r0, r3
	bl	wmove
	mov	r3, r0
	cmn	r3, #1
	beq	.L89
	ldr	r3, .L101
	ldr	r0, [r3]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-8]
	sub	r3, r2, r3
	mov	r2, r3
	mov	r1, #0
	bl	wvline
.L89:
	ldr	r3, .L101
	ldr	r3, [r3]
	ldr	r2, [fp, #-20]
	ldr	r1, [fp, #-8]
	mov	r0, r3
	bl	wmove
	mov	r3, r0
	cmn	r3, #1
	beq	.L91
	ldr	r3, .L101
	ldr	r0, [r3]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-8]
	sub	r3, r2, r3
	mov	r2, r3
	mov	r1, #0
	bl	wvline
.L91:
	ldr	r3, .L101
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	ldr	r1, [fp, #-8]
	mov	r0, r3
	bl	wmove
	mov	r3, r0
	cmn	r3, #1
	beq	.L93
	ldr	r3, .L101
	ldr	r3, [r3]
	ldr	r2, .L101+4
	ldr	r2, [r2, #432]
	mov	r1, r2
	mov	r0, r3
	bl	waddch
.L93:
	ldr	r3, .L101
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	ldr	r1, [fp, #-16]
	mov	r0, r3
	bl	wmove
	mov	r3, r0
	cmn	r3, #1
	beq	.L95
	ldr	r3, .L101
	ldr	r3, [r3]
	ldr	r2, .L101+4
	ldr	r2, [r2, #436]
	mov	r1, r2
	mov	r0, r3
	bl	waddch
.L95:
	ldr	r3, .L101
	ldr	r3, [r3]
	ldr	r2, [fp, #-20]
	ldr	r1, [fp, #-8]
	mov	r0, r3
	bl	wmove
	mov	r3, r0
	cmn	r3, #1
	beq	.L97
	ldr	r3, .L101
	ldr	r3, [r3]
	ldr	r2, .L101+4
	ldr	r2, [r2, #428]
	mov	r1, r2
	mov	r0, r3
	bl	waddch
.L97:
	ldr	r3, .L101
	ldr	r3, [r3]
	ldr	r2, [fp, #-20]
	ldr	r1, [fp, #-16]
	mov	r0, r3
	bl	wmove
	mov	r3, r0
	cmn	r3, #1
	beq	.L100
	ldr	r3, .L101
	ldr	r3, [r3]
	ldr	r2, .L101+4
	ldr	r2, [r2, #424]
	mov	r1, r2
	mov	r0, r3
	bl	waddch
.L100:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L102:
	.align	2
.L101:
	.word	stdscr
	.word	acs_map
	.size	render_border, .-render_border
	.section	.rodata
	.align	2
.LC0:
	.ascii	"  \000"
	.align	2
.LC1:
	.ascii	"* \000"
	.align	2
.LC3:
	.ascii	"FF\000"
	.align	2
.LC4:
	.ascii	"%03d\000"
	.align	2
.LC5:
	.ascii	"%02d\000"
	.align	2
.LC6:
	.ascii	"You lose. Press any key to menu\000"
	.align	2
.LC7:
	.ascii	"You win! Press any key to menu\000"
	.align	2
.LC8:
	.ascii	"flag(f) open(space) quit(q) menu(m)\000"
	.align	2
.LC9:
	.ascii	"%-35s\000"
	.align	2
.LC2:
	.ascii	"\000\000"
	.space	1
	.align	2
.LC10:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	render
	.syntax unified
	.arm
	.fpu softvfp
	.type	render, %function
render:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #52
	ldr	r3, .L158
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	ldr	r3, .L158+4
	ldr	r3, [r3]
	mov	r0, r3
	bl	wclear
	ldr	r3, .L158+4
	ldr	r3, [r3]
	mov	r1, #256
	mov	r0, r3
	bl	wbkgd
	ldr	r3, .L158+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L104
	ldr	r3, .L158+4
	ldr	r3, [r3]
	ldrsh	r3, [r3, #4]
	add	r3, r3, #1
	b	.L105
.L104:
	mvn	r3, #0
.L105:
	ldr	r2, .L158+8
	str	r3, [r2]
	ldr	r3, .L158+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L106
	ldr	r3, .L158+4
	ldr	r3, [r3]
	ldrsh	r3, [r3, #6]
	add	r3, r3, #1
	b	.L107
.L106:
	mvn	r3, #0
.L107:
	ldr	r2, .L158+12
	str	r3, [r2]
	ldr	r3, .L158+8
	ldr	r3, [r3]
	lsr	r2, r3, #1
	ldr	r3, .L158+16
	ldr	r3, [r3]
	lsr	r3, r3, #1
	sub	r3, r2, r3
	sub	r3, r3, #2
	str	r3, [fp, #-32]
	ldr	r3, .L158+12
	ldr	r3, [r3]
	lsr	r2, r3, #1
	ldr	r3, .L158+20
	ldr	r3, [r3]
	sub	r3, r2, r3
	sub	r3, r3, #2
	str	r3, [fp, #-28]
	mov	r3, #0
	str	r3, [fp, #-56]
	ldr	r3, .L158+24
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L108
	mov	r3, #0
	str	r3, [fp, #-52]
	b	.L109
.L114:
	mov	r3, #0
	str	r3, [fp, #-48]
	b	.L110
.L113:
	ldr	r3, .L158+24
	ldr	r2, [r3]
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r2, [fp, #-48]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	ldrb	r3, [r3, #2]	@ zero_extendqisi2
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	bne	.L111
	ldr	r3, .L158+24
	ldr	r2, [r3]
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r2, [fp, #-48]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	ldrb	r3, [r3, #2]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L112
	ldr	r3, .L158+24
	ldr	r2, [r3]
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r2, [fp, #-48]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L112
.L111:
	ldr	r3, .L158+24
	ldr	r2, [r3]
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r2, [fp, #-48]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L112
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	str	r3, [fp, #-56]
.L112:
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-48]
.L110:
	ldr	r2, [fp, #-48]
	ldr	r3, .L158+20
	ldr	r3, [r3]
	cmp	r2, r3
	bcc	.L113
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	str	r3, [fp, #-52]
.L109:
	ldr	r2, [fp, #-52]
	ldr	r3, .L158+16
	ldr	r3, [r3]
	cmp	r2, r3
	bcc	.L114
.L108:
	ldr	r3, [fp, #-32]
	sub	r0, r3, #1
	ldr	r3, [fp, #-28]
	sub	r1, r3, #1
	ldr	r2, [fp, #-32]
	ldr	r3, .L158+16
	ldr	r3, [r3]
	add	r3, r2, r3
	mov	ip, r3
	ldr	r3, .L158+20
	ldr	r3, [r3]
	lsl	r2, r3, #1
	ldr	r3, [fp, #-28]
	add	r3, r2, r3
	mov	r2, ip
	bl	render_border
	mov	r3, #0
	str	r3, [fp, #-44]
	b	.L115
.L149:
	mov	r3, #0
	str	r3, [fp, #-40]
	b	.L116
.L148:
	ldr	r3, .L158+28
	ldr	r2, [r3]
	ldr	r3, [fp, #-44]
	cmp	r2, r3
	bne	.L117
	ldr	r3, .L158+32
	ldr	r2, [r3]
	ldr	r3, [fp, #-40]
	cmp	r2, r3
	bne	.L117
	mov	r3, #1
	b	.L118
.L117:
	mov	r3, #0
.L118:
	strb	r3, [fp, #-57]
	ldrb	r3, [fp, #-57]
	and	r3, r3, #1
	strb	r3, [fp, #-57]
	ldr	r3, .L158+24
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L119
	ldr	r3, .L158+4
	ldr	r0, [r3]
	ldrb	r3, [fp, #-57]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L120
	mov	r3, #3328
	b	.L121
.L120:
	mov	r3, #3584
.L121:
	mov	r2, #0
	mov	r1, r3
	bl	wattr_on
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-44]
	add	r0, r2, r3
	ldr	r3, [fp, #-40]
	lsl	r2, r3, #1
	ldr	r3, [fp, #-28]
	add	r3, r2, r3
	ldr	r2, .L158+36
	mov	r1, r3
	bl	mvprintw
	b	.L122
.L119:
	ldr	r3, .L158+24
	ldr	r2, [r3]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r2, [fp, #-40]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	ldrb	r3, [r3, #2]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L123
	ldr	r3, .L158+24
	ldr	r2, [r3]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r2, [fp, #-40]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L123
	ldr	r3, .L158+4
	ldr	r0, [r3]
	ldrb	r3, [fp, #-57]
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L124
	ldr	r3, .L158+24
	ldr	r2, [r3]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r2, [fp, #-40]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L125
	mov	r3, #2816
	b	.L127
.L125:
	mov	r3, #2560
	b	.L127
.L124:
	mov	r3, #3328
.L127:
	mov	r2, #0
	mov	r1, r3
	bl	wattr_on
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-44]
	add	r0, r2, r3
	ldr	r3, [fp, #-40]
	lsl	r2, r3, #1
	ldr	r3, [fp, #-28]
	add	r3, r2, r3
	ldr	r2, .L158+40
	mov	r1, r3
	bl	mvprintw
	b	.L122
.L123:
	ldr	r3, .L158+24
	ldr	r2, [r3]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r2, [fp, #-40]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	ldrb	r3, [r3, #2]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L128
	mov	r2, #1
	ldr	r1, [fp, #-40]
	ldr	r0, [fp, #-44]
	bl	mines_around
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L129
	ldr	r3, .L158+4
	ldr	r0, [r3]
	ldrb	r3, [fp, #-57]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L130
	mov	r3, #3328
	b	.L131
.L130:
	mov	r3, #3840
.L131:
	mov	r2, #0
	mov	r1, r3
	bl	wattr_on
.L129:
	ldr	r3, [fp, #-24]
	cmp	r3, #1
	bne	.L132
	ldr	r3, .L158+4
	ldr	r0, [r3]
	ldrb	r3, [fp, #-57]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L133
	mov	r3, #3328
	b	.L134
.L133:
	mov	r3, #4096
.L134:
	mov	r2, #0
	mov	r1, r3
	bl	wattr_on
.L132:
	ldr	r3, [fp, #-24]
	cmp	r3, #2
	bne	.L135
	ldr	r3, .L158+4
	ldr	r0, [r3]
	ldrb	r3, [fp, #-57]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L136
	mov	r3, #3328
	b	.L137
.L136:
	mov	r3, #4352
.L137:
	mov	r2, #0
	mov	r1, r3
	bl	wattr_on
.L135:
	ldr	r3, [fp, #-24]
	cmp	r3, #2
	ble	.L138
	ldr	r3, .L158+4
	ldr	r0, [r3]
	ldrb	r3, [fp, #-57]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L139
	mov	r3, #3328
	b	.L140
.L139:
	mov	r3, #4608
.L140:
	mov	r2, #0
	mov	r1, r3
	bl	wattr_on
.L138:
	ldr	r3, .L158+44
	ldrh	r3, [r3]	@ movhi
	strh	r3, [fp, #-20]	@ movhi
	mov	r3, #0
	strb	r3, [fp, #-18]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L141
	ldr	r3, [fp, #-24]
	and	r3, r3, #255
	add	r3, r3, #48
	and	r3, r3, #255
	b	.L142
.L141:
	mov	r3, #32
.L142:
	strb	r3, [fp, #-20]
	mov	r3, #32
	strb	r3, [fp, #-19]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-44]
	add	r0, r2, r3
	ldr	r3, [fp, #-40]
	lsl	r2, r3, #1
	ldr	r3, [fp, #-28]
	add	r3, r2, r3
	sub	r2, fp, #20
	mov	r1, r3
	bl	mvprintw
	b	.L122
.L128:
	ldr	r3, .L158+24
	ldr	r2, [r3]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r2, [fp, #-40]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L143
	ldr	r3, .L158+4
	ldr	r0, [r3]
	ldrb	r3, [fp, #-57]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L144
	mov	r3, #3328
	b	.L145
.L144:
	mov	r3, #3072
.L145:
	mov	r2, #0
	mov	r1, r3
	bl	wattr_on
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-44]
	add	r0, r2, r3
	ldr	r3, [fp, #-40]
	lsl	r2, r3, #1
	ldr	r3, [fp, #-28]
	add	r3, r2, r3
	ldr	r2, .L158+48
	mov	r1, r3
	bl	mvprintw
	b	.L122
.L143:
	ldr	r3, .L158+4
	ldr	r0, [r3]
	ldrb	r3, [fp, #-57]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L146
	mov	r3, #3328
	b	.L147
.L146:
	mov	r3, #3584
.L147:
	mov	r2, #0
	mov	r1, r3
	bl	wattr_on
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-44]
	add	r0, r2, r3
	ldr	r3, [fp, #-40]
	lsl	r2, r3, #1
	ldr	r3, [fp, #-28]
	add	r3, r2, r3
	ldr	r2, .L158+36
	mov	r1, r3
	bl	mvprintw
.L122:
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
.L116:
	ldr	r2, [fp, #-40]
	ldr	r3, .L158+20
	ldr	r3, [r3]
	cmp	r2, r3
	bcc	.L148
	ldr	r3, .L158+4
	ldr	r3, [r3]
	mov	r2, #0
	mov	r1, #256
	mov	r0, r3
	bl	wattr_on
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L115:
	ldr	r2, [fp, #-44]
	ldr	r3, .L158+16
	ldr	r3, [r3]
	cmp	r2, r3
	bcc	.L149
	ldr	r3, [fp, #-32]
	sub	r4, r3, #1
	ldr	r3, .L158+52
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L150
	mov	r0, #0
	bl	time
	mov	r2, r0
	ldr	r3, .L158+52
	ldr	r3, [r3]
	sub	r3, r2, r3
	b	.L151
.L150:
	mov	r3, #0
.L151:
	ldr	r2, .L158+56
	ldr	r1, [fp, #-28]
	mov	r0, r4
	bl	mvprintw
	ldr	r3, [fp, #-32]
	sub	r0, r3, #1
	ldr	r3, .L158+20
	ldr	r3, [r3]
	lsl	r2, r3, #1
	ldr	r3, [fp, #-28]
	add	r3, r2, r3
	sub	r3, r3, #2
	mov	r1, r3
	ldr	r3, .L158+60
	ldr	r2, [r3]
	ldr	r3, [fp, #-56]
	sub	r3, r2, r3
	ldr	r2, .L158+64
	bl	mvprintw
	ldr	r2, [fp, #-32]
	ldr	r3, .L158+16
	ldr	r3, [r3]
	add	r3, r2, r3
	add	r3, r3, #1
	mov	r0, r3
	ldr	r3, [fp, #-28]
	sub	r1, r3, #11
	ldr	r2, [fp, #-32]
	ldr	r3, .L158+16
	ldr	r3, [r3]
	add	r3, r2, r3
	add	r3, r3, #3
	mov	ip, r3
	ldr	r3, .L158+20
	ldr	r3, [r3]
	lsl	r2, r3, #1
	ldr	r3, [fp, #-28]
	add	r3, r2, r3
	add	r3, r3, #10
	mov	r2, ip
	bl	render_border
	ldr	r3, .L158+68
	ldr	r3, [r3]
	cmp	r3, #1
	beq	.L152
	cmp	r3, #2
	beq	.L153
	b	.L157
.L152:
	ldr	r3, .L158+72
	str	r3, [fp, #-36]
	b	.L155
.L153:
	ldr	r3, .L158+76
	str	r3, [fp, #-36]
	b	.L155
.L157:
	ldr	r3, .L158+80
	str	r3, [fp, #-36]
	nop
.L155:
	ldr	r2, [fp, #-32]
	ldr	r3, .L158+16
	ldr	r3, [r3]
	add	r3, r2, r3
	add	r3, r3, #2
	mov	r0, r3
	ldr	r3, [fp, #-28]
	sub	r1, r3, #9
	ldr	r3, [fp, #-36]
	ldr	r2, .L158+84
	bl	mvprintw
	ldr	r3, .L158+4
	ldr	r3, [r3]
	mov	r0, r3
	bl	wrefresh
	nop
	ldr	r3, .L158
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L156
	bl	__stack_chk_fail
.L156:
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L159:
	.align	2
.L158:
	.word	.LC10
	.word	stdscr
	.word	scr_x
	.word	scr_y
	.word	size_x
	.word	size_y
	.word	field
	.word	cur_x
	.word	cur_y
	.word	.LC0
	.word	.LC1
	.word	.LC2
	.word	.LC3
	.word	time_start
	.word	.LC4
	.word	mines
	.word	.LC5
	.word	st_game
	.word	.LC6
	.word	.LC7
	.word	.LC8
	.word	.LC9
	.size	render, .-render
	.align	2
	.global	start_game
	.syntax unified
	.arm
	.fpu softvfp
	.type	start_game, %function
start_game:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L187
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L187+4
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L187+8
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L187+12
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L187+16
	mov	r2, #0
	str	r2, [r3]
	bl	render
	ldr	r3, .L187+20
	ldr	r3, [r3]
	mov	r1, #100
	mov	r0, r3
	bl	wtimeout
.L179:
	ldr	r3, .L187+20
	ldr	r3, [r3]
	mov	r0, r3
	bl	wgetch
	mov	r3, r0
	cmp	r3, #32
	beq	.L161
	cmp	r3, #32
	blt	.L180
	cmp	r3, #113
	bgt	.L180
	cmp	r3, #65
	blt	.L180
	sub	r3, r3, #65
	cmp	r3, #48
	ldrls	pc, [pc, r3, asl #2]
	b	.L180
.L164:
	.word	.L170
	.word	.L169
	.word	.L168
	.word	.L167
	.word	.L180
	.word	.L180
	.word	.L180
	.word	.L180
	.word	.L180
	.word	.L180
	.word	.L180
	.word	.L180
	.word	.L180
	.word	.L180
	.word	.L180
	.word	.L180
	.word	.L180
	.word	.L180
	.word	.L180
	.word	.L180
	.word	.L180
	.word	.L180
	.word	.L180
	.word	.L180
	.word	.L180
	.word	.L180
	.word	.L180
	.word	.L180
	.word	.L180
	.word	.L180
	.word	.L180
	.word	.L180
	.word	.L180
	.word	.L180
	.word	.L180
	.word	.L180
	.word	.L180
	.word	.L166
	.word	.L180
	.word	.L180
	.word	.L180
	.word	.L180
	.word	.L180
	.word	.L180
	.word	.L181
	.word	.L180
	.word	.L180
	.word	.L180
	.word	.L163
.L170:
	ldr	r3, .L187+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L182
	ldr	r3, .L187+4
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L187+4
	str	r3, [r2]
	b	.L182
.L169:
	ldr	r3, .L187+24
	ldr	r3, [r3]
	sub	r2, r3, #1
	ldr	r3, .L187+4
	ldr	r3, [r3]
	cmp	r2, r3
	bls	.L183
	ldr	r3, .L187+4
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L187+4
	str	r3, [r2]
	b	.L183
.L168:
	ldr	r3, .L187+28
	ldr	r3, [r3]
	sub	r2, r3, #1
	ldr	r3, .L187+8
	ldr	r3, [r3]
	cmp	r2, r3
	bls	.L184
	ldr	r3, .L187+8
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L187+8
	str	r3, [r2]
	b	.L184
.L167:
	ldr	r3, .L187+8
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L185
	ldr	r3, .L187+8
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L187+8
	str	r3, [r2]
	b	.L185
.L161:
	ldr	r3, .L187+12
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L176
	bl	gen_field
.L176:
	ldr	r3, .L187+4
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r3, .L187+8
	ldr	r3, [r3]
	mov	r1, r3
	mov	r0, r2
	bl	mine_open
	b	.L172
.L166:
	ldr	r3, .L187+12
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L186
	ldr	r3, .L187+12
	ldr	r2, [r3]
	ldr	r3, .L187+4
	ldr	r3, [r3]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r3, .L187+8
	ldr	r2, [r3]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	cmp	r3, #0
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	eor	r3, r3, #1
	and	r3, r3, #255
	mov	r0, r3
	ldr	r3, .L187+12
	ldr	r2, [r3]
	ldr	r3, .L187+4
	ldr	r3, [r3]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r3, .L187+8
	ldr	r2, [r3]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	mov	r2, r0
	and	r2, r2, #1
	and	r2, r2, #255
	strb	r2, [r3, #1]
	b	.L172
.L163:
	ldr	r3, .L187+32
	mov	r2, #1
	strb	r2, [r3]
	pop	{fp, pc}
.L180:
	nop
	b	.L172
.L182:
	nop
	b	.L172
.L183:
	nop
	b	.L172
.L184:
	nop
	b	.L172
.L185:
	nop
	b	.L172
.L186:
	nop
.L172:
	bl	render
	ldr	r3, .L187
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L179
	ldr	r3, .L187+20
	ldr	r3, [r3]
	mvn	r1, #0
	mov	r0, r3
	bl	wtimeout
	ldr	r3, .L187+20
	ldr	r3, [r3]
	mov	r0, r3
	bl	wgetch
	pop	{fp, pc}
.L181:
	nop
	pop	{fp, pc}
.L188:
	.align	2
.L187:
	.word	st_game
	.word	cur_x
	.word	cur_y
	.word	field
	.word	time_start
	.word	stdscr
	.word	size_x
	.word	size_y
	.word	quit
	.size	start_game, .-start_game
	.section	.rodata
	.align	2
.LC11:
	.ascii	"Your terminal does not support color\000"
	.align	2
.LC12:
	.ascii	"nMines 0.1.0\000"
	.align	2
.LC13:
	.ascii	"   Difficulty   \000"
	.align	2
.LC14:
	.ascii	"   Easy (8x8)   \000"
	.align	2
.LC15:
	.ascii	" Medium (16x16) \000"
	.align	2
.LC16:
	.ascii	"  Hard (32x16)  \000"
	.align	2
.LC17:
	.ascii	" Expert (32x16) \000"
	.align	2
.LC18:
	.ascii	"      Exit      \000"
	.text
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	bl	initscr
	bl	noecho
	mov	r0, #0
	bl	curs_set
	bl	has_colors
	mov	r3, r0
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L190
	bl	endwin
	ldr	r0, .L214
	bl	puts
	mov	r0, #1
	bl	exit
.L190:
	bl	start_color
	mov	r2, #0
	mov	r1, #7
	mov	r0, #1
	bl	init_pair
	mov	r2, #3
	mov	r1, #7
	mov	r0, #12
	bl	init_pair
	mov	r2, #1
	mov	r1, #7
	mov	r0, #10
	bl	init_pair
	mov	r2, #2
	mov	r1, #7
	mov	r0, #11
	bl	init_pair
	mov	r2, #6
	mov	r1, #0
	mov	r0, #13
	bl	init_pair
	mov	r2, #0
	mov	r1, #7
	mov	r0, #14
	bl	init_pair
	mov	r2, #7
	mov	r1, #0
	mov	r0, #15
	bl	init_pair
	mov	r2, #7
	mov	r1, #4
	mov	r0, #16
	bl	init_pair
	mov	r2, #7
	mov	r1, #2
	mov	r0, #17
	bl	init_pair
	mov	r2, #7
	mov	r1, #1
	mov	r0, #18
	bl	init_pair
	mov	r2, #4
	mov	r1, #7
	mov	r0, #20
	bl	init_pair
	ldr	r3, .L214+4
	ldr	r3, [r3]
	mov	r1, #256
	mov	r0, r3
	bl	wbkgd
	mov	r3, #0
	str	r3, [fp, #-28]
	mov	r3, #5
	str	r3, [fp, #-24]
	ldr	r3, .L214+4
	ldr	r3, [r3]
	mov	r1, #100
	mov	r0, r3
	bl	wtimeout
	b	.L191
.L211:
	ldr	r3, .L214+4
	ldr	r3, [r3]
	mov	r0, r3
	bl	wclear
	ldr	r3, .L214+4
	ldr	r3, [r3]
	mov	r1, #256
	mov	r0, r3
	bl	wbkgd
	ldr	r3, .L214+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L192
	ldr	r3, .L214+4
	ldr	r3, [r3]
	ldrsh	r3, [r3, #4]
	add	r3, r3, #1
	b	.L193
.L192:
	mvn	r3, #0
.L193:
	ldr	r2, .L214+8
	str	r3, [r2]
	ldr	r3, .L214+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L194
	ldr	r3, .L214+4
	ldr	r3, [r3]
	ldrsh	r3, [r3, #6]
	add	r3, r3, #1
	b	.L195
.L194:
	mvn	r3, #0
.L195:
	ldr	r2, .L214+12
	str	r3, [r2]
	mov	r3, #5
	str	r3, [fp, #-20]
	mov	r3, #15
	str	r3, [fp, #-16]
	ldr	r3, .L214+8
	ldr	r3, [r3]
	lsr	r2, r3, #1
	ldr	r3, [fp, #-20]
	lsr	r1, r3, #31
	add	r3, r1, r3
	asr	r3, r3, #1
	sub	r3, r2, r3
	sub	r3, r3, #2
	str	r3, [fp, #-12]
	ldr	r3, .L214+12
	ldr	r3, [r3]
	lsr	r2, r3, #1
	ldr	r3, [fp, #-16]
	sub	r3, r2, r3
	sub	r3, r3, #2
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-12]
	sub	r0, r3, #1
	ldr	r3, [fp, #-8]
	sub	r1, r3, #1
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-20]
	add	r3, r2, r3
	add	ip, r3, #1
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	add	r3, r3, #1
	mov	r2, ip
	bl	render_border
	ldr	r3, [fp, #-12]
	sub	r0, r3, #1
	ldr	r3, [fp, #-8]
	add	r3, r3, #2
	ldr	r2, .L214+16
	mov	r1, r3
	bl	mvprintw
	ldr	r3, .L214+4
	ldr	r3, [r3]
	mov	r2, #0
	mov	r1, #2097152
	mov	r0, r3
	bl	wattr_on
	ldr	r2, .L214+20
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-12]
	bl	mvprintw
	ldr	r3, .L214+4
	ldr	r3, [r3]
	mov	r2, #0
	mov	r1, #2097152
	mov	r0, r3
	bl	wattr_off
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L196
	ldr	r3, .L214+4
	ldr	r3, [r3]
	mov	r2, #0
	mov	r1, #5120
	mov	r0, r3
	bl	wattr_on
.L196:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	ldr	r2, .L214+24
	ldr	r1, [fp, #-8]
	mov	r0, r3
	bl	mvprintw
	ldr	r3, .L214+4
	ldr	r3, [r3]
	mov	r2, #0
	mov	r1, #256
	mov	r0, r3
	bl	wattr_on
	ldr	r3, [fp, #-28]
	cmp	r3, #1
	bne	.L197
	ldr	r3, .L214+4
	ldr	r3, [r3]
	mov	r2, #0
	mov	r1, #5120
	mov	r0, r3
	bl	wattr_on
.L197:
	ldr	r3, [fp, #-12]
	add	r3, r3, #2
	ldr	r2, .L214+28
	ldr	r1, [fp, #-8]
	mov	r0, r3
	bl	mvprintw
	ldr	r3, .L214+4
	ldr	r3, [r3]
	mov	r2, #0
	mov	r1, #256
	mov	r0, r3
	bl	wattr_on
	ldr	r3, [fp, #-28]
	cmp	r3, #2
	bne	.L198
	ldr	r3, .L214+4
	ldr	r3, [r3]
	mov	r2, #0
	mov	r1, #5120
	mov	r0, r3
	bl	wattr_on
.L198:
	ldr	r3, [fp, #-12]
	add	r3, r3, #3
	ldr	r2, .L214+32
	ldr	r1, [fp, #-8]
	mov	r0, r3
	bl	mvprintw
	ldr	r3, .L214+4
	ldr	r3, [r3]
	mov	r2, #0
	mov	r1, #256
	mov	r0, r3
	bl	wattr_on
	ldr	r3, [fp, #-28]
	cmp	r3, #3
	bne	.L199
	ldr	r3, .L214+4
	ldr	r3, [r3]
	mov	r2, #0
	mov	r1, #5120
	mov	r0, r3
	bl	wattr_on
.L199:
	ldr	r3, [fp, #-12]
	add	r3, r3, #4
	ldr	r2, .L214+36
	ldr	r1, [fp, #-8]
	mov	r0, r3
	bl	mvprintw
	ldr	r3, .L214+4
	ldr	r3, [r3]
	mov	r2, #0
	mov	r1, #256
	mov	r0, r3
	bl	wattr_on
	ldr	r3, [fp, #-28]
	cmp	r3, #4
	bne	.L200
	ldr	r3, .L214+4
	ldr	r3, [r3]
	mov	r2, #0
	mov	r1, #5120
	mov	r0, r3
	bl	wattr_on
.L200:
	ldr	r3, [fp, #-12]
	add	r3, r3, #5
	ldr	r2, .L214+40
	ldr	r1, [fp, #-8]
	mov	r0, r3
	bl	mvprintw
	ldr	r3, .L214+4
	ldr	r3, [r3]
	mov	r2, #0
	mov	r1, #256
	mov	r0, r3
	bl	wattr_on
	ldr	r3, .L214+4
	ldr	r3, [r3]
	mov	r0, r3
	bl	wrefresh
	ldr	r3, .L214+4
	ldr	r3, [r3]
	mov	r0, r3
	bl	wgetch
	mov	r3, r0
	cmp	r3, #66
	beq	.L201
	cmp	r3, #66
	bgt	.L213
	cmp	r3, #32
	beq	.L203
	cmp	r3, #65
	bne	.L213
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	ble	.L191
	ldr	r3, [fp, #-28]
	sub	r3, r3, #1
	str	r3, [fp, #-28]
	b	.L191
.L201:
	ldr	r3, [fp, #-24]
	sub	r3, r3, #1
	ldr	r2, [fp, #-28]
	cmp	r2, r3
	bge	.L191
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	b	.L191
.L203:
	ldr	r3, [fp, #-28]
	cmp	r3, #4
	bne	.L206
	ldr	r3, .L214+44
	mov	r2, #1
	strb	r2, [r3]
	b	.L191
.L206:
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L207
	ldr	r3, .L214+48
	mov	r2, #8
	str	r2, [r3]
	ldr	r3, .L214+52
	mov	r2, #8
	str	r2, [r3]
	ldr	r3, .L214+56
	mov	r2, #10
	str	r2, [r3]
	b	.L208
.L207:
	ldr	r3, [fp, #-28]
	cmp	r3, #1
	bne	.L209
	ldr	r3, .L214+48
	mov	r2, #16
	str	r2, [r3]
	ldr	r3, .L214+52
	mov	r2, #16
	str	r2, [r3]
	ldr	r3, .L214+56
	mov	r2, #40
	str	r2, [r3]
	b	.L208
.L209:
	ldr	r3, [fp, #-28]
	cmp	r3, #2
	bne	.L210
	ldr	r3, .L214+48
	mov	r2, #16
	str	r2, [r3]
	ldr	r3, .L214+52
	mov	r2, #32
	str	r2, [r3]
	ldr	r3, .L214+56
	mov	r2, #70
	str	r2, [r3]
	b	.L208
.L210:
	ldr	r3, [fp, #-28]
	cmp	r3, #3
	bne	.L208
	ldr	r3, .L214+48
	mov	r2, #16
	str	r2, [r3]
	ldr	r3, .L214+52
	mov	r2, #32
	str	r2, [r3]
	ldr	r3, .L214+56
	mov	r2, #99
	str	r2, [r3]
.L208:
	bl	start_game
	b	.L191
.L213:
	nop
.L191:
	ldr	r3, .L214+44
	ldrb	r3, [r3]	@ zero_extendqisi2
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	bne	.L211
	mov	r0, #1
	bl	curs_set
	bl	endwin
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L215:
	.align	2
.L214:
	.word	.LC11
	.word	stdscr
	.word	scr_x
	.word	scr_y
	.word	.LC12
	.word	.LC13
	.word	.LC14
	.word	.LC15
	.word	.LC16
	.word	.LC17
	.word	.LC18
	.word	quit
	.word	size_x
	.word	size_y
	.word	mines
	.size	main, .-main
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
