	.file	"683881.c"
	.intel_syntax noprefix
	.text
	.globl	buffer
	.bss
	.align 32
	.type	buffer, @object
	.size	buffer, 10000
buffer:
	.zero	10000
	.globl	board
	.align 32
	.type	board, @object
	.size	board, 144
board:
	.zero	144
	.globl	me_flag
	.align 4
	.type	me_flag, @object
	.size	me_flag, 4
me_flag:
	.zero	4
	.globl	other_flag
	.align 4
	.type	other_flag, @object
	.size	other_flag, 4
other_flag:
	.zero	4
	.globl	DIR
	.section	.rodata
	.align 32
	.type	DIR, @object
	.size	DIR, 64
DIR:
	.long	-1
	.long	0
	.long	1
	.long	0
	.long	0
	.long	-1
	.long	0
	.long	1
	.long	-1
	.long	-1
	.long	-1
	.long	1
	.long	1
	.long	-1
	.long	1
	.long	1
.LC0:
	.string	"DEBUG %s\n"
	.text
	.globl	debug
	.type	debug, @function
debug:
.LFB6:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rax
	lea	rdi, .LC0[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR stdout[rip]
	mov	rdi, rax
	call	fflush@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	debug, .-debug
	.globl	printBoard
	.type	printBoard, @function
printBoard:
.LFB7:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 176
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rdx, -160[rbp]
	mov	eax, 0
	mov	ecx, 18
	mov	rdi, rdx
	rep stosq
	mov	DWORD PTR -168[rbp], 0
	jmp	.L3
.L9:
	mov	DWORD PTR -164[rbp], 0
	jmp	.L4
.L8:
	mov	eax, DWORD PTR -164[rbp]
	movsx	rcx, eax
	mov	eax, DWORD PTR -168[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	lea	rdx, [rax+rcx]
	lea	rax, board[rip]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L5
	mov	eax, DWORD PTR -164[rbp]
	movsx	rcx, eax
	mov	eax, DWORD PTR -168[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rbp
	add	rax, rcx
	sub	rax, 160
	mov	BYTE PTR [rax], 46
	jmp	.L6
.L5:
	mov	eax, DWORD PTR -164[rbp]
	movsx	rcx, eax
	mov	eax, DWORD PTR -168[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	lea	rdx, [rax+rcx]
	lea	rax, board[rip]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 1
	jne	.L7
	mov	eax, DWORD PTR -164[rbp]
	movsx	rcx, eax
	mov	eax, DWORD PTR -168[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rbp
	add	rax, rcx
	sub	rax, 160
	mov	BYTE PTR [rax], 79
	jmp	.L6
.L7:
	mov	eax, DWORD PTR -164[rbp]
	movsx	rcx, eax
	mov	eax, DWORD PTR -168[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	lea	rdx, [rax+rcx]
	lea	rax, board[rip]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 2
	jne	.L6
	mov	eax, DWORD PTR -164[rbp]
	movsx	rcx, eax
	mov	eax, DWORD PTR -168[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rbp
	add	rax, rcx
	sub	rax, 160
	mov	BYTE PTR [rax], 88
.L6:
	add	DWORD PTR -164[rbp], 1
.L4:
	cmp	DWORD PTR -164[rbp], 11
	jle	.L8
	lea	rcx, -160[rbp]
	mov	eax, DWORD PTR -168[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rcx
	mov	rdi, rax
	call	puts@PLT
	add	DWORD PTR -168[rbp], 1
.L3:
	cmp	DWORD PTR -168[rbp], 11
	jle	.L9
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L10
	call	__stack_chk_fail@PLT
.L10:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	printBoard, .-printBoard
	.globl	isInBound
	.type	isInBound, @function
isInBound:
.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 -4[rbp], edi
	mov	DWORD PTR -8[rbp], esi
	cmp	DWORD PTR -4[rbp], 0
	js	.L12
	cmp	DWORD PTR -4[rbp], 11
	jg	.L12
	cmp	DWORD PTR -8[rbp], 0
	js	.L12
	cmp	DWORD PTR -8[rbp], 11
	jg	.L12
	mov	eax, 1
	jmp	.L14
.L12:
	mov	eax, 0
.L14:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	isInBound, .-isInBound
	.globl	Search_Depth
	.data
	.align 4
	.type	Search_Depth, @object
	.size	Search_Depth, 4
Search_Depth:
	.long	4
	.globl	ChessCount
	.bss
	.align 4
	.type	ChessCount, @object
	.size	ChessCount, 4
ChessCount:
	.zero	4
	.globl	direction
	.align 4
	.type	direction, @object
	.size	direction, 4
direction:
	.zero	4
	.globl	cur_board
	.align 32
	.type	cur_board, @object
	.size	cur_board, 144
cur_board:
	.zero	144
	.globl	ans_command
	.align 32
	.type	ans_command, @object
	.size	ans_command, 176
ans_command:
	.zero	176
	.globl	second_command
	.align 32
	.type	second_command, @object
	.size	second_command, 176
second_command:
	.zero	176
	.globl	cen_x
	.align 4
	.type	cen_x, @object
	.size	cen_x, 4
cen_x:
	.zero	4
	.globl	cen_y
	.align 4
	.type	cen_y, @object
	.size	cen_y, 4
cen_y:
	.zero	4
	.globl	theta1
	.data
	.align 4
	.type	theta1, @object
	.size	theta1, 4
theta1:
	.long	1
	.globl	theta2
	.align 4
	.type	theta2, @object
	.size	theta2, 4
theta2:
	.long	1
	.globl	theta3
	.bss
	.align 4
	.type	theta3, @object
	.size	theta3, 4
theta3:
	.zero	4
	.globl	hash
	.align 8
	.type	hash, @object
	.size	hash, 8
hash:
	.zero	8
	.globl	turns
	.align 4
	.type	turns, @object
	.size	turns, 4
turns:
	.zero	4
	.globl	bestmove
	.align 32
	.type	bestmove, @object
	.size	bestmove, 119999892
bestmove:
	.zero	119999892
	.globl	repetition
	.align 32
	.type	repetition, @object
	.size	repetition, 119999892
repetition:
	.zero	119999892
	.globl	changeit
	.align 4
	.type	changeit, @object
	.size	changeit, 4
changeit:
	.zero	4
	.globl	changed
	.align 4
	.type	changed, @object
	.size	changed, 4
changed:
	.zero	4
	.globl	hashtable
	.align 32
	.type	hashtable, @object
	.size	hashtable, 1728
hashtable:
	.zero	1728
	.globl	sortedmove
	.align 32
	.type	sortedmove, @object
	.size	sortedmove, 24640
sortedmove:
	.zero	24640
	.globl	num_SortArray
	.align 4
	.type	num_SortArray, @object
	.size	num_SortArray, 4
num_SortArray:
	.zero	4
	.globl	alphasort
	.align 4
	.type	alphasort, @object
	.size	alphasort, 4
alphasort:
	.zero	4
	.globl	betasort
	.align 4
	.type	betasort, @object
	.size	betasort, 4
betasort:
	.zero	4
	.globl	eaten
	.align 4
	.type	eaten, @object
	.size	eaten, 4
eaten:
	.zero	4
	.text
	.globl	Evaluate
	.type	Evaluate, @function
Evaluate:
.LFB9:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 736
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	eax, DWORD PTR ChessCount[rip]
	test	eax, eax
	jne	.L16
	mov	eax, -2147483648
	jmp	.L56
.L16:
	movsd	xmm0, QWORD PTR .LC1[rip]
	movsd	QWORD PTR -504[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC2[rip]
	movsd	QWORD PTR -496[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC3[rip]
	movsd	QWORD PTR -488[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC4[rip]
	movsd	QWORD PTR -480[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC5[rip]
	movsd	QWORD PTR -472[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC6[rip]
	movsd	QWORD PTR -464[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC7[rip]
	movsd	QWORD PTR -456[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC8[rip]
	movsd	QWORD PTR -448[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -440[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -432[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -576[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -424[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -416[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC10[rip]
	movsd	QWORD PTR -408[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -400[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -392[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -568[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -560[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -552[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -544[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -536[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -528[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -384[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -376[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -520[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -368[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -360[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -512[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -352[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -344[rbp], xmm0
	mov	DWORD PTR -336[rbp], 1
	mov	DWORD PTR -332[rbp], 0
	mov	DWORD PTR -328[rbp], -1
	mov	DWORD PTR -324[rbp], 0
	mov	DWORD PTR -320[rbp], 0
	mov	DWORD PTR -316[rbp], 1
	mov	DWORD PTR -312[rbp], 0
	mov	DWORD PTR -308[rbp], -1
	mov	DWORD PTR -304[rbp], 1
	mov	DWORD PTR -300[rbp], 1
	mov	DWORD PTR -296[rbp], 1
	mov	DWORD PTR -292[rbp], -1
	mov	DWORD PTR -288[rbp], -1
	mov	DWORD PTR -284[rbp], 1
	mov	DWORD PTR -280[rbp], -1
	mov	DWORD PTR -276[rbp], -1
	mov	DWORD PTR -272[rbp], 1
	mov	DWORD PTR -268[rbp], 3
	mov	DWORD PTR -264[rbp], 1
	mov	DWORD PTR -260[rbp], -3
	mov	DWORD PTR -256[rbp], -1
	mov	DWORD PTR -252[rbp], 3
	mov	DWORD PTR -248[rbp], -1
	mov	DWORD PTR -244[rbp], -3
	mov	DWORD PTR -240[rbp], 3
	mov	DWORD PTR -236[rbp], 1
	mov	DWORD PTR -232[rbp], 3
	mov	DWORD PTR -228[rbp], -1
	mov	DWORD PTR -224[rbp], -3
	mov	DWORD PTR -220[rbp], 1
	mov	DWORD PTR -216[rbp], -3
	mov	DWORD PTR -212[rbp], -1
	mov	DWORD PTR -208[rbp], -2
	mov	DWORD PTR -204[rbp], -1
	mov	DWORD PTR -200[rbp], -2
	mov	DWORD PTR -196[rbp], 1
	mov	DWORD PTR -192[rbp], -4
	mov	DWORD PTR -188[rbp], 0
	mov	DWORD PTR -184[rbp], -1
	mov	DWORD PTR -180[rbp], 2
	mov	DWORD PTR -176[rbp], 1
	mov	DWORD PTR -172[rbp], 2
	mov	DWORD PTR -168[rbp], 0
	mov	DWORD PTR -164[rbp], 4
	mov	DWORD PTR -160[rbp], 2
	mov	DWORD PTR -156[rbp], -1
	mov	DWORD PTR -152[rbp], 2
	mov	DWORD PTR -148[rbp], 1
	mov	DWORD PTR -144[rbp], 4
	mov	DWORD PTR -140[rbp], 0
	mov	DWORD PTR -136[rbp], -1
	mov	DWORD PTR -132[rbp], -2
	mov	DWORD PTR -128[rbp], 1
	mov	DWORD PTR -124[rbp], -2
	mov	DWORD PTR -120[rbp], 0
	mov	DWORD PTR -116[rbp], -4
	mov	DWORD PTR -112[rbp], -1
	mov	DWORD PTR -108[rbp], -2
	mov	DWORD PTR -104[rbp], -1
	mov	DWORD PTR -100[rbp], 2
	mov	DWORD PTR -96[rbp], -2
	mov	DWORD PTR -92[rbp], 0
	mov	DWORD PTR -88[rbp], -2
	mov	DWORD PTR -84[rbp], 1
	mov	DWORD PTR -80[rbp], 2
	mov	DWORD PTR -76[rbp], 1
	mov	DWORD PTR -72[rbp], 0
	mov	DWORD PTR -68[rbp], 2
	mov	DWORD PTR -64[rbp], 1
	mov	DWORD PTR -60[rbp], -2
	mov	DWORD PTR -56[rbp], 1
	mov	DWORD PTR -52[rbp], 2
	mov	DWORD PTR -48[rbp], 2
	mov	DWORD PTR -44[rbp], 0
	mov	DWORD PTR -40[rbp], -2
	mov	DWORD PTR -36[rbp], -1
	mov	DWORD PTR -32[rbp], 2
	mov	DWORD PTR -28[rbp], -1
	mov	DWORD PTR -24[rbp], 0
	mov	DWORD PTR -20[rbp], -2
	mov	eax, DWORD PTR ChessCount[rip]
	cmp	eax, 9
	jle	.L18
	movsd	xmm0, QWORD PTR .LC11[rip]
	movsd	QWORD PTR -576[rbp], xmm0
.L18:
	mov	DWORD PTR -712[rbp], 0
	jmp	.L19
.L55:
	mov	DWORD PTR -708[rbp], 0
	jmp	.L20
.L54:
	mov	eax, DWORD PTR -708[rbp]
	movsx	rcx, eax
	mov	eax, DWORD PTR -712[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	lea	rdx, [rax+rcx]
	lea	rax, cur_board[rip]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	edx, al
	mov	eax, DWORD PTR me_flag[rip]
	cmp	edx, eax
	jne	.L21
	mov	DWORD PTR -704[rbp], 0
	jmp	.L22
.L27:
	mov	eax, DWORD PTR -704[rbp]
	cdqe
	mov	edx, DWORD PTR -336[rbp+rax*8]
	mov	eax, DWORD PTR -712[rbp]
	add	eax, edx
	mov	DWORD PTR -624[rbp], eax
	mov	eax, DWORD PTR -704[rbp]
	cdqe
	mov	edx, DWORD PTR -332[rbp+rax*8]
	mov	eax, DWORD PTR -708[rbp]
	add	eax, edx
	mov	DWORD PTR -620[rbp], eax
	mov	eax, DWORD PTR -704[rbp]
	cdqe
	mov	eax, DWORD PTR -336[rbp+rax*8]
	lea	edx, [rax+rax]
	mov	eax, DWORD PTR -712[rbp]
	add	eax, edx
	mov	DWORD PTR -616[rbp], eax
	mov	eax, DWORD PTR -704[rbp]
	cdqe
	mov	eax, DWORD PTR -332[rbp+rax*8]
	lea	edx, [rax+rax]
	mov	eax, DWORD PTR -708[rbp]
	add	eax, edx
	mov	DWORD PTR -612[rbp], eax
	cmp	DWORD PTR -624[rbp], 0
	js	.L23
	cmp	DWORD PTR -624[rbp], 11
	jg	.L23
	cmp	DWORD PTR -620[rbp], 0
	js	.L23
	cmp	DWORD PTR -620[rbp], 11
	jg	.L23
	cmp	DWORD PTR -616[rbp], 0
	js	.L23
	cmp	DWORD PTR -616[rbp], 11
	jg	.L23
	cmp	DWORD PTR -612[rbp], 0
	js	.L23
	cmp	DWORD PTR -612[rbp], 11
	jg	.L23
	mov	eax, DWORD PTR -612[rbp]
	movsx	rcx, eax
	mov	eax, DWORD PTR -616[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	lea	rdx, [rax+rcx]
	lea	rax, cur_board[rip]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	edx, al
	mov	eax, DWORD PTR me_flag[rip]
	cmp	edx, eax
	jne	.L23
	mov	eax, DWORD PTR -620[rbp]
	movsx	rcx, eax
	mov	eax, DWORD PTR -624[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	lea	rdx, [rax+rcx]
	lea	rax, cur_board[rip]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L23
	mov	DWORD PTR -700[rbp], 0
	jmp	.L24
.L26:
	mov	eax, DWORD PTR -700[rbp]
	cdqe
	mov	edx, DWORD PTR -336[rbp+rax*8]
	mov	eax, DWORD PTR -624[rbp]
	add	edx, eax
	mov	eax, DWORD PTR -700[rbp]
	cdqe
	mov	ecx, DWORD PTR -332[rbp+rax*8]
	mov	eax, DWORD PTR -620[rbp]
	add	eax, ecx
	movsx	rcx, eax
	movsx	rdx, edx
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	lea	rdx, [rax+rcx]
	lea	rax, cur_board[rip]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	edx, al
	mov	eax, DWORD PTR other_flag[rip]
	cmp	edx, eax
	jne	.L25
	movsd	xmm1, QWORD PTR -560[rbp]
	movsd	xmm0, QWORD PTR .LC1[rip]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -560[rbp], xmm0
	jmp	.L23
.L25:
	add	DWORD PTR -700[rbp], 1
.L24:
	cmp	DWORD PTR -700[rbp], 7
	jle	.L26
.L23:
	add	DWORD PTR -704[rbp], 1
.L22:
	cmp	DWORD PTR -704[rbp], 7
	jle	.L27
	mov	DWORD PTR -696[rbp], 0
	jmp	.L28
.L33:
	mov	eax, DWORD PTR -696[rbp]
	cdqe
	mov	edx, DWORD PTR -336[rbp+rax*8]
	mov	eax, DWORD PTR -712[rbp]
	add	eax, edx
	mov	DWORD PTR -640[rbp], eax
	mov	eax, DWORD PTR -696[rbp]
	cdqe
	mov	edx, DWORD PTR -332[rbp+rax*8]
	mov	eax, DWORD PTR -708[rbp]
	add	eax, edx
	mov	DWORD PTR -636[rbp], eax
	mov	eax, DWORD PTR -696[rbp]
	cdqe
	mov	edx, DWORD PTR -336[rbp+rax*8]
	mov	eax, DWORD PTR -712[rbp]
	sub	eax, edx
	mov	DWORD PTR -632[rbp], eax
	mov	eax, DWORD PTR -696[rbp]
	cdqe
	mov	edx, DWORD PTR -332[rbp+rax*8]
	mov	eax, DWORD PTR -708[rbp]
	sub	eax, edx
	mov	DWORD PTR -628[rbp], eax
	cmp	DWORD PTR -640[rbp], 0
	js	.L29
	cmp	DWORD PTR -640[rbp], 11
	jg	.L29
	cmp	DWORD PTR -636[rbp], 0
	js	.L29
	cmp	DWORD PTR -636[rbp], 11
	jg	.L29
	cmp	DWORD PTR -632[rbp], 0
	js	.L29
	cmp	DWORD PTR -632[rbp], 11
	jg	.L29
	cmp	DWORD PTR -628[rbp], 0
	js	.L29
	cmp	DWORD PTR -628[rbp], 11
	jg	.L29
	mov	eax, DWORD PTR -628[rbp]
	movsx	rcx, eax
	mov	eax, DWORD PTR -632[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	lea	rdx, [rax+rcx]
	lea	rax, cur_board[rip]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	edx, al
	mov	eax, DWORD PTR other_flag[rip]
	cmp	edx, eax
	jne	.L29
	mov	eax, DWORD PTR -636[rbp]
	movsx	rcx, eax
	mov	eax, DWORD PTR -640[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	lea	rdx, [rax+rcx]
	lea	rax, cur_board[rip]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L29
	mov	DWORD PTR -692[rbp], 0
	jmp	.L30
.L32:
	mov	eax, DWORD PTR -692[rbp]
	cdqe
	mov	edx, DWORD PTR -336[rbp+rax*8]
	mov	eax, DWORD PTR -640[rbp]
	add	edx, eax
	mov	eax, DWORD PTR -692[rbp]
	cdqe
	mov	ecx, DWORD PTR -332[rbp+rax*8]
	mov	eax, DWORD PTR -636[rbp]
	add	eax, ecx
	movsx	rcx, eax
	movsx	rdx, edx
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	lea	rdx, [rax+rcx]
	lea	rax, cur_board[rip]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	edx, al
	mov	eax, DWORD PTR other_flag[rip]
	cmp	edx, eax
	jne	.L31
	movsd	xmm1, QWORD PTR -552[rbp]
	movsd	xmm0, QWORD PTR .LC1[rip]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -552[rbp], xmm0
	jmp	.L29
.L31:
	add	DWORD PTR -692[rbp], 1
.L30:
	cmp	DWORD PTR -692[rbp], 7
	jle	.L32
.L29:
	add	DWORD PTR -696[rbp], 1
.L28:
	cmp	DWORD PTR -696[rbp], 7
	jle	.L33
	mov	DWORD PTR -688[rbp], 0
	jmp	.L34
.L36:
	mov	eax, DWORD PTR -688[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	add	rax, rbp
	sub	rax, 208
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -712[rbp]
	add	eax, edx
	mov	DWORD PTR -664[rbp], eax
	mov	eax, DWORD PTR -688[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	add	rax, rbp
	sub	rax, 204
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -708[rbp]
	add	eax, edx
	mov	DWORD PTR -660[rbp], eax
	mov	eax, DWORD PTR -688[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	add	rax, rbp
	sub	rax, 200
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -712[rbp]
	add	eax, edx
	mov	DWORD PTR -656[rbp], eax
	mov	eax, DWORD PTR -688[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	add	rax, rbp
	sub	rax, 196
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -708[rbp]
	add	eax, edx
	mov	DWORD PTR -652[rbp], eax
	mov	eax, DWORD PTR -688[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	add	rax, rbp
	sub	rax, 192
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -712[rbp]
	add	eax, edx
	mov	DWORD PTR -648[rbp], eax
	mov	eax, DWORD PTR -688[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	add	rax, rbp
	sub	rax, 188
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -708[rbp]
	add	eax, edx
	mov	DWORD PTR -644[rbp], eax
	cmp	DWORD PTR -664[rbp], 0
	js	.L35
	cmp	DWORD PTR -664[rbp], 11
	jg	.L35
	cmp	DWORD PTR -660[rbp], 0
	js	.L35
	cmp	DWORD PTR -660[rbp], 11
	jg	.L35
	cmp	DWORD PTR -656[rbp], 0
	js	.L35
	cmp	DWORD PTR -656[rbp], 11
	jg	.L35
	cmp	DWORD PTR -652[rbp], 0
	js	.L35
	cmp	DWORD PTR -652[rbp], 11
	jg	.L35
	cmp	DWORD PTR -648[rbp], 0
	js	.L35
	cmp	DWORD PTR -648[rbp], 11
	jg	.L35
	cmp	DWORD PTR -644[rbp], 0
	js	.L35
	cmp	DWORD PTR -644[rbp], 11
	jg	.L35
	mov	eax, DWORD PTR -660[rbp]
	movsx	rcx, eax
	mov	eax, DWORD PTR -664[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	lea	rdx, [rax+rcx]
	lea	rax, cur_board[rip]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	edx, al
	mov	eax, DWORD PTR me_flag[rip]
	cmp	edx, eax
	jne	.L35
	mov	eax, DWORD PTR -652[rbp]
	movsx	rcx, eax
	mov	eax, DWORD PTR -656[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	lea	rdx, [rax+rcx]
	lea	rax, cur_board[rip]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	edx, al
	mov	eax, DWORD PTR me_flag[rip]
	cmp	edx, eax
	jne	.L35
	mov	eax, DWORD PTR -644[rbp]
	movsx	rcx, eax
	mov	eax, DWORD PTR -648[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	lea	rdx, [rax+rcx]
	lea	rax, cur_board[rip]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	edx, al
	mov	eax, DWORD PTR me_flag[rip]
	cmp	edx, eax
	jne	.L35
	movsd	xmm1, QWORD PTR -512[rbp]
	movsd	xmm0, QWORD PTR .LC1[rip]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -512[rbp], xmm0
.L35:
	add	DWORD PTR -688[rbp], 1
.L34:
	cmp	DWORD PTR -688[rbp], 7
	jle	.L36
	mov	DWORD PTR -684[rbp], 0
	jmp	.L37
.L40:
	mov	eax, DWORD PTR -684[rbp]
	cdqe
	mov	edx, DWORD PTR -272[rbp+rax*8]
	mov	eax, DWORD PTR -712[rbp]
	add	edx, eax
	mov	eax, DWORD PTR -684[rbp]
	cdqe
	mov	ecx, DWORD PTR -268[rbp+rax*8]
	mov	eax, DWORD PTR -708[rbp]
	add	eax, ecx
	movsx	rcx, eax
	movsx	rdx, edx
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	lea	rdx, [rax+rcx]
	lea	rax, cur_board[rip]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	edx, al
	mov	eax, DWORD PTR me_flag[rip]
	cmp	edx, eax
	jne	.L38
	movsd	xmm1, QWORD PTR -544[rbp]
	movsd	xmm0, QWORD PTR .LC1[rip]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -544[rbp], xmm0
.L38:
	mov	eax, DWORD PTR -684[rbp]
	cdqe
	mov	edx, DWORD PTR -336[rbp+rax*8]
	mov	eax, edx
	add	eax, eax
	add	edx, eax
	mov	eax, DWORD PTR -712[rbp]
	add	eax, edx
	test	eax, eax
	js	.L39
	mov	eax, DWORD PTR -684[rbp]
	cdqe
	mov	edx, DWORD PTR -336[rbp+rax*8]
	mov	eax, edx
	add	eax, eax
	add	edx, eax
	mov	eax, DWORD PTR -712[rbp]
	add	eax, edx
	cmp	eax, 11
	jg	.L39
	mov	eax, DWORD PTR -684[rbp]
	cdqe
	mov	edx, DWORD PTR -332[rbp+rax*8]
	mov	eax, edx
	add	eax, eax
	add	edx, eax
	mov	eax, DWORD PTR -708[rbp]
	add	eax, edx
	test	eax, eax
	js	.L39
	mov	eax, DWORD PTR -684[rbp]
	cdqe
	mov	edx, DWORD PTR -332[rbp+rax*8]
	mov	eax, edx
	add	eax, eax
	add	edx, eax
	mov	eax, DWORD PTR -708[rbp]
	add	eax, edx
	cmp	eax, 11
	jg	.L39
	mov	eax, DWORD PTR -684[rbp]
	cdqe
	mov	edx, DWORD PTR -336[rbp+rax*8]
	mov	eax, edx
	add	eax, eax
	add	edx, eax
	mov	eax, DWORD PTR -712[rbp]
	lea	ecx, [rdx+rax]
	mov	eax, DWORD PTR -684[rbp]
	cdqe
	mov	edx, DWORD PTR -332[rbp+rax*8]
	mov	eax, edx
	add	eax, eax
	add	edx, eax
	mov	eax, DWORD PTR -708[rbp]
	add	eax, edx
	movsx	rsi, eax
	movsx	rdx, ecx
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	lea	rdx, [rax+rsi]
	lea	rax, cur_board[rip]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	edx, al
	mov	eax, DWORD PTR me_flag[rip]
	cmp	edx, eax
	jne	.L39
	mov	eax, DWORD PTR -684[rbp]
	cdqe
	mov	eax, DWORD PTR -336[rbp+rax*8]
	lea	edx, [rax+rax]
	mov	eax, DWORD PTR -712[rbp]
	add	edx, eax
	mov	eax, DWORD PTR -684[rbp]
	cdqe
	mov	eax, DWORD PTR -332[rbp+rax*8]
	lea	ecx, [rax+rax]
	mov	eax, DWORD PTR -708[rbp]
	add	eax, ecx
	movsx	rcx, eax
	movsx	rdx, edx
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	lea	rdx, [rax+rcx]
	lea	rax, cur_board[rip]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L39
	mov	eax, DWORD PTR -684[rbp]
	cdqe
	mov	edx, DWORD PTR -336[rbp+rax*8]
	mov	eax, DWORD PTR -712[rbp]
	add	edx, eax
	mov	eax, DWORD PTR -684[rbp]
	cdqe
	mov	ecx, DWORD PTR -332[rbp+rax*8]
	mov	eax, DWORD PTR -708[rbp]
	add	eax, ecx
	movsx	rcx, eax
	movsx	rdx, edx
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	lea	rdx, [rax+rcx]
	lea	rax, cur_board[rip]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L39
	movsd	xmm1, QWORD PTR -520[rbp]
	movsd	xmm0, QWORD PTR .LC1[rip]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -520[rbp], xmm0
.L39:
	add	DWORD PTR -684[rbp], 1
.L37:
	cmp	DWORD PTR -684[rbp], 7
	jle	.L40
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, DWORD PTR -712[rbp]
	movss	xmm1, DWORD PTR cen_x[rip]
	subss	xmm0, xmm1
	pxor	xmm4, xmm4
	cvtss2sd	xmm4, xmm0
	movq	rax, xmm4
	movsd	xmm0, QWORD PTR .LC12[rip]
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	pow@PLT
	movq	rax, xmm0
	movq	xmm3, rax
	addsd	xmm3, QWORD PTR -568[rbp]
	movsd	QWORD PTR -728[rbp], xmm3
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, DWORD PTR -708[rbp]
	movss	xmm1, DWORD PTR cen_y[rip]
	subss	xmm0, xmm1
	pxor	xmm5, xmm5
	cvtss2sd	xmm5, xmm0
	movq	rax, xmm5
	movsd	xmm0, QWORD PTR .LC12[rip]
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	pow@PLT
	addsd	xmm0, QWORD PTR -728[rbp]
	movsd	QWORD PTR -568[rbp], xmm0
.L21:
	mov	eax, DWORD PTR -708[rbp]
	movsx	rcx, eax
	mov	eax, DWORD PTR -712[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	lea	rdx, [rax+rcx]
	lea	rax, cur_board[rip]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	edx, al
	mov	eax, DWORD PTR other_flag[rip]
	cmp	edx, eax
	jne	.L41
	mov	DWORD PTR -680[rbp], 0
	jmp	.L42
.L47:
	mov	eax, DWORD PTR -680[rbp]
	cdqe
	mov	edx, DWORD PTR -336[rbp+rax*8]
	mov	eax, DWORD PTR -712[rbp]
	add	eax, edx
	mov	DWORD PTR -592[rbp], eax
	mov	eax, DWORD PTR -680[rbp]
	cdqe
	mov	edx, DWORD PTR -332[rbp+rax*8]
	mov	eax, DWORD PTR -708[rbp]
	add	eax, edx
	mov	DWORD PTR -588[rbp], eax
	mov	eax, DWORD PTR -680[rbp]
	cdqe
	mov	eax, DWORD PTR -336[rbp+rax*8]
	lea	edx, [rax+rax]
	mov	eax, DWORD PTR -712[rbp]
	add	eax, edx
	mov	DWORD PTR -584[rbp], eax
	mov	eax, DWORD PTR -680[rbp]
	cdqe
	mov	eax, DWORD PTR -332[rbp+rax*8]
	lea	edx, [rax+rax]
	mov	eax, DWORD PTR -708[rbp]
	add	eax, edx
	mov	DWORD PTR -580[rbp], eax
	cmp	DWORD PTR -592[rbp], 0
	js	.L43
	cmp	DWORD PTR -592[rbp], 11
	jg	.L43
	cmp	DWORD PTR -588[rbp], 0
	js	.L43
	cmp	DWORD PTR -588[rbp], 11
	jg	.L43
	cmp	DWORD PTR -584[rbp], 0
	js	.L43
	cmp	DWORD PTR -584[rbp], 11
	jg	.L43
	cmp	DWORD PTR -580[rbp], 0
	js	.L43
	cmp	DWORD PTR -580[rbp], 11
	jg	.L43
	mov	eax, DWORD PTR -580[rbp]
	movsx	rcx, eax
	mov	eax, DWORD PTR -584[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	lea	rdx, [rax+rcx]
	lea	rax, cur_board[rip]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	edx, al
	mov	eax, DWORD PTR other_flag[rip]
	cmp	edx, eax
	jne	.L43
	mov	eax, DWORD PTR -588[rbp]
	movsx	rcx, eax
	mov	eax, DWORD PTR -592[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	lea	rdx, [rax+rcx]
	lea	rax, cur_board[rip]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L43
	mov	DWORD PTR -676[rbp], 0
	jmp	.L44
.L46:
	mov	eax, DWORD PTR -676[rbp]
	cdqe
	mov	edx, DWORD PTR -336[rbp+rax*8]
	mov	eax, DWORD PTR -592[rbp]
	add	edx, eax
	mov	eax, DWORD PTR -676[rbp]
	cdqe
	mov	ecx, DWORD PTR -332[rbp+rax*8]
	mov	eax, DWORD PTR -588[rbp]
	add	eax, ecx
	movsx	rcx, eax
	movsx	rdx, edx
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	lea	rdx, [rax+rcx]
	lea	rax, cur_board[rip]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	edx, al
	mov	eax, DWORD PTR me_flag[rip]
	cmp	edx, eax
	jne	.L45
	movsd	xmm1, QWORD PTR -528[rbp]
	movsd	xmm0, QWORD PTR .LC1[rip]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -528[rbp], xmm0
	jmp	.L43
.L45:
	add	DWORD PTR -676[rbp], 1
.L44:
	cmp	DWORD PTR -676[rbp], 7
	jle	.L46
.L43:
	add	DWORD PTR -680[rbp], 1
.L42:
	cmp	DWORD PTR -680[rbp], 7
	jle	.L47
	mov	DWORD PTR -672[rbp], 0
	jmp	.L48
.L53:
	mov	eax, DWORD PTR -672[rbp]
	cdqe
	mov	edx, DWORD PTR -336[rbp+rax*8]
	mov	eax, DWORD PTR -712[rbp]
	add	eax, edx
	mov	DWORD PTR -608[rbp], eax
	mov	eax, DWORD PTR -672[rbp]
	cdqe
	mov	edx, DWORD PTR -332[rbp+rax*8]
	mov	eax, DWORD PTR -708[rbp]
	add	eax, edx
	mov	DWORD PTR -604[rbp], eax
	mov	eax, DWORD PTR -672[rbp]
	cdqe
	mov	edx, DWORD PTR -336[rbp+rax*8]
	mov	eax, DWORD PTR -712[rbp]
	sub	eax, edx
	mov	DWORD PTR -600[rbp], eax
	mov	eax, DWORD PTR -672[rbp]
	cdqe
	mov	edx, DWORD PTR -332[rbp+rax*8]
	mov	eax, DWORD PTR -708[rbp]
	sub	eax, edx
	mov	DWORD PTR -596[rbp], eax
	cmp	DWORD PTR -608[rbp], 0
	js	.L49
	cmp	DWORD PTR -608[rbp], 11
	jg	.L49
	cmp	DWORD PTR -604[rbp], 0
	js	.L49
	cmp	DWORD PTR -604[rbp], 11
	jg	.L49
	cmp	DWORD PTR -600[rbp], 0
	js	.L49
	cmp	DWORD PTR -600[rbp], 11
	jg	.L49
	cmp	DWORD PTR -596[rbp], 0
	js	.L49
	cmp	DWORD PTR -596[rbp], 11
	jg	.L49
	mov	eax, DWORD PTR -596[rbp]
	movsx	rcx, eax
	mov	eax, DWORD PTR -600[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	lea	rdx, [rax+rcx]
	lea	rax, cur_board[rip]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	edx, al
	mov	eax, DWORD PTR me_flag[rip]
	cmp	edx, eax
	jne	.L49
	mov	eax, DWORD PTR -604[rbp]
	movsx	rcx, eax
	mov	eax, DWORD PTR -608[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	lea	rdx, [rax+rcx]
	lea	rax, cur_board[rip]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L49
	mov	DWORD PTR -668[rbp], 0
	jmp	.L50
.L52:
	mov	eax, DWORD PTR -668[rbp]
	cdqe
	mov	edx, DWORD PTR -336[rbp+rax*8]
	mov	eax, DWORD PTR -608[rbp]
	add	edx, eax
	mov	eax, DWORD PTR -668[rbp]
	cdqe
	mov	ecx, DWORD PTR -332[rbp+rax*8]
	mov	eax, DWORD PTR -604[rbp]
	add	eax, ecx
	movsx	rcx, eax
	movsx	rdx, edx
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	lea	rdx, [rax+rcx]
	lea	rax, cur_board[rip]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	edx, al
	mov	eax, DWORD PTR me_flag[rip]
	cmp	edx, eax
	jne	.L51
	movsd	xmm1, QWORD PTR -536[rbp]
	movsd	xmm0, QWORD PTR .LC1[rip]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -536[rbp], xmm0
	jmp	.L49
.L51:
	add	DWORD PTR -668[rbp], 1
.L50:
	cmp	DWORD PTR -668[rbp], 7
	jle	.L52
.L49:
	add	DWORD PTR -672[rbp], 1
.L48:
	cmp	DWORD PTR -672[rbp], 7
	jle	.L53
.L41:
	add	DWORD PTR -708[rbp], 1
.L20:
	cmp	DWORD PTR -708[rbp], 11
	jle	.L54
	add	DWORD PTR -712[rbp], 1
.L19:
	cmp	DWORD PTR -712[rbp], 11
	jle	.L55
	mov	eax, DWORD PTR ChessCount[rip]
	pxor	xmm1, xmm1
	cvtsi2sd	xmm1, eax
	movsd	xmm0, QWORD PTR -568[rbp]
	divsd	xmm0, xmm1
	movsd	QWORD PTR -568[rbp], xmm0
	mov	eax, DWORD PTR ChessCount[rip]
	pxor	xmm1, xmm1
	cvtsi2sd	xmm1, eax
	movsd	xmm0, QWORD PTR -352[rbp]
	divsd	xmm0, xmm1
	movsd	QWORD PTR -352[rbp], xmm0
	mov	eax, DWORD PTR ChessCount[rip]
	mov	edx, 16
	sub	edx, eax
	pxor	xmm1, xmm1
	cvtsi2sd	xmm1, edx
	movsd	xmm0, QWORD PTR -344[rbp]
	divsd	xmm0, xmm1
	movsd	QWORD PTR -344[rbp], xmm0
	mov	eax, DWORD PTR ChessCount[rip]
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, eax
	mulsd	xmm0, QWORD PTR -496[rbp]
	movsd	xmm1, QWORD PTR -568[rbp]
	mulsd	xmm1, QWORD PTR -488[rbp]
	subsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -560[rbp]
	mulsd	xmm1, QWORD PTR -480[rbp]
	subsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -552[rbp]
	movapd	xmm2, xmm1
	mulsd	xmm2, QWORD PTR -472[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm0, QWORD PTR -544[rbp]
	mulsd	xmm0, QWORD PTR -464[rbp]
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -536[rbp]
	mulsd	xmm0, QWORD PTR -456[rbp]
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -528[rbp]
	mulsd	xmm0, QWORD PTR -448[rbp]
	addsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -384[rbp]
	mulsd	xmm1, QWORD PTR -440[rbp]
	subsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -376[rbp]
	movapd	xmm2, xmm1
	mulsd	xmm2, QWORD PTR -432[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm0, QWORD PTR -520[rbp]
	mulsd	xmm0, QWORD PTR -576[rbp]
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -360[rbp]
	mulsd	xmm0, QWORD PTR -424[rbp]
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -368[rbp]
	mulsd	xmm0, QWORD PTR -416[rbp]
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -512[rbp]
	mulsd	xmm0, QWORD PTR -408[rbp]
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -352[rbp]
	mulsd	xmm0, QWORD PTR -400[rbp]
	addsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -344[rbp]
	mulsd	xmm1, QWORD PTR -392[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -504[rbp], xmm0
	movsd	xmm0, QWORD PTR -504[rbp]
	cvttsd2si	eax, xmm0
.L56:
	mov	rdi, QWORD PTR -8[rbp]
	sub	rdi, QWORD PTR fs:40
	je	.L57
	call	__stack_chk_fail@PLT
.L57:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	Evaluate, .-Evaluate
	.globl	Compare_Evaluate
	.type	Compare_Evaluate, @function
Compare_Evaluate:
.LFB10:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	ecx, DWORD PTR 8[rax]
	mov	eax, edx
	sub	eax, ecx
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	Compare_Evaluate, .-Compare_Evaluate
	.globl	modify
	.type	modify, @function
modify:
.LFB11:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 280
	.cfi_offset 3, -24
	mov	QWORD PTR -280[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -24[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -260[rbp], 0
	mov	rax, QWORD PTR -280[rbp]
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR 4[rax]
	movsx	rcx, eax
	movsx	rdx, edx
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	lea	rdx, [rax+rcx]
	lea	rax, cur_board[rip]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	DWORD PTR -240[rbp], eax
	mov	eax, 3
	sub	eax, DWORD PTR -240[rbp]
	mov	DWORD PTR -236[rbp], eax
	mov	DWORD PTR -160[rbp], 1
	mov	DWORD PTR -156[rbp], 2
	mov	DWORD PTR -152[rbp], 1
	mov	DWORD PTR -148[rbp], -2
	mov	DWORD PTR -144[rbp], -1
	mov	DWORD PTR -140[rbp], 2
	mov	DWORD PTR -136[rbp], -1
	mov	DWORD PTR -132[rbp], -2
	mov	DWORD PTR -128[rbp], 2
	mov	DWORD PTR -124[rbp], 1
	mov	DWORD PTR -120[rbp], 2
	mov	DWORD PTR -116[rbp], -1
	mov	DWORD PTR -112[rbp], -2
	mov	DWORD PTR -108[rbp], 1
	mov	DWORD PTR -104[rbp], -2
	mov	DWORD PTR -100[rbp], -1
	mov	DWORD PTR -256[rbp], 0
	jmp	.L61
.L66:
	mov	rax, QWORD PTR -280[rbp]
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -256[rbp]
	cdqe
	mov	eax, DWORD PTR -160[rbp+rax*8]
	add	edx, eax
	mov	rax, QWORD PTR -280[rbp]
	mov	ecx, DWORD PTR 4[rax]
	mov	eax, DWORD PTR -256[rbp]
	cdqe
	mov	eax, DWORD PTR -156[rbp+rax*8]
	add	eax, ecx
	mov	rsi, QWORD PTR -280[rbp]
	movsx	rcx, eax
	movsx	rdx, edx
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rsi
	add	rax, rcx
	add	rax, 16
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	cmp	DWORD PTR -240[rbp], eax
	jne	.L62
	mov	eax, DWORD PTR theta2[rip]
	mov	ecx, eax
	lea	edx, 0[0+rax*4]
	mov	eax, ecx
	sub	eax, edx
	add	DWORD PTR -260[rbp], eax
.L62:
	mov	rax, QWORD PTR -280[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	eax, DWORD PTR -256[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, DIR[rip]
	mov	eax, DWORD PTR [rdx+rax]
	add	ecx, eax
	mov	rax, QWORD PTR -280[rbp]
	mov	esi, DWORD PTR 4[rax]
	mov	eax, DWORD PTR -256[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, DIR[rip+4]
	mov	eax, DWORD PTR [rdx+rax]
	add	eax, esi
	mov	rdi, QWORD PTR -280[rbp]
	movsx	rsi, eax
	movsx	rdx, ecx
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rdi
	add	rax, rsi
	add	rax, 16
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	cmp	DWORD PTR -240[rbp], eax
	jne	.L63
	mov	eax, DWORD PTR theta3[rip]
	add	DWORD PTR -260[rbp], eax
.L63:
	mov	rax, QWORD PTR -280[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	eax, DWORD PTR -256[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, DIR[rip]
	mov	eax, DWORD PTR [rdx+rax]
	add	ecx, eax
	mov	rax, QWORD PTR -280[rbp]
	mov	esi, DWORD PTR 4[rax]
	mov	eax, DWORD PTR -256[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, DIR[rip+4]
	mov	eax, DWORD PTR [rdx+rax]
	add	eax, esi
	mov	rdi, QWORD PTR -280[rbp]
	movsx	rsi, eax
	movsx	rdx, ecx
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rdi
	add	rax, rsi
	add	rax, 16
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	cmp	DWORD PTR -236[rbp], eax
	jne	.L64
	sub	DWORD PTR -260[rbp], 5
.L64:
	mov	rax, QWORD PTR -280[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	eax, DWORD PTR -256[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, DIR[rip]
	mov	edx, DWORD PTR [rdx+rax]
	mov	eax, edx
	add	eax, eax
	add	eax, edx
	add	eax, ecx
	test	eax, eax
	js	.L65
	mov	rax, QWORD PTR -280[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	eax, DWORD PTR -256[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, DIR[rip]
	mov	edx, DWORD PTR [rdx+rax]
	mov	eax, edx
	add	eax, eax
	add	eax, edx
	add	eax, ecx
	cmp	eax, 11
	jg	.L65
	mov	rax, QWORD PTR -280[rbp]
	mov	ecx, DWORD PTR 4[rax]
	mov	eax, DWORD PTR -256[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, DIR[rip+4]
	mov	edx, DWORD PTR [rdx+rax]
	mov	eax, edx
	add	eax, eax
	add	eax, edx
	add	eax, ecx
	test	eax, eax
	js	.L65
	mov	rax, QWORD PTR -280[rbp]
	mov	ecx, DWORD PTR 4[rax]
	mov	eax, DWORD PTR -256[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, DIR[rip+4]
	mov	edx, DWORD PTR [rdx+rax]
	mov	eax, edx
	add	eax, eax
	add	eax, edx
	add	eax, ecx
	cmp	eax, 11
	jg	.L65
	mov	rax, QWORD PTR -280[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	eax, DWORD PTR -256[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, DIR[rip]
	mov	eax, DWORD PTR [rdx+rax]
	add	ecx, eax
	mov	rax, QWORD PTR -280[rbp]
	mov	esi, DWORD PTR 4[rax]
	mov	eax, DWORD PTR -256[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, DIR[rip+4]
	mov	eax, DWORD PTR [rdx+rax]
	add	eax, esi
	mov	rdi, QWORD PTR -280[rbp]
	movsx	rsi, eax
	movsx	rdx, ecx
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rdi
	add	rax, rsi
	add	rax, 16
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L65
	mov	rax, QWORD PTR -280[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	eax, DWORD PTR -256[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, DIR[rip]
	mov	eax, DWORD PTR [rdx+rax]
	add	eax, eax
	add	ecx, eax
	mov	rax, QWORD PTR -280[rbp]
	mov	esi, DWORD PTR 4[rax]
	mov	eax, DWORD PTR -256[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, DIR[rip+4]
	mov	eax, DWORD PTR [rdx+rax]
	add	eax, eax
	add	eax, esi
	mov	rdi, QWORD PTR -280[rbp]
	movsx	rsi, eax
	movsx	rdx, ecx
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rdi
	add	rax, rsi
	add	rax, 16
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L65
	mov	rax, QWORD PTR -280[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	eax, DWORD PTR -256[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, DIR[rip]
	mov	edx, DWORD PTR [rdx+rax]
	mov	eax, edx
	add	eax, eax
	add	eax, edx
	add	ecx, eax
	mov	rax, QWORD PTR -280[rbp]
	mov	esi, DWORD PTR 4[rax]
	mov	eax, DWORD PTR -256[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, DIR[rip+4]
	mov	edx, DWORD PTR [rdx+rax]
	mov	eax, edx
	add	eax, eax
	add	eax, edx
	add	eax, esi
	mov	rdi, QWORD PTR -280[rbp]
	movsx	rsi, eax
	movsx	rdx, ecx
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rdi
	add	rax, rsi
	add	rax, 16
	movzx	eax, BYTE PTR [rax]
	movsx	edx, al
	mov	eax, DWORD PTR me_flag[rip]
	cmp	edx, eax
	jne	.L65
	sub	DWORD PTR -260[rbp], 20
.L65:
	add	DWORD PTR -256[rbp], 1
.L61:
	cmp	DWORD PTR -256[rbp], 7
	jle	.L66
	mov	rax, QWORD PTR -280[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR 12[rax]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, DIR[rip]
	mov	eax, DWORD PTR [rdx+rax]
	add	eax, ecx
	mov	DWORD PTR -232[rbp], eax
	mov	rax, QWORD PTR -280[rbp]
	mov	ecx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR 12[rax]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, DIR[rip+4]
	mov	eax, DWORD PTR [rdx+rax]
	add	eax, ecx
	mov	DWORD PTR -228[rbp], eax
	mov	rax, QWORD PTR -280[rbp]
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR 4[rax]
	mov	ecx, DWORD PTR -240[rbp]
	movsx	rsi, ecx
	movsx	rdx, edx
	movsx	rcx, eax
	mov	rax, rdx
	sal	rax, 3
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rcx
	add	rdx, rdx
	add	rdx, rcx
	add	rax, rdx
	add	rax, rsi
	lea	rdx, 0[0+rax*4]
	lea	rax, hashtable[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	edx, eax
	mov	rax, QWORD PTR hash[rip]
	mov	rdi, rdx
	xor	rdi, rax
	mov	eax, DWORD PTR -240[rbp]
	movsx	rsi, eax
	mov	eax, DWORD PTR -232[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -228[rbp]
	movsx	rcx, eax
	mov	rax, rdx
	sal	rax, 3
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rcx
	add	rdx, rdx
	add	rdx, rcx
	add	rax, rdx
	add	rax, rsi
	lea	rdx, 0[0+rax*4]
	lea	rax, hashtable[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	eax, eax
	xor	rax, rdi
	mov	rdx, rax
	mov	rax, QWORD PTR -280[rbp]
	mov	QWORD PTR 168[rax], rdx
	mov	rax, QWORD PTR -280[rbp]
	add	rax, 16
	mov	rcx, QWORD PTR cur_board[rip]
	mov	rbx, QWORD PTR cur_board[rip+8]
	mov	QWORD PTR [rax], rcx
	mov	QWORD PTR 8[rax], rbx
	mov	rcx, QWORD PTR cur_board[rip+16]
	mov	rbx, QWORD PTR cur_board[rip+24]
	mov	QWORD PTR 16[rax], rcx
	mov	QWORD PTR 24[rax], rbx
	mov	rcx, QWORD PTR cur_board[rip+32]
	mov	rbx, QWORD PTR cur_board[rip+40]
	mov	QWORD PTR 32[rax], rcx
	mov	QWORD PTR 40[rax], rbx
	mov	rcx, QWORD PTR cur_board[rip+48]
	mov	rbx, QWORD PTR cur_board[rip+56]
	mov	QWORD PTR 48[rax], rcx
	mov	QWORD PTR 56[rax], rbx
	mov	rcx, QWORD PTR cur_board[rip+64]
	mov	rbx, QWORD PTR cur_board[rip+72]
	mov	QWORD PTR 64[rax], rcx
	mov	QWORD PTR 72[rax], rbx
	mov	rcx, QWORD PTR cur_board[rip+80]
	mov	rbx, QWORD PTR cur_board[rip+88]
	mov	QWORD PTR 80[rax], rcx
	mov	QWORD PTR 88[rax], rbx
	mov	rcx, QWORD PTR cur_board[rip+96]
	mov	rbx, QWORD PTR cur_board[rip+104]
	mov	QWORD PTR 96[rax], rcx
	mov	QWORD PTR 104[rax], rbx
	mov	rcx, QWORD PTR cur_board[rip+112]
	mov	rbx, QWORD PTR cur_board[rip+120]
	mov	QWORD PTR 112[rax], rcx
	mov	QWORD PTR 120[rax], rbx
	mov	rcx, QWORD PTR cur_board[rip+128]
	mov	rbx, QWORD PTR cur_board[rip+136]
	mov	QWORD PTR 128[rax], rcx
	mov	QWORD PTR 136[rax], rbx
	mov	edx, DWORD PTR ChessCount[rip]
	mov	rax, QWORD PTR -280[rbp]
	mov	DWORD PTR 160[rax], edx
	mov	rax, QWORD PTR -280[rbp]
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR 4[rax]
	mov	rsi, QWORD PTR -280[rbp]
	movsx	rcx, eax
	movsx	rdx, edx
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rsi
	add	rax, rcx
	add	rax, 16
	mov	BYTE PTR [rax], 0
	mov	eax, DWORD PTR -240[rbp]
	mov	ecx, eax
	mov	rdi, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR -228[rbp]
	movsx	rsi, eax
	mov	eax, DWORD PTR -232[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rdi
	add	rax, rsi
	add	rax, 16
	mov	BYTE PTR [rax], cl
	mov	edx, DWORD PTR direction[rip]
	mov	rax, QWORD PTR -280[rbp]
	mov	DWORD PTR 164[rax], edx
	mov	DWORD PTR eaten[rip], 0
	mov	DWORD PTR -192[rbp], 1
	mov	DWORD PTR -188[rbp], 0
	mov	DWORD PTR -184[rbp], 0
	mov	DWORD PTR -180[rbp], 1
	mov	DWORD PTR -176[rbp], 1
	mov	DWORD PTR -172[rbp], 1
	mov	DWORD PTR -168[rbp], 1
	mov	DWORD PTR -164[rbp], -1
	mov	DWORD PTR -252[rbp], 0
	jmp	.L67
.L71:
	mov	eax, DWORD PTR -252[rbp]
	cdqe
	mov	edx, DWORD PTR -192[rbp+rax*8]
	mov	eax, DWORD PTR -232[rbp]
	add	eax, edx
	mov	DWORD PTR -208[rbp], eax
	mov	eax, DWORD PTR -252[rbp]
	cdqe
	mov	edx, DWORD PTR -188[rbp+rax*8]
	mov	eax, DWORD PTR -228[rbp]
	add	eax, edx
	mov	DWORD PTR -204[rbp], eax
	mov	eax, DWORD PTR -252[rbp]
	cdqe
	mov	edx, DWORD PTR -192[rbp+rax*8]
	mov	eax, DWORD PTR -232[rbp]
	sub	eax, edx
	mov	DWORD PTR -200[rbp], eax
	mov	eax, DWORD PTR -252[rbp]
	cdqe
	mov	edx, DWORD PTR -188[rbp+rax*8]
	mov	eax, DWORD PTR -228[rbp]
	sub	eax, edx
	mov	DWORD PTR -196[rbp], eax
	cmp	DWORD PTR -208[rbp], 0
	js	.L68
	cmp	DWORD PTR -208[rbp], 11
	jg	.L68
	cmp	DWORD PTR -204[rbp], 0
	js	.L68
	cmp	DWORD PTR -204[rbp], 11
	jg	.L68
	cmp	DWORD PTR -200[rbp], 0
	js	.L68
	cmp	DWORD PTR -200[rbp], 11
	jg	.L68
	cmp	DWORD PTR -196[rbp], 0
	js	.L68
	cmp	DWORD PTR -196[rbp], 11
	jg	.L68
	mov	rsi, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR -204[rbp]
	movsx	rcx, eax
	mov	eax, DWORD PTR -208[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rsi
	add	rax, rcx
	add	rax, 16
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	cmp	DWORD PTR -236[rbp], eax
	jne	.L68
	mov	rsi, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR -196[rbp]
	movsx	rcx, eax
	mov	eax, DWORD PTR -200[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rsi
	add	rax, rcx
	add	rax, 16
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	cmp	DWORD PTR -236[rbp], eax
	jne	.L68
	mov	eax, DWORD PTR -240[rbp]
	mov	ecx, eax
	mov	rdi, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR -204[rbp]
	movsx	rsi, eax
	mov	eax, DWORD PTR -208[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rdi
	add	rax, rsi
	add	rax, 16
	mov	BYTE PTR [rax], cl
	mov	eax, DWORD PTR -240[rbp]
	mov	ecx, eax
	mov	rdi, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR -196[rbp]
	movsx	rsi, eax
	mov	eax, DWORD PTR -200[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rdi
	add	rax, rsi
	add	rax, 16
	mov	BYTE PTR [rax], cl
	mov	rax, QWORD PTR -280[rbp]
	mov	rsi, QWORD PTR 168[rax]
	mov	eax, DWORD PTR -236[rbp]
	movsx	rdi, eax
	mov	eax, DWORD PTR -208[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -204[rbp]
	movsx	rcx, eax
	mov	rax, rdx
	sal	rax, 3
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rcx
	add	rdx, rdx
	add	rdx, rcx
	add	rax, rdx
	add	rax, rdi
	lea	rdx, 0[0+rax*4]
	lea	rax, hashtable[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	eax, eax
	mov	rdi, rsi
	xor	rdi, rax
	mov	eax, DWORD PTR -236[rbp]
	movsx	rsi, eax
	mov	eax, DWORD PTR -200[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -196[rbp]
	movsx	rcx, eax
	mov	rax, rdx
	sal	rax, 3
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rcx
	add	rdx, rdx
	add	rdx, rcx
	add	rax, rdx
	add	rax, rsi
	lea	rdx, 0[0+rax*4]
	lea	rax, hashtable[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	eax, eax
	xor	rdi, rax
	mov	eax, DWORD PTR -240[rbp]
	movsx	rsi, eax
	mov	eax, DWORD PTR -208[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -204[rbp]
	movsx	rcx, eax
	mov	rax, rdx
	sal	rax, 3
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rcx
	add	rdx, rdx
	add	rdx, rcx
	add	rax, rdx
	add	rax, rsi
	lea	rdx, 0[0+rax*4]
	lea	rax, hashtable[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	eax, eax
	xor	rdi, rax
	mov	eax, DWORD PTR -240[rbp]
	movsx	rsi, eax
	mov	eax, DWORD PTR -200[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -196[rbp]
	movsx	rcx, eax
	mov	rax, rdx
	sal	rax, 3
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rcx
	add	rdx, rdx
	add	rdx, rcx
	add	rax, rdx
	add	rax, rsi
	lea	rdx, 0[0+rax*4]
	lea	rax, hashtable[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	eax, eax
	xor	rdi, rax
	mov	rdx, rdi
	mov	rax, QWORD PTR -280[rbp]
	mov	QWORD PTR 168[rax], rdx
	mov	eax, DWORD PTR me_flag[rip]
	cmp	DWORD PTR -240[rbp], eax
	jne	.L69
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR 160[rax]
	lea	edx, 2[rax]
	mov	rax, QWORD PTR -280[rbp]
	mov	DWORD PTR 160[rax], edx
	jmp	.L70
.L69:
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR 160[rax]
	lea	edx, -2[rax]
	mov	rax, QWORD PTR -280[rbp]
	mov	DWORD PTR 160[rax], edx
.L70:
	add	DWORD PTR -260[rbp], 1100
	mov	DWORD PTR eaten[rip], 1
.L68:
	add	DWORD PTR -252[rbp], 1
.L67:
	cmp	DWORD PTR -252[rbp], 3
	jle	.L71
	mov	DWORD PTR -96[rbp], 1
	mov	DWORD PTR -92[rbp], 0
	mov	DWORD PTR -88[rbp], -1
	mov	DWORD PTR -84[rbp], 0
	mov	DWORD PTR -80[rbp], 0
	mov	DWORD PTR -76[rbp], 1
	mov	DWORD PTR -72[rbp], 0
	mov	DWORD PTR -68[rbp], -1
	mov	DWORD PTR -64[rbp], 1
	mov	DWORD PTR -60[rbp], 1
	mov	DWORD PTR -56[rbp], 1
	mov	DWORD PTR -52[rbp], -1
	mov	DWORD PTR -48[rbp], -1
	mov	DWORD PTR -44[rbp], 1
	mov	DWORD PTR -40[rbp], -1
	mov	DWORD PTR -36[rbp], -1
	mov	DWORD PTR -248[rbp], 0
	jmp	.L72
.L76:
	mov	eax, DWORD PTR -248[rbp]
	cdqe
	mov	edx, DWORD PTR -96[rbp+rax*8]
	mov	eax, DWORD PTR -232[rbp]
	add	eax, edx
	mov	DWORD PTR -224[rbp], eax
	mov	eax, DWORD PTR -248[rbp]
	cdqe
	mov	edx, DWORD PTR -92[rbp+rax*8]
	mov	eax, DWORD PTR -228[rbp]
	add	eax, edx
	mov	DWORD PTR -220[rbp], eax
	mov	eax, DWORD PTR -248[rbp]
	cdqe
	mov	eax, DWORD PTR -96[rbp+rax*8]
	lea	edx, [rax+rax]
	mov	eax, DWORD PTR -232[rbp]
	add	eax, edx
	mov	DWORD PTR -216[rbp], eax
	mov	eax, DWORD PTR -248[rbp]
	cdqe
	mov	eax, DWORD PTR -92[rbp+rax*8]
	lea	edx, [rax+rax]
	mov	eax, DWORD PTR -228[rbp]
	add	eax, edx
	mov	DWORD PTR -212[rbp], eax
	cmp	DWORD PTR -224[rbp], 0
	js	.L73
	cmp	DWORD PTR -224[rbp], 11
	jg	.L73
	cmp	DWORD PTR -220[rbp], 0
	js	.L73
	cmp	DWORD PTR -220[rbp], 11
	jg	.L73
	cmp	DWORD PTR -216[rbp], 0
	js	.L73
	cmp	DWORD PTR -216[rbp], 11
	jg	.L73
	cmp	DWORD PTR -212[rbp], 0
	js	.L73
	cmp	DWORD PTR -212[rbp], 11
	jg	.L73
	mov	rsi, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR -212[rbp]
	movsx	rcx, eax
	mov	eax, DWORD PTR -216[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rsi
	add	rax, rcx
	add	rax, 16
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	cmp	DWORD PTR -240[rbp], eax
	jne	.L73
	mov	rsi, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR -220[rbp]
	movsx	rcx, eax
	mov	eax, DWORD PTR -224[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rsi
	add	rax, rcx
	add	rax, 16
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	cmp	DWORD PTR -236[rbp], eax
	jne	.L73
	mov	eax, DWORD PTR -240[rbp]
	mov	ecx, eax
	mov	rdi, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR -220[rbp]
	movsx	rsi, eax
	mov	eax, DWORD PTR -224[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rdi
	add	rax, rsi
	add	rax, 16
	mov	BYTE PTR [rax], cl
	mov	rax, QWORD PTR -280[rbp]
	mov	rsi, QWORD PTR 168[rax]
	mov	eax, DWORD PTR -236[rbp]
	movsx	rdi, eax
	mov	eax, DWORD PTR -224[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -220[rbp]
	movsx	rcx, eax
	mov	rax, rdx
	sal	rax, 3
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rcx
	add	rdx, rdx
	add	rdx, rcx
	add	rax, rdx
	add	rax, rdi
	lea	rdx, 0[0+rax*4]
	lea	rax, hashtable[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	eax, eax
	mov	rdi, rsi
	xor	rdi, rax
	mov	eax, DWORD PTR -240[rbp]
	movsx	rsi, eax
	mov	eax, DWORD PTR -224[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -220[rbp]
	movsx	rcx, eax
	mov	rax, rdx
	sal	rax, 3
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rcx
	add	rdx, rdx
	add	rdx, rcx
	add	rax, rdx
	add	rax, rsi
	lea	rdx, 0[0+rax*4]
	lea	rax, hashtable[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	eax, eax
	xor	rdi, rax
	mov	rdx, rdi
	mov	rax, QWORD PTR -280[rbp]
	mov	QWORD PTR 168[rax], rdx
	mov	eax, DWORD PTR me_flag[rip]
	cmp	DWORD PTR -240[rbp], eax
	jne	.L74
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR 160[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -280[rbp]
	mov	DWORD PTR 160[rax], edx
	jmp	.L75
.L74:
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR 160[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -280[rbp]
	mov	DWORD PTR 160[rax], edx
.L75:
	add	DWORD PTR -260[rbp], 500
	mov	DWORD PTR eaten[rip], 1
.L73:
	add	DWORD PTR -248[rbp], 1
.L72:
	cmp	DWORD PTR -248[rbp], 7
	jle	.L76
	mov	DWORD PTR -244[rbp], 0
	jmp	.L77
.L82:
	mov	rax, QWORD PTR -280[rbp]
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -244[rbp]
	cdqe
	mov	eax, DWORD PTR -160[rbp+rax*8]
	lea	ecx, [rdx+rax]
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR 12[rax]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, DIR[rip]
	mov	eax, DWORD PTR [rdx+rax]
	add	ecx, eax
	mov	rax, QWORD PTR -280[rbp]
	mov	edx, DWORD PTR 4[rax]
	mov	eax, DWORD PTR -244[rbp]
	cdqe
	mov	eax, DWORD PTR -156[rbp+rax*8]
	lea	esi, [rdx+rax]
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR 12[rax]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, DIR[rip+4]
	mov	eax, DWORD PTR [rdx+rax]
	add	eax, esi
	mov	rdi, QWORD PTR -280[rbp]
	movsx	rsi, eax
	movsx	rdx, ecx
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rdi
	add	rax, rsi
	add	rax, 16
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	cmp	DWORD PTR -240[rbp], eax
	jne	.L78
	mov	edx, DWORD PTR theta2[rip]
	mov	eax, edx
	add	eax, eax
	add	eax, edx
	add	eax, eax
	add	DWORD PTR -260[rbp], eax
.L78:
	mov	rax, QWORD PTR -280[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	eax, DWORD PTR -244[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, DIR[rip]
	mov	eax, DWORD PTR [rdx+rax]
	add	ecx, eax
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR 12[rax]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, DIR[rip]
	mov	eax, DWORD PTR [rdx+rax]
	add	ecx, eax
	mov	rax, QWORD PTR -280[rbp]
	mov	esi, DWORD PTR 4[rax]
	mov	eax, DWORD PTR -244[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, DIR[rip+4]
	mov	eax, DWORD PTR [rdx+rax]
	add	esi, eax
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR 12[rax]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, DIR[rip+4]
	mov	eax, DWORD PTR [rdx+rax]
	add	eax, esi
	mov	rdi, QWORD PTR -280[rbp]
	movsx	rsi, eax
	movsx	rdx, ecx
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rdi
	add	rax, rsi
	add	rax, 16
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	cmp	DWORD PTR -240[rbp], eax
	jne	.L79
	mov	eax, DWORD PTR theta3[rip]
	add	eax, eax
	sub	DWORD PTR -260[rbp], eax
.L79:
	mov	rax, QWORD PTR -280[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	eax, DWORD PTR -244[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, DIR[rip]
	mov	eax, DWORD PTR [rdx+rax]
	add	ecx, eax
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR 12[rax]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, DIR[rip]
	mov	eax, DWORD PTR [rdx+rax]
	add	ecx, eax
	mov	rax, QWORD PTR -280[rbp]
	mov	esi, DWORD PTR 4[rax]
	mov	eax, DWORD PTR -244[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, DIR[rip+4]
	mov	eax, DWORD PTR [rdx+rax]
	add	esi, eax
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR 12[rax]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, DIR[rip+4]
	mov	eax, DWORD PTR [rdx+rax]
	add	eax, esi
	mov	rdi, QWORD PTR -280[rbp]
	movsx	rsi, eax
	movsx	rdx, ecx
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rdi
	add	rax, rsi
	add	rax, 16
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	cmp	DWORD PTR -236[rbp], eax
	jne	.L80
	add	DWORD PTR -260[rbp], 10
.L80:
	mov	rax, QWORD PTR -280[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	eax, DWORD PTR -244[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, DIR[rip]
	mov	edx, DWORD PTR [rdx+rax]
	mov	eax, edx
	add	eax, eax
	add	eax, edx
	add	ecx, eax
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR 12[rax]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, DIR[rip]
	mov	eax, DWORD PTR [rdx+rax]
	add	eax, ecx
	test	eax, eax
	js	.L81
	mov	rax, QWORD PTR -280[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	eax, DWORD PTR -244[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, DIR[rip]
	mov	edx, DWORD PTR [rdx+rax]
	mov	eax, edx
	add	eax, eax
	add	eax, edx
	add	ecx, eax
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR 12[rax]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, DIR[rip]
	mov	eax, DWORD PTR [rdx+rax]
	add	eax, ecx
	cmp	eax, 11
	jg	.L81
	mov	rax, QWORD PTR -280[rbp]
	mov	ecx, DWORD PTR 4[rax]
	mov	eax, DWORD PTR -244[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, DIR[rip+4]
	mov	edx, DWORD PTR [rdx+rax]
	mov	eax, edx
	add	eax, eax
	add	eax, edx
	add	ecx, eax
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR 12[rax]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, DIR[rip+4]
	mov	eax, DWORD PTR [rdx+rax]
	add	eax, ecx
	test	eax, eax
	js	.L81
	mov	rax, QWORD PTR -280[rbp]
	mov	ecx, DWORD PTR 4[rax]
	mov	eax, DWORD PTR -244[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, DIR[rip+4]
	mov	edx, DWORD PTR [rdx+rax]
	mov	eax, edx
	add	eax, eax
	add	eax, edx
	add	ecx, eax
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR 12[rax]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, DIR[rip+4]
	mov	eax, DWORD PTR [rdx+rax]
	add	eax, ecx
	cmp	eax, 11
	jg	.L81
	mov	rax, QWORD PTR -280[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	eax, DWORD PTR -244[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, DIR[rip]
	mov	eax, DWORD PTR [rdx+rax]
	add	ecx, eax
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR 12[rax]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, DIR[rip]
	mov	eax, DWORD PTR [rdx+rax]
	add	ecx, eax
	mov	rax, QWORD PTR -280[rbp]
	mov	esi, DWORD PTR 4[rax]
	mov	eax, DWORD PTR -244[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, DIR[rip+4]
	mov	eax, DWORD PTR [rdx+rax]
	add	esi, eax
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR 12[rax]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, DIR[rip+4]
	mov	eax, DWORD PTR [rdx+rax]
	add	eax, esi
	mov	rdi, QWORD PTR -280[rbp]
	movsx	rsi, eax
	movsx	rdx, ecx
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rdi
	add	rax, rsi
	add	rax, 16
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L81
	mov	rax, QWORD PTR -280[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	eax, DWORD PTR -244[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, DIR[rip]
	mov	eax, DWORD PTR [rdx+rax]
	add	eax, eax
	add	ecx, eax
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR 12[rax]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, DIR[rip]
	mov	eax, DWORD PTR [rdx+rax]
	add	ecx, eax
	mov	rax, QWORD PTR -280[rbp]
	mov	esi, DWORD PTR 4[rax]
	mov	eax, DWORD PTR -244[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, DIR[rip+4]
	mov	eax, DWORD PTR [rdx+rax]
	add	eax, eax
	add	esi, eax
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR 12[rax]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, DIR[rip+4]
	mov	eax, DWORD PTR [rdx+rax]
	add	eax, esi
	mov	rdi, QWORD PTR -280[rbp]
	movsx	rsi, eax
	movsx	rdx, ecx
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rdi
	add	rax, rsi
	add	rax, 16
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L81
	mov	rax, QWORD PTR -280[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	eax, DWORD PTR -244[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, DIR[rip]
	mov	edx, DWORD PTR [rdx+rax]
	mov	eax, edx
	add	eax, eax
	add	eax, edx
	add	ecx, eax
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR 12[rax]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, DIR[rip]
	mov	eax, DWORD PTR [rdx+rax]
	add	ecx, eax
	mov	rax, QWORD PTR -280[rbp]
	mov	esi, DWORD PTR 4[rax]
	mov	eax, DWORD PTR -244[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, DIR[rip+4]
	mov	edx, DWORD PTR [rdx+rax]
	mov	eax, edx
	add	eax, eax
	add	eax, edx
	add	esi, eax
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR 12[rax]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, DIR[rip+4]
	mov	eax, DWORD PTR [rdx+rax]
	add	eax, esi
	mov	rdi, QWORD PTR -280[rbp]
	movsx	rsi, eax
	movsx	rdx, ecx
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rdi
	add	rax, rsi
	add	rax, 16
	movzx	eax, BYTE PTR [rax]
	movsx	edx, al
	mov	eax, DWORD PTR me_flag[rip]
	cmp	edx, eax
	jne	.L81
	add	DWORD PTR -260[rbp], 40
.L81:
	add	DWORD PTR -244[rbp], 1
.L77:
	cmp	DWORD PTR -244[rbp], 7
	jle	.L82
	mov	rax, QWORD PTR -280[rbp]
	mov	edx, DWORD PTR -260[rbp]
	mov	DWORD PTR 8[rax], edx
	nop
	mov	rax, QWORD PTR -24[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L83
	call	__stack_chk_fail@PLT
.L83:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	modify, .-modify
	.globl	minmax
	.type	minmax, @function
minmax:
.LFB12:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	lea	r11, -24576[rsp]
.LPSRL0:
	sub	rsp, 4096
	or	DWORD PTR [rsp], 0
	cmp	rsp, r11
	jne	.LPSRL0
	sub	rsp, 344
	.cfi_offset 3, -24
	mov	DWORD PTR -24884[rbp], edi
	mov	DWORD PTR -24888[rbp], esi
	mov	DWORD PTR -24892[rbp], edx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -24[rbp], rax
	xor	eax, eax
	mov	eax, DWORD PTR -24884[rbp]
	cdq
	shr	edx, 31
	add	eax, edx
	and	eax, 1
	sub	eax, edx
	mov	DWORD PTR -24828[rbp], eax
	mov	eax, DWORD PTR Search_Depth[rip]
	cmp	DWORD PTR -24884[rbp], eax
	jl	.L85
	mov	eax, 0
	call	Evaluate
	jmp	.L132
.L85:
	cmp	DWORD PTR -24828[rbp], 0
	jne	.L87
	mov	eax, DWORD PTR me_flag[rip]
	mov	DWORD PTR -24872[rbp], eax
	jmp	.L88
.L87:
	mov	eax, DWORD PTR other_flag[rip]
	mov	DWORD PTR -24872[rbp], eax
.L88:
	mov	DWORD PTR -24868[rbp], 0
	mov	DWORD PTR -24864[rbp], 0
	cmp	DWORD PTR -24884[rbp], 0
	jne	.L89
	mov	eax, DWORD PTR Search_Depth[rip]
	cmp	eax, 1
	je	.L89
	lea	rax, -24672[rbp]
	lea	rcx, sortedmove[rip]
	mov	edx, 24640
	mov	rsi, rcx
	mov	rdi, rax
	call	memcpy@PLT
	mov	eax, DWORD PTR num_SortArray[rip]
	mov	DWORD PTR -24868[rbp], eax
	jmp	.L90
.L89:
	mov	DWORD PTR -24860[rbp], 0
	jmp	.L91
.L103:
	mov	DWORD PTR -24856[rbp], 0
	jmp	.L92
.L102:
	mov	eax, DWORD PTR -24856[rbp]
	movsx	rcx, eax
	mov	eax, DWORD PTR -24860[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	lea	rdx, [rax+rcx]
	lea	rax, cur_board[rip]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	cmp	DWORD PTR -24872[rbp], eax
	jne	.L93
	mov	DWORD PTR -24852[rbp], 0
	jmp	.L94
.L101:
	mov	eax, DWORD PTR -24852[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, DIR[rip]
	mov	edx, DWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -24860[rbp]
	add	eax, edx
	test	eax, eax
	js	.L95
	mov	eax, DWORD PTR -24852[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, DIR[rip]
	mov	edx, DWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -24860[rbp]
	add	eax, edx
	cmp	eax, 11
	jg	.L95
	mov	eax, DWORD PTR -24852[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, DIR[rip+4]
	mov	edx, DWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -24856[rbp]
	add	eax, edx
	test	eax, eax
	js	.L95
	mov	eax, DWORD PTR -24852[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, DIR[rip+4]
	mov	edx, DWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -24856[rbp]
	add	eax, edx
	cmp	eax, 11
	jg	.L95
	mov	eax, DWORD PTR -24852[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, DIR[rip]
	mov	edx, DWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -24860[rbp]
	lea	ecx, [rdx+rax]
	mov	eax, DWORD PTR -24852[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, DIR[rip+4]
	mov	edx, DWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -24856[rbp]
	add	eax, edx
	movsx	rsi, eax
	movsx	rdx, ecx
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	lea	rdx, [rax+rsi]
	lea	rax, cur_board[rip]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L95
	mov	eax, DWORD PTR -24868[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 4
	lea	rax, -16[rax]
	add	rax, rbp
	lea	rdx, -24656[rax]
	mov	eax, DWORD PTR -24860[rbp]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -24868[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 4
	lea	rax, -16[rax]
	add	rax, rbp
	lea	rdx, -24652[rax]
	mov	eax, DWORD PTR -24856[rbp]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -24868[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 4
	lea	rax, -16[rax]
	add	rax, rbp
	lea	rdx, -24644[rax]
	mov	eax, DWORD PTR -24852[rbp]
	mov	DWORD PTR [rdx], eax
	lea	rcx, -24672[rbp]
	mov	eax, DWORD PTR -24868[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 4
	add	rax, rcx
	mov	rdi, rax
	call	modify
	cmp	DWORD PTR -24828[rbp], 0
	jne	.L96
	mov	eax, DWORD PTR -24868[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 4
	lea	rax, -16[rax]
	add	rax, rbp
	sub	rax, 24648
	mov	eax, DWORD PTR [rax]
	movsx	rdx, eax
	imul	rdx, rdx, 1717986919
	shr	rdx, 32
	sar	edx, 2
	sar	eax, 31
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	pxor	xmm5, xmm5
	cvtsi2sd	xmm5, eax
	movsd	QWORD PTR -24904[rbp], xmm5
	mov	eax, DWORD PTR theta1[rip]
	pxor	xmm3, xmm3
	cvtsi2sd	xmm3, eax
	movsd	QWORD PTR -24912[rbp], xmm3
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, DWORD PTR -24860[rbp]
	movss	xmm1, DWORD PTR cen_x[rip]
	subss	xmm0, xmm1
	pxor	xmm6, xmm6
	cvtss2sd	xmm6, xmm0
	movq	rax, xmm6
	movsd	xmm0, QWORD PTR .LC12[rip]
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	pow@PLT
	movsd	xmm1, QWORD PTR .LC13[rip]
	movapd	xmm4, xmm0
	mulsd	xmm4, xmm1
	movsd	QWORD PTR -24920[rbp], xmm4
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, DWORD PTR -24856[rbp]
	movss	xmm1, DWORD PTR cen_y[rip]
	subss	xmm0, xmm1
	pxor	xmm7, xmm7
	cvtss2sd	xmm7, xmm0
	movq	rax, xmm7
	movsd	xmm0, QWORD PTR .LC12[rip]
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	pow@PLT
	movsd	xmm1, QWORD PTR .LC13[rip]
	mulsd	xmm0, xmm1
	addsd	xmm0, QWORD PTR -24920[rbp]
	movsd	QWORD PTR -24920[rbp], xmm0
	mov	eax, DWORD PTR -24852[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, DIR[rip]
	mov	edx, DWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -24860[rbp]
	add	eax, edx
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, eax
	movss	xmm1, DWORD PTR cen_x[rip]
	subss	xmm0, xmm1
	pxor	xmm6, xmm6
	cvtss2sd	xmm6, xmm0
	movq	rax, xmm6
	movsd	xmm0, QWORD PTR .LC12[rip]
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	pow@PLT
	movsd	xmm2, QWORD PTR -24920[rbp]
	subsd	xmm2, xmm0
	movsd	QWORD PTR -24920[rbp], xmm2
	mov	eax, DWORD PTR -24852[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, DIR[rip+4]
	mov	edx, DWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -24856[rbp]
	add	eax, edx
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, eax
	movss	xmm1, DWORD PTR cen_y[rip]
	subss	xmm0, xmm1
	pxor	xmm7, xmm7
	cvtss2sd	xmm7, xmm0
	movq	rax, xmm7
	movsd	xmm0, QWORD PTR .LC12[rip]
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	pow@PLT
	movsd	xmm1, QWORD PTR -24920[rbp]
	subsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -24912[rbp]
	mulsd	xmm0, xmm1
	addsd	xmm0, QWORD PTR -24904[rbp]
	cvttsd2si	ecx, xmm0
	mov	eax, DWORD PTR -24868[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 4
	lea	rax, -16[rax]
	add	rax, rbp
	sub	rax, 24648
	mov	DWORD PTR [rax], ecx
	jmp	.L97
.L96:
	mov	eax, DWORD PTR -24868[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 4
	lea	rax, -16[rax]
	add	rax, rbp
	sub	rax, 24648
	mov	eax, DWORD PTR [rax]
	movsx	rdx, eax
	imul	rdx, rdx, 1717986919
	shr	rdx, 32
	sar	edx, 2
	sar	eax, 31
	mov	ecx, edx
	sub	ecx, eax
	mov	eax, DWORD PTR -24868[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 4
	lea	rax, -16[rax]
	add	rax, rbp
	sub	rax, 24648
	mov	DWORD PTR [rax], ecx
.L97:
	cmp	DWORD PTR -24884[rbp], 3
	jg	.L98
	add	DWORD PTR -24868[rbp], 1
.L98:
	cmp	DWORD PTR -24884[rbp], 4
	jne	.L99
	add	DWORD PTR -24868[rbp], 1
.L99:
	cmp	DWORD PTR -24884[rbp], 4
	jle	.L95
	mov	eax, DWORD PTR eaten[rip]
	test	eax, eax
	jne	.L100
	cmp	DWORD PTR -24868[rbp], 0
	jne	.L95
.L100:
	add	DWORD PTR -24868[rbp], 1
.L95:
	add	DWORD PTR -24852[rbp], 1
.L94:
	cmp	DWORD PTR -24852[rbp], 7
	jle	.L101
	add	DWORD PTR -24864[rbp], 1
.L93:
	add	DWORD PTR -24856[rbp], 1
.L92:
	cmp	DWORD PTR -24856[rbp], 11
	jle	.L102
	add	DWORD PTR -24860[rbp], 1
.L91:
	cmp	DWORD PTR -24860[rbp], 11
	jle	.L103
	cmp	DWORD PTR -24864[rbp], 0
	je	.L104
	cmp	DWORD PTR -24864[rbp], 16
	je	.L104
	cmp	DWORD PTR -24868[rbp], 0
	jne	.L105
.L104:
	mov	eax, 0
	call	Evaluate
	jmp	.L132
.L105:
	mov	eax, DWORD PTR Search_Depth[rip]
	cmp	eax, 1
	jne	.L134
	mov	eax, DWORD PTR -24868[rbp]
	mov	DWORD PTR num_SortArray[rip], eax
	jmp	.L90
.L134:
	nop
.L90:
	mov	eax, DWORD PTR Search_Depth[rip]
	cmp	eax, 4
	jne	.L106
	cmp	DWORD PTR -24884[rbp], 0
	jne	.L106
	mov	rax, QWORD PTR hash[rip]
	add	rax, 2147483647
	mov	rcx, rax
	movabs	rdx, -2972479655804322065
	mov	rax, rcx
	mul	rdx
	shr	rdx, 23
	imul	rax, rdx, 9999991
	sub	rcx, rax
	mov	rdx, rcx
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, bestmove[rip]
	mov	eax, DWORD PTR [rdx+rax]
	test	eax, eax
	je	.L106
	mov	rax, QWORD PTR hash[rip]
	add	rax, 2147483647
	mov	rcx, rax
	movabs	rdx, -2972479655804322065
	mov	rax, rcx
	mul	rdx
	shr	rdx, 23
	imul	rax, rdx, 9999991
	sub	rcx, rax
	mov	rdx, rcx
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, bestmove[rip]
	mov	ecx, DWORD PTR [rdx+rax]
	mov	rax, QWORD PTR hash[rip]
	add	rax, 2147483647
	mov	rsi, rax
	movabs	rdx, -2972479655804322065
	mov	rax, rsi
	mul	rdx
	shr	rdx, 23
	imul	rax, rdx, 9999991
	sub	rsi, rax
	mov	rdx, rsi
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, bestmove[rip+4]
	mov	eax, DWORD PTR [rdx+rax]
	movsx	rsi, eax
	movsx	rdx, ecx
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	lea	rdx, [rax+rsi]
	lea	rax, cur_board[rip]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	edx, al
	mov	eax, DWORD PTR me_flag[rip]
	cmp	edx, eax
	jne	.L106
	mov	rax, QWORD PTR hash[rip]
	add	rax, 2147483647
	mov	rcx, rax
	movabs	rdx, -2972479655804322065
	mov	rax, rcx
	mul	rdx
	shr	rdx, 23
	imul	rax, rdx, 9999991
	sub	rcx, rax
	mov	rdx, rcx
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, bestmove[rip]
	mov	esi, DWORD PTR [rdx+rax]
	mov	rax, QWORD PTR hash[rip]
	add	rax, 2147483647
	mov	rcx, rax
	movabs	rdx, -2972479655804322065
	mov	rax, rcx
	mul	rdx
	shr	rdx, 23
	imul	rax, rdx, 9999991
	sub	rcx, rax
	mov	rdx, rcx
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, bestmove[rip+8]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, DIR[rip]
	mov	eax, DWORD PTR [rdx+rax]
	add	esi, eax
	mov	rax, QWORD PTR hash[rip]
	add	rax, 2147483647
	mov	rcx, rax
	movabs	rdx, -2972479655804322065
	mov	rax, rcx
	mul	rdx
	shr	rdx, 23
	imul	rax, rdx, 9999991
	sub	rcx, rax
	mov	rdx, rcx
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, bestmove[rip+4]
	mov	edi, DWORD PTR [rdx+rax]
	mov	rax, QWORD PTR hash[rip]
	add	rax, 2147483647
	mov	rcx, rax
	movabs	rdx, -2972479655804322065
	mov	rax, rcx
	mul	rdx
	shr	rdx, 23
	imul	rax, rdx, 9999991
	sub	rcx, rax
	mov	rdx, rcx
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, bestmove[rip+8]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, DIR[rip+4]
	mov	eax, DWORD PTR [rdx+rax]
	add	eax, edi
	movsx	rcx, eax
	movsx	rdx, esi
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	lea	rdx, [rax+rcx]
	lea	rax, cur_board[rip]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L106
	mov	rax, QWORD PTR hash[rip]
	add	rax, 2147483647
	mov	rcx, rax
	movabs	rdx, -2972479655804322065
	mov	rax, rcx
	mul	rdx
	shr	rdx, 23
	imul	rax, rdx, 9999991
	sub	rcx, rax
	mov	rdx, rcx
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, bestmove[rip]
	mov	ecx, DWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -24868[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 4
	lea	rax, -16[rax]
	add	rax, rbp
	sub	rax, 24656
	mov	DWORD PTR [rax], ecx
	mov	rax, QWORD PTR hash[rip]
	add	rax, 2147483647
	mov	rcx, rax
	movabs	rdx, -2972479655804322065
	mov	rax, rcx
	mul	rdx
	shr	rdx, 23
	imul	rax, rdx, 9999991
	sub	rcx, rax
	mov	rdx, rcx
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, bestmove[rip+4]
	mov	ecx, DWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -24868[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 4
	lea	rax, -16[rax]
	add	rax, rbp
	sub	rax, 24652
	mov	DWORD PTR [rax], ecx
	mov	rax, QWORD PTR hash[rip]
	add	rax, 2147483647
	mov	rcx, rax
	movabs	rdx, -2972479655804322065
	mov	rax, rcx
	mul	rdx
	shr	rdx, 23
	imul	rax, rdx, 9999991
	sub	rcx, rax
	mov	rdx, rcx
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, bestmove[rip+8]
	mov	ecx, DWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -24868[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 4
	lea	rax, -16[rax]
	add	rax, rbp
	sub	rax, 24644
	mov	DWORD PTR [rax], ecx
	lea	rcx, -24672[rbp]
	mov	eax, DWORD PTR -24868[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 4
	add	rax, rcx
	mov	rdi, rax
	call	modify
	mov	eax, DWORD PTR -24868[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 4
	lea	rax, -16[rax]
	add	rax, rbp
	sub	rax, 24648
	mov	DWORD PTR [rax], 2147483647
	add	DWORD PTR -24868[rbp], 1
	mov	edx, 119999892
	mov	esi, 0
	lea	rdi, bestmove[rip]
	call	memset@PLT
.L106:
	mov	eax, DWORD PTR -24868[rbp]
	movsx	rsi, eax
	lea	rax, -24672[rbp]
	lea	rcx, Compare_Evaluate[rip]
	mov	edx, 176
	mov	rdi, rax
	call	qsort@PLT
	lea	rdx, -24816[rbp]
	mov	eax, 0
	mov	ecx, 18
	mov	rdi, rdx
	rep stosq
	cmp	DWORD PTR -24828[rbp], 0
	jne	.L107
	mov	DWORD PTR -24844[rbp], 0
	mov	DWORD PTR -24840[rbp], 0
	jmp	.L108
.L121:
	mov	rax, QWORD PTR cur_board[rip]
	mov	rdx, QWORD PTR cur_board[rip+8]
	mov	QWORD PTR -24816[rbp], rax
	mov	QWORD PTR -24808[rbp], rdx
	mov	rax, QWORD PTR cur_board[rip+16]
	mov	rdx, QWORD PTR cur_board[rip+24]
	mov	QWORD PTR -24800[rbp], rax
	mov	QWORD PTR -24792[rbp], rdx
	mov	rax, QWORD PTR cur_board[rip+32]
	mov	rdx, QWORD PTR cur_board[rip+40]
	mov	QWORD PTR -24784[rbp], rax
	mov	QWORD PTR -24776[rbp], rdx
	mov	rax, QWORD PTR cur_board[rip+48]
	mov	rdx, QWORD PTR cur_board[rip+56]
	mov	QWORD PTR -24768[rbp], rax
	mov	QWORD PTR -24760[rbp], rdx
	mov	rax, QWORD PTR cur_board[rip+64]
	mov	rdx, QWORD PTR cur_board[rip+72]
	mov	QWORD PTR -24752[rbp], rax
	mov	QWORD PTR -24744[rbp], rdx
	mov	rax, QWORD PTR cur_board[rip+80]
	mov	rdx, QWORD PTR cur_board[rip+88]
	mov	QWORD PTR -24736[rbp], rax
	mov	QWORD PTR -24728[rbp], rdx
	mov	rax, QWORD PTR cur_board[rip+96]
	mov	rdx, QWORD PTR cur_board[rip+104]
	mov	QWORD PTR -24720[rbp], rax
	mov	QWORD PTR -24712[rbp], rdx
	mov	rax, QWORD PTR cur_board[rip+112]
	mov	rdx, QWORD PTR cur_board[rip+120]
	mov	QWORD PTR -24704[rbp], rax
	mov	QWORD PTR -24696[rbp], rdx
	mov	rax, QWORD PTR cur_board[rip+128]
	mov	rdx, QWORD PTR cur_board[rip+136]
	mov	QWORD PTR -24688[rbp], rax
	mov	QWORD PTR -24680[rbp], rdx
	lea	rcx, -24672[rbp]
	mov	eax, DWORD PTR -24840[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 4
	add	rax, 16
	add	rax, rcx
	mov	rcx, QWORD PTR [rax]
	mov	rbx, QWORD PTR 8[rax]
	mov	QWORD PTR cur_board[rip], rcx
	mov	QWORD PTR cur_board[rip+8], rbx
	mov	rcx, QWORD PTR 16[rax]
	mov	rbx, QWORD PTR 24[rax]
	mov	QWORD PTR cur_board[rip+16], rcx
	mov	QWORD PTR cur_board[rip+24], rbx
	mov	rcx, QWORD PTR 32[rax]
	mov	rbx, QWORD PTR 40[rax]
	mov	QWORD PTR cur_board[rip+32], rcx
	mov	QWORD PTR cur_board[rip+40], rbx
	mov	rcx, QWORD PTR 48[rax]
	mov	rbx, QWORD PTR 56[rax]
	mov	QWORD PTR cur_board[rip+48], rcx
	mov	QWORD PTR cur_board[rip+56], rbx
	mov	rcx, QWORD PTR 64[rax]
	mov	rbx, QWORD PTR 72[rax]
	mov	QWORD PTR cur_board[rip+64], rcx
	mov	QWORD PTR cur_board[rip+72], rbx
	mov	rcx, QWORD PTR 80[rax]
	mov	rbx, QWORD PTR 88[rax]
	mov	QWORD PTR cur_board[rip+80], rcx
	mov	QWORD PTR cur_board[rip+88], rbx
	mov	rcx, QWORD PTR 96[rax]
	mov	rbx, QWORD PTR 104[rax]
	mov	QWORD PTR cur_board[rip+96], rcx
	mov	QWORD PTR cur_board[rip+104], rbx
	mov	rcx, QWORD PTR 112[rax]
	mov	rbx, QWORD PTR 120[rax]
	mov	QWORD PTR cur_board[rip+112], rcx
	mov	QWORD PTR cur_board[rip+120], rbx
	mov	rdx, QWORD PTR 136[rax]
	mov	rax, QWORD PTR 128[rax]
	mov	QWORD PTR cur_board[rip+128], rax
	mov	QWORD PTR cur_board[rip+136], rdx
	mov	eax, DWORD PTR ChessCount[rip]
	mov	DWORD PTR -24824[rbp], eax
	mov	eax, DWORD PTR -24840[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 4
	lea	rax, -16[rax]
	add	rax, rbp
	sub	rax, 24496
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR ChessCount[rip], eax
	mov	rax, QWORD PTR hash[rip]
	mov	DWORD PTR -24820[rbp], eax
	mov	eax, DWORD PTR -24840[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 4
	lea	rax, -16[rax]
	add	rax, rbp
	sub	rax, 24488
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR hash[rip], rax
	cmp	DWORD PTR -24844[rbp], 0
	je	.L109
	mov	eax, DWORD PTR Search_Depth[rip]
	cmp	eax, 4
	jne	.L109
	mov	eax, DWORD PTR -24888[rbp]
	lea	edx, 1[rax]
	mov	eax, DWORD PTR -24884[rbp]
	lea	ecx, 1[rax]
	mov	eax, DWORD PTR -24888[rbp]
	mov	esi, eax
	mov	edi, ecx
	call	minmax
	mov	DWORD PTR -24848[rbp], eax
	mov	eax, DWORD PTR -24848[rbp]
	cmp	eax, DWORD PTR -24888[rbp]
	jle	.L135
	mov	eax, DWORD PTR -24848[rbp]
	cmp	eax, DWORD PTR -24892[rbp]
	jge	.L135
	mov	eax, DWORD PTR -24884[rbp]
	lea	ecx, 1[rax]
	mov	edx, DWORD PTR -24892[rbp]
	mov	eax, DWORD PTR -24888[rbp]
	mov	esi, eax
	mov	edi, ecx
	call	minmax
	mov	DWORD PTR -24848[rbp], eax
	jmp	.L135
.L109:
	mov	eax, DWORD PTR -24884[rbp]
	lea	ecx, 1[rax]
	mov	edx, DWORD PTR -24892[rbp]
	mov	eax, DWORD PTR -24888[rbp]
	mov	esi, eax
	mov	edi, ecx
	call	minmax
	mov	DWORD PTR -24848[rbp], eax
	jmp	.L111
.L135:
	nop
.L111:
	mov	eax, DWORD PTR changeit[rip]
	test	eax, eax
	je	.L112
	cmp	DWORD PTR -24884[rbp], 0
	jne	.L112
	mov	eax, DWORD PTR Search_Depth[rip]
	cmp	eax, 4
	jne	.L112
	mov	eax, DWORD PTR second_command[rip+8]
	cmp	DWORD PTR -24848[rbp], eax
	jle	.L113
	mov	eax, DWORD PTR ans_command[rip+8]
	cmp	DWORD PTR -24848[rbp], eax
	jle	.L114
	mov	rax, QWORD PTR ans_command[rip]
	mov	rdx, QWORD PTR ans_command[rip+8]
	mov	QWORD PTR second_command[rip], rax
	mov	QWORD PTR second_command[rip+8], rdx
	mov	rax, QWORD PTR ans_command[rip+16]
	mov	rdx, QWORD PTR ans_command[rip+24]
	mov	QWORD PTR second_command[rip+16], rax
	mov	QWORD PTR second_command[rip+24], rdx
	mov	rax, QWORD PTR ans_command[rip+32]
	mov	rdx, QWORD PTR ans_command[rip+40]
	mov	QWORD PTR second_command[rip+32], rax
	mov	QWORD PTR second_command[rip+40], rdx
	mov	rax, QWORD PTR ans_command[rip+48]
	mov	rdx, QWORD PTR ans_command[rip+56]
	mov	QWORD PTR second_command[rip+48], rax
	mov	QWORD PTR second_command[rip+56], rdx
	mov	rax, QWORD PTR ans_command[rip+64]
	mov	rdx, QWORD PTR ans_command[rip+72]
	mov	QWORD PTR second_command[rip+64], rax
	mov	QWORD PTR second_command[rip+72], rdx
	mov	rax, QWORD PTR ans_command[rip+80]
	mov	rdx, QWORD PTR ans_command[rip+88]
	mov	QWORD PTR second_command[rip+80], rax
	mov	QWORD PTR second_command[rip+88], rdx
	mov	rax, QWORD PTR ans_command[rip+96]
	mov	rdx, QWORD PTR ans_command[rip+104]
	mov	QWORD PTR second_command[rip+96], rax
	mov	QWORD PTR second_command[rip+104], rdx
	mov	rax, QWORD PTR ans_command[rip+112]
	mov	rdx, QWORD PTR ans_command[rip+120]
	mov	QWORD PTR second_command[rip+112], rax
	mov	QWORD PTR second_command[rip+120], rdx
	mov	rax, QWORD PTR ans_command[rip+128]
	mov	rdx, QWORD PTR ans_command[rip+136]
	mov	QWORD PTR second_command[rip+128], rax
	mov	QWORD PTR second_command[rip+136], rdx
	mov	rax, QWORD PTR ans_command[rip+144]
	mov	rdx, QWORD PTR ans_command[rip+152]
	mov	QWORD PTR second_command[rip+144], rax
	mov	QWORD PTR second_command[rip+152], rdx
	mov	rax, QWORD PTR ans_command[rip+160]
	mov	rdx, QWORD PTR ans_command[rip+168]
	mov	QWORD PTR second_command[rip+160], rax
	mov	QWORD PTR second_command[rip+168], rdx
	mov	eax, DWORD PTR -24840[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 4
	lea	rax, -16[rax]
	add	rax, rbp
	sub	rax, 24656
	mov	rcx, QWORD PTR [rax]
	mov	rbx, QWORD PTR 8[rax]
	mov	QWORD PTR ans_command[rip], rcx
	mov	QWORD PTR ans_command[rip+8], rbx
	mov	rcx, QWORD PTR 16[rax]
	mov	rbx, QWORD PTR 24[rax]
	mov	QWORD PTR ans_command[rip+16], rcx
	mov	QWORD PTR ans_command[rip+24], rbx
	mov	rcx, QWORD PTR 32[rax]
	mov	rbx, QWORD PTR 40[rax]
	mov	QWORD PTR ans_command[rip+32], rcx
	mov	QWORD PTR ans_command[rip+40], rbx
	mov	rcx, QWORD PTR 48[rax]
	mov	rbx, QWORD PTR 56[rax]
	mov	QWORD PTR ans_command[rip+48], rcx
	mov	QWORD PTR ans_command[rip+56], rbx
	mov	rcx, QWORD PTR 64[rax]
	mov	rbx, QWORD PTR 72[rax]
	mov	QWORD PTR ans_command[rip+64], rcx
	mov	QWORD PTR ans_command[rip+72], rbx
	mov	rcx, QWORD PTR 80[rax]
	mov	rbx, QWORD PTR 88[rax]
	mov	QWORD PTR ans_command[rip+80], rcx
	mov	QWORD PTR ans_command[rip+88], rbx
	mov	rcx, QWORD PTR 96[rax]
	mov	rbx, QWORD PTR 104[rax]
	mov	QWORD PTR ans_command[rip+96], rcx
	mov	QWORD PTR ans_command[rip+104], rbx
	mov	rcx, QWORD PTR 112[rax]
	mov	rbx, QWORD PTR 120[rax]
	mov	QWORD PTR ans_command[rip+112], rcx
	mov	QWORD PTR ans_command[rip+120], rbx
	mov	rcx, QWORD PTR 128[rax]
	mov	rbx, QWORD PTR 136[rax]
	mov	QWORD PTR ans_command[rip+128], rcx
	mov	QWORD PTR ans_command[rip+136], rbx
	mov	rcx, QWORD PTR 144[rax]
	mov	rbx, QWORD PTR 152[rax]
	mov	QWORD PTR ans_command[rip+144], rcx
	mov	QWORD PTR ans_command[rip+152], rbx
	mov	rdx, QWORD PTR 168[rax]
	mov	rax, QWORD PTR 160[rax]
	mov	QWORD PTR ans_command[rip+160], rax
	mov	QWORD PTR ans_command[rip+168], rdx
	jmp	.L115
.L114:
	mov	eax, DWORD PTR -24840[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 4
	lea	rax, -16[rax]
	add	rax, rbp
	sub	rax, 24656
	mov	rcx, QWORD PTR [rax]
	mov	rbx, QWORD PTR 8[rax]
	mov	QWORD PTR second_command[rip], rcx
	mov	QWORD PTR second_command[rip+8], rbx
	mov	rcx, QWORD PTR 16[rax]
	mov	rbx, QWORD PTR 24[rax]
	mov	QWORD PTR second_command[rip+16], rcx
	mov	QWORD PTR second_command[rip+24], rbx
	mov	rcx, QWORD PTR 32[rax]
	mov	rbx, QWORD PTR 40[rax]
	mov	QWORD PTR second_command[rip+32], rcx
	mov	QWORD PTR second_command[rip+40], rbx
	mov	rcx, QWORD PTR 48[rax]
	mov	rbx, QWORD PTR 56[rax]
	mov	QWORD PTR second_command[rip+48], rcx
	mov	QWORD PTR second_command[rip+56], rbx
	mov	rcx, QWORD PTR 64[rax]
	mov	rbx, QWORD PTR 72[rax]
	mov	QWORD PTR second_command[rip+64], rcx
	mov	QWORD PTR second_command[rip+72], rbx
	mov	rcx, QWORD PTR 80[rax]
	mov	rbx, QWORD PTR 88[rax]
	mov	QWORD PTR second_command[rip+80], rcx
	mov	QWORD PTR second_command[rip+88], rbx
	mov	rcx, QWORD PTR 96[rax]
	mov	rbx, QWORD PTR 104[rax]
	mov	QWORD PTR second_command[rip+96], rcx
	mov	QWORD PTR second_command[rip+104], rbx
	mov	rcx, QWORD PTR 112[rax]
	mov	rbx, QWORD PTR 120[rax]
	mov	QWORD PTR second_command[rip+112], rcx
	mov	QWORD PTR second_command[rip+120], rbx
	mov	rcx, QWORD PTR 128[rax]
	mov	rbx, QWORD PTR 136[rax]
	mov	QWORD PTR second_command[rip+128], rcx
	mov	QWORD PTR second_command[rip+136], rbx
	mov	rcx, QWORD PTR 144[rax]
	mov	rbx, QWORD PTR 152[rax]
	mov	QWORD PTR second_command[rip+144], rcx
	mov	QWORD PTR second_command[rip+152], rbx
	mov	rdx, QWORD PTR 168[rax]
	mov	rax, QWORD PTR 160[rax]
	mov	QWORD PTR second_command[rip+160], rax
	mov	QWORD PTR second_command[rip+168], rdx
.L115:
	mov	DWORD PTR changed[rip], 0
.L113:
	mov	eax, DWORD PTR ans_command[rip+8]
	cmp	DWORD PTR -24848[rbp], eax
	jne	.L112
	mov	eax, DWORD PTR changed[rip]
	test	eax, eax
	jne	.L112
	mov	eax, DWORD PTR -24840[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 4
	lea	rax, -16[rax]
	add	rax, rbp
	sub	rax, 24656
	mov	rcx, QWORD PTR [rax]
	mov	rbx, QWORD PTR 8[rax]
	mov	QWORD PTR ans_command[rip], rcx
	mov	QWORD PTR ans_command[rip+8], rbx
	mov	rcx, QWORD PTR 16[rax]
	mov	rbx, QWORD PTR 24[rax]
	mov	QWORD PTR ans_command[rip+16], rcx
	mov	QWORD PTR ans_command[rip+24], rbx
	mov	rcx, QWORD PTR 32[rax]
	mov	rbx, QWORD PTR 40[rax]
	mov	QWORD PTR ans_command[rip+32], rcx
	mov	QWORD PTR ans_command[rip+40], rbx
	mov	rcx, QWORD PTR 48[rax]
	mov	rbx, QWORD PTR 56[rax]
	mov	QWORD PTR ans_command[rip+48], rcx
	mov	QWORD PTR ans_command[rip+56], rbx
	mov	rcx, QWORD PTR 64[rax]
	mov	rbx, QWORD PTR 72[rax]
	mov	QWORD PTR ans_command[rip+64], rcx
	mov	QWORD PTR ans_command[rip+72], rbx
	mov	rcx, QWORD PTR 80[rax]
	mov	rbx, QWORD PTR 88[rax]
	mov	QWORD PTR ans_command[rip+80], rcx
	mov	QWORD PTR ans_command[rip+88], rbx
	mov	rcx, QWORD PTR 96[rax]
	mov	rbx, QWORD PTR 104[rax]
	mov	QWORD PTR ans_command[rip+96], rcx
	mov	QWORD PTR ans_command[rip+104], rbx
	mov	rcx, QWORD PTR 112[rax]
	mov	rbx, QWORD PTR 120[rax]
	mov	QWORD PTR ans_command[rip+112], rcx
	mov	QWORD PTR ans_command[rip+120], rbx
	mov	rcx, QWORD PTR 128[rax]
	mov	rbx, QWORD PTR 136[rax]
	mov	QWORD PTR ans_command[rip+128], rcx
	mov	QWORD PTR ans_command[rip+136], rbx
	mov	rcx, QWORD PTR 144[rax]
	mov	rbx, QWORD PTR 152[rax]
	mov	QWORD PTR ans_command[rip+144], rcx
	mov	QWORD PTR ans_command[rip+152], rbx
	mov	rdx, QWORD PTR 168[rax]
	mov	rax, QWORD PTR 160[rax]
	mov	QWORD PTR ans_command[rip+160], rax
	mov	QWORD PTR ans_command[rip+168], rdx
	mov	DWORD PTR changed[rip], 1
.L112:
	mov	eax, DWORD PTR -24848[rbp]
	cmp	eax, DWORD PTR -24888[rbp]
	jle	.L116
	mov	eax, DWORD PTR changeit[rip]
	test	eax, eax
	jne	.L117
	cmp	DWORD PTR -24884[rbp], 0
	jne	.L117
	mov	eax, DWORD PTR -24840[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 4
	lea	rax, -16[rax]
	add	rax, rbp
	sub	rax, 24656
	mov	rcx, QWORD PTR [rax]
	mov	rbx, QWORD PTR 8[rax]
	mov	QWORD PTR ans_command[rip], rcx
	mov	QWORD PTR ans_command[rip+8], rbx
	mov	rcx, QWORD PTR 16[rax]
	mov	rbx, QWORD PTR 24[rax]
	mov	QWORD PTR ans_command[rip+16], rcx
	mov	QWORD PTR ans_command[rip+24], rbx
	mov	rcx, QWORD PTR 32[rax]
	mov	rbx, QWORD PTR 40[rax]
	mov	QWORD PTR ans_command[rip+32], rcx
	mov	QWORD PTR ans_command[rip+40], rbx
	mov	rcx, QWORD PTR 48[rax]
	mov	rbx, QWORD PTR 56[rax]
	mov	QWORD PTR ans_command[rip+48], rcx
	mov	QWORD PTR ans_command[rip+56], rbx
	mov	rcx, QWORD PTR 64[rax]
	mov	rbx, QWORD PTR 72[rax]
	mov	QWORD PTR ans_command[rip+64], rcx
	mov	QWORD PTR ans_command[rip+72], rbx
	mov	rcx, QWORD PTR 80[rax]
	mov	rbx, QWORD PTR 88[rax]
	mov	QWORD PTR ans_command[rip+80], rcx
	mov	QWORD PTR ans_command[rip+88], rbx
	mov	rcx, QWORD PTR 96[rax]
	mov	rbx, QWORD PTR 104[rax]
	mov	QWORD PTR ans_command[rip+96], rcx
	mov	QWORD PTR ans_command[rip+104], rbx
	mov	rcx, QWORD PTR 112[rax]
	mov	rbx, QWORD PTR 120[rax]
	mov	QWORD PTR ans_command[rip+112], rcx
	mov	QWORD PTR ans_command[rip+120], rbx
	mov	rcx, QWORD PTR 128[rax]
	mov	rbx, QWORD PTR 136[rax]
	mov	QWORD PTR ans_command[rip+128], rcx
	mov	QWORD PTR ans_command[rip+136], rbx
	mov	rcx, QWORD PTR 144[rax]
	mov	rbx, QWORD PTR 152[rax]
	mov	QWORD PTR ans_command[rip+144], rcx
	mov	QWORD PTR ans_command[rip+152], rbx
	mov	rdx, QWORD PTR 168[rax]
	mov	rax, QWORD PTR 160[rax]
	mov	QWORD PTR ans_command[rip+160], rax
	mov	QWORD PTR ans_command[rip+168], rdx
	mov	DWORD PTR changed[rip], 0
.L117:
	cmp	DWORD PTR -24884[rbp], 2
	jne	.L118
	mov	eax, DWORD PTR Search_Depth[rip]
	cmp	eax, 4
	jne	.L118
	mov	eax, DWORD PTR -24820[rbp]
	add	eax, 2147483647
	movsx	rcx, eax
	movabs	rdx, -2972479655804322065
	mov	rax, rcx
	mul	rdx
	shr	rdx, 23
	imul	rax, rdx, 9999991
	sub	rcx, rax
	mov	rdx, rcx
	mov	eax, DWORD PTR -24840[rbp]
	movsx	rcx, eax
	mov	rax, rcx
	sal	rax, 2
	add	rax, rcx
	add	rax, rax
	add	rax, rcx
	sal	rax, 4
	lea	rax, -16[rax]
	add	rax, rbp
	sub	rax, 24656
	mov	ecx, DWORD PTR [rax]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, bestmove[rip]
	mov	DWORD PTR [rdx+rax], ecx
	mov	eax, DWORD PTR -24820[rbp]
	add	eax, 2147483647
	movsx	rcx, eax
	movabs	rdx, -2972479655804322065
	mov	rax, rcx
	mul	rdx
	shr	rdx, 23
	imul	rax, rdx, 9999991
	sub	rcx, rax
	mov	rdx, rcx
	mov	eax, DWORD PTR -24840[rbp]
	movsx	rcx, eax
	mov	rax, rcx
	sal	rax, 2
	add	rax, rcx
	add	rax, rax
	add	rax, rcx
	sal	rax, 4
	lea	rax, -16[rax]
	add	rax, rbp
	sub	rax, 24652
	mov	ecx, DWORD PTR [rax]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, bestmove[rip+4]
	mov	DWORD PTR [rdx+rax], ecx
	mov	eax, DWORD PTR -24820[rbp]
	add	eax, 2147483647
	movsx	rcx, eax
	movabs	rdx, -2972479655804322065
	mov	rax, rcx
	mul	rdx
	shr	rdx, 23
	imul	rax, rdx, 9999991
	sub	rcx, rax
	mov	rdx, rcx
	mov	eax, DWORD PTR -24840[rbp]
	movsx	rcx, eax
	mov	rax, rcx
	sal	rax, 2
	add	rax, rcx
	add	rax, rax
	add	rax, rcx
	sal	rax, 4
	lea	rax, -16[rax]
	add	rax, rbp
	sub	rax, 24644
	mov	ecx, DWORD PTR [rax]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, bestmove[rip+8]
	mov	DWORD PTR [rdx+rax], ecx
.L118:
	mov	eax, DWORD PTR -24848[rbp]
	mov	DWORD PTR -24888[rbp], eax
	mov	DWORD PTR -24844[rbp], 1
.L116:
	cmp	DWORD PTR -24884[rbp], 0
	jne	.L119
	mov	eax, DWORD PTR -24840[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 4
	mov	rcx, rax
	lea	rax, sortedmove[rip]
	mov	edx, DWORD PTR -24840[rbp]
	movsx	rsi, edx
	mov	rdx, rsi
	sal	rdx, 2
	add	rdx, rsi
	add	rdx, rdx
	add	rdx, rsi
	sal	rdx, 4
	lea	rbx, -16[rdx]
	lea	rdx, [rbx+rbp]
	sub	rdx, 24656
	mov	rsi, QWORD PTR [rdx]
	mov	rdi, QWORD PTR 8[rdx]
	mov	QWORD PTR [rcx+rax], rsi
	mov	QWORD PTR 8[rcx+rax], rdi
	mov	rsi, QWORD PTR 16[rdx]
	mov	rdi, QWORD PTR 24[rdx]
	mov	QWORD PTR 16[rcx+rax], rsi
	mov	QWORD PTR 24[rcx+rax], rdi
	mov	rsi, QWORD PTR 32[rdx]
	mov	rdi, QWORD PTR 40[rdx]
	mov	QWORD PTR 32[rcx+rax], rsi
	mov	QWORD PTR 40[rcx+rax], rdi
	mov	rsi, QWORD PTR 48[rdx]
	mov	rdi, QWORD PTR 56[rdx]
	mov	QWORD PTR 48[rcx+rax], rsi
	mov	QWORD PTR 56[rcx+rax], rdi
	mov	rsi, QWORD PTR 64[rdx]
	mov	rdi, QWORD PTR 72[rdx]
	mov	QWORD PTR 64[rcx+rax], rsi
	mov	QWORD PTR 72[rcx+rax], rdi
	mov	rsi, QWORD PTR 80[rdx]
	mov	rdi, QWORD PTR 88[rdx]
	mov	QWORD PTR 80[rcx+rax], rsi
	mov	QWORD PTR 88[rcx+rax], rdi
	mov	rsi, QWORD PTR 96[rdx]
	mov	rdi, QWORD PTR 104[rdx]
	mov	QWORD PTR 96[rcx+rax], rsi
	mov	QWORD PTR 104[rcx+rax], rdi
	mov	rsi, QWORD PTR 112[rdx]
	mov	rdi, QWORD PTR 120[rdx]
	mov	QWORD PTR 112[rcx+rax], rsi
	mov	QWORD PTR 120[rcx+rax], rdi
	mov	rsi, QWORD PTR 128[rdx]
	mov	rdi, QWORD PTR 136[rdx]
	mov	QWORD PTR 128[rcx+rax], rsi
	mov	QWORD PTR 136[rcx+rax], rdi
	mov	rsi, QWORD PTR 144[rdx]
	mov	rdi, QWORD PTR 152[rdx]
	mov	QWORD PTR 144[rcx+rax], rsi
	mov	QWORD PTR 152[rcx+rax], rdi
	mov	rsi, QWORD PTR 160[rdx]
	mov	rdi, QWORD PTR 168[rdx]
	mov	QWORD PTR 160[rcx+rax], rsi
	mov	QWORD PTR 168[rcx+rax], rdi
	mov	eax, DWORD PTR -24840[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 4
	mov	rcx, rax
	lea	rdx, sortedmove[rip+8]
	mov	eax, DWORD PTR -24848[rbp]
	mov	DWORD PTR [rcx+rdx], eax
.L119:
	mov	rax, QWORD PTR -24816[rbp]
	mov	rdx, QWORD PTR -24808[rbp]
	mov	QWORD PTR cur_board[rip], rax
	mov	QWORD PTR cur_board[rip+8], rdx
	mov	rax, QWORD PTR -24800[rbp]
	mov	rdx, QWORD PTR -24792[rbp]
	mov	QWORD PTR cur_board[rip+16], rax
	mov	QWORD PTR cur_board[rip+24], rdx
	mov	rax, QWORD PTR -24784[rbp]
	mov	rdx, QWORD PTR -24776[rbp]
	mov	QWORD PTR cur_board[rip+32], rax
	mov	QWORD PTR cur_board[rip+40], rdx
	mov	rax, QWORD PTR -24768[rbp]
	mov	rdx, QWORD PTR -24760[rbp]
	mov	QWORD PTR cur_board[rip+48], rax
	mov	QWORD PTR cur_board[rip+56], rdx
	mov	rax, QWORD PTR -24752[rbp]
	mov	rdx, QWORD PTR -24744[rbp]
	mov	QWORD PTR cur_board[rip+64], rax
	mov	QWORD PTR cur_board[rip+72], rdx
	mov	rax, QWORD PTR -24736[rbp]
	mov	rdx, QWORD PTR -24728[rbp]
	mov	QWORD PTR cur_board[rip+80], rax
	mov	QWORD PTR cur_board[rip+88], rdx
	mov	rax, QWORD PTR -24720[rbp]
	mov	rdx, QWORD PTR -24712[rbp]
	mov	QWORD PTR cur_board[rip+96], rax
	mov	QWORD PTR cur_board[rip+104], rdx
	mov	rax, QWORD PTR -24704[rbp]
	mov	rdx, QWORD PTR -24696[rbp]
	mov	QWORD PTR cur_board[rip+112], rax
	mov	QWORD PTR cur_board[rip+120], rdx
	mov	rax, QWORD PTR -24688[rbp]
	mov	rdx, QWORD PTR -24680[rbp]
	mov	QWORD PTR cur_board[rip+128], rax
	mov	QWORD PTR cur_board[rip+136], rdx
	mov	eax, DWORD PTR -24824[rbp]
	mov	DWORD PTR ChessCount[rip], eax
	mov	eax, DWORD PTR -24820[rbp]
	cdqe
	mov	QWORD PTR hash[rip], rax
	mov	eax, DWORD PTR -24888[rbp]
	cmp	eax, DWORD PTR -24892[rbp]
	jl	.L120
	mov	eax, DWORD PTR -24888[rbp]
	jmp	.L132
.L120:
	add	DWORD PTR -24840[rbp], 1
.L108:
	mov	eax, DWORD PTR -24840[rbp]
	cmp	eax, DWORD PTR -24868[rbp]
	jl	.L121
.L107:
	cmp	DWORD PTR -24828[rbp], 1
	jne	.L122
	mov	DWORD PTR -24836[rbp], 0
	mov	DWORD PTR -24832[rbp], 0
	jmp	.L123
.L129:
	mov	rax, QWORD PTR cur_board[rip]
	mov	rdx, QWORD PTR cur_board[rip+8]
	mov	QWORD PTR -24816[rbp], rax
	mov	QWORD PTR -24808[rbp], rdx
	mov	rax, QWORD PTR cur_board[rip+16]
	mov	rdx, QWORD PTR cur_board[rip+24]
	mov	QWORD PTR -24800[rbp], rax
	mov	QWORD PTR -24792[rbp], rdx
	mov	rax, QWORD PTR cur_board[rip+32]
	mov	rdx, QWORD PTR cur_board[rip+40]
	mov	QWORD PTR -24784[rbp], rax
	mov	QWORD PTR -24776[rbp], rdx
	mov	rax, QWORD PTR cur_board[rip+48]
	mov	rdx, QWORD PTR cur_board[rip+56]
	mov	QWORD PTR -24768[rbp], rax
	mov	QWORD PTR -24760[rbp], rdx
	mov	rax, QWORD PTR cur_board[rip+64]
	mov	rdx, QWORD PTR cur_board[rip+72]
	mov	QWORD PTR -24752[rbp], rax
	mov	QWORD PTR -24744[rbp], rdx
	mov	rax, QWORD PTR cur_board[rip+80]
	mov	rdx, QWORD PTR cur_board[rip+88]
	mov	QWORD PTR -24736[rbp], rax
	mov	QWORD PTR -24728[rbp], rdx
	mov	rax, QWORD PTR cur_board[rip+96]
	mov	rdx, QWORD PTR cur_board[rip+104]
	mov	QWORD PTR -24720[rbp], rax
	mov	QWORD PTR -24712[rbp], rdx
	mov	rax, QWORD PTR cur_board[rip+112]
	mov	rdx, QWORD PTR cur_board[rip+120]
	mov	QWORD PTR -24704[rbp], rax
	mov	QWORD PTR -24696[rbp], rdx
	mov	rax, QWORD PTR cur_board[rip+128]
	mov	rdx, QWORD PTR cur_board[rip+136]
	mov	QWORD PTR -24688[rbp], rax
	mov	QWORD PTR -24680[rbp], rdx
	lea	rcx, -24672[rbp]
	mov	eax, DWORD PTR -24832[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 4
	add	rax, 16
	add	rax, rcx
	mov	rcx, QWORD PTR [rax]
	mov	rbx, QWORD PTR 8[rax]
	mov	QWORD PTR cur_board[rip], rcx
	mov	QWORD PTR cur_board[rip+8], rbx
	mov	rcx, QWORD PTR 16[rax]
	mov	rbx, QWORD PTR 24[rax]
	mov	QWORD PTR cur_board[rip+16], rcx
	mov	QWORD PTR cur_board[rip+24], rbx
	mov	rcx, QWORD PTR 32[rax]
	mov	rbx, QWORD PTR 40[rax]
	mov	QWORD PTR cur_board[rip+32], rcx
	mov	QWORD PTR cur_board[rip+40], rbx
	mov	rcx, QWORD PTR 48[rax]
	mov	rbx, QWORD PTR 56[rax]
	mov	QWORD PTR cur_board[rip+48], rcx
	mov	QWORD PTR cur_board[rip+56], rbx
	mov	rcx, QWORD PTR 64[rax]
	mov	rbx, QWORD PTR 72[rax]
	mov	QWORD PTR cur_board[rip+64], rcx
	mov	QWORD PTR cur_board[rip+72], rbx
	mov	rcx, QWORD PTR 80[rax]
	mov	rbx, QWORD PTR 88[rax]
	mov	QWORD PTR cur_board[rip+80], rcx
	mov	QWORD PTR cur_board[rip+88], rbx
	mov	rcx, QWORD PTR 96[rax]
	mov	rbx, QWORD PTR 104[rax]
	mov	QWORD PTR cur_board[rip+96], rcx
	mov	QWORD PTR cur_board[rip+104], rbx
	mov	rcx, QWORD PTR 112[rax]
	mov	rbx, QWORD PTR 120[rax]
	mov	QWORD PTR cur_board[rip+112], rcx
	mov	QWORD PTR cur_board[rip+120], rbx
	mov	rdx, QWORD PTR 136[rax]
	mov	rax, QWORD PTR 128[rax]
	mov	QWORD PTR cur_board[rip+128], rax
	mov	QWORD PTR cur_board[rip+136], rdx
	mov	eax, DWORD PTR ChessCount[rip]
	mov	DWORD PTR -24824[rbp], eax
	mov	eax, DWORD PTR -24832[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 4
	lea	rax, -16[rax]
	add	rax, rbp
	sub	rax, 24496
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR ChessCount[rip], eax
	mov	rax, QWORD PTR hash[rip]
	mov	DWORD PTR -24820[rbp], eax
	mov	eax, DWORD PTR -24832[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 4
	lea	rax, -16[rax]
	add	rax, rbp
	sub	rax, 24488
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR hash[rip], rax
	cmp	DWORD PTR -24836[rbp], 0
	je	.L124
	mov	eax, DWORD PTR Search_Depth[rip]
	cmp	eax, 4
	jne	.L124
	mov	eax, DWORD PTR -24892[rbp]
	lea	esi, -1[rax]
	mov	eax, DWORD PTR -24884[rbp]
	lea	ecx, 1[rax]
	mov	eax, DWORD PTR -24892[rbp]
	mov	edx, eax
	mov	edi, ecx
	call	minmax
	mov	DWORD PTR -24848[rbp], eax
	mov	eax, DWORD PTR -24848[rbp]
	cmp	eax, DWORD PTR -24888[rbp]
	jle	.L136
	mov	eax, DWORD PTR -24848[rbp]
	cmp	eax, DWORD PTR -24892[rbp]
	jge	.L136
	mov	eax, DWORD PTR -24884[rbp]
	lea	ecx, 1[rax]
	mov	edx, DWORD PTR -24892[rbp]
	mov	eax, DWORD PTR -24888[rbp]
	mov	esi, eax
	mov	edi, ecx
	call	minmax
	mov	DWORD PTR -24848[rbp], eax
	jmp	.L136
.L124:
	mov	eax, DWORD PTR -24884[rbp]
	lea	ecx, 1[rax]
	mov	edx, DWORD PTR -24892[rbp]
	mov	eax, DWORD PTR -24888[rbp]
	mov	esi, eax
	mov	edi, ecx
	call	minmax
	mov	DWORD PTR -24848[rbp], eax
	jmp	.L126
.L136:
	nop
.L126:
	mov	eax, DWORD PTR -24848[rbp]
	cmp	eax, DWORD PTR -24892[rbp]
	jge	.L127
	mov	eax, DWORD PTR -24848[rbp]
	mov	DWORD PTR -24892[rbp], eax
	mov	DWORD PTR -24836[rbp], 1
.L127:
	mov	rax, QWORD PTR -24816[rbp]
	mov	rdx, QWORD PTR -24808[rbp]
	mov	QWORD PTR cur_board[rip], rax
	mov	QWORD PTR cur_board[rip+8], rdx
	mov	rax, QWORD PTR -24800[rbp]
	mov	rdx, QWORD PTR -24792[rbp]
	mov	QWORD PTR cur_board[rip+16], rax
	mov	QWORD PTR cur_board[rip+24], rdx
	mov	rax, QWORD PTR -24784[rbp]
	mov	rdx, QWORD PTR -24776[rbp]
	mov	QWORD PTR cur_board[rip+32], rax
	mov	QWORD PTR cur_board[rip+40], rdx
	mov	rax, QWORD PTR -24768[rbp]
	mov	rdx, QWORD PTR -24760[rbp]
	mov	QWORD PTR cur_board[rip+48], rax
	mov	QWORD PTR cur_board[rip+56], rdx
	mov	rax, QWORD PTR -24752[rbp]
	mov	rdx, QWORD PTR -24744[rbp]
	mov	QWORD PTR cur_board[rip+64], rax
	mov	QWORD PTR cur_board[rip+72], rdx
	mov	rax, QWORD PTR -24736[rbp]
	mov	rdx, QWORD PTR -24728[rbp]
	mov	QWORD PTR cur_board[rip+80], rax
	mov	QWORD PTR cur_board[rip+88], rdx
	mov	rax, QWORD PTR -24720[rbp]
	mov	rdx, QWORD PTR -24712[rbp]
	mov	QWORD PTR cur_board[rip+96], rax
	mov	QWORD PTR cur_board[rip+104], rdx
	mov	rax, QWORD PTR -24704[rbp]
	mov	rdx, QWORD PTR -24696[rbp]
	mov	QWORD PTR cur_board[rip+112], rax
	mov	QWORD PTR cur_board[rip+120], rdx
	mov	rax, QWORD PTR -24688[rbp]
	mov	rdx, QWORD PTR -24680[rbp]
	mov	QWORD PTR cur_board[rip+128], rax
	mov	QWORD PTR cur_board[rip+136], rdx
	mov	eax, DWORD PTR -24824[rbp]
	mov	DWORD PTR ChessCount[rip], eax
	mov	eax, DWORD PTR -24820[rbp]
	cdqe
	mov	QWORD PTR hash[rip], rax
	mov	eax, DWORD PTR -24888[rbp]
	cmp	eax, DWORD PTR -24892[rbp]
	jl	.L128
	mov	eax, DWORD PTR -24892[rbp]
	jmp	.L132
.L128:
	add	DWORD PTR -24832[rbp], 1
.L123:
	mov	eax, DWORD PTR -24832[rbp]
	cmp	eax, DWORD PTR -24868[rbp]
	jl	.L129
.L122:
	cmp	DWORD PTR -24884[rbp], 0
	jne	.L130
	mov	eax, DWORD PTR -24888[rbp]
	sub	eax, 12000
	mov	DWORD PTR alphasort[rip], eax
	mov	eax, DWORD PTR -24888[rbp]
	add	eax, 12000
	mov	DWORD PTR betasort[rip], eax
.L130:
	cmp	DWORD PTR -24828[rbp], 1
	jne	.L131
	mov	eax, DWORD PTR -24892[rbp]
	jmp	.L132
.L131:
	mov	eax, DWORD PTR -24888[rbp]
.L132:
	mov	rbx, QWORD PTR -24[rbp]
	sub	rbx, QWORD PTR fs:40
	je	.L133
	call	__stack_chk_fail@PLT
.L133:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE12:
	.size	minmax, .-minmax
	.globl	Refresh
	.type	Refresh, @function
Refresh:
.LFB13:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	rax, QWORD PTR board[rip]
	mov	rdx, QWORD PTR board[rip+8]
	mov	QWORD PTR cur_board[rip], rax
	mov	QWORD PTR cur_board[rip+8], rdx
	mov	rax, QWORD PTR board[rip+16]
	mov	rdx, QWORD PTR board[rip+24]
	mov	QWORD PTR cur_board[rip+16], rax
	mov	QWORD PTR cur_board[rip+24], rdx
	mov	rax, QWORD PTR board[rip+32]
	mov	rdx, QWORD PTR board[rip+40]
	mov	QWORD PTR cur_board[rip+32], rax
	mov	QWORD PTR cur_board[rip+40], rdx
	mov	rax, QWORD PTR board[rip+48]
	mov	rdx, QWORD PTR board[rip+56]
	mov	QWORD PTR cur_board[rip+48], rax
	mov	QWORD PTR cur_board[rip+56], rdx
	mov	rax, QWORD PTR board[rip+64]
	mov	rdx, QWORD PTR board[rip+72]
	mov	QWORD PTR cur_board[rip+64], rax
	mov	QWORD PTR cur_board[rip+72], rdx
	mov	rax, QWORD PTR board[rip+80]
	mov	rdx, QWORD PTR board[rip+88]
	mov	QWORD PTR cur_board[rip+80], rax
	mov	QWORD PTR cur_board[rip+88], rdx
	mov	rax, QWORD PTR board[rip+96]
	mov	rdx, QWORD PTR board[rip+104]
	mov	QWORD PTR cur_board[rip+96], rax
	mov	QWORD PTR cur_board[rip+104], rdx
	mov	rax, QWORD PTR board[rip+112]
	mov	rdx, QWORD PTR board[rip+120]
	mov	QWORD PTR cur_board[rip+112], rax
	mov	QWORD PTR cur_board[rip+120], rdx
	mov	rax, QWORD PTR board[rip+128]
	mov	rdx, QWORD PTR board[rip+136]
	mov	QWORD PTR cur_board[rip+128], rax
	mov	QWORD PTR cur_board[rip+136], rdx
	mov	QWORD PTR hash[rip], 0
	mov	DWORD PTR ChessCount[rip], 0
	pxor	xmm0, xmm0
	movss	DWORD PTR cen_x[rip], xmm0
	pxor	xmm0, xmm0
	movss	DWORD PTR cen_y[rip], xmm0
	mov	DWORD PTR -32[rbp], 0
	mov	DWORD PTR -28[rbp], 0
	mov	DWORD PTR -24[rbp], 0
	jmp	.L138
.L143:
	mov	DWORD PTR -20[rbp], 0
	jmp	.L139
.L142:
	mov	eax, DWORD PTR -20[rbp]
	movsx	rcx, eax
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	lea	rdx, [rax+rcx]
	lea	rax, cur_board[rip]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	edx, al
	mov	eax, DWORD PTR me_flag[rip]
	cmp	edx, eax
	jne	.L140
	mov	eax, DWORD PTR ChessCount[rip]
	add	eax, 1
	mov	DWORD PTR ChessCount[rip], eax
	mov	eax, DWORD PTR -24[rbp]
	add	DWORD PTR -32[rbp], eax
	mov	eax, DWORD PTR -20[rbp]
	add	DWORD PTR -28[rbp], eax
	mov	eax, DWORD PTR me_flag[rip]
	movsx	rsi, eax
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -20[rbp]
	movsx	rcx, eax
	mov	rax, rdx
	sal	rax, 3
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rcx
	add	rdx, rdx
	add	rdx, rcx
	add	rax, rdx
	add	rax, rsi
	lea	rdx, 0[0+rax*4]
	lea	rax, hashtable[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	edx, eax
	mov	rax, QWORD PTR hash[rip]
	xor	rax, rdx
	mov	QWORD PTR hash[rip], rax
.L140:
	mov	eax, DWORD PTR -20[rbp]
	movsx	rcx, eax
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	lea	rdx, [rax+rcx]
	lea	rax, cur_board[rip]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	edx, al
	mov	eax, DWORD PTR other_flag[rip]
	cmp	edx, eax
	jne	.L141
	pxor	xmm1, xmm1
	cvtsi2ss	xmm1, DWORD PTR -24[rbp]
	movss	xmm0, DWORD PTR cen_x[rip]
	addss	xmm0, xmm1
	movss	DWORD PTR cen_x[rip], xmm0
	pxor	xmm1, xmm1
	cvtsi2ss	xmm1, DWORD PTR -20[rbp]
	movss	xmm0, DWORD PTR cen_y[rip]
	addss	xmm0, xmm1
	movss	DWORD PTR cen_y[rip], xmm0
	mov	eax, DWORD PTR other_flag[rip]
	movsx	rsi, eax
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -20[rbp]
	movsx	rcx, eax
	mov	rax, rdx
	sal	rax, 3
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rcx
	add	rdx, rdx
	add	rdx, rcx
	add	rax, rdx
	add	rax, rsi
	lea	rdx, 0[0+rax*4]
	lea	rax, hashtable[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	edx, eax
	mov	rax, QWORD PTR hash[rip]
	xor	rax, rdx
	mov	QWORD PTR hash[rip], rax
.L141:
	add	DWORD PTR -20[rbp], 1
.L139:
	cmp	DWORD PTR -20[rbp], 11
	jle	.L142
	add	DWORD PTR -24[rbp], 1
.L138:
	cmp	DWORD PTR -24[rbp], 11
	jle	.L143
	movss	xmm0, DWORD PTR cen_x[rip]
	mov	eax, DWORD PTR ChessCount[rip]
	mov	edx, 16
	sub	edx, eax
	pxor	xmm1, xmm1
	cvtsi2ss	xmm1, edx
	divss	xmm0, xmm1
	movss	DWORD PTR cen_x[rip], xmm0
	movss	xmm0, DWORD PTR cen_y[rip]
	mov	eax, DWORD PTR ChessCount[rip]
	mov	edx, 16
	sub	edx, eax
	pxor	xmm1, xmm1
	cvtsi2ss	xmm1, edx
	divss	xmm0, xmm1
	movss	DWORD PTR cen_y[rip], xmm0
	mov	edi, DWORD PTR ChessCount[rip]
	mov	eax, DWORD PTR -32[rbp]
	cdq
	idiv	edi
	mov	DWORD PTR -32[rbp], eax
	mov	edi, DWORD PTR ChessCount[rip]
	mov	eax, DWORD PTR -28[rbp]
	cdq
	idiv	edi
	mov	DWORD PTR -28[rbp], eax
	mov	eax, DWORD PTR me_flag[rip]
	cmp	eax, 1
	jne	.L144
	mov	eax, DWORD PTR turns[rip]
	cmp	eax, 15
	jg	.L144
	movss	xmm1, DWORD PTR cen_y[rip]
	movss	xmm0, DWORD PTR .LC15[rip]
	addss	xmm0, xmm1
	movss	DWORD PTR cen_y[rip], xmm0
	movss	xmm1, DWORD PTR cen_x[rip]
	movss	xmm0, DWORD PTR .LC16[rip]
	addss	xmm0, xmm1
	movss	DWORD PTR cen_x[rip], xmm0
	mov	DWORD PTR -16[rbp], 5
	jmp	.L145
.L149:
	mov	DWORD PTR -12[rbp], 5
	jmp	.L146
.L148:
	mov	eax, DWORD PTR -12[rbp]
	movsx	rcx, eax
	mov	eax, DWORD PTR -16[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	lea	rdx, [rax+rcx]
	lea	rax, cur_board[rip]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	edx, al
	mov	eax, DWORD PTR other_flag[rip]
	cmp	edx, eax
	jne	.L147
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, DWORD PTR -12[rbp]
	movss	DWORD PTR cen_y[rip], xmm0
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, DWORD PTR -16[rbp]
	movss	DWORD PTR cen_x[rip], xmm0
.L147:
	add	DWORD PTR -12[rbp], 1
.L146:
	cmp	DWORD PTR -12[rbp], 11
	jle	.L148
	add	DWORD PTR -16[rbp], 1
.L145:
	cmp	DWORD PTR -16[rbp], 11
	jle	.L149
.L144:
	mov	eax, DWORD PTR me_flag[rip]
	cmp	eax, 2
	jne	.L150
	mov	eax, DWORD PTR turns[rip]
	cmp	eax, 15
	jg	.L150
	movss	xmm0, DWORD PTR cen_y[rip]
	movss	xmm1, DWORD PTR .LC15[rip]
	subss	xmm0, xmm1
	movss	DWORD PTR cen_y[rip], xmm0
	movss	xmm0, DWORD PTR cen_x[rip]
	movss	xmm1, DWORD PTR .LC16[rip]
	subss	xmm0, xmm1
	movss	DWORD PTR cen_x[rip], xmm0
	mov	DWORD PTR -8[rbp], 0
	jmp	.L151
.L156:
	mov	DWORD PTR -4[rbp], 0
	jmp	.L152
.L155:
	mov	eax, DWORD PTR -4[rbp]
	movsx	rcx, eax
	mov	eax, DWORD PTR -8[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	lea	rdx, [rax+rcx]
	lea	rax, cur_board[rip]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	edx, al
	mov	eax, DWORD PTR other_flag[rip]
	cmp	edx, eax
	jne	.L153
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, DWORD PTR -4[rbp]
	movss	DWORD PTR cen_y[rip], xmm0
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, DWORD PTR -8[rbp]
	movss	DWORD PTR cen_x[rip], xmm0
	jmp	.L154
.L153:
	add	DWORD PTR -4[rbp], 1
.L152:
	cmp	DWORD PTR -4[rbp], 6
	jle	.L155
.L154:
	add	DWORD PTR -8[rbp], 1
.L151:
	cmp	DWORD PTR -8[rbp], 6
	jle	.L156
.L150:
	mov	eax, DWORD PTR ChessCount[rip]
	cmp	eax, 11
	jle	.L157
	mov	DWORD PTR theta1[rip], 1
	mov	DWORD PTR theta2[rip], 2
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, DWORD PTR -32[rbp]
	movss	DWORD PTR cen_x[rip], xmm0
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, DWORD PTR -28[rbp]
	movss	DWORD PTR cen_y[rip], xmm0
	jmp	.L158
.L157:
	mov	DWORD PTR theta1[rip], 1
	mov	DWORD PTR theta2[rip], 2
	mov	DWORD PTR theta3[rip], 0
.L158:
	mov	DWORD PTR direction[rip], 0
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE13:
	.size	Refresh, .-Refresh
	.globl	findValidPos
	.type	findValidPos, @function
findValidPos:
.LFB14:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 40
	.cfi_offset 3, -24
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -36[rbp], edx
	mov	eax, 0
	call	Refresh
	mov	eax, DWORD PTR turns[rip]
	add	eax, 1
	mov	DWORD PTR turns[rip], eax
	mov	edx, 24640
	mov	esi, 0
	lea	rdi, sortedmove[rip]
	call	memset@PLT
	mov	DWORD PTR changeit[rip], 0
	mov	rax, QWORD PTR hash[rip]
	add	rax, 2147483647
	mov	rcx, rax
	movabs	rdx, -2972479655804322065
	mov	rax, rcx
	mul	rdx
	shr	rdx, 23
	imul	rax, rdx, 9999991
	sub	rcx, rax
	mov	rdx, rcx
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, repetition[rip]
	mov	eax, DWORD PTR [rdx+rax]
	test	eax, eax
	je	.L160
	mov	eax, DWORD PTR ChessCount[rip]
	cmp	eax, 7
	jle	.L161
	mov	rax, QWORD PTR hash[rip]
	add	rax, 2147483647
	mov	rcx, rax
	movabs	rdx, -2972479655804322065
	mov	rax, rcx
	mul	rdx
	shr	rdx, 23
	imul	rax, rdx, 9999991
	sub	rcx, rax
	mov	rdx, rcx
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, repetition[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR ans_command[rip], eax
	mov	rax, QWORD PTR hash[rip]
	add	rax, 2147483647
	mov	rcx, rax
	movabs	rdx, -2972479655804322065
	mov	rax, rcx
	mul	rdx
	shr	rdx, 23
	imul	rax, rdx, 9999991
	sub	rcx, rax
	mov	rdx, rcx
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, repetition[rip+4]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR ans_command[rip+4], eax
	mov	rax, QWORD PTR hash[rip]
	add	rax, 2147483647
	mov	rcx, rax
	movabs	rdx, -2972479655804322065
	mov	rax, rcx
	mul	rdx
	shr	rdx, 23
	imul	rax, rdx, 9999991
	sub	rcx, rax
	mov	rdx, rcx
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, repetition[rip+8]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR ans_command[rip+12], eax
	mov	eax, DWORD PTR ans_command[rip]
	mov	edx, DWORD PTR ans_command[rip+4]
	movsx	rcx, edx
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	lea	rdx, [rax+rcx]
	lea	rax, cur_board[rip]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	edx, al
	mov	eax, DWORD PTR me_flag[rip]
	cmp	edx, eax
	jne	.L160
	mov	ecx, DWORD PTR ans_command[rip]
	mov	eax, DWORD PTR ans_command[rip+12]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, DIR[rip]
	mov	eax, DWORD PTR [rdx+rax]
	add	ecx, eax
	mov	esi, DWORD PTR ans_command[rip+4]
	mov	eax, DWORD PTR ans_command[rip+12]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, DIR[rip+4]
	mov	eax, DWORD PTR [rdx+rax]
	add	eax, esi
	movsx	rsi, eax
	movsx	rdx, ecx
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	lea	rdx, [rax+rsi]
	lea	rax, cur_board[rip]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L160
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR ans_command[rip]
	mov	rbx, QWORD PTR ans_command[rip+8]
	mov	QWORD PTR [rax], rcx
	mov	QWORD PTR 8[rax], rbx
	mov	rcx, QWORD PTR ans_command[rip+16]
	mov	rbx, QWORD PTR ans_command[rip+24]
	mov	QWORD PTR 16[rax], rcx
	mov	QWORD PTR 24[rax], rbx
	mov	rcx, QWORD PTR ans_command[rip+32]
	mov	rbx, QWORD PTR ans_command[rip+40]
	mov	QWORD PTR 32[rax], rcx
	mov	QWORD PTR 40[rax], rbx
	mov	rcx, QWORD PTR ans_command[rip+48]
	mov	rbx, QWORD PTR ans_command[rip+56]
	mov	QWORD PTR 48[rax], rcx
	mov	QWORD PTR 56[rax], rbx
	mov	rcx, QWORD PTR ans_command[rip+64]
	mov	rbx, QWORD PTR ans_command[rip+72]
	mov	QWORD PTR 64[rax], rcx
	mov	QWORD PTR 72[rax], rbx
	mov	rcx, QWORD PTR ans_command[rip+80]
	mov	rbx, QWORD PTR ans_command[rip+88]
	mov	QWORD PTR 80[rax], rcx
	mov	QWORD PTR 88[rax], rbx
	mov	rcx, QWORD PTR ans_command[rip+96]
	mov	rbx, QWORD PTR ans_command[rip+104]
	mov	QWORD PTR 96[rax], rcx
	mov	QWORD PTR 104[rax], rbx
	mov	rcx, QWORD PTR ans_command[rip+112]
	mov	rbx, QWORD PTR ans_command[rip+120]
	mov	QWORD PTR 112[rax], rcx
	mov	QWORD PTR 120[rax], rbx
	mov	rcx, QWORD PTR ans_command[rip+128]
	mov	rbx, QWORD PTR ans_command[rip+136]
	mov	QWORD PTR 128[rax], rcx
	mov	QWORD PTR 136[rax], rbx
	mov	rcx, QWORD PTR ans_command[rip+144]
	mov	rbx, QWORD PTR ans_command[rip+152]
	mov	QWORD PTR 144[rax], rcx
	mov	QWORD PTR 152[rax], rbx
	mov	rcx, QWORD PTR ans_command[rip+160]
	mov	rbx, QWORD PTR ans_command[rip+168]
	mov	QWORD PTR 160[rax], rcx
	mov	QWORD PTR 168[rax], rbx
	jmp	.L162
.L161:
	mov	DWORD PTR changeit[rip], 1
	mov	DWORD PTR changed[rip], 0
	mov	DWORD PTR second_command[rip+8], -2147483648
	mov	DWORD PTR ans_command[rip+8], -2147483648
.L160:
	mov	DWORD PTR Search_Depth[rip], 1
	mov	edx, 2147483647
	mov	esi, -2147483647
	mov	edi, 0
	call	minmax
	mov	DWORD PTR Search_Depth[rip], 2
	mov	edx, 2147483647
	mov	esi, -2147483647
	mov	edi, 0
	call	minmax
	mov	DWORD PTR Search_Depth[rip], 4
	mov	edx, DWORD PTR betasort[rip]
	mov	eax, DWORD PTR alphasort[rip]
	mov	esi, eax
	mov	edi, 0
	call	minmax
	mov	eax, DWORD PTR changeit[rip]
	test	eax, eax
	jne	.L163
	mov	rax, QWORD PTR hash[rip]
	add	rax, 2147483647
	mov	rcx, rax
	movabs	rdx, -2972479655804322065
	mov	rax, rcx
	mul	rdx
	shr	rdx, 23
	imul	rax, rdx, 9999991
	sub	rcx, rax
	mov	rdx, rcx
	mov	ecx, DWORD PTR ans_command[rip]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, repetition[rip]
	mov	DWORD PTR [rdx+rax], ecx
	mov	rax, QWORD PTR hash[rip]
	add	rax, 2147483647
	mov	rcx, rax
	movabs	rdx, -2972479655804322065
	mov	rax, rcx
	mul	rdx
	shr	rdx, 23
	imul	rax, rdx, 9999991
	sub	rcx, rax
	mov	rdx, rcx
	mov	ecx, DWORD PTR ans_command[rip+4]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, repetition[rip+4]
	mov	DWORD PTR [rdx+rax], ecx
	mov	rax, QWORD PTR hash[rip]
	add	rax, 2147483647
	mov	rcx, rax
	movabs	rdx, -2972479655804322065
	mov	rax, rcx
	mul	rdx
	shr	rdx, 23
	imul	rax, rdx, 9999991
	sub	rcx, rax
	mov	rdx, rcx
	mov	ecx, DWORD PTR ans_command[rip+12]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, repetition[rip+8]
	mov	DWORD PTR [rdx+rax], ecx
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR ans_command[rip]
	mov	rbx, QWORD PTR ans_command[rip+8]
	mov	QWORD PTR [rax], rcx
	mov	QWORD PTR 8[rax], rbx
	mov	rcx, QWORD PTR ans_command[rip+16]
	mov	rbx, QWORD PTR ans_command[rip+24]
	mov	QWORD PTR 16[rax], rcx
	mov	QWORD PTR 24[rax], rbx
	mov	rcx, QWORD PTR ans_command[rip+32]
	mov	rbx, QWORD PTR ans_command[rip+40]
	mov	QWORD PTR 32[rax], rcx
	mov	QWORD PTR 40[rax], rbx
	mov	rcx, QWORD PTR ans_command[rip+48]
	mov	rbx, QWORD PTR ans_command[rip+56]
	mov	QWORD PTR 48[rax], rcx
	mov	QWORD PTR 56[rax], rbx
	mov	rcx, QWORD PTR ans_command[rip+64]
	mov	rbx, QWORD PTR ans_command[rip+72]
	mov	QWORD PTR 64[rax], rcx
	mov	QWORD PTR 72[rax], rbx
	mov	rcx, QWORD PTR ans_command[rip+80]
	mov	rbx, QWORD PTR ans_command[rip+88]
	mov	QWORD PTR 80[rax], rcx
	mov	QWORD PTR 88[rax], rbx
	mov	rcx, QWORD PTR ans_command[rip+96]
	mov	rbx, QWORD PTR ans_command[rip+104]
	mov	QWORD PTR 96[rax], rcx
	mov	QWORD PTR 104[rax], rbx
	mov	rcx, QWORD PTR ans_command[rip+112]
	mov	rbx, QWORD PTR ans_command[rip+120]
	mov	QWORD PTR 112[rax], rcx
	mov	QWORD PTR 120[rax], rbx
	mov	rcx, QWORD PTR ans_command[rip+128]
	mov	rbx, QWORD PTR ans_command[rip+136]
	mov	QWORD PTR 128[rax], rcx
	mov	QWORD PTR 136[rax], rbx
	mov	rcx, QWORD PTR ans_command[rip+144]
	mov	rbx, QWORD PTR ans_command[rip+152]
	mov	QWORD PTR 144[rax], rcx
	mov	QWORD PTR 152[rax], rbx
	mov	rcx, QWORD PTR ans_command[rip+160]
	mov	rbx, QWORD PTR ans_command[rip+168]
	mov	QWORD PTR 160[rax], rcx
	mov	QWORD PTR 168[rax], rbx
	jmp	.L162
.L163:
	mov	rax, QWORD PTR hash[rip]
	add	rax, 2147483647
	mov	rcx, rax
	movabs	rdx, -2972479655804322065
	mov	rax, rcx
	mul	rdx
	shr	rdx, 23
	imul	rax, rdx, 9999991
	mov	rdx, rcx
	sub	rdx, rax
	mov	ecx, DWORD PTR second_command[rip]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, repetition[rip]
	mov	DWORD PTR [rdx+rax], ecx
	mov	rax, QWORD PTR hash[rip]
	add	rax, 2147483647
	mov	rcx, rax
	movabs	rdx, -2972479655804322065
	mov	rax, rcx
	mul	rdx
	shr	rdx, 23
	imul	rax, rdx, 9999991
	sub	rcx, rax
	mov	rdx, rcx
	mov	ecx, DWORD PTR second_command[rip+4]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, repetition[rip+4]
	mov	DWORD PTR [rdx+rax], ecx
	mov	rax, QWORD PTR hash[rip]
	add	rax, 2147483647
	mov	rcx, rax
	movabs	rdx, -2972479655804322065
	mov	rax, rcx
	mul	rdx
	shr	rdx, 23
	imul	rax, rdx, 9999991
	mov	rdx, rcx
	sub	rdx, rax
	mov	ecx, DWORD PTR second_command[rip+12]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, repetition[rip+8]
	mov	DWORD PTR [rdx+rax], ecx
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR second_command[rip]
	mov	rbx, QWORD PTR second_command[rip+8]
	mov	QWORD PTR [rax], rcx
	mov	QWORD PTR 8[rax], rbx
	mov	rcx, QWORD PTR second_command[rip+16]
	mov	rbx, QWORD PTR second_command[rip+24]
	mov	QWORD PTR 16[rax], rcx
	mov	QWORD PTR 24[rax], rbx
	mov	rcx, QWORD PTR second_command[rip+32]
	mov	rbx, QWORD PTR second_command[rip+40]
	mov	QWORD PTR 32[rax], rcx
	mov	QWORD PTR 40[rax], rbx
	mov	rcx, QWORD PTR second_command[rip+48]
	mov	rbx, QWORD PTR second_command[rip+56]
	mov	QWORD PTR 48[rax], rcx
	mov	QWORD PTR 56[rax], rbx
	mov	rcx, QWORD PTR second_command[rip+64]
	mov	rbx, QWORD PTR second_command[rip+72]
	mov	QWORD PTR 64[rax], rcx
	mov	QWORD PTR 72[rax], rbx
	mov	rcx, QWORD PTR second_command[rip+80]
	mov	rbx, QWORD PTR second_command[rip+88]
	mov	QWORD PTR 80[rax], rcx
	mov	QWORD PTR 88[rax], rbx
	mov	rcx, QWORD PTR second_command[rip+96]
	mov	rbx, QWORD PTR second_command[rip+104]
	mov	QWORD PTR 96[rax], rcx
	mov	QWORD PTR 104[rax], rbx
	mov	rcx, QWORD PTR second_command[rip+112]
	mov	rbx, QWORD PTR second_command[rip+120]
	mov	QWORD PTR 112[rax], rcx
	mov	QWORD PTR 120[rax], rbx
	mov	rcx, QWORD PTR second_command[rip+128]
	mov	rbx, QWORD PTR second_command[rip+136]
	mov	QWORD PTR 128[rax], rcx
	mov	QWORD PTR 136[rax], rbx
	mov	rcx, QWORD PTR second_command[rip+144]
	mov	rbx, QWORD PTR second_command[rip+152]
	mov	QWORD PTR 144[rax], rcx
	mov	QWORD PTR 152[rax], rbx
	mov	rcx, QWORD PTR second_command[rip+160]
	mov	rbx, QWORD PTR second_command[rip+168]
	mov	QWORD PTR 160[rax], rcx
	mov	QWORD PTR 168[rax], rbx
.L162:
	mov	rax, QWORD PTR -24[rbp]
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE14:
	.size	findValidPos, .-findValidPos
	.globl	aiTurn
	.type	aiTurn, @function
aiTurn:
.LFB15:
	.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, 232
	.cfi_offset 3, -24
	mov	QWORD PTR -216[rbp], rdi
	mov	QWORD PTR -224[rbp], rsi
	mov	DWORD PTR -228[rbp], edx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -24[rbp], rax
	xor	eax, eax
	lea	rax, -208[rbp]
	mov	edx, DWORD PTR -228[rbp]
	mov	rcx, QWORD PTR -224[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	findValidPos
	mov	rax, QWORD PTR -216[rbp]
	mov	rcx, QWORD PTR -208[rbp]
	mov	rbx, QWORD PTR -200[rbp]
	mov	QWORD PTR [rax], rcx
	mov	QWORD PTR 8[rax], rbx
	mov	rcx, QWORD PTR -192[rbp]
	mov	rbx, QWORD PTR -184[rbp]
	mov	QWORD PTR 16[rax], rcx
	mov	QWORD PTR 24[rax], rbx
	mov	rcx, QWORD PTR -176[rbp]
	mov	rbx, QWORD PTR -168[rbp]
	mov	QWORD PTR 32[rax], rcx
	mov	QWORD PTR 40[rax], rbx
	mov	rcx, QWORD PTR -160[rbp]
	mov	rbx, QWORD PTR -152[rbp]
	mov	QWORD PTR 48[rax], rcx
	mov	QWORD PTR 56[rax], rbx
	mov	rcx, QWORD PTR -144[rbp]
	mov	rbx, QWORD PTR -136[rbp]
	mov	QWORD PTR 64[rax], rcx
	mov	QWORD PTR 72[rax], rbx
	mov	rcx, QWORD PTR -128[rbp]
	mov	rbx, QWORD PTR -120[rbp]
	mov	QWORD PTR 80[rax], rcx
	mov	QWORD PTR 88[rax], rbx
	mov	rcx, QWORD PTR -112[rbp]
	mov	rbx, QWORD PTR -104[rbp]
	mov	QWORD PTR 96[rax], rcx
	mov	QWORD PTR 104[rax], rbx
	mov	rcx, QWORD PTR -96[rbp]
	mov	rbx, QWORD PTR -88[rbp]
	mov	QWORD PTR 112[rax], rcx
	mov	QWORD PTR 120[rax], rbx
	mov	rcx, QWORD PTR -80[rbp]
	mov	rbx, QWORD PTR -72[rbp]
	mov	QWORD PTR 128[rax], rcx
	mov	QWORD PTR 136[rax], rbx
	mov	rcx, QWORD PTR -64[rbp]
	mov	rbx, QWORD PTR -56[rbp]
	mov	QWORD PTR 144[rax], rcx
	mov	QWORD PTR 152[rax], rbx
	mov	rcx, QWORD PTR -48[rbp]
	mov	rbx, QWORD PTR -40[rbp]
	mov	QWORD PTR 160[rax], rcx
	mov	QWORD PTR 168[rax], rbx
	mov	rax, QWORD PTR -24[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L166
	call	__stack_chk_fail@PLT
.L166:
	mov	rax, QWORD PTR -216[rbp]
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE15:
	.size	aiTurn, .-aiTurn
	.globl	place
	.type	place, @function
place:
.LFB16:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 192
	mov	DWORD PTR -180[rbp], edi
	mov	DWORD PTR -184[rbp], esi
	mov	DWORD PTR -188[rbp], edx
	mov	DWORD PTR -192[rbp], ecx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	eax, DWORD PTR -184[rbp]
	movsx	rcx, eax
	mov	eax, DWORD PTR -180[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	lea	rdx, [rax+rcx]
	lea	rax, board[rip]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	cmp	DWORD PTR -192[rbp], eax
	je	.L168
	mov	eax, 0
	jmp	.L178
.L168:
	mov	eax, DWORD PTR -188[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, DIR[rip]
	mov	edx, DWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -180[rbp]
	add	eax, edx
	mov	DWORD PTR -156[rbp], eax
	mov	eax, DWORD PTR -188[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, DIR[rip+4]
	mov	edx, DWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -184[rbp]
	add	eax, edx
	mov	DWORD PTR -152[rbp], eax
	cmp	DWORD PTR -156[rbp], 0
	js	.L170
	cmp	DWORD PTR -156[rbp], 11
	jg	.L170
	cmp	DWORD PTR -152[rbp], 0
	js	.L170
	cmp	DWORD PTR -152[rbp], 11
	jg	.L170
	mov	eax, DWORD PTR -152[rbp]
	movsx	rcx, eax
	mov	eax, DWORD PTR -156[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	lea	rdx, [rax+rcx]
	lea	rax, board[rip]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L171
.L170:
	mov	eax, 0
	jmp	.L178
.L171:
	mov	eax, DWORD PTR -184[rbp]
	movsx	rcx, eax
	mov	eax, DWORD PTR -180[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	lea	rdx, [rax+rcx]
	lea	rax, board[rip]
	add	rax, rdx
	mov	BYTE PTR [rax], 0
	mov	eax, DWORD PTR -192[rbp]
	mov	ecx, eax
	mov	eax, DWORD PTR -152[rbp]
	movsx	rsi, eax
	mov	eax, DWORD PTR -156[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	lea	rdx, [rax+rsi]
	lea	rax, board[rip]
	add	rax, rdx
	mov	BYTE PTR [rax], cl
	mov	eax, 3
	sub	eax, DWORD PTR -192[rbp]
	mov	DWORD PTR -148[rbp], eax
	mov	DWORD PTR -112[rbp], 1
	mov	DWORD PTR -108[rbp], 0
	mov	DWORD PTR -104[rbp], 0
	mov	DWORD PTR -100[rbp], 1
	mov	DWORD PTR -96[rbp], 1
	mov	DWORD PTR -92[rbp], 1
	mov	DWORD PTR -88[rbp], 1
	mov	DWORD PTR -84[rbp], -1
	mov	DWORD PTR -164[rbp], 0
	jmp	.L172
.L174:
	mov	eax, DWORD PTR -164[rbp]
	cdqe
	mov	edx, DWORD PTR -112[rbp+rax*8]
	mov	eax, DWORD PTR -156[rbp]
	add	eax, edx
	mov	DWORD PTR -128[rbp], eax
	mov	eax, DWORD PTR -164[rbp]
	cdqe
	mov	edx, DWORD PTR -108[rbp+rax*8]
	mov	eax, DWORD PTR -152[rbp]
	add	eax, edx
	mov	DWORD PTR -124[rbp], eax
	mov	eax, DWORD PTR -164[rbp]
	cdqe
	mov	edx, DWORD PTR -112[rbp+rax*8]
	mov	eax, DWORD PTR -156[rbp]
	sub	eax, edx
	mov	DWORD PTR -120[rbp], eax
	mov	eax, DWORD PTR -164[rbp]
	cdqe
	mov	edx, DWORD PTR -108[rbp+rax*8]
	mov	eax, DWORD PTR -152[rbp]
	sub	eax, edx
	mov	DWORD PTR -116[rbp], eax
	cmp	DWORD PTR -128[rbp], 0
	js	.L173
	cmp	DWORD PTR -128[rbp], 11
	jg	.L173
	cmp	DWORD PTR -124[rbp], 0
	js	.L173
	cmp	DWORD PTR -124[rbp], 11
	jg	.L173
	cmp	DWORD PTR -120[rbp], 0
	js	.L173
	cmp	DWORD PTR -120[rbp], 11
	jg	.L173
	cmp	DWORD PTR -116[rbp], 0
	js	.L173
	cmp	DWORD PTR -116[rbp], 11
	jg	.L173
	mov	eax, DWORD PTR -124[rbp]
	movsx	rcx, eax
	mov	eax, DWORD PTR -128[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	lea	rdx, [rax+rcx]
	lea	rax, board[rip]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	cmp	DWORD PTR -148[rbp], eax
	jne	.L173
	mov	eax, DWORD PTR -116[rbp]
	movsx	rcx, eax
	mov	eax, DWORD PTR -120[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	lea	rdx, [rax+rcx]
	lea	rax, board[rip]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	cmp	DWORD PTR -148[rbp], eax
	jne	.L173
	mov	eax, DWORD PTR -192[rbp]
	mov	ecx, eax
	mov	eax, DWORD PTR -124[rbp]
	movsx	rsi, eax
	mov	eax, DWORD PTR -128[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	lea	rdx, [rax+rsi]
	lea	rax, board[rip]
	add	rax, rdx
	mov	BYTE PTR [rax], cl
	mov	eax, DWORD PTR -192[rbp]
	mov	ecx, eax
	mov	eax, DWORD PTR -116[rbp]
	movsx	rsi, eax
	mov	eax, DWORD PTR -120[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	lea	rdx, [rax+rsi]
	lea	rax, board[rip]
	add	rax, rdx
	mov	BYTE PTR [rax], cl
.L173:
	add	DWORD PTR -164[rbp], 1
.L172:
	cmp	DWORD PTR -164[rbp], 3
	jle	.L174
	mov	DWORD PTR -80[rbp], 1
	mov	DWORD PTR -76[rbp], 0
	mov	DWORD PTR -72[rbp], -1
	mov	DWORD PTR -68[rbp], 0
	mov	DWORD PTR -64[rbp], 0
	mov	DWORD PTR -60[rbp], 1
	mov	DWORD PTR -56[rbp], 0
	mov	DWORD PTR -52[rbp], -1
	mov	DWORD PTR -48[rbp], 1
	mov	DWORD PTR -44[rbp], 1
	mov	DWORD PTR -40[rbp], 1
	mov	DWORD PTR -36[rbp], -1
	mov	DWORD PTR -32[rbp], -1
	mov	DWORD PTR -28[rbp], 1
	mov	DWORD PTR -24[rbp], -1
	mov	DWORD PTR -20[rbp], -1
	mov	DWORD PTR -160[rbp], 0
	jmp	.L175
.L177:
	mov	eax, DWORD PTR -160[rbp]
	cdqe
	mov	edx, DWORD PTR -80[rbp+rax*8]
	mov	eax, DWORD PTR -156[rbp]
	add	eax, edx
	mov	DWORD PTR -144[rbp], eax
	mov	eax, DWORD PTR -160[rbp]
	cdqe
	mov	edx, DWORD PTR -76[rbp+rax*8]
	mov	eax, DWORD PTR -152[rbp]
	add	eax, edx
	mov	DWORD PTR -140[rbp], eax
	mov	eax, DWORD PTR -160[rbp]
	cdqe
	mov	eax, DWORD PTR -80[rbp+rax*8]
	lea	edx, [rax+rax]
	mov	eax, DWORD PTR -156[rbp]
	add	eax, edx
	mov	DWORD PTR -136[rbp], eax
	mov	eax, DWORD PTR -160[rbp]
	cdqe
	mov	eax, DWORD PTR -76[rbp+rax*8]
	lea	edx, [rax+rax]
	mov	eax, DWORD PTR -152[rbp]
	add	eax, edx
	mov	DWORD PTR -132[rbp], eax
	cmp	DWORD PTR -144[rbp], 0
	js	.L176
	cmp	DWORD PTR -144[rbp], 11
	jg	.L176
	cmp	DWORD PTR -140[rbp], 0
	js	.L176
	cmp	DWORD PTR -140[rbp], 11
	jg	.L176
	cmp	DWORD PTR -136[rbp], 0
	js	.L176
	cmp	DWORD PTR -136[rbp], 11
	jg	.L176
	cmp	DWORD PTR -132[rbp], 0
	js	.L176
	cmp	DWORD PTR -132[rbp], 11
	jg	.L176
	mov	eax, DWORD PTR -132[rbp]
	movsx	rcx, eax
	mov	eax, DWORD PTR -136[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	lea	rdx, [rax+rcx]
	lea	rax, board[rip]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	cmp	DWORD PTR -192[rbp], eax
	jne	.L176
	mov	eax, DWORD PTR -140[rbp]
	movsx	rcx, eax
	mov	eax, DWORD PTR -144[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	lea	rdx, [rax+rcx]
	lea	rax, board[rip]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	cmp	DWORD PTR -148[rbp], eax
	jne	.L176
	mov	eax, DWORD PTR -192[rbp]
	mov	ecx, eax
	mov	eax, DWORD PTR -140[rbp]
	movsx	rsi, eax
	mov	eax, DWORD PTR -144[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	lea	rdx, [rax+rsi]
	lea	rax, board[rip]
	add	rax, rdx
	mov	BYTE PTR [rax], cl
.L176:
	add	DWORD PTR -160[rbp], 1
.L175:
	cmp	DWORD PTR -160[rbp], 7
	jle	.L177
	mov	eax, 1
.L178:
	mov	rdi, QWORD PTR -8[rbp]
	sub	rdi, QWORD PTR fs:40
	je	.L179
	call	__stack_chk_fail@PLT
.L179:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE16:
	.size	place, .-place
	.globl	start
	.type	start, @function
start:
.LFB17:
	.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	edx, 144
	mov	esi, 0
	lea	rdi, board[rip]
	call	memset@PLT
	mov	edi, 0
	call	time@PLT
	mov	edi, eax
	call	srand@PLT
	mov	DWORD PTR -20[rbp], 0
	jmp	.L181
.L186:
	mov	DWORD PTR -16[rbp], 0
	jmp	.L182
.L185:
	mov	DWORD PTR -12[rbp], 1
	jmp	.L183
.L184:
	call	rand@PLT
	pxor	xmm1, xmm1
	cvtsi2sd	xmm1, eax
	movsd	xmm0, QWORD PTR .LC17[rip]
	mulsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR .LC17[rip]
	divsd	xmm0, xmm1
	cvttsd2si	rax, xmm0
	mov	esi, eax
	mov	eax, DWORD PTR -12[rbp]
	movsx	rdi, eax
	mov	eax, DWORD PTR -20[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -16[rbp]
	movsx	rcx, eax
	mov	rax, rdx
	sal	rax, 3
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rcx
	add	rdx, rdx
	add	rdx, rcx
	add	rax, rdx
	add	rax, rdi
	lea	rdx, 0[0+rax*4]
	lea	rax, hashtable[rip]
	mov	DWORD PTR [rdx+rax], esi
	add	DWORD PTR -12[rbp], 1
.L183:
	cmp	DWORD PTR -12[rbp], 2
	jle	.L184
	add	DWORD PTR -16[rbp], 1
.L182:
	cmp	DWORD PTR -16[rbp], 11
	jle	.L185
	add	DWORD PTR -20[rbp], 1
.L181:
	cmp	DWORD PTR -20[rbp], 11
	jle	.L186
	mov	DWORD PTR -8[rbp], 0
	jmp	.L187
.L188:
	mov	eax, DWORD PTR -8[rbp]
	add	eax, 2
	cdqe
	lea	rdx, board[rip+24]
	mov	BYTE PTR [rax+rdx], 2
	mov	eax, DWORD PTR -8[rbp]
	add	eax, 6
	cdqe
	lea	rdx, board[rip+72]
	mov	BYTE PTR [rax+rdx], 2
	mov	eax, DWORD PTR -8[rbp]
	add	eax, 3
	cdqe
	lea	rdx, board[rip+60]
	mov	BYTE PTR [rax+rdx], 1
	mov	eax, DWORD PTR -8[rbp]
	add	eax, 7
	cdqe
	lea	rdx, board[rip+108]
	mov	BYTE PTR [rax+rdx], 1
	add	DWORD PTR -8[rbp], 1
.L187:
	cmp	DWORD PTR -8[rbp], 2
	jle	.L188
	mov	DWORD PTR -4[rbp], 0
	jmp	.L189
.L190:
	mov	eax, DWORD PTR -4[rbp]
	add	eax, 8
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, board[rip+2]
	mov	BYTE PTR [rdx+rax], 2
	mov	eax, DWORD PTR -4[rbp]
	add	eax, 2
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, board[rip+9]
	mov	BYTE PTR [rdx+rax], 1
	add	DWORD PTR -4[rbp], 1
.L189:
	cmp	DWORD PTR -4[rbp], 1
	jle	.L190
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE17:
	.size	start, .-start
	.section	.rodata
.LC18:
	.string	"%d %d %d\n"
	.text
	.globl	turn
	.type	turn, @function
turn:
.LFB18:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 192
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	edx, DWORD PTR me_flag[rip]
	lea	rax, -192[rbp]
	lea	rsi, board[rip]
	mov	rdi, rax
	call	aiTurn
	mov	ecx, DWORD PTR me_flag[rip]
	mov	edx, DWORD PTR -180[rbp]
	mov	esi, DWORD PTR -188[rbp]
	mov	eax, DWORD PTR -192[rbp]
	mov	edi, eax
	call	place
	mov	ecx, DWORD PTR -180[rbp]
	mov	edx, DWORD PTR -188[rbp]
	mov	eax, DWORD PTR -192[rbp]
	mov	esi, eax
	lea	rdi, .LC18[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR stdout[rip]
	mov	rdi, rax
	call	fflush@PLT
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L192
	call	__stack_chk_fail@PLT
.L192:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE18:
	.size	turn, .-turn
	.globl	end
	.type	end, @function
end:
.LFB19:
	.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 -4[rbp], edi
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE19:
	.size	end, .-end
	.section	.rodata
.LC19:
	.string	"START"
.LC20:
	.string	"%s %d"
.LC21:
	.string	"OK"
.LC22:
	.string	"PLACE"
.LC23:
	.string	"%s %d %d %d"
.LC24:
	.string	"TURN"
.LC25:
	.string	"END"
	.text
	.globl	loop
	.type	loop, @function
loop:
.LFB20:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 4096
	or	QWORD PTR [rsp], 0
	sub	rsp, 4096
	or	QWORD PTR [rsp], 0
	sub	rsp, 1840
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
.L199:
	mov	edx, 10000
	mov	esi, 0
	lea	rdi, buffer[rip]
	call	memset@PLT
	lea	rdi, buffer[rip]
	mov	eax, 0
	call	gets@PLT
	lea	rsi, .LC19[rip]
	lea	rdi, buffer[rip]
	call	strstr@PLT
	test	rax, rax
	je	.L195
	mov	QWORD PTR -10016[rbp], 0
	mov	QWORD PTR -10008[rbp], 0
	lea	rax, -10000[rbp]
	mov	edx, 9984
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	lea	rax, -10016[rbp]
	lea	rcx, me_flag[rip]
	mov	rdx, rax
	lea	rsi, .LC20[rip]
	lea	rdi, buffer[rip]
	mov	eax, 0
	call	__isoc99_sscanf@PLT
	mov	edx, DWORD PTR me_flag[rip]
	mov	eax, 3
	sub	eax, edx
	mov	DWORD PTR other_flag[rip], eax
	mov	eax, DWORD PTR me_flag[rip]
	mov	edi, eax
	call	start
	lea	rdi, .LC21[rip]
	call	puts@PLT
	mov	rax, QWORD PTR stdout[rip]
	mov	rdi, rax
	call	fflush@PLT
	jmp	.L199
.L195:
	lea	rsi, .LC22[rip]
	lea	rdi, buffer[rip]
	call	strstr@PLT
	test	rax, rax
	je	.L197
	mov	QWORD PTR -10016[rbp], 0
	mov	QWORD PTR -10008[rbp], 0
	lea	rax, -10000[rbp]
	mov	edx, 9984
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	lea	rsi, -10020[rbp]
	lea	rcx, -10024[rbp]
	lea	rdx, -10028[rbp]
	lea	rax, -10016[rbp]
	mov	r9, rsi
	mov	r8, rcx
	mov	rcx, rdx
	mov	rdx, rax
	lea	rsi, .LC23[rip]
	lea	rdi, buffer[rip]
	mov	eax, 0
	call	__isoc99_sscanf@PLT
	mov	ecx, DWORD PTR other_flag[rip]
	mov	edx, DWORD PTR -10020[rbp]
	mov	esi, DWORD PTR -10024[rbp]
	mov	eax, DWORD PTR -10028[rbp]
	mov	edi, eax
	call	place
	jmp	.L199
.L197:
	lea	rsi, .LC24[rip]
	lea	rdi, buffer[rip]
	call	strstr@PLT
	test	rax, rax
	je	.L198
	mov	eax, 0
	call	turn
	jmp	.L199
.L198:
	lea	rsi, .LC25[rip]
	lea	rdi, buffer[rip]
	call	strstr@PLT
	test	rax, rax
	je	.L199
	mov	QWORD PTR -10016[rbp], 0
	mov	QWORD PTR -10008[rbp], 0
	lea	rax, -10000[rbp]
	mov	edx, 9984
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	lea	rdx, -10020[rbp]
	lea	rax, -10016[rbp]
	mov	rcx, rdx
	mov	rdx, rax
	lea	rsi, .LC20[rip]
	lea	rdi, buffer[rip]
	mov	eax, 0
	call	__isoc99_sscanf@PLT
	mov	eax, DWORD PTR -10020[rbp]
	mov	edi, eax
	call	end
	jmp	.L199
	.cfi_endproc
.LFE20:
	.size	loop, .-loop
	.globl	main
	.type	main, @function
main:
.LFB21:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	DWORD PTR -4[rbp], edi
	mov	QWORD PTR -16[rbp], rsi
	mov	eax, 0
	call	loop
	mov	eax, 0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE21:
	.size	main, .-main
	.section	.rodata
	.align 8
.LC1:
	.long	0
	.long	1072693248
	.align 8
.LC2:
	.long	0
	.long	1084178432
	.align 8
.LC3:
	.long	0
	.long	1079574528
	.align 8
.LC4:
	.long	0
	.long	1082312704
	.align 8
.LC5:
	.long	0
	.long	1082308608
	.align 8
.LC6:
	.long	0
	.long	1078198272
	.align 8
.LC7:
	.long	0
	.long	1082329088
	.align 8
.LC8:
	.long	0
	.long	1082333184
	.align 8
.LC10:
	.long	0
	.long	1074266112
	.align 8
.LC11:
	.long	0
	.long	1077805056
	.align 8
.LC12:
	.long	0
	.long	1073741824
	.align 8
.LC13:
	.long	-1717986918
	.long	1072798105
	.align 4
.LC15:
	.long	1073741824
	.align 4
.LC16:
	.long	1065353216
	.align 8
.LC17:
	.long	-4194304
	.long	1105199103
	.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	"683881.c"
	.text
	.global	buffer
	.bss
	.align	2
	.type	buffer, %object
	.size	buffer, 10000
buffer:
	.space	10000
	.global	board
	.align	2
	.type	board, %object
	.size	board, 144
board:
	.space	144
	.comm	me_flag,4,4
	.comm	other_flag,4,4
	.global	DIR
	.section	.rodata
	.align	2
	.type	DIR, %object
	.size	DIR, 64
DIR:
	.word	-1
	.word	0
	.word	1
	.word	0
	.word	0
	.word	-1
	.word	0
	.word	1
	.word	-1
	.word	-1
	.word	-1
	.word	1
	.word	1
	.word	-1
	.word	1
	.word	1
	.align	2
.LC5:
	.ascii	"DEBUG %s\012\000"
	.text
	.align	2
	.global	debug
	.syntax unified
	.arm
	.fpu softvfp
	.type	debug, %function
debug:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r1, [fp, #-8]
	ldr	r0, .L2
	bl	printf
	ldr	r3, .L2+4
	ldr	r3, [r3]
	mov	r0, r3
	bl	fflush
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3:
	.align	2
.L2:
	.word	.LC5
	.word	stdout
	.size	debug, .-debug
	.section	.rodata
	.align	2
.LC6:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	printBoard
	.syntax unified
	.arm
	.fpu softvfp
	.type	printBoard, %function
printBoard:
	@ args = 0, pretend = 0, frame = 160
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #160
	ldr	r3, .L13
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #152
	mov	r2, #144
	mov	r1, #0
	mov	r0, r3
	bl	memset
	mov	r3, #0
	str	r3, [fp, #-160]
	b	.L5
.L11:
	mov	r3, #0
	str	r3, [fp, #-156]
	b	.L6
.L10:
	ldr	r1, .L13+4
	ldr	r2, [fp, #-160]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r2, r1, r3
	ldr	r3, [fp, #-156]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L7
	ldr	r2, [fp, #-160]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r2, r2, r3
	ldr	r3, [fp, #-156]
	add	r3, r2, r3
	sub	r3, r3, #148
	mov	r2, #46
	strb	r2, [r3]
	b	.L8
.L7:
	ldr	r1, .L13+4
	ldr	r2, [fp, #-160]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r2, r1, r3
	ldr	r3, [fp, #-156]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #1
	bne	.L9
	ldr	r2, [fp, #-160]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r2, r2, r3
	ldr	r3, [fp, #-156]
	add	r3, r2, r3
	sub	r3, r3, #148
	mov	r2, #79
	strb	r2, [r3]
	b	.L8
.L9:
	ldr	r1, .L13+4
	ldr	r2, [fp, #-160]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r2, r1, r3
	ldr	r3, [fp, #-156]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #2
	bne	.L8
	ldr	r2, [fp, #-160]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r2, r2, r3
	ldr	r3, [fp, #-156]
	add	r3, r2, r3
	sub	r3, r3, #148
	mov	r2, #88
	strb	r2, [r3]
.L8:
	ldr	r3, [fp, #-156]
	add	r3, r3, #1
	str	r3, [fp, #-156]
.L6:
	ldr	r3, [fp, #-156]
	cmp	r3, #11
	ble	.L10
	sub	r1, fp, #152
	ldr	r2, [fp, #-160]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	mov	r0, r3
	bl	puts
	ldr	r3, [fp, #-160]
	add	r3, r3, #1
	str	r3, [fp, #-160]
.L5:
	ldr	r3, [fp, #-160]
	cmp	r3, #11
	ble	.L11
	nop
	ldr	r3, .L13
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L12
	bl	__stack_chk_fail
.L12:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L14:
	.align	2
.L13:
	.word	.LC6
	.word	board
	.size	printBoard, .-printBoard
	.align	2
	.global	isInBound
	.syntax unified
	.arm
	.fpu softvfp
	.type	isInBound, %function
isInBound:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	blt	.L16
	ldr	r3, [fp, #-8]
	cmp	r3, #11
	bgt	.L16
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	blt	.L16
	ldr	r3, [fp, #-12]
	cmp	r3, #11
	bgt	.L16
	mov	r3, #1
	b	.L18
.L16:
	mov	r3, #0
.L18:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	isInBound, .-isInBound
	.global	Search_Depth
	.data
	.align	2
	.type	Search_Depth, %object
	.size	Search_Depth, 4
Search_Depth:
	.word	4
	.comm	ChessCount,4,4
	.comm	direction,4,4
	.global	cur_board
	.bss
	.align	2
	.type	cur_board, %object
	.size	cur_board, 144
cur_board:
	.space	144
	.comm	ans_command,172,4
	.comm	second_command,172,4
	.comm	cen_x,4,4
	.comm	cen_y,4,4
	.global	theta1
	.data
	.align	2
	.type	theta1, %object
	.size	theta1, 4
theta1:
	.word	1
	.global	theta2
	.align	2
	.type	theta2, %object
	.size	theta2, 4
theta2:
	.word	1
	.global	theta3
	.bss
	.align	2
	.type	theta3, %object
	.size	theta3, 4
theta3:
	.space	4
	.global	hash
	.align	3
	.type	hash, %object
	.size	hash, 8
hash:
	.space	8
	.global	turns
	.align	2
	.type	turns, %object
	.size	turns, 4
turns:
	.space	4
	.comm	bestmove,119999892,4
	.comm	repetition,119999892,4
	.global	changeit
	.align	2
	.type	changeit, %object
	.size	changeit, 4
changeit:
	.space	4
	.global	changed
	.align	2
	.type	changed, %object
	.size	changed, 4
changed:
	.space	4
	.global	hashtable
	.align	2
	.type	hashtable, %object
	.size	hashtable, 1728
hashtable:
	.space	1728
	.comm	sortedmove,24080,4
	.comm	num_SortArray,4,4
	.comm	alphasort,4,4
	.comm	betasort,4,4
	.comm	eaten,4,4
	.global	__aeabi_dadd
	.global	__aeabi_i2f
	.global	__aeabi_fsub
	.global	__aeabi_f2d
	.global	__aeabi_i2d
	.global	__aeabi_ddiv
	.global	__aeabi_dmul
	.global	__aeabi_dsub
	.global	__aeabi_d2iz
	.section	.rodata
	.align	2
.LC0:
	.word	1
	.word	0
	.word	-1
	.word	0
	.word	0
	.word	1
	.word	0
	.word	-1
	.word	1
	.word	1
	.word	1
	.word	-1
	.word	-1
	.word	1
	.word	-1
	.word	-1
	.align	2
.LC1:
	.word	1
	.word	3
	.word	1
	.word	-3
	.word	-1
	.word	3
	.word	-1
	.word	-3
	.word	3
	.word	1
	.word	3
	.word	-1
	.word	-3
	.word	1
	.word	-3
	.word	-1
	.align	2
.LC2:
	.word	-2
	.word	-1
	.word	-2
	.word	1
	.word	-4
	.word	0
	.word	-1
	.word	2
	.word	1
	.word	2
	.word	0
	.word	4
	.word	2
	.word	-1
	.word	2
	.word	1
	.word	4
	.word	0
	.word	-1
	.word	-2
	.word	1
	.word	-2
	.word	0
	.word	-4
	.word	-1
	.word	-2
	.word	-1
	.word	2
	.word	-2
	.word	0
	.word	-2
	.word	1
	.word	2
	.word	1
	.word	0
	.word	2
	.word	1
	.word	-2
	.word	1
	.word	2
	.word	2
	.word	0
	.word	-2
	.word	-1
	.word	2
	.word	-1
	.word	0
	.word	-2
	.align	2
.LC7:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	Evaluate
	.syntax unified
	.arm
	.fpu softvfp
	.type	Evaluate, %function
Evaluate:
	@ args = 0, pretend = 0, frame = 704
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #704
	ldr	r3, .L62
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	ldr	r3, .L62+4
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L20
	mov	r3, #-2147483648
	b	.L60
.L20:
	mov	r2, #0
	ldr	r3, .L62+8
	str	r2, [fp, #-508]
	str	r3, [fp, #-504]
	mov	r2, #0
	ldr	r3, .L62+12
	str	r2, [fp, #-500]
	str	r3, [fp, #-496]
	mov	r2, #0
	ldr	r3, .L62+16
	str	r2, [fp, #-492]
	str	r3, [fp, #-488]
	mov	r2, #0
	ldr	r3, .L62+20
	str	r2, [fp, #-484]
	str	r3, [fp, #-480]
	mov	r2, #0
	ldr	r3, .L62+24
	str	r2, [fp, #-476]
	str	r3, [fp, #-472]
	mov	r2, #0
	ldr	r3, .L62+28
	str	r2, [fp, #-468]
	str	r3, [fp, #-464]
	mov	r2, #0
	ldr	r3, .L62+32
	str	r2, [fp, #-460]
	str	r3, [fp, #-456]
	mov	r2, #0
	ldr	r3, .L62+36
	str	r2, [fp, #-452]
	str	r3, [fp, #-448]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-444]
	str	r3, [fp, #-440]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-436]
	str	r3, [fp, #-432]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-580]
	str	r3, [fp, #-576]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-428]
	str	r3, [fp, #-424]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-420]
	str	r3, [fp, #-416]
	mov	r2, #0
	ldr	r3, .L62+40
	str	r2, [fp, #-412]
	str	r3, [fp, #-408]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-404]
	str	r3, [fp, #-400]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-396]
	str	r3, [fp, #-392]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-572]
	str	r3, [fp, #-568]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-564]
	str	r3, [fp, #-560]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-556]
	str	r3, [fp, #-552]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-548]
	str	r3, [fp, #-544]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-540]
	str	r3, [fp, #-536]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-532]
	str	r3, [fp, #-528]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-388]
	str	r3, [fp, #-384]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-380]
	str	r3, [fp, #-376]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-524]
	str	r3, [fp, #-520]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-372]
	str	r3, [fp, #-368]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-364]
	str	r3, [fp, #-360]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-516]
	str	r3, [fp, #-512]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-356]
	str	r3, [fp, #-352]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-348]
	str	r3, [fp, #-344]
	ldr	r3, .L62+44
	sub	ip, fp, #336
	mov	lr, r3
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldm	lr, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r3, .L62+48
	sub	ip, fp, #272
	mov	lr, r3
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldm	lr, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r2, .L62+52
	sub	r3, fp, #208
	mov	r1, r2
	mov	r2, #192
	mov	r0, r3
	bl	memcpy
	ldr	r3, .L62+4
	ldr	r3, [r3]
	cmp	r3, #9
	ble	.L22
	mov	r2, #0
	ldr	r3, .L62+56
	str	r2, [fp, #-580]
	str	r3, [fp, #-576]
.L22:
	mov	r3, #0
	str	r3, [fp, #-716]
	b	.L23
.L59:
	mov	r3, #0
	str	r3, [fp, #-712]
	b	.L24
.L58:
	ldr	r1, .L62+72
	ldr	r2, [fp, #-716]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r2, r1, r3
	ldr	r3, [fp, #-712]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, .L62+76
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L25
	mov	r3, #0
	str	r3, [fp, #-708]
	b	.L26
.L31:
	ldr	r3, [fp, #-708]
	lsl	r3, r3, #3
	sub	r2, fp, #12
	add	r3, r2, r3
	ldr	r3, [r3, #-324]
	ldr	r2, [fp, #-716]
	add	r3, r2, r3
	str	r3, [fp, #-628]
	ldr	r3, [fp, #-708]
	lsl	r3, r3, #3
	sub	r2, fp, #12
	add	r3, r2, r3
	ldr	r3, [r3, #-320]
	ldr	r2, [fp, #-712]
	add	r3, r2, r3
	str	r3, [fp, #-624]
	ldr	r3, [fp, #-708]
	lsl	r3, r3, #3
	sub	r2, fp, #12
	add	r3, r2, r3
	ldr	r3, [r3, #-324]
	lsl	r3, r3, #1
	ldr	r2, [fp, #-716]
	add	r3, r2, r3
	str	r3, [fp, #-620]
	ldr	r3, [fp, #-708]
	lsl	r3, r3, #3
	sub	r2, fp, #12
	add	r3, r2, r3
	ldr	r3, [r3, #-320]
	lsl	r3, r3, #1
	ldr	r2, [fp, #-712]
	add	r3, r2, r3
	str	r3, [fp, #-616]
	ldr	r3, [fp, #-628]
	cmp	r3, #0
	blt	.L27
	ldr	r3, [fp, #-628]
	cmp	r3, #11
	bgt	.L27
	ldr	r3, [fp, #-624]
	cmp	r3, #0
	blt	.L27
	ldr	r3, [fp, #-624]
	cmp	r3, #11
	bgt	.L27
	ldr	r3, [fp, #-620]
	cmp	r3, #0
	blt	.L27
	ldr	r3, [fp, #-620]
	cmp	r3, #11
	bgt	.L27
	ldr	r3, [fp, #-616]
	cmp	r3, #0
	blt	.L27
	ldr	r3, [fp, #-616]
	cmp	r3, #11
	bgt	.L27
	ldr	r1, .L62+72
	ldr	r2, [fp, #-620]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r2, r1, r3
	ldr	r3, [fp, #-616]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, .L62+76
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L27
	ldr	r1, .L62+72
	ldr	r2, [fp, #-628]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r2, r1, r3
	ldr	r3, [fp, #-624]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L27
	mov	r3, #0
	str	r3, [fp, #-704]
	b	.L28
.L30:
	ldr	r3, [fp, #-704]
	lsl	r3, r3, #3
	sub	r2, fp, #12
	add	r3, r2, r3
	ldr	r2, [r3, #-324]
	ldr	r3, [fp, #-628]
	add	r2, r2, r3
	ldr	r3, [fp, #-704]
	lsl	r3, r3, #3
	sub	r1, fp, #12
	add	r3, r1, r3
	ldr	r1, [r3, #-320]
	ldr	r3, [fp, #-624]
	add	r1, r1, r3
	ldr	r0, .L62+72
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r0, r3
	add	r3, r3, r1
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, .L62+60
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L29
	mov	r2, #0
	ldr	r3, .L62+8
	sub	r1, fp, #564
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-564]
	str	r3, [fp, #-560]
	b	.L27
.L29:
	ldr	r3, [fp, #-704]
	add	r3, r3, #1
	str	r3, [fp, #-704]
.L28:
	ldr	r3, [fp, #-704]
	cmp	r3, #7
	ble	.L30
.L27:
	ldr	r3, [fp, #-708]
	add	r3, r3, #1
	str	r3, [fp, #-708]
.L26:
	ldr	r3, [fp, #-708]
	cmp	r3, #7
	ble	.L31
	mov	r3, #0
	str	r3, [fp, #-700]
	b	.L32
.L37:
	ldr	r3, [fp, #-700]
	lsl	r3, r3, #3
	sub	r2, fp, #12
	add	r3, r2, r3
	ldr	r3, [r3, #-324]
	ldr	r2, [fp, #-716]
	add	r3, r2, r3
	str	r3, [fp, #-644]
	ldr	r3, [fp, #-700]
	lsl	r3, r3, #3
	sub	r2, fp, #12
	add	r3, r2, r3
	ldr	r3, [r3, #-320]
	ldr	r2, [fp, #-712]
	add	r3, r2, r3
	str	r3, [fp, #-640]
	ldr	r3, [fp, #-700]
	lsl	r3, r3, #3
	sub	r2, fp, #12
	add	r3, r2, r3
	ldr	r3, [r3, #-324]
	ldr	r2, [fp, #-716]
	sub	r3, r2, r3
	str	r3, [fp, #-636]
	ldr	r3, [fp, #-700]
	lsl	r3, r3, #3
	sub	r2, fp, #12
	add	r3, r2, r3
	ldr	r3, [r3, #-320]
	ldr	r2, [fp, #-712]
	sub	r3, r2, r3
	str	r3, [fp, #-632]
	ldr	r3, [fp, #-644]
	cmp	r3, #0
	blt	.L33
	ldr	r3, [fp, #-644]
	cmp	r3, #11
	bgt	.L33
	ldr	r3, [fp, #-640]
	cmp	r3, #0
	blt	.L33
	ldr	r3, [fp, #-640]
	cmp	r3, #11
	bgt	.L33
	ldr	r3, [fp, #-636]
	cmp	r3, #0
	blt	.L33
	ldr	r3, [fp, #-636]
	cmp	r3, #11
	bgt	.L33
	ldr	r3, [fp, #-632]
	cmp	r3, #0
	blt	.L33
	ldr	r3, [fp, #-632]
	cmp	r3, #11
	bgt	.L33
	ldr	r1, .L62+72
	ldr	r2, [fp, #-636]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r2, r1, r3
	ldr	r3, [fp, #-632]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, .L62+60
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L33
	ldr	r1, .L62+72
	ldr	r2, [fp, #-644]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r2, r1, r3
	ldr	r3, [fp, #-640]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L33
	mov	r3, #0
	str	r3, [fp, #-696]
	b	.L34
.L36:
	ldr	r3, [fp, #-696]
	lsl	r3, r3, #3
	sub	r2, fp, #12
	add	r3, r2, r3
	ldr	r2, [r3, #-324]
	ldr	r3, [fp, #-644]
	add	r2, r2, r3
	ldr	r3, [fp, #-696]
	lsl	r3, r3, #3
	sub	r1, fp, #12
	add	r3, r1, r3
	ldr	r1, [r3, #-320]
	ldr	r3, [fp, #-640]
	add	r1, r1, r3
	ldr	r0, .L62+72
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r0, r3
	add	r3, r3, r1
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, .L62+60
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L35
	mov	r2, #0
	ldr	r3, .L62+8
	sub	r1, fp, #556
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-556]
	str	r3, [fp, #-552]
	b	.L33
.L35:
	ldr	r3, [fp, #-696]
	add	r3, r3, #1
	str	r3, [fp, #-696]
.L34:
	ldr	r3, [fp, #-696]
	cmp	r3, #7
	ble	.L36
.L33:
	ldr	r3, [fp, #-700]
	add	r3, r3, #1
	str	r3, [fp, #-700]
.L32:
	ldr	r3, [fp, #-700]
	cmp	r3, #7
	ble	.L37
	mov	r3, #0
	str	r3, [fp, #-692]
	b	.L38
.L40:
	ldr	r2, [fp, #-692]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #3
	sub	r2, fp, #12
	add	r3, r2, r3
	sub	r3, r3, #196
	ldr	r3, [r3]
	ldr	r2, [fp, #-716]
	add	r3, r2, r3
	str	r3, [fp, #-668]
	ldr	r2, [fp, #-692]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #3
	sub	r2, fp, #12
	add	r3, r2, r3
	sub	r3, r3, #192
	ldr	r3, [r3]
	ldr	r2, [fp, #-712]
	add	r3, r2, r3
	str	r3, [fp, #-664]
	ldr	r2, [fp, #-692]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #3
	sub	r2, fp, #12
	add	r3, r2, r3
	sub	r3, r3, #188
	ldr	r3, [r3]
	ldr	r2, [fp, #-716]
	add	r3, r2, r3
	str	r3, [fp, #-660]
	ldr	r2, [fp, #-692]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #3
	sub	r2, fp, #12
	add	r3, r2, r3
	sub	r3, r3, #184
	ldr	r3, [r3]
	ldr	r2, [fp, #-712]
	add	r3, r2, r3
	str	r3, [fp, #-656]
	ldr	r2, [fp, #-692]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #3
	sub	r2, fp, #12
	add	r3, r2, r3
	sub	r3, r3, #180
	ldr	r3, [r3]
	ldr	r2, [fp, #-716]
	add	r3, r2, r3
	str	r3, [fp, #-652]
	ldr	r2, [fp, #-692]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #3
	sub	r2, fp, #12
	add	r3, r2, r3
	sub	r3, r3, #176
	ldr	r3, [r3]
	ldr	r2, [fp, #-712]
	add	r3, r2, r3
	str	r3, [fp, #-648]
	ldr	r3, [fp, #-668]
	cmp	r3, #0
	blt	.L39
	ldr	r3, [fp, #-668]
	cmp	r3, #11
	bgt	.L39
	ldr	r3, [fp, #-664]
	cmp	r3, #0
	blt	.L39
	ldr	r3, [fp, #-664]
	cmp	r3, #11
	bgt	.L39
	ldr	r3, [fp, #-660]
	cmp	r3, #0
	blt	.L39
	ldr	r3, [fp, #-660]
	cmp	r3, #11
	bgt	.L39
	ldr	r3, [fp, #-656]
	cmp	r3, #0
	blt	.L39
	ldr	r3, [fp, #-656]
	cmp	r3, #11
	bgt	.L39
	ldr	r3, [fp, #-652]
	cmp	r3, #0
	blt	.L39
	ldr	r3, [fp, #-652]
	cmp	r3, #11
	bgt	.L39
	ldr	r3, [fp, #-648]
	cmp	r3, #0
	blt	.L39
	ldr	r3, [fp, #-648]
	cmp	r3, #11
	bgt	.L39
	ldr	r1, .L62+72
	ldr	r2, [fp, #-668]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r2, r1, r3
	ldr	r3, [fp, #-664]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, .L62+76
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L39
	ldr	r1, .L62+72
	ldr	r2, [fp, #-660]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r2, r1, r3
	ldr	r3, [fp, #-656]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, .L62+76
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L39
	ldr	r1, .L62+72
	ldr	r2, [fp, #-652]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r2, r1, r3
	ldr	r3, [fp, #-648]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, .L62+76
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L39
	mov	r2, #0
	ldr	r3, .L62+8
	sub	r1, fp, #516
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-516]
	str	r3, [fp, #-512]
.L39:
	ldr	r3, [fp, #-692]
	add	r3, r3, #1
	str	r3, [fp, #-692]
.L38:
	ldr	r3, [fp, #-692]
	cmp	r3, #7
	ble	.L40
	mov	r3, #0
	str	r3, [fp, #-688]
	b	.L41
.L44:
	ldr	r3, [fp, #-688]
	lsl	r3, r3, #3
	sub	r2, fp, #12
	add	r3, r2, r3
	ldr	r2, [r3, #-260]
	ldr	r3, [fp, #-716]
	add	r2, r2, r3
	ldr	r3, [fp, #-688]
	lsl	r3, r3, #3
	sub	r1, fp, #12
	add	r3, r1, r3
	ldr	r1, [r3, #-256]
	ldr	r3, [fp, #-712]
	add	r1, r1, r3
	ldr	r0, .L62+72
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r0, r3
	add	r3, r3, r1
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, .L62+76
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L42
	mov	r2, #0
	ldr	r3, .L62+8
	sub	r1, fp, #548
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-548]
	str	r3, [fp, #-544]
.L42:
	ldr	r3, [fp, #-688]
	lsl	r3, r3, #3
	sub	r2, fp, #12
	add	r3, r2, r3
	ldr	r2, [r3, #-324]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r2, r3, r2
	ldr	r3, [fp, #-716]
	add	r3, r2, r3
	cmp	r3, #0
	blt	.L43
	ldr	r3, [fp, #-688]
	lsl	r3, r3, #3
	sub	r2, fp, #12
	add	r3, r2, r3
	ldr	r2, [r3, #-324]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r2, r3, r2
	ldr	r3, [fp, #-716]
	add	r3, r2, r3
	cmp	r3, #11
	bgt	.L43
	ldr	r3, [fp, #-688]
	lsl	r3, r3, #3
	sub	r2, fp, #12
	add	r3, r2, r3
	ldr	r2, [r3, #-320]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r2, r3, r2
	ldr	r3, [fp, #-712]
	add	r3, r2, r3
	cmp	r3, #0
	blt	.L43
	ldr	r3, [fp, #-688]
	lsl	r3, r3, #3
	sub	r2, fp, #12
	add	r3, r2, r3
	ldr	r2, [r3, #-320]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r2, r3, r2
	ldr	r3, [fp, #-712]
	add	r3, r2, r3
	cmp	r3, #11
	bgt	.L43
	ldr	r3, [fp, #-688]
	lsl	r3, r3, #3
	sub	r2, fp, #12
	add	r3, r2, r3
	ldr	r2, [r3, #-324]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r2, r3, r2
	ldr	r3, [fp, #-716]
	add	r2, r2, r3
	ldr	r3, [fp, #-688]
	lsl	r3, r3, #3
	sub	r1, fp, #12
	add	r3, r1, r3
	ldr	r1, [r3, #-320]
	mov	r3, r1
	lsl	r3, r3, #1
	add	r1, r3, r1
	ldr	r3, [fp, #-712]
	add	r1, r1, r3
	ldr	r0, .L62+72
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r0, r3
	add	r3, r3, r1
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, .L62+76
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L43
	ldr	r3, [fp, #-688]
	lsl	r3, r3, #3
	sub	r2, fp, #12
	add	r3, r2, r3
	ldr	r3, [r3, #-324]
	lsl	r2, r3, #1
	ldr	r3, [fp, #-716]
	add	r2, r2, r3
	ldr	r3, [fp, #-688]
	lsl	r3, r3, #3
	sub	r1, fp, #12
	add	r3, r1, r3
	ldr	r3, [r3, #-320]
	lsl	r1, r3, #1
	ldr	r3, [fp, #-712]
	add	r1, r1, r3
	ldr	r0, .L62+72
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r0, r3
	add	r3, r3, r1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L43
	ldr	r3, [fp, #-688]
	lsl	r3, r3, #3
	sub	r2, fp, #12
	add	r3, r2, r3
	ldr	r2, [r3, #-324]
	ldr	r3, [fp, #-716]
	add	r2, r2, r3
	ldr	r3, [fp, #-688]
	lsl	r3, r3, #3
	sub	r1, fp, #12
	add	r3, r1, r3
	ldr	r1, [r3, #-320]
	ldr	r3, [fp, #-712]
	add	r1, r1, r3
	ldr	r0, .L62+72
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r0, r3
	add	r3, r3, r1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L43
	mov	r2, #0
	ldr	r3, .L62+8
	sub	r1, fp, #524
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-524]
	str	r3, [fp, #-520]
.L43:
	ldr	r3, [fp, #-688]
	add	r3, r3, #1
	str	r3, [fp, #-688]
.L41:
	ldr	r3, [fp, #-688]
	cmp	r3, #7
	ble	.L44
	ldr	r0, [fp, #-716]
	bl	__aeabi_i2f
	mov	r2, r0
	ldr	r3, .L62+64
	ldr	r3, [r3]	@ float
	mov	r1, r3
	mov	r0, r2
	bl	__aeabi_fsub
	mov	r3, r0
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r2, #0
	mov	r3, #1073741824
	bl	pow
	sub	r3, fp, #572
	ldmia	r3, {r2-r3}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	ldr	r0, [fp, #-712]
	bl	__aeabi_i2f
	mov	r2, r0
	ldr	r3, .L62+68
	ldr	r3, [r3]	@ float
	mov	r1, r3
	mov	r0, r2
	bl	__aeabi_fsub
	mov	r3, r0
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r2, #0
	mov	r3, #1073741824
	bl	pow
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-572]
	str	r3, [fp, #-568]
.L25:
	ldr	r1, .L62+72
	ldr	r2, [fp, #-716]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r2, r1, r3
	ldr	r3, [fp, #-712]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, .L62+60
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L45
	mov	r3, #0
	str	r3, [fp, #-684]
	b	.L46
.L51:
	ldr	r3, [fp, #-684]
	lsl	r3, r3, #3
	sub	r2, fp, #12
	add	r3, r2, r3
	ldr	r3, [r3, #-324]
	ldr	r2, [fp, #-716]
	add	r3, r2, r3
	str	r3, [fp, #-596]
	ldr	r3, [fp, #-684]
	lsl	r3, r3, #3
	sub	r2, fp, #12
	add	r3, r2, r3
	ldr	r3, [r3, #-320]
	ldr	r2, [fp, #-712]
	add	r3, r2, r3
	str	r3, [fp, #-592]
	ldr	r3, [fp, #-684]
	lsl	r3, r3, #3
	sub	r2, fp, #12
	add	r3, r2, r3
	ldr	r3, [r3, #-324]
	lsl	r3, r3, #1
	ldr	r2, [fp, #-716]
	add	r3, r2, r3
	str	r3, [fp, #-588]
	ldr	r3, [fp, #-684]
	lsl	r3, r3, #3
	sub	r2, fp, #12
	add	r3, r2, r3
	ldr	r3, [r3, #-320]
	lsl	r3, r3, #1
	ldr	r2, [fp, #-712]
	add	r3, r2, r3
	str	r3, [fp, #-584]
	ldr	r3, [fp, #-596]
	cmp	r3, #0
	blt	.L47
	ldr	r3, [fp, #-596]
	cmp	r3, #11
	bgt	.L47
	ldr	r3, [fp, #-592]
	cmp	r3, #0
	blt	.L47
	ldr	r3, [fp, #-592]
	cmp	r3, #11
	bgt	.L47
	ldr	r3, [fp, #-588]
	cmp	r3, #0
	blt	.L47
	ldr	r3, [fp, #-588]
	cmp	r3, #11
	bgt	.L47
	ldr	r3, [fp, #-584]
	cmp	r3, #0
	blt	.L47
	ldr	r3, [fp, #-584]
	cmp	r3, #11
	bgt	.L47
	ldr	r1, .L62+72
	ldr	r2, [fp, #-588]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r2, r1, r3
	ldr	r3, [fp, #-584]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, .L62+60
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L47
	ldr	r1, .L62+72
	ldr	r2, [fp, #-596]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r2, r1, r3
	ldr	r3, [fp, #-592]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L47
	mov	r3, #0
	str	r3, [fp, #-680]
	b	.L48
.L50:
	ldr	r3, [fp, #-680]
	lsl	r3, r3, #3
	sub	r2, fp, #12
	add	r3, r2, r3
	ldr	r2, [r3, #-324]
	ldr	r3, [fp, #-596]
	add	r2, r2, r3
	ldr	r3, [fp, #-680]
	lsl	r3, r3, #3
	sub	r1, fp, #12
	add	r3, r1, r3
	ldr	r1, [r3, #-320]
	ldr	r3, [fp, #-592]
	add	r1, r1, r3
	ldr	r0, .L62+72
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r0, r3
	add	r3, r3, r1
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, .L62+76
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L49
	mov	r2, #0
	ldr	r3, .L62+8
	sub	r1, fp, #532
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-532]
	str	r3, [fp, #-528]
	b	.L47
.L49:
	ldr	r3, [fp, #-680]
	add	r3, r3, #1
	str	r3, [fp, #-680]
.L48:
	ldr	r3, [fp, #-680]
	cmp	r3, #7
	ble	.L50
.L47:
	ldr	r3, [fp, #-684]
	add	r3, r3, #1
	str	r3, [fp, #-684]
.L46:
	ldr	r3, [fp, #-684]
	cmp	r3, #7
	ble	.L51
	mov	r3, #0
	str	r3, [fp, #-676]
	b	.L52
.L63:
	.align	2
.L62:
	.word	.LC7
	.word	ChessCount
	.word	1072693248
	.word	1084178432
	.word	1079574528
	.word	1082312704
	.word	1082308608
	.word	1078198272
	.word	1082329088
	.word	1082333184
	.word	1074266112
	.word	.LC0
	.word	.LC1
	.word	.LC2
	.word	1077805056
	.word	other_flag
	.word	cen_x
	.word	cen_y
	.word	cur_board
	.word	me_flag
	.word	1072693248
	.word	ChessCount
	.word	.LC7
.L57:
	ldr	r3, [fp, #-676]
	lsl	r3, r3, #3
	sub	r2, fp, #12
	add	r3, r2, r3
	ldr	r3, [r3, #-324]
	ldr	r2, [fp, #-716]
	add	r3, r2, r3
	str	r3, [fp, #-612]
	ldr	r3, [fp, #-676]
	lsl	r3, r3, #3
	sub	r2, fp, #12
	add	r3, r2, r3
	ldr	r3, [r3, #-320]
	ldr	r2, [fp, #-712]
	add	r3, r2, r3
	str	r3, [fp, #-608]
	ldr	r3, [fp, #-676]
	lsl	r3, r3, #3
	sub	r2, fp, #12
	add	r3, r2, r3
	ldr	r3, [r3, #-324]
	ldr	r2, [fp, #-716]
	sub	r3, r2, r3
	str	r3, [fp, #-604]
	ldr	r3, [fp, #-676]
	lsl	r3, r3, #3
	sub	r2, fp, #12
	add	r3, r2, r3
	ldr	r3, [r3, #-320]
	ldr	r2, [fp, #-712]
	sub	r3, r2, r3
	str	r3, [fp, #-600]
	ldr	r3, [fp, #-612]
	cmp	r3, #0
	blt	.L53
	ldr	r3, [fp, #-612]
	cmp	r3, #11
	bgt	.L53
	ldr	r3, [fp, #-608]
	cmp	r3, #0
	blt	.L53
	ldr	r3, [fp, #-608]
	cmp	r3, #11
	bgt	.L53
	ldr	r3, [fp, #-604]
	cmp	r3, #0
	blt	.L53
	ldr	r3, [fp, #-604]
	cmp	r3, #11
	bgt	.L53
	ldr	r3, [fp, #-600]
	cmp	r3, #0
	blt	.L53
	ldr	r3, [fp, #-600]
	cmp	r3, #11
	bgt	.L53
	ldr	r1, .L62+72
	ldr	r2, [fp, #-604]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r2, r1, r3
	ldr	r3, [fp, #-600]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, .L62+76
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L53
	ldr	r1, .L62+72
	ldr	r2, [fp, #-612]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r2, r1, r3
	ldr	r3, [fp, #-608]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L53
	mov	r3, #0
	str	r3, [fp, #-672]
	b	.L54
.L56:
	ldr	r3, [fp, #-672]
	lsl	r3, r3, #3
	sub	r2, fp, #12
	add	r3, r2, r3
	ldr	r2, [r3, #-324]
	ldr	r3, [fp, #-612]
	add	r2, r2, r3
	ldr	r3, [fp, #-672]
	lsl	r3, r3, #3
	sub	r1, fp, #12
	add	r3, r1, r3
	ldr	r1, [r3, #-320]
	ldr	r3, [fp, #-608]
	add	r1, r1, r3
	ldr	r0, .L62+72
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r0, r3
	add	r3, r3, r1
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, .L62+76
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L55
	mov	r2, #0
	ldr	r3, .L62+80
	sub	r1, fp, #540
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-540]
	str	r3, [fp, #-536]
	b	.L53
.L55:
	ldr	r3, [fp, #-672]
	add	r3, r3, #1
	str	r3, [fp, #-672]
.L54:
	ldr	r3, [fp, #-672]
	cmp	r3, #7
	ble	.L56
.L53:
	ldr	r3, [fp, #-676]
	add	r3, r3, #1
	str	r3, [fp, #-676]
.L52:
	ldr	r3, [fp, #-676]
	cmp	r3, #7
	ble	.L57
.L45:
	ldr	r3, [fp, #-712]
	add	r3, r3, #1
	str	r3, [fp, #-712]
.L24:
	ldr	r3, [fp, #-712]
	cmp	r3, #11
	ble	.L58
	ldr	r3, [fp, #-716]
	add	r3, r3, #1
	str	r3, [fp, #-716]
.L23:
	ldr	r3, [fp, #-716]
	cmp	r3, #11
	ble	.L59
	ldr	r3, .L62+84
	ldr	r3, [r3]
	mov	r0, r3
	bl	__aeabi_i2d
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #572
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-572]
	str	r3, [fp, #-568]
	ldr	r3, .L62+84
	ldr	r3, [r3]
	mov	r0, r3
	bl	__aeabi_i2d
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #356
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-356]
	str	r3, [fp, #-352]
	ldr	r3, .L62+84
	ldr	r3, [r3]
	rsb	r3, r3, #16
	mov	r0, r3
	bl	__aeabi_i2d
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #348
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-348]
	str	r3, [fp, #-344]
	ldr	r3, .L62+84
	ldr	r3, [r3]
	mov	r0, r3
	bl	__aeabi_i2d
	sub	r3, fp, #500
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #492
	ldmia	r3, {r2-r3}
	sub	r1, fp, #572
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #484
	ldmia	r3, {r2-r3}
	sub	r1, fp, #564
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #476
	ldmia	r3, {r2-r3}
	sub	r1, fp, #556
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #468
	ldmia	r3, {r2-r3}
	sub	r1, fp, #548
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #460
	ldmia	r3, {r2-r3}
	sub	r1, fp, #540
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #452
	ldmia	r3, {r2-r3}
	sub	r1, fp, #532
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #444
	ldmia	r3, {r2-r3}
	sub	r1, fp, #388
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #436
	ldmia	r3, {r2-r3}
	sub	r1, fp, #380
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #580
	ldmia	r3, {r2-r3}
	sub	r1, fp, #524
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #428
	ldmia	r3, {r2-r3}
	sub	r1, fp, #364
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #420
	ldmia	r3, {r2-r3}
	sub	r1, fp, #372
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #412
	ldmia	r3, {r2-r3}
	sub	r1, fp, #516
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #404
	ldmia	r3, {r2-r3}
	sub	r1, fp, #356
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #396
	ldmia	r3, {r2-r3}
	sub	r1, fp, #348
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-508]
	str	r3, [fp, #-504]
	sub	r1, fp, #508
	ldmia	r1, {r0-r1}
	bl	__aeabi_d2iz
	mov	r3, r0
.L60:
	ldr	r2, .L62+88
	ldr	r1, [r2]
	ldr	r2, [fp, #-16]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L61
	bl	__stack_chk_fail
.L61:
	mov	r0, r3
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
	.size	Evaluate, .-Evaluate
	.align	2
	.global	Compare_Evaluate
	.syntax unified
	.arm
	.fpu softvfp
	.type	Compare_Evaluate, %function
Compare_Evaluate:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	sub	r3, r2, r3
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	Compare_Evaluate, .-Compare_Evaluate
	.section	.rodata
	.align	2
.LC3:
	.word	1
	.word	2
	.word	1
	.word	-2
	.word	-1
	.word	2
	.word	-1
	.word	-2
	.word	2
	.word	1
	.word	2
	.word	-1
	.word	-2
	.word	1
	.word	-2
	.word	-1
	.align	2
.LC4:
	.word	1
	.word	0
	.word	0
	.word	1
	.word	1
	.word	1
	.word	1
	.word	-1
	.align	2
.LC8:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	modify
	.syntax unified
	.arm
	.fpu softvfp
	.type	modify, %function
modify:
	@ args = 0, pretend = 0, frame = 240
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #240
	str	r0, [fp, #-240]
	ldr	r3, .L90+52
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-236]
	ldr	r3, [fp, #-240]
	ldr	r2, [r3]
	ldr	r3, [fp, #-240]
	ldr	r1, [r3, #4]
	ldr	r0, .L90
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r0, r3
	add	r3, r3, r1
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-216]
	ldr	r3, [fp, #-216]
	rsb	r3, r3, #3
	str	r3, [fp, #-212]
	ldr	r3, .L90+4
	sub	ip, fp, #136
	mov	lr, r3
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldm	lr, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	mov	r3, #0
	str	r3, [fp, #-232]
	b	.L67
.L72:
	ldr	r3, [fp, #-240]
	ldr	r2, [r3]
	ldr	r3, [fp, #-232]
	lsl	r3, r3, #3
	sub	r1, fp, #4
	add	r3, r1, r3
	ldr	r3, [r3, #-132]
	add	r2, r2, r3
	ldr	r3, [fp, #-240]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-232]
	lsl	r3, r3, #3
	sub	r0, fp, #4
	add	r3, r0, r3
	ldr	r3, [r3, #-128]
	add	r1, r1, r3
	ldr	r0, [fp, #-240]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r0, r3
	add	r3, r3, r1
	add	r3, r3, #16
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-216]
	cmp	r3, r2
	bne	.L68
	ldr	r3, .L90+36
	ldr	r3, [r3]
	mov	r2, r3
	lsl	r3, r3, #2
	sub	r3, r2, r3
	ldr	r2, [fp, #-236]
	add	r3, r2, r3
	str	r3, [fp, #-236]
.L68:
	ldr	r3, [fp, #-240]
	ldr	r2, [r3]
	ldr	r1, .L90+44
	ldr	r3, [fp, #-232]
	ldr	r3, [r1, r3, lsl #3]
	add	r2, r2, r3
	ldr	r3, [fp, #-240]
	ldr	r1, [r3, #4]
	ldr	r0, .L90+44
	ldr	r3, [fp, #-232]
	lsl	r3, r3, #3
	add	r3, r0, r3
	ldr	r3, [r3, #4]
	add	r1, r1, r3
	ldr	r0, [fp, #-240]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r0, r3
	add	r3, r3, r1
	add	r3, r3, #16
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-216]
	cmp	r3, r2
	bne	.L69
	ldr	r3, .L90+40
	ldr	r3, [r3]
	ldr	r2, [fp, #-236]
	add	r3, r2, r3
	str	r3, [fp, #-236]
.L69:
	ldr	r3, [fp, #-240]
	ldr	r2, [r3]
	ldr	r1, .L90+44
	ldr	r3, [fp, #-232]
	ldr	r3, [r1, r3, lsl #3]
	add	r2, r2, r3
	ldr	r3, [fp, #-240]
	ldr	r1, [r3, #4]
	ldr	r0, .L90+44
	ldr	r3, [fp, #-232]
	lsl	r3, r3, #3
	add	r3, r0, r3
	ldr	r3, [r3, #4]
	add	r1, r1, r3
	ldr	r0, [fp, #-240]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r0, r3
	add	r3, r3, r1
	add	r3, r3, #16
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-212]
	cmp	r3, r2
	bne	.L70
	ldr	r3, [fp, #-236]
	sub	r3, r3, #5
	str	r3, [fp, #-236]
.L70:
	ldr	r3, [fp, #-240]
	ldr	r1, [r3]
	ldr	r2, .L90+44
	ldr	r3, [fp, #-232]
	ldr	r2, [r2, r3, lsl #3]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	cmp	r3, #0
	blt	.L71
	ldr	r3, [fp, #-240]
	ldr	r1, [r3]
	ldr	r2, .L90+44
	ldr	r3, [fp, #-232]
	ldr	r2, [r2, r3, lsl #3]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	cmp	r3, #11
	bgt	.L71
	ldr	r3, [fp, #-240]
	ldr	r1, [r3, #4]
	ldr	r2, .L90+44
	ldr	r3, [fp, #-232]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r2, [r3, #4]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	cmp	r3, #0
	blt	.L71
	ldr	r3, [fp, #-240]
	ldr	r1, [r3, #4]
	ldr	r2, .L90+44
	ldr	r3, [fp, #-232]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r2, [r3, #4]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	cmp	r3, #11
	bgt	.L71
	ldr	r3, [fp, #-240]
	ldr	r2, [r3]
	ldr	r1, .L90+44
	ldr	r3, [fp, #-232]
	ldr	r3, [r1, r3, lsl #3]
	add	r2, r2, r3
	ldr	r3, [fp, #-240]
	ldr	r1, [r3, #4]
	ldr	r0, .L90+44
	ldr	r3, [fp, #-232]
	lsl	r3, r3, #3
	add	r3, r0, r3
	ldr	r3, [r3, #4]
	add	r1, r1, r3
	ldr	r0, [fp, #-240]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r0, r3
	add	r3, r3, r1
	add	r3, r3, #16
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L71
	ldr	r3, [fp, #-240]
	ldr	r2, [r3]
	ldr	r1, .L90+44
	ldr	r3, [fp, #-232]
	ldr	r3, [r1, r3, lsl #3]
	lsl	r3, r3, #1
	add	r2, r2, r3
	ldr	r3, [fp, #-240]
	ldr	r1, [r3, #4]
	ldr	r0, .L90+44
	ldr	r3, [fp, #-232]
	lsl	r3, r3, #3
	add	r3, r0, r3
	ldr	r3, [r3, #4]
	lsl	r3, r3, #1
	add	r1, r1, r3
	ldr	r0, [fp, #-240]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r0, r3
	add	r3, r3, r1
	add	r3, r3, #16
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L71
	ldr	r3, [fp, #-240]
	ldr	r1, [r3]
	ldr	r2, .L90+44
	ldr	r3, [fp, #-232]
	ldr	r2, [r2, r3, lsl #3]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r2, r1, r3
	ldr	r3, [fp, #-240]
	ldr	r0, [r3, #4]
	ldr	r1, .L90+44
	ldr	r3, [fp, #-232]
	lsl	r3, r3, #3
	add	r3, r1, r3
	ldr	r1, [r3, #4]
	mov	r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r1
	add	r1, r0, r3
	ldr	r0, [fp, #-240]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r0, r3
	add	r3, r3, r1
	add	r3, r3, #16
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, .L90+48
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L71
	ldr	r3, [fp, #-236]
	sub	r3, r3, #20
	str	r3, [fp, #-236]
.L71:
	ldr	r3, [fp, #-232]
	add	r3, r3, #1
	str	r3, [fp, #-232]
.L67:
	ldr	r3, [fp, #-232]
	cmp	r3, #7
	ble	.L72
	ldr	r3, [fp, #-240]
	ldr	r2, [r3]
	ldr	r3, [fp, #-240]
	ldr	r3, [r3, #12]
	ldr	r1, .L90+44
	ldr	r3, [r1, r3, lsl #3]
	add	r3, r2, r3
	str	r3, [fp, #-208]
	ldr	r3, [fp, #-240]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-240]
	ldr	r3, [r3, #12]
	ldr	r1, .L90+44
	lsl	r3, r3, #3
	add	r3, r1, r3
	ldr	r3, [r3, #4]
	add	r3, r2, r3
	str	r3, [fp, #-204]
	ldr	r3, [fp, #-240]
	ldr	r1, [r3]
	ldr	r3, [fp, #-240]
	ldr	r3, [r3, #4]
	ldr	r0, .L90+8
	mov	r2, r3
	lsl	r2, r2, #1
	add	r2, r2, r3
	mov	r3, r1
	lsl	r3, r3, #3
	add	r3, r3, r1
	lsl	r3, r3, #2
	add	r2, r2, r3
	ldr	r3, [fp, #-216]
	add	r3, r2, r3
	ldr	r3, [r0, r3, lsl #2]
	mov	r1, r3
	ldr	r3, .L90+12
	ldmia	r3, {r2-r3}
	mov	r3, r2
	eor	r0, r1, r3
	ldr	ip, .L90+8
	ldr	r3, [fp, #-204]
	ldr	r1, [fp, #-208]
	mov	r2, r3
	lsl	r2, r2, #1
	add	r2, r2, r3
	mov	r3, r1
	lsl	r3, r3, #3
	add	r3, r3, r1
	lsl	r3, r3, #2
	add	r2, r2, r3
	ldr	r3, [fp, #-216]
	add	r3, r2, r3
	ldr	r3, [ip, r3, lsl #2]
	eor	r3, r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-240]
	str	r2, [r3, #168]
	ldr	r3, [fp, #-240]
	add	r3, r3, #16
	ldr	r2, .L90
	mov	r0, r3
	mov	r1, r2
	mov	r3, #144
	mov	r2, r3
	bl	memcpy
	ldr	r3, .L90+16
	ldr	r2, [r3]
	ldr	r3, [fp, #-240]
	str	r2, [r3, #160]
	ldr	r3, [fp, #-240]
	ldr	r2, [r3]
	ldr	r3, [fp, #-240]
	ldr	r1, [r3, #4]
	ldr	r0, [fp, #-240]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r0, r3
	add	r3, r3, r1
	add	r3, r3, #16
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, [fp, #-216]
	and	r0, r3, #255
	ldr	r1, [fp, #-240]
	ldr	r2, [fp, #-208]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r2, r1, r3
	ldr	r3, [fp, #-204]
	add	r3, r2, r3
	add	r3, r3, #16
	mov	r2, r0
	strb	r2, [r3]
	ldr	r3, .L90+20
	ldr	r2, [r3]
	ldr	r3, [fp, #-240]
	str	r2, [r3, #164]
	ldr	r3, .L90+24
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L90+28
	sub	ip, fp, #168
	mov	lr, r3
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldm	lr, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	mov	r3, #0
	str	r3, [fp, #-228]
	b	.L73
.L77:
	ldr	r3, [fp, #-228]
	lsl	r3, r3, #3
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r3, [r3, #-164]
	ldr	r2, [fp, #-208]
	add	r3, r2, r3
	str	r3, [fp, #-184]
	ldr	r3, [fp, #-228]
	lsl	r3, r3, #3
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r3, [r3, #-160]
	ldr	r2, [fp, #-204]
	add	r3, r2, r3
	str	r3, [fp, #-180]
	ldr	r3, [fp, #-228]
	lsl	r3, r3, #3
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r3, [r3, #-164]
	ldr	r2, [fp, #-208]
	sub	r3, r2, r3
	str	r3, [fp, #-176]
	ldr	r3, [fp, #-228]
	lsl	r3, r3, #3
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r3, [r3, #-160]
	ldr	r2, [fp, #-204]
	sub	r3, r2, r3
	str	r3, [fp, #-172]
	ldr	r3, [fp, #-184]
	cmp	r3, #0
	blt	.L74
	ldr	r3, [fp, #-184]
	cmp	r3, #11
	bgt	.L74
	ldr	r3, [fp, #-180]
	cmp	r3, #0
	blt	.L74
	ldr	r3, [fp, #-180]
	cmp	r3, #11
	bgt	.L74
	ldr	r3, [fp, #-176]
	cmp	r3, #0
	blt	.L74
	ldr	r3, [fp, #-176]
	cmp	r3, #11
	bgt	.L74
	ldr	r3, [fp, #-172]
	cmp	r3, #0
	blt	.L74
	ldr	r3, [fp, #-172]
	cmp	r3, #11
	bgt	.L74
	ldr	r1, [fp, #-240]
	ldr	r2, [fp, #-184]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r2, r1, r3
	ldr	r3, [fp, #-180]
	add	r3, r2, r3
	add	r3, r3, #16
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-212]
	cmp	r3, r2
	bne	.L74
	ldr	r1, [fp, #-240]
	ldr	r2, [fp, #-176]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r2, r1, r3
	ldr	r3, [fp, #-172]
	add	r3, r2, r3
	add	r3, r3, #16
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-212]
	cmp	r3, r2
	bne	.L74
	ldr	r3, [fp, #-216]
	and	r0, r3, #255
	ldr	r1, [fp, #-240]
	ldr	r2, [fp, #-184]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r2, r1, r3
	ldr	r3, [fp, #-180]
	add	r3, r2, r3
	add	r3, r3, #16
	mov	r2, r0
	strb	r2, [r3]
	ldr	r3, [fp, #-216]
	and	r0, r3, #255
	ldr	r1, [fp, #-240]
	ldr	r2, [fp, #-176]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r2, r1, r3
	ldr	r3, [fp, #-172]
	add	r3, r2, r3
	add	r3, r3, #16
	mov	r2, r0
	strb	r2, [r3]
	ldr	r3, [fp, #-240]
	ldr	r0, [r3, #168]
	ldr	ip, .L90+8
	ldr	r3, [fp, #-180]
	ldr	r1, [fp, #-184]
	mov	r2, r3
	lsl	r2, r2, #1
	add	r2, r2, r3
	mov	r3, r1
	lsl	r3, r3, #3
	add	r3, r3, r1
	lsl	r3, r3, #2
	add	r2, r2, r3
	ldr	r3, [fp, #-212]
	add	r3, r2, r3
	ldr	r3, [ip, r3, lsl #2]
	eor	r0, r0, r3
	ldr	ip, .L90+8
	ldr	r3, [fp, #-172]
	ldr	r1, [fp, #-176]
	mov	r2, r3
	lsl	r2, r2, #1
	add	r2, r2, r3
	mov	r3, r1
	lsl	r3, r3, #3
	add	r3, r3, r1
	lsl	r3, r3, #2
	add	r2, r2, r3
	ldr	r3, [fp, #-212]
	add	r3, r2, r3
	ldr	r3, [ip, r3, lsl #2]
	eor	r0, r0, r3
	ldr	ip, .L90+8
	ldr	r3, [fp, #-180]
	ldr	r1, [fp, #-184]
	mov	r2, r3
	lsl	r2, r2, #1
	add	r2, r2, r3
	mov	r3, r1
	lsl	r3, r3, #3
	add	r3, r3, r1
	lsl	r3, r3, #2
	add	r2, r2, r3
	ldr	r3, [fp, #-216]
	add	r3, r2, r3
	ldr	r3, [ip, r3, lsl #2]
	eor	r0, r0, r3
	ldr	ip, .L90+8
	ldr	r3, [fp, #-172]
	ldr	r1, [fp, #-176]
	mov	r2, r3
	lsl	r2, r2, #1
	add	r2, r2, r3
	mov	r3, r1
	lsl	r3, r3, #3
	add	r3, r3, r1
	lsl	r3, r3, #2
	add	r2, r2, r3
	ldr	r3, [fp, #-216]
	add	r3, r2, r3
	ldr	r3, [ip, r3, lsl #2]
	eor	r2, r0, r3
	ldr	r3, [fp, #-240]
	str	r2, [r3, #168]
	ldr	r3, .L90+48
	ldr	r3, [r3]
	ldr	r2, [fp, #-216]
	cmp	r2, r3
	bne	.L75
	ldr	r3, [fp, #-240]
	ldr	r3, [r3, #160]
	add	r2, r3, #2
	ldr	r3, [fp, #-240]
	str	r2, [r3, #160]
	b	.L76
.L75:
	ldr	r3, [fp, #-240]
	ldr	r3, [r3, #160]
	sub	r2, r3, #2
	ldr	r3, [fp, #-240]
	str	r2, [r3, #160]
.L76:
	ldr	r3, [fp, #-236]
	add	r3, r3, #1088
	add	r3, r3, #12
	str	r3, [fp, #-236]
	ldr	r3, .L90+24
	mov	r2, #1
	str	r2, [r3]
.L74:
	ldr	r3, [fp, #-228]
	add	r3, r3, #1
	str	r3, [fp, #-228]
.L73:
	ldr	r3, [fp, #-228]
	cmp	r3, #3
	ble	.L77
	ldr	r3, .L90+32
	sub	ip, fp, #72
	mov	lr, r3
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldm	lr, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	mov	r3, #0
	str	r3, [fp, #-224]
	b	.L78
.L82:
	ldr	r3, [fp, #-224]
	lsl	r3, r3, #3
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r3, [r3, #-68]
	ldr	r2, [fp, #-208]
	add	r3, r2, r3
	str	r3, [fp, #-200]
	ldr	r3, [fp, #-224]
	lsl	r3, r3, #3
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r3, [r3, #-64]
	ldr	r2, [fp, #-204]
	add	r3, r2, r3
	str	r3, [fp, #-196]
	ldr	r3, [fp, #-224]
	lsl	r3, r3, #3
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r3, [r3, #-68]
	lsl	r3, r3, #1
	ldr	r2, [fp, #-208]
	add	r3, r2, r3
	str	r3, [fp, #-192]
	ldr	r3, [fp, #-224]
	lsl	r3, r3, #3
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r3, [r3, #-64]
	lsl	r3, r3, #1
	ldr	r2, [fp, #-204]
	add	r3, r2, r3
	str	r3, [fp, #-188]
	ldr	r3, [fp, #-200]
	cmp	r3, #0
	blt	.L79
	ldr	r3, [fp, #-200]
	cmp	r3, #11
	bgt	.L79
	ldr	r3, [fp, #-196]
	cmp	r3, #0
	blt	.L79
	ldr	r3, [fp, #-196]
	cmp	r3, #11
	bgt	.L79
	ldr	r3, [fp, #-192]
	cmp	r3, #0
	blt	.L79
	ldr	r3, [fp, #-192]
	cmp	r3, #11
	bgt	.L79
	ldr	r3, [fp, #-188]
	cmp	r3, #0
	blt	.L79
	ldr	r3, [fp, #-188]
	cmp	r3, #11
	bgt	.L79
	ldr	r1, [fp, #-240]
	ldr	r2, [fp, #-192]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r2, r1, r3
	ldr	r3, [fp, #-188]
	add	r3, r2, r3
	add	r3, r3, #16
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-216]
	cmp	r3, r2
	bne	.L79
	ldr	r1, [fp, #-240]
	ldr	r2, [fp, #-200]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r2, r1, r3
	ldr	r3, [fp, #-196]
	add	r3, r2, r3
	add	r3, r3, #16
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-212]
	cmp	r3, r2
	bne	.L79
	ldr	r3, [fp, #-216]
	and	r0, r3, #255
	ldr	r1, [fp, #-240]
	ldr	r2, [fp, #-200]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r2, r1, r3
	ldr	r3, [fp, #-196]
	add	r3, r2, r3
	add	r3, r3, #16
	mov	r2, r0
	strb	r2, [r3]
	ldr	r3, [fp, #-240]
	ldr	r0, [r3, #168]
	ldr	ip, .L90+8
	ldr	r3, [fp, #-196]
	ldr	r1, [fp, #-200]
	mov	r2, r3
	lsl	r2, r2, #1
	add	r2, r2, r3
	mov	r3, r1
	lsl	r3, r3, #3
	add	r3, r3, r1
	lsl	r3, r3, #2
	add	r2, r2, r3
	ldr	r3, [fp, #-212]
	add	r3, r2, r3
	ldr	r3, [ip, r3, lsl #2]
	eor	r0, r0, r3
	ldr	ip, .L90+8
	ldr	r3, [fp, #-196]
	ldr	r1, [fp, #-200]
	mov	r2, r3
	lsl	r2, r2, #1
	add	r2, r2, r3
	mov	r3, r1
	lsl	r3, r3, #3
	add	r3, r3, r1
	lsl	r3, r3, #2
	add	r2, r2, r3
	ldr	r3, [fp, #-216]
	add	r3, r2, r3
	ldr	r3, [ip, r3, lsl #2]
	eor	r2, r0, r3
	ldr	r3, [fp, #-240]
	str	r2, [r3, #168]
	ldr	r3, .L90+48
	ldr	r3, [r3]
	ldr	r2, [fp, #-216]
	cmp	r2, r3
	bne	.L80
	ldr	r3, [fp, #-240]
	ldr	r3, [r3, #160]
	add	r2, r3, #1
	ldr	r3, [fp, #-240]
	str	r2, [r3, #160]
	b	.L81
.L80:
	ldr	r3, [fp, #-240]
	ldr	r3, [r3, #160]
	sub	r2, r3, #1
	ldr	r3, [fp, #-240]
	str	r2, [r3, #160]
.L81:
	ldr	r3, [fp, #-236]
	add	r3, r3, #500
	str	r3, [fp, #-236]
	ldr	r3, .L90+24
	mov	r2, #1
	str	r2, [r3]
.L79:
	ldr	r3, [fp, #-224]
	add	r3, r3, #1
	str	r3, [fp, #-224]
.L78:
	ldr	r3, [fp, #-224]
	cmp	r3, #7
	ble	.L82
	mov	r3, #0
	str	r3, [fp, #-220]
	b	.L83
.L91:
	.align	2
.L90:
	.word	cur_board
	.word	.LC3
	.word	hashtable
	.word	hash
	.word	ChessCount
	.word	direction
	.word	eaten
	.word	.LC4
	.word	.LC0
	.word	theta2
	.word	theta3
	.word	DIR
	.word	me_flag
	.word	.LC8
.L88:
	ldr	r3, [fp, #-240]
	ldr	r2, [r3]
	ldr	r3, [fp, #-220]
	lsl	r3, r3, #3
	sub	r1, fp, #4
	add	r3, r1, r3
	ldr	r3, [r3, #-132]
	add	r2, r2, r3
	ldr	r3, [fp, #-240]
	ldr	r3, [r3, #12]
	ldr	r1, .L90+44
	ldr	r3, [r1, r3, lsl #3]
	add	r2, r2, r3
	ldr	r3, [fp, #-240]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-220]
	lsl	r3, r3, #3
	sub	r0, fp, #4
	add	r3, r0, r3
	ldr	r3, [r3, #-128]
	add	r1, r1, r3
	ldr	r3, [fp, #-240]
	ldr	r3, [r3, #12]
	ldr	r0, .L90+44
	lsl	r3, r3, #3
	add	r3, r0, r3
	ldr	r3, [r3, #4]
	add	r1, r1, r3
	ldr	r0, [fp, #-240]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r0, r3
	add	r3, r3, r1
	add	r3, r3, #16
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-216]
	cmp	r3, r2
	bne	.L84
	ldr	r3, .L90+36
	ldr	r2, [r3]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #1
	mov	r2, r3
	ldr	r3, [fp, #-236]
	add	r3, r3, r2
	str	r3, [fp, #-236]
.L84:
	ldr	r3, [fp, #-240]
	ldr	r2, [r3]
	ldr	r1, .L90+44
	ldr	r3, [fp, #-220]
	ldr	r3, [r1, r3, lsl #3]
	add	r2, r2, r3
	ldr	r3, [fp, #-240]
	ldr	r3, [r3, #12]
	ldr	r1, .L90+44
	ldr	r3, [r1, r3, lsl #3]
	add	r2, r2, r3
	ldr	r3, [fp, #-240]
	ldr	r1, [r3, #4]
	ldr	r0, .L90+44
	ldr	r3, [fp, #-220]
	lsl	r3, r3, #3
	add	r3, r0, r3
	ldr	r3, [r3, #4]
	add	r1, r1, r3
	ldr	r3, [fp, #-240]
	ldr	r3, [r3, #12]
	ldr	r0, .L90+44
	lsl	r3, r3, #3
	add	r3, r0, r3
	ldr	r3, [r3, #4]
	add	r1, r1, r3
	ldr	r0, [fp, #-240]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r0, r3
	add	r3, r3, r1
	add	r3, r3, #16
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-216]
	cmp	r3, r2
	bne	.L85
	ldr	r3, .L90+40
	ldr	r3, [r3]
	lsl	r3, r3, #1
	ldr	r2, [fp, #-236]
	sub	r3, r2, r3
	str	r3, [fp, #-236]
.L85:
	ldr	r3, [fp, #-240]
	ldr	r2, [r3]
	ldr	r1, .L90+44
	ldr	r3, [fp, #-220]
	ldr	r3, [r1, r3, lsl #3]
	add	r2, r2, r3
	ldr	r3, [fp, #-240]
	ldr	r3, [r3, #12]
	ldr	r1, .L90+44
	ldr	r3, [r1, r3, lsl #3]
	add	r2, r2, r3
	ldr	r3, [fp, #-240]
	ldr	r1, [r3, #4]
	ldr	r0, .L90+44
	ldr	r3, [fp, #-220]
	lsl	r3, r3, #3
	add	r3, r0, r3
	ldr	r3, [r3, #4]
	add	r1, r1, r3
	ldr	r3, [fp, #-240]
	ldr	r3, [r3, #12]
	ldr	r0, .L90+44
	lsl	r3, r3, #3
	add	r3, r0, r3
	ldr	r3, [r3, #4]
	add	r1, r1, r3
	ldr	r0, [fp, #-240]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r0, r3
	add	r3, r3, r1
	add	r3, r3, #16
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-212]
	cmp	r3, r2
	bne	.L86
	ldr	r3, [fp, #-236]
	add	r3, r3, #10
	str	r3, [fp, #-236]
.L86:
	ldr	r3, [fp, #-240]
	ldr	r1, [r3]
	ldr	r2, .L90+44
	ldr	r3, [fp, #-220]
	ldr	r2, [r2, r3, lsl #3]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r2, r1, r3
	ldr	r3, [fp, #-240]
	ldr	r3, [r3, #12]
	ldr	r1, .L90+44
	ldr	r3, [r1, r3, lsl #3]
	add	r3, r2, r3
	cmp	r3, #0
	blt	.L87
	ldr	r3, [fp, #-240]
	ldr	r1, [r3]
	ldr	r2, .L90+44
	ldr	r3, [fp, #-220]
	ldr	r2, [r2, r3, lsl #3]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r2, r1, r3
	ldr	r3, [fp, #-240]
	ldr	r3, [r3, #12]
	ldr	r1, .L90+44
	ldr	r3, [r1, r3, lsl #3]
	add	r3, r2, r3
	cmp	r3, #11
	bgt	.L87
	ldr	r3, [fp, #-240]
	ldr	r1, [r3, #4]
	ldr	r2, .L90+44
	ldr	r3, [fp, #-220]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r2, [r3, #4]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r2, r1, r3
	ldr	r3, [fp, #-240]
	ldr	r3, [r3, #12]
	ldr	r1, .L90+44
	lsl	r3, r3, #3
	add	r3, r1, r3
	ldr	r3, [r3, #4]
	add	r3, r2, r3
	cmp	r3, #0
	blt	.L87
	ldr	r3, [fp, #-240]
	ldr	r1, [r3, #4]
	ldr	r2, .L90+44
	ldr	r3, [fp, #-220]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r2, [r3, #4]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r2, r1, r3
	ldr	r3, [fp, #-240]
	ldr	r3, [r3, #12]
	ldr	r1, .L90+44
	lsl	r3, r3, #3
	add	r3, r1, r3
	ldr	r3, [r3, #4]
	add	r3, r2, r3
	cmp	r3, #11
	bgt	.L87
	ldr	r3, [fp, #-240]
	ldr	r2, [r3]
	ldr	r1, .L90+44
	ldr	r3, [fp, #-220]
	ldr	r3, [r1, r3, lsl #3]
	add	r2, r2, r3
	ldr	r3, [fp, #-240]
	ldr	r3, [r3, #12]
	ldr	r1, .L90+44
	ldr	r3, [r1, r3, lsl #3]
	add	r2, r2, r3
	ldr	r3, [fp, #-240]
	ldr	r1, [r3, #4]
	ldr	r0, .L90+44
	ldr	r3, [fp, #-220]
	lsl	r3, r3, #3
	add	r3, r0, r3
	ldr	r3, [r3, #4]
	add	r1, r1, r3
	ldr	r3, [fp, #-240]
	ldr	r3, [r3, #12]
	ldr	r0, .L90+44
	lsl	r3, r3, #3
	add	r3, r0, r3
	ldr	r3, [r3, #4]
	add	r1, r1, r3
	ldr	r0, [fp, #-240]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r0, r3
	add	r3, r3, r1
	add	r3, r3, #16
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L87
	ldr	r3, [fp, #-240]
	ldr	r2, [r3]
	ldr	r1, .L90+44
	ldr	r3, [fp, #-220]
	ldr	r3, [r1, r3, lsl #3]
	lsl	r3, r3, #1
	add	r2, r2, r3
	ldr	r3, [fp, #-240]
	ldr	r3, [r3, #12]
	ldr	r1, .L90+44
	ldr	r3, [r1, r3, lsl #3]
	add	r2, r2, r3
	ldr	r3, [fp, #-240]
	ldr	r1, [r3, #4]
	ldr	r0, .L90+44
	ldr	r3, [fp, #-220]
	lsl	r3, r3, #3
	add	r3, r0, r3
	ldr	r3, [r3, #4]
	lsl	r3, r3, #1
	add	r1, r1, r3
	ldr	r3, [fp, #-240]
	ldr	r3, [r3, #12]
	ldr	r0, .L90+44
	lsl	r3, r3, #3
	add	r3, r0, r3
	ldr	r3, [r3, #4]
	add	r1, r1, r3
	ldr	r0, [fp, #-240]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r0, r3
	add	r3, r3, r1
	add	r3, r3, #16
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L87
	ldr	r3, [fp, #-240]
	ldr	r1, [r3]
	ldr	r2, .L90+44
	ldr	r3, [fp, #-220]
	ldr	r2, [r2, r3, lsl #3]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r2, r1, r3
	ldr	r3, [fp, #-240]
	ldr	r3, [r3, #12]
	ldr	r1, .L90+44
	ldr	r3, [r1, r3, lsl #3]
	add	r2, r2, r3
	ldr	r3, [fp, #-240]
	ldr	r0, [r3, #4]
	ldr	r1, .L90+44
	ldr	r3, [fp, #-220]
	lsl	r3, r3, #3
	add	r3, r1, r3
	ldr	r1, [r3, #4]
	mov	r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r1
	add	r1, r0, r3
	ldr	r3, [fp, #-240]
	ldr	r3, [r3, #12]
	ldr	r0, .L90+44
	lsl	r3, r3, #3
	add	r3, r0, r3
	ldr	r3, [r3, #4]
	add	r1, r1, r3
	ldr	r0, [fp, #-240]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r0, r3
	add	r3, r3, r1
	add	r3, r3, #16
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, .L90+48
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L87
	ldr	r3, [fp, #-236]
	add	r3, r3, #40
	str	r3, [fp, #-236]
.L87:
	ldr	r3, [fp, #-220]
	add	r3, r3, #1
	str	r3, [fp, #-220]
.L83:
	ldr	r3, [fp, #-220]
	cmp	r3, #7
	ble	.L88
	ldr	r3, [fp, #-240]
	ldr	r2, [fp, #-236]
	str	r2, [r3, #8]
	nop
	ldr	r3, .L90+52
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L89
	bl	__stack_chk_fail
.L89:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	modify, .-modify
	.section	.rodata
	.align	2
.LC9:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	minmax
	.syntax unified
	.arm
	.fpu softvfp
	.type	minmax, %function
minmax:
	@ args = 0, pretend = 0, frame = 24304
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, fp, lr}
	add	fp, sp, #28
	sub	sp, sp, #24064
	sub	sp, sp, #240
	sub	r3, fp, #20480
	sub	r3, r3, #28
	str	r0, [r3, #-3812]
	sub	r3, fp, #20480
	sub	r3, r3, #28
	str	r1, [r3, #-3816]
	sub	r3, fp, #20480
	sub	r3, r3, #28
	str	r2, [r3, #-3820]
	ldr	r3, .L145
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	mov	r3,#0
	sub	r3, fp, #20480
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3812]
	cmp	r3, #0
	and	r3, r3, #1
	rsblt	r3, r3, #0
	str	r3, [r2, #-3760]
	ldr	r3, .L145+88
	ldr	r3, [r3]
	sub	r2, fp, #20480
	sub	r2, r2, #28
	ldr	r2, [r2, #-3812]
	cmp	r2, r3
	blt	.L93
	bl	Evaluate
	mov	r3, r0
	b	.L140
.L93:
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3760]
	cmp	r3, #0
	bne	.L95
	sub	r3, fp, #20480
	sub	r3, r3, #28
	mov	r2, r3
	ldr	r3, .L145+4
	ldr	r3, [r3]
	str	r3, [r2, #-3804]
	b	.L96
.L95:
	sub	r3, fp, #20480
	sub	r3, r3, #28
	mov	r2, r3
	ldr	r3, .L145+8
	ldr	r3, [r3]
	str	r3, [r2, #-3804]
.L96:
	sub	r3, fp, #20480
	sub	r3, r3, #28
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-3800]
	sub	r3, fp, #20480
	sub	r3, r3, #28
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-3796]
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3812]
	cmp	r3, #0
	bne	.L97
	ldr	r3, .L145+88
	ldr	r3, [r3]
	cmp	r3, #1
	beq	.L97
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r2, .L145+84
	sub	r3, r3, #3600
	sub	r3, r3, #4
	mov	r1, r2
	ldr	r2, .L145+12
	mov	r0, r3
	bl	memcpy
	sub	r3, fp, #20480
	sub	r3, r3, #28
	mov	r2, r3
	ldr	r3, .L145+16
	ldr	r3, [r3]
	str	r3, [r2, #-3800]
	b	.L98
.L97:
	sub	r3, fp, #20480
	sub	r3, r3, #28
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-3792]
	b	.L99
.L111:
	sub	r3, fp, #20480
	sub	r3, r3, #28
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-3788]
	b	.L100
.L110:
	ldr	r1, .L145+92
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r2, [r3, #-3792]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r2, r1, r3
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3788]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3804]
	cmp	r3, r2
	bne	.L101
	sub	r3, fp, #20480
	sub	r3, r3, #28
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-3784]
	b	.L102
.L109:
	ldr	r2, .L145+20
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3784]
	ldr	r2, [r2, r3, lsl #3]
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3792]
	add	r3, r2, r3
	cmp	r3, #0
	blt	.L103
	ldr	r2, .L145+20
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3784]
	ldr	r2, [r2, r3, lsl #3]
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3792]
	add	r3, r2, r3
	cmp	r3, #11
	bgt	.L103
	ldr	r2, .L145+20
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3784]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r2, [r3, #4]
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3788]
	add	r3, r2, r3
	cmp	r3, #0
	blt	.L103
	ldr	r2, .L145+20
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3784]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r2, [r3, #4]
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3788]
	add	r3, r2, r3
	cmp	r3, #11
	bgt	.L103
	ldr	r2, .L145+20
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3784]
	ldr	r2, [r2, r3, lsl #3]
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3792]
	add	r2, r2, r3
	ldr	r1, .L145+20
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3784]
	lsl	r3, r3, #3
	add	r3, r1, r3
	ldr	r1, [r3, #4]
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3788]
	add	r1, r1, r3
	ldr	r0, .L145+92
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r0, r3
	add	r3, r3, r1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L103
	sub	r3, fp, #20480
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3800]
	mov	r2, #172
	mul	r3, r2, r3
	add	r3, r1, r3
	sub	r3, r3, #3600
	sub	r3, r3, #4
	sub	r2, fp, #20480
	sub	r2, r2, #28
	ldr	r2, [r2, #-3792]
	str	r2, [r3]
	sub	r3, fp, #20480
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3800]
	mov	r2, #172
	mul	r3, r2, r3
	add	r3, r1, r3
	sub	r3, r3, #3600
	sub	r2, fp, #20480
	sub	r2, r2, #28
	ldr	r2, [r2, #-3788]
	str	r2, [r3]
	sub	r3, fp, #20480
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3800]
	mov	r2, #172
	mul	r3, r2, r3
	add	r3, r1, r3
	sub	r3, r3, #3584
	sub	r3, r3, #8
	sub	r2, fp, #20480
	sub	r2, r2, #28
	ldr	r2, [r2, #-3784]
	str	r2, [r3]
	sub	r3, fp, #24064
	sub	r3, r3, #28
	sub	r3, r3, #20
	sub	r2, fp, #20480
	sub	r2, r2, #28
	ldr	r2, [r2, #-3800]
	mov	r1, #172
	mul	r2, r1, r2
	add	r3, r3, r2
	mov	r0, r3
	bl	modify
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3760]
	cmp	r3, #0
	bne	.L104
	sub	r3, fp, #20480
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3800]
	mov	r2, #172
	mul	r3, r2, r3
	add	r3, r1, r3
	sub	r3, r3, #3584
	sub	r3, r3, #12
	ldr	r3, [r3]
	ldr	r2, .L145+24
	smull	r1, r2, r3, r2
	asr	r2, r2, #2
	asr	r3, r3, #31
	sub	r3, r2, r3
	mov	r0, r3
	bl	__aeabi_i2d
	mov	r4, r0
	mov	r5, r1
	ldr	r3, .L145+28
	ldr	r3, [r3]
	mov	r0, r3
	bl	__aeabi_i2d
	mov	r6, r0
	mov	r7, r1
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r0, [r3, #-3792]
	bl	__aeabi_i2f
	mov	r2, r0
	ldr	r3, .L145+32
	ldr	r3, [r3]	@ float
	mov	r1, r3
	mov	r0, r2
	bl	__aeabi_fsub
	mov	r3, r0
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r2, #0
	mov	r3, #1073741824
	bl	pow
	ldr	r2, .L145+36
	ldr	r3, .L145+40
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r8, r2
	mov	r9, r3
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r0, [r3, #-3788]
	bl	__aeabi_i2f
	mov	r2, r0
	ldr	r3, .L145+44
	ldr	r3, [r3]	@ float
	mov	r1, r3
	mov	r0, r2
	bl	__aeabi_fsub
	mov	r3, r0
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r2, #0
	mov	r3, #1073741824
	bl	pow
	ldr	r2, .L145+36
	ldr	r3, .L145+40
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r8
	mov	r1, r9
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r8, r2
	mov	r9, r3
	ldr	r2, .L145+20
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3784]
	ldr	r2, [r2, r3, lsl #3]
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3792]
	add	r3, r2, r3
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r2, r0
	ldr	r3, .L145+32
	ldr	r3, [r3]	@ float
	mov	r1, r3
	mov	r0, r2
	bl	__aeabi_fsub
	mov	r3, r0
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r2, #0
	mov	r3, #1073741824
	bl	pow
	mov	r2, r0
	mov	r3, r1
	mov	r0, r8
	mov	r1, r9
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r8, r2
	mov	r9, r3
	ldr	r2, .L145+20
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3784]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r2, [r3, #4]
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3788]
	add	r3, r2, r3
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r2, r0
	ldr	r3, .L145+44
	ldr	r3, [r3]	@ float
	mov	r1, r3
	mov	r0, r2
	bl	__aeabi_fsub
	mov	r3, r0
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r2, #0
	mov	r3, #1073741824
	bl	pow
	mov	r2, r0
	mov	r3, r1
	mov	r0, r8
	mov	r1, r9
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2iz
	mov	r2, r0
	sub	r3, fp, #20480
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3800]
	mov	r1, #172
	mul	r3, r1, r3
	add	r3, r0, r3
	sub	r3, r3, #3584
	sub	r3, r3, #12
	str	r2, [r3]
	b	.L105
.L104:
	sub	r3, fp, #20480
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3800]
	mov	r2, #172
	mul	r3, r2, r3
	add	r3, r1, r3
	sub	r3, r3, #3584
	sub	r3, r3, #12
	ldr	r3, [r3]
	ldr	r2, .L145+24
	smull	r1, r2, r3, r2
	asr	r2, r2, #2
	asr	r3, r3, #31
	sub	r2, r2, r3
	sub	r3, fp, #20480
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3800]
	mov	r1, #172
	mul	r3, r1, r3
	add	r3, r0, r3
	sub	r3, r3, #3584
	sub	r3, r3, #12
	str	r2, [r3]
.L105:
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3812]
	cmp	r3, #3
	bgt	.L106
	sub	r3, fp, #20480
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3800]
	add	r3, r3, #1
	str	r3, [r2, #-3800]
.L106:
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3812]
	cmp	r3, #4
	bne	.L107
	sub	r3, fp, #20480
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3800]
	add	r3, r3, #1
	str	r3, [r2, #-3800]
.L107:
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3812]
	cmp	r3, #4
	ble	.L103
	ldr	r3, .L145+48
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L108
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3800]
	cmp	r3, #0
	bne	.L103
.L108:
	sub	r3, fp, #20480
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3800]
	add	r3, r3, #1
	str	r3, [r2, #-3800]
.L103:
	sub	r3, fp, #20480
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3784]
	add	r3, r3, #1
	str	r3, [r2, #-3784]
.L102:
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3784]
	cmp	r3, #7
	ble	.L109
	sub	r3, fp, #20480
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3796]
	add	r3, r3, #1
	str	r3, [r2, #-3796]
.L101:
	sub	r3, fp, #20480
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3788]
	add	r3, r3, #1
	str	r3, [r2, #-3788]
.L100:
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3788]
	cmp	r3, #11
	ble	.L110
	sub	r3, fp, #20480
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3792]
	add	r3, r3, #1
	str	r3, [r2, #-3792]
.L99:
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3792]
	cmp	r3, #11
	ble	.L111
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3796]
	cmp	r3, #0
	beq	.L112
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3796]
	cmp	r3, #16
	beq	.L112
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3800]
	cmp	r3, #0
	bne	.L113
.L112:
	bl	Evaluate
	mov	r3, r0
	b	.L140
.L113:
	ldr	r3, .L145+88
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L142
	ldr	r2, .L145+16
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3800]
	str	r3, [r2]
	b	.L98
.L142:
	nop
.L98:
	ldr	r3, .L145+88
	ldr	r3, [r3]
	cmp	r3, #4
	bne	.L114
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3812]
	cmp	r3, #0
	bne	.L114
	ldr	r3, .L145+100
	ldmia	r3, {r2-r3}
	mov	r3, r2
	sub	r0, r3, #-2147483647
	ldr	r3, .L145+76
	umull	r2, r3, r0, r3
	lsr	r1, r3, #23
	mov	r3, r1
	lsl	r3, r3, #3
	add	r3, r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r2, r3, #5
	add	r3, r3, r2
	lsl	r2, r3, #12
	sub	r2, r2, r3
	lsl	r2, r2, #1
	add	r2, r2, r1
	sub	r1, r0, r2
	ldr	r2, .L145+80
	mov	r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r1
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L114
	ldr	r3, .L145+100
	ldmia	r3, {r2-r3}
	mov	r3, r2
	sub	r0, r3, #-2147483647
	ldr	r3, .L145+76
	umull	r2, r3, r0, r3
	lsr	r1, r3, #23
	mov	r3, r1
	lsl	r3, r3, #3
	add	r3, r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r2, r3, #5
	add	r3, r3, r2
	lsl	r2, r3, #12
	sub	r2, r2, r3
	lsl	r2, r2, #1
	add	r2, r2, r1
	sub	r1, r0, r2
	ldr	r2, .L145+80
	mov	r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r1
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	ip, [r3]
	ldr	r3, .L145+100
	ldmia	r3, {r2-r3}
	mov	r3, r2
	sub	r0, r3, #-2147483647
	ldr	r3, .L145+76
	umull	r2, r3, r0, r3
	lsr	r1, r3, #23
	mov	r3, r1
	lsl	r3, r3, #3
	add	r3, r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r2, r3, #5
	add	r3, r3, r2
	lsl	r2, r3, #12
	sub	r2, r2, r3
	lsl	r2, r2, #1
	add	r2, r2, r1
	sub	r1, r0, r2
	ldr	r2, .L145+80
	mov	r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r1
	lsl	r3, r3, #2
	add	r3, r2, r3
	add	r3, r3, #4
	ldr	r2, [r3]
	ldr	r1, .L145+92
	mov	r3, ip
	lsl	r3, r3, #1
	add	r3, r3, ip
	lsl	r3, r3, #2
	add	r3, r1, r3
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, .L145+4
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L114
	ldr	r3, .L145+100
	ldmia	r3, {r2-r3}
	mov	r3, r2
	sub	r0, r3, #-2147483647
	ldr	r3, .L145+76
	umull	r2, r3, r0, r3
	lsr	r1, r3, #23
	mov	r3, r1
	lsl	r3, r3, #3
	add	r3, r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r2, r3, #5
	add	r3, r3, r2
	lsl	r2, r3, #12
	sub	r2, r2, r3
	lsl	r2, r2, #1
	add	r2, r2, r1
	sub	r1, r0, r2
	ldr	r2, .L145+80
	mov	r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r1
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	ip, [r3]
	ldr	r3, .L145+100
	ldmia	r3, {r2-r3}
	mov	r3, r2
	sub	r0, r3, #-2147483647
	ldr	r3, .L145+76
	umull	r2, r3, r0, r3
	lsr	r1, r3, #23
	mov	r3, r1
	lsl	r3, r3, #3
	add	r3, r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r2, r3, #5
	add	r3, r3, r2
	lsl	r2, r3, #12
	sub	r2, r2, r3
	lsl	r2, r2, #1
	add	r2, r2, r1
	sub	r1, r0, r2
	ldr	r2, .L145+80
	mov	r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r1
	lsl	r3, r3, #2
	add	r3, r2, r3
	add	r3, r3, #8
	ldr	r3, [r3]
	ldr	r2, .L145+20
	ldr	r3, [r2, r3, lsl #3]
	add	ip, ip, r3
	ldr	r3, .L145+100
	ldmia	r3, {r2-r3}
	mov	r3, r2
	sub	r0, r3, #-2147483647
	ldr	r3, .L145+76
	umull	r2, r3, r0, r3
	lsr	r1, r3, #23
	mov	r3, r1
	lsl	r3, r3, #3
	add	r3, r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r2, r3, #5
	add	r3, r3, r2
	lsl	r2, r3, #12
	sub	r2, r2, r3
	lsl	r2, r2, #1
	add	r2, r2, r1
	sub	r1, r0, r2
	ldr	r2, .L145+80
	mov	r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r1
	lsl	r3, r3, #2
	add	r3, r2, r3
	add	r3, r3, #4
	ldr	lr, [r3]
	ldr	r3, .L145+100
	ldmia	r3, {r2-r3}
	mov	r3, r2
	sub	r0, r3, #-2147483647
	ldr	r3, .L145+76
	umull	r2, r3, r0, r3
	lsr	r1, r3, #23
	mov	r3, r1
	lsl	r3, r3, #3
	add	r3, r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r2, r3, #5
	add	r3, r3, r2
	lsl	r2, r3, #12
	sub	r2, r2, r3
	lsl	r2, r2, #1
	add	r2, r2, r1
	sub	r1, r0, r2
	ldr	r2, .L145+80
	mov	r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r1
	lsl	r3, r3, #2
	add	r3, r2, r3
	add	r3, r3, #8
	ldr	r3, [r3]
	ldr	r2, .L145+20
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	add	r2, lr, r3
	ldr	r1, .L145+92
	mov	r3, ip
	lsl	r3, r3, #1
	add	r3, r3, ip
	lsl	r3, r3, #2
	add	r3, r1, r3
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L114
	ldr	r3, .L145+100
	ldmia	r3, {r2-r3}
	mov	r3, r2
	sub	r0, r3, #-2147483647
	ldr	r3, .L145+76
	umull	r2, r3, r0, r3
	lsr	r1, r3, #23
	mov	r3, r1
	lsl	r3, r3, #3
	add	r3, r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r2, r3, #5
	add	r3, r3, r2
	lsl	r2, r3, #12
	sub	r2, r2, r3
	lsl	r2, r2, #1
	add	r2, r2, r1
	sub	r1, r0, r2
	ldr	r2, .L145+80
	mov	r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r1
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	sub	r3, fp, #20480
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3800]
	mov	r1, #172
	mul	r3, r1, r3
	add	r3, r0, r3
	sub	r3, r3, #3600
	sub	r3, r3, #4
	str	r2, [r3]
	ldr	r3, .L145+100
	ldmia	r3, {r2-r3}
	mov	r3, r2
	sub	r0, r3, #-2147483647
	ldr	r3, .L145+76
	umull	r2, r3, r0, r3
	lsr	r1, r3, #23
	mov	r3, r1
	lsl	r3, r3, #3
	add	r3, r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r2, r3, #5
	add	r3, r3, r2
	lsl	r2, r3, #12
	sub	r2, r2, r3
	lsl	r2, r2, #1
	add	r2, r2, r1
	sub	r1, r0, r2
	ldr	r2, .L145+80
	mov	r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r1
	lsl	r3, r3, #2
	add	r3, r2, r3
	add	r3, r3, #4
	ldr	r2, [r3]
	sub	r3, fp, #20480
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3800]
	mov	r1, #172
	mul	r3, r1, r3
	add	r3, r0, r3
	sub	r3, r3, #3600
	str	r2, [r3]
	ldr	r3, .L145+100
	ldmia	r3, {r2-r3}
	mov	r3, r2
	sub	r0, r3, #-2147483647
	ldr	r3, .L145+76
	umull	r2, r3, r0, r3
	lsr	r1, r3, #23
	mov	r3, r1
	lsl	r3, r3, #3
	add	r3, r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r2, r3, #5
	add	r3, r3, r2
	lsl	r2, r3, #12
	sub	r2, r2, r3
	lsl	r2, r2, #1
	add	r2, r2, r1
	sub	r1, r0, r2
	ldr	r2, .L145+80
	mov	r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r1
	lsl	r3, r3, #2
	add	r3, r2, r3
	add	r3, r3, #8
	ldr	r2, [r3]
	sub	r3, fp, #20480
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3800]
	mov	r1, #172
	mul	r3, r1, r3
	add	r3, r0, r3
	sub	r3, r3, #3584
	sub	r3, r3, #8
	str	r2, [r3]
	sub	r3, fp, #24064
	sub	r3, r3, #28
	sub	r3, r3, #20
	sub	r2, fp, #20480
	sub	r2, r2, #28
	ldr	r2, [r2, #-3800]
	mov	r1, #172
	mul	r2, r1, r2
	add	r3, r3, r2
	mov	r0, r3
	bl	modify
	sub	r3, fp, #20480
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3800]
	mov	r2, #172
	mul	r3, r2, r3
	add	r3, r1, r3
	sub	r3, r3, #3584
	sub	r3, r3, #12
	mvn	r2, #-2147483648
	str	r2, [r3]
	sub	r3, fp, #20480
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3800]
	add	r3, r3, #1
	str	r3, [r2, #-3800]
	ldr	r2, .L145+52
	mov	r1, #0
	ldr	r0, .L145+80
	bl	memset
.L114:
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r1, [r3, #-3800]
	sub	r0, fp, #24064
	sub	r0, r0, #28
	sub	r0, r0, #20
	ldr	r3, .L145+56
	mov	r2, #172
	bl	qsort
	sub	r3, fp, #20480
	sub	r3, r3, #28
	sub	r3, r3, #3744
	sub	r3, r3, #4
	mov	r2, #144
	mov	r1, #0
	mov	r0, r3
	bl	memset
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3760]
	cmp	r3, #0
	bne	.L115
	sub	r3, fp, #20480
	sub	r3, r3, #28
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-3776]
	sub	r3, fp, #20480
	sub	r3, r3, #28
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-3772]
	b	.L116
.L146:
	.align	2
.L145:
	.word	.LC9
	.word	me_flag
	.word	other_flag
	.word	24080
	.word	num_SortArray
	.word	DIR
	.word	1717986919
	.word	theta1
	.word	cen_x
	.word	-1717986918
	.word	1072798105
	.word	cen_y
	.word	eaten
	.word	119999892
	.word	Compare_Evaluate
	.word	second_command
	.word	changeit
	.word	ans_command
	.word	changed
	.word	-692084351
	.word	bestmove
	.word	sortedmove
	.word	Search_Depth
	.word	cur_board
	.word	ChessCount
	.word	hash
	.word	alphasort
	.word	betasort
	.word	.LC9
.L129:
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r2, .L145+92
	sub	r3, r3, #3744
	sub	r3, r3, #4
	mov	r1, r2
	mov	r2, #144
	mov	r0, r3
	bl	memcpy
	sub	r3, fp, #24064
	sub	r3, r3, #28
	sub	r3, r3, #20
	sub	r2, fp, #20480
	sub	r2, r2, #28
	ldr	r2, [r2, #-3772]
	mov	r1, #172
	mul	r2, r1, r2
	add	r2, r2, #16
	add	r3, r3, r2
	ldr	r2, .L145+92
	mov	r0, r2
	mov	r1, r3
	mov	r3, #144
	mov	r2, r3
	bl	memcpy
	sub	r3, fp, #20480
	sub	r3, r3, #28
	mov	r2, r3
	ldr	r3, .L145+96
	ldr	r3, [r3]
	str	r3, [r2, #-3756]
	sub	r3, fp, #20480
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3772]
	mov	r2, #172
	mul	r3, r2, r3
	add	r3, r1, r3
	sub	r3, r3, #3440
	sub	r3, r3, #4
	ldr	r3, [r3]
	ldr	r2, .L145+96
	str	r3, [r2]
	ldr	r3, .L145+100
	ldmia	r3, {r2-r3}
	sub	r1, fp, #20480
	sub	r1, r1, #28
	mov	r3, r2
	str	r3, [r1, #-3752]
	sub	r3, fp, #20480
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3772]
	mov	r2, #172
	mul	r3, r2, r3
	add	r3, r1, r3
	sub	r3, r3, #3424
	sub	r3, r3, #12
	ldr	r3, [r3]
	mov	r2, r3
	mov	r3, #0
	ldr	r1, .L145+100
	stm	r1, {r2-r3}
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3776]
	cmp	r3, #0
	beq	.L117
	ldr	r3, .L145+88
	ldr	r3, [r3]
	cmp	r3, #4
	bne	.L117
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3812]
	add	r0, r3, #1
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3816]
	add	r3, r3, #1
	sub	r2, fp, #20480
	sub	r2, r2, #28
	mov	r4, r2
	sub	r2, fp, #20480
	sub	r2, r2, #28
	mov	r1, r2
	mov	r2, r3
	ldr	r1, [r1, #-3816]
	bl	minmax
	str	r0, [r4, #-3780]
	sub	r3, fp, #20480
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r2, [r2, #-3780]
	ldr	r3, [r3, #-3816]
	cmp	r2, r3
	ble	.L143
	sub	r3, fp, #20480
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r2, [r2, #-3780]
	ldr	r3, [r3, #-3820]
	cmp	r2, r3
	bge	.L143
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3812]
	add	r3, r3, #1
	sub	r2, fp, #20480
	sub	r2, r2, #28
	mov	r4, r2
	sub	r2, fp, #20480
	sub	r2, r2, #28
	sub	r1, fp, #20480
	sub	r1, r1, #28
	ldr	r2, [r2, #-3820]
	ldr	r1, [r1, #-3816]
	mov	r0, r3
	bl	minmax
	str	r0, [r4, #-3780]
	b	.L143
.L117:
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3812]
	add	r3, r3, #1
	sub	r2, fp, #20480
	sub	r2, r2, #28
	mov	r4, r2
	sub	r2, fp, #20480
	sub	r2, r2, #28
	sub	r1, fp, #20480
	sub	r1, r1, #28
	ldr	r2, [r2, #-3820]
	ldr	r1, [r1, #-3816]
	mov	r0, r3
	bl	minmax
	str	r0, [r4, #-3780]
	b	.L119
.L143:
	nop
.L119:
	ldr	r3, .L145+64
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L120
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3812]
	cmp	r3, #0
	bne	.L120
	ldr	r3, .L145+88
	ldr	r3, [r3]
	cmp	r3, #4
	bne	.L120
	ldr	r3, .L145+60
	ldr	r3, [r3, #8]
	sub	r2, fp, #20480
	sub	r2, r2, #28
	ldr	r2, [r2, #-3780]
	cmp	r2, r3
	ble	.L121
	ldr	r3, .L145+68
	ldr	r3, [r3, #8]
	sub	r2, fp, #20480
	sub	r2, r2, #28
	ldr	r2, [r2, #-3780]
	cmp	r2, r3
	ble	.L122
	ldr	r2, .L145+60
	ldr	r3, .L145+68
	mov	r0, r2
	mov	r1, r3
	mov	r3, #172
	mov	r2, r3
	bl	memcpy
	ldr	r0, .L145+68
	sub	r3, fp, #20480
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3772]
	mov	r2, #172
	mul	r3, r2, r3
	add	r3, r1, r3
	sub	r3, r3, #3600
	sub	r3, r3, #4
	mov	r1, r3
	mov	r3, #172
	mov	r2, r3
	bl	memcpy
	b	.L123
.L122:
	ldr	r0, .L145+60
	sub	r3, fp, #20480
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3772]
	mov	r2, #172
	mul	r3, r2, r3
	add	r3, r1, r3
	sub	r3, r3, #3600
	sub	r3, r3, #4
	mov	r1, r3
	mov	r3, #172
	mov	r2, r3
	bl	memcpy
.L123:
	ldr	r3, .L145+72
	mov	r2, #0
	str	r2, [r3]
.L121:
	ldr	r3, .L145+68
	ldr	r3, [r3, #8]
	sub	r2, fp, #20480
	sub	r2, r2, #28
	ldr	r2, [r2, #-3780]
	cmp	r2, r3
	bne	.L120
	ldr	r3, .L145+72
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L120
	ldr	r0, .L145+68
	sub	r3, fp, #20480
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3772]
	mov	r2, #172
	mul	r3, r2, r3
	add	r3, r1, r3
	sub	r3, r3, #3600
	sub	r3, r3, #4
	mov	r1, r3
	mov	r3, #172
	mov	r2, r3
	bl	memcpy
	ldr	r3, .L145+72
	mov	r2, #1
	str	r2, [r3]
.L120:
	sub	r3, fp, #20480
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r2, [r2, #-3780]
	ldr	r3, [r3, #-3816]
	cmp	r2, r3
	ble	.L124
	ldr	r3, .L145+64
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L125
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3812]
	cmp	r3, #0
	bne	.L125
	ldr	r0, .L145+68
	sub	r3, fp, #20480
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3772]
	mov	r2, #172
	mul	r3, r2, r3
	add	r3, r1, r3
	sub	r3, r3, #3600
	sub	r3, r3, #4
	mov	r1, r3
	mov	r3, #172
	mov	r2, r3
	bl	memcpy
	ldr	r3, .L145+72
	mov	r2, #0
	str	r2, [r3]
.L125:
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3812]
	cmp	r3, #2
	bne	.L126
	ldr	r3, .L145+88
	ldr	r3, [r3]
	cmp	r3, #4
	bne	.L126
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3752]
	sub	r3, r3, #-2147483647
	mov	r0, r3
	ldr	r3, .L145+76
	umull	r2, r3, r0, r3
	lsr	r1, r3, #23
	mov	r3, r1
	lsl	r3, r3, #3
	add	r3, r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r2, r3, #5
	add	r3, r3, r2
	lsl	r2, r3, #12
	sub	r2, r2, r3
	lsl	r2, r2, #1
	add	r2, r2, r1
	sub	r1, r0, r2
	sub	r3, fp, #20480
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3772]
	mov	r2, #172
	mul	r3, r2, r3
	add	r3, r0, r3
	sub	r3, r3, #3600
	sub	r3, r3, #4
	ldr	r2, [r3]
	ldr	r0, .L145+80
	mov	r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r1
	lsl	r3, r3, #2
	add	r3, r0, r3
	str	r2, [r3]
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3752]
	sub	r3, r3, #-2147483647
	mov	r0, r3
	ldr	r3, .L145+76
	umull	r2, r3, r0, r3
	lsr	r1, r3, #23
	mov	r3, r1
	lsl	r3, r3, #3
	add	r3, r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r2, r3, #5
	add	r3, r3, r2
	lsl	r2, r3, #12
	sub	r2, r2, r3
	lsl	r2, r2, #1
	add	r2, r2, r1
	sub	r1, r0, r2
	sub	r3, fp, #20480
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3772]
	mov	r2, #172
	mul	r3, r2, r3
	add	r3, r0, r3
	sub	r3, r3, #3600
	ldr	r2, [r3]
	ldr	r0, .L145+80
	mov	r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r1
	lsl	r3, r3, #2
	add	r3, r0, r3
	add	r3, r3, #4
	str	r2, [r3]
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3752]
	sub	r3, r3, #-2147483647
	mov	r0, r3
	ldr	r3, .L145+76
	umull	r2, r3, r0, r3
	lsr	r1, r3, #23
	mov	r3, r1
	lsl	r3, r3, #3
	add	r3, r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r2, r3, #5
	add	r3, r3, r2
	lsl	r2, r3, #12
	sub	r2, r2, r3
	lsl	r2, r2, #1
	add	r2, r2, r1
	sub	r1, r0, r2
	sub	r3, fp, #20480
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3772]
	mov	r2, #172
	mul	r3, r2, r3
	add	r3, r0, r3
	sub	r3, r3, #3584
	sub	r3, r3, #8
	ldr	r2, [r3]
	ldr	r0, .L145+80
	mov	r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r1
	lsl	r3, r3, #2
	add	r3, r0, r3
	add	r3, r3, #8
	str	r2, [r3]
.L126:
	sub	r3, fp, #20480
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3780]
	str	r3, [r2, #-3816]
	sub	r3, fp, #20480
	sub	r3, r3, #28
	mov	r2, r3
	mov	r3, #1
	str	r3, [r2, #-3776]
.L124:
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3812]
	cmp	r3, #0
	bne	.L127
	ldr	r2, .L145+84
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3772]
	mov	r1, #172
	mul	r3, r1, r3
	add	r1, r2, r3
	sub	r3, fp, #20480
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3772]
	mov	r2, #172
	mul	r3, r2, r3
	add	r3, r0, r3
	sub	r3, r3, #3600
	sub	r3, r3, #4
	mov	r0, r1
	mov	r1, r3
	mov	r3, #172
	mov	r2, r3
	bl	memcpy
	ldr	r2, .L145+84
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3772]
	mov	r1, #172
	mul	r3, r1, r3
	add	r3, r2, r3
	add	r3, r3, #8
	sub	r2, fp, #20480
	sub	r2, r2, #28
	ldr	r2, [r2, #-3780]
	str	r2, [r3]
.L127:
	ldr	r2, .L145+92
	sub	r3, fp, #20480
	sub	r3, r3, #28
	mov	r0, r2
	sub	r3, r3, #3744
	sub	r3, r3, #4
	mov	r2, #144
	mov	r1, r3
	bl	memcpy
	ldr	r2, .L145+96
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3756]
	str	r3, [r2]
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3752]
	mov	r2, r3
	asr	r3, r2, #31
	ldr	r1, .L145+100
	stm	r1, {r2-r3}
	sub	r3, fp, #20480
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r2, [r2, #-3816]
	ldr	r3, [r3, #-3820]
	cmp	r2, r3
	blt	.L128
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3816]
	b	.L140
.L128:
	sub	r3, fp, #20480
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3772]
	add	r3, r3, #1
	str	r3, [r2, #-3772]
.L116:
	sub	r3, fp, #20480
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r2, [r2, #-3772]
	ldr	r3, [r3, #-3800]
	cmp	r2, r3
	blt	.L129
.L115:
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3760]
	cmp	r3, #1
	bne	.L130
	sub	r3, fp, #20480
	sub	r3, r3, #28
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-3768]
	sub	r3, fp, #20480
	sub	r3, r3, #28
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-3764]
	b	.L131
.L137:
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r2, .L145+92
	sub	r3, r3, #3744
	sub	r3, r3, #4
	mov	r1, r2
	mov	r2, #144
	mov	r0, r3
	bl	memcpy
	sub	r3, fp, #24064
	sub	r3, r3, #28
	sub	r3, r3, #20
	sub	r2, fp, #20480
	sub	r2, r2, #28
	ldr	r2, [r2, #-3764]
	mov	r1, #172
	mul	r2, r1, r2
	add	r2, r2, #16
	add	r3, r3, r2
	ldr	r2, .L145+92
	mov	r0, r2
	mov	r1, r3
	mov	r3, #144
	mov	r2, r3
	bl	memcpy
	sub	r3, fp, #20480
	sub	r3, r3, #28
	mov	r2, r3
	ldr	r3, .L145+96
	ldr	r3, [r3]
	str	r3, [r2, #-3756]
	sub	r3, fp, #20480
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3764]
	mov	r2, #172
	mul	r3, r2, r3
	add	r3, r1, r3
	sub	r3, r3, #3440
	sub	r3, r3, #4
	ldr	r3, [r3]
	ldr	r2, .L145+96
	str	r3, [r2]
	ldr	r3, .L145+100
	ldmia	r3, {r2-r3}
	sub	r1, fp, #20480
	sub	r1, r1, #28
	mov	r3, r2
	str	r3, [r1, #-3752]
	sub	r3, fp, #20480
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3764]
	mov	r2, #172
	mul	r3, r2, r3
	add	r3, r1, r3
	sub	r3, r3, #3424
	sub	r3, r3, #12
	ldr	r3, [r3]
	mov	r2, r3
	mov	r3, #0
	ldr	r1, .L145+100
	stm	r1, {r2-r3}
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3768]
	cmp	r3, #0
	beq	.L132
	ldr	r3, .L145+88
	ldr	r3, [r3]
	cmp	r3, #4
	bne	.L132
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3812]
	add	r0, r3, #1
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3820]
	sub	r3, r3, #1
	sub	r2, fp, #20480
	sub	r2, r2, #28
	mov	r4, r2
	sub	r2, fp, #20480
	sub	r2, r2, #28
	ldr	r2, [r2, #-3820]
	mov	r1, r3
	bl	minmax
	str	r0, [r4, #-3780]
	sub	r3, fp, #20480
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r2, [r2, #-3780]
	ldr	r3, [r3, #-3816]
	cmp	r2, r3
	ble	.L144
	sub	r3, fp, #20480
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r2, [r2, #-3780]
	ldr	r3, [r3, #-3820]
	cmp	r2, r3
	bge	.L144
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3812]
	add	r3, r3, #1
	sub	r2, fp, #20480
	sub	r2, r2, #28
	mov	r4, r2
	sub	r2, fp, #20480
	sub	r2, r2, #28
	sub	r1, fp, #20480
	sub	r1, r1, #28
	ldr	r2, [r2, #-3820]
	ldr	r1, [r1, #-3816]
	mov	r0, r3
	bl	minmax
	str	r0, [r4, #-3780]
	b	.L144
.L132:
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3812]
	add	r3, r3, #1
	sub	r2, fp, #20480
	sub	r2, r2, #28
	mov	r4, r2
	sub	r2, fp, #20480
	sub	r2, r2, #28
	sub	r1, fp, #20480
	sub	r1, r1, #28
	ldr	r2, [r2, #-3820]
	ldr	r1, [r1, #-3816]
	mov	r0, r3
	bl	minmax
	str	r0, [r4, #-3780]
	b	.L134
.L144:
	nop
.L134:
	sub	r3, fp, #20480
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r2, [r2, #-3780]
	ldr	r3, [r3, #-3820]
	cmp	r2, r3
	bge	.L135
	sub	r3, fp, #20480
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3780]
	str	r3, [r2, #-3820]
	sub	r3, fp, #20480
	sub	r3, r3, #28
	mov	r2, r3
	mov	r3, #1
	str	r3, [r2, #-3768]
.L135:
	ldr	r2, .L145+92
	sub	r3, fp, #20480
	sub	r3, r3, #28
	mov	r0, r2
	sub	r3, r3, #3744
	sub	r3, r3, #4
	mov	r2, #144
	mov	r1, r3
	bl	memcpy
	ldr	r2, .L145+96
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3756]
	str	r3, [r2]
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3752]
	mov	r2, r3
	asr	r3, r2, #31
	ldr	r1, .L145+100
	stm	r1, {r2-r3}
	sub	r3, fp, #20480
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r2, [r2, #-3816]
	ldr	r3, [r3, #-3820]
	cmp	r2, r3
	blt	.L136
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3820]
	b	.L140
.L136:
	sub	r3, fp, #20480
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3764]
	add	r3, r3, #1
	str	r3, [r2, #-3764]
.L131:
	sub	r3, fp, #20480
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r2, [r2, #-3764]
	ldr	r3, [r3, #-3800]
	cmp	r2, r3
	blt	.L137
.L130:
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3812]
	cmp	r3, #0
	bne	.L138
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3816]
	sub	r3, r3, #11968
	sub	r3, r3, #32
	ldr	r2, .L145+104
	str	r3, [r2]
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3816]
	add	r3, r3, #11968
	add	r3, r3, #32
	ldr	r2, .L145+108
	str	r3, [r2]
.L138:
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3760]
	cmp	r3, #1
	bne	.L139
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3820]
	b	.L140
.L139:
	sub	r3, fp, #20480
	sub	r3, r3, #28
	ldr	r3, [r3, #-3816]
.L140:
	ldr	r2, .L145+112
	ldr	r1, [r2]
	ldr	r2, [fp, #-32]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L141
	bl	__stack_chk_fail
.L141:
	mov	r0, r3
	sub	sp, fp, #28
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, fp, pc}
	.size	minmax, .-minmax
	.global	__aeabi_fadd
	.global	__aeabi_fdiv
	.global	__aeabi_idiv
	.align	2
	.global	Refresh
	.syntax unified
	.arm
	.fpu softvfp
	.type	Refresh, %function
Refresh:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, fp, lr}
	add	fp, sp, #20
	sub	sp, sp, #32
	ldr	r2, .L169
	ldr	r3, .L169+4
	mov	r0, r2
	mov	r1, r3
	mov	r3, #144
	mov	r2, r3
	bl	memcpy
	ldr	r1, .L169+8
	mov	r2, #0
	mov	r3, #0
	stm	r1, {r2-r3}
	ldr	r3, .L169+12
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L169+16
	mov	r2, #0
	str	r2, [r3]	@ float
	ldr	r3, .L169+20
	mov	r2, #0
	str	r2, [r3]	@ float
	mov	r3, #0
	str	r3, [fp, #-52]
	mov	r3, #0
	str	r3, [fp, #-48]
	mov	r3, #0
	str	r3, [fp, #-44]
	b	.L148
.L153:
	mov	r3, #0
	str	r3, [fp, #-40]
	b	.L149
.L152:
	ldr	r1, .L169
	ldr	r2, [fp, #-44]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r2, r1, r3
	ldr	r3, [fp, #-40]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, .L169+24
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L150
	ldr	r3, .L169+12
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L169+12
	str	r3, [r2]
	ldr	r2, [fp, #-52]
	ldr	r3, [fp, #-44]
	add	r3, r2, r3
	str	r3, [fp, #-52]
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-40]
	add	r3, r2, r3
	str	r3, [fp, #-48]
	ldr	r3, .L169+24
	ldr	r0, [r3]
	ldr	ip, .L169+28
	ldr	r3, [fp, #-40]
	ldr	r1, [fp, #-44]
	mov	r2, r3
	lsl	r2, r2, #1
	add	r2, r2, r3
	mov	r3, r1
	lsl	r3, r3, #3
	add	r3, r3, r1
	lsl	r3, r3, #2
	add	r3, r2, r3
	add	r3, r3, r0
	ldr	r3, [ip, r3, lsl #2]
	mov	r0, r3
	mov	r1, #0
	ldr	r3, .L169+8
	ldmia	r3, {r2-r3}
	eor	r4, r0, r2
	eor	r5, r1, r3
	ldr	r3, .L169+8
	stm	r3, {r4-r5}
.L150:
	ldr	r1, .L169
	ldr	r2, [fp, #-44]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r2, r1, r3
	ldr	r3, [fp, #-40]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, .L169+32
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L151
	ldr	r0, [fp, #-44]
	bl	__aeabi_i2f
	mov	r2, r0
	ldr	r3, .L169+16
	ldr	r3, [r3]	@ float
	mov	r1, r3
	mov	r0, r2
	bl	__aeabi_fadd
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L169+16
	str	r2, [r3]	@ float
	ldr	r0, [fp, #-40]
	bl	__aeabi_i2f
	mov	r2, r0
	ldr	r3, .L169+20
	ldr	r3, [r3]	@ float
	mov	r1, r3
	mov	r0, r2
	bl	__aeabi_fadd
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L169+20
	str	r2, [r3]	@ float
	ldr	r3, .L169+32
	ldr	r0, [r3]
	ldr	ip, .L169+28
	ldr	r3, [fp, #-40]
	ldr	r1, [fp, #-44]
	mov	r2, r3
	lsl	r2, r2, #1
	add	r2, r2, r3
	mov	r3, r1
	lsl	r3, r3, #3
	add	r3, r3, r1
	lsl	r3, r3, #2
	add	r3, r2, r3
	add	r3, r3, r0
	ldr	r3, [ip, r3, lsl #2]
	mov	r0, r3
	mov	r1, #0
	ldr	r3, .L169+8
	ldmia	r3, {r2-r3}
	eor	r6, r0, r2
	eor	r7, r1, r3
	ldr	r3, .L169+8
	stm	r3, {r6-r7}
.L151:
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
.L149:
	ldr	r3, [fp, #-40]
	cmp	r3, #11
	ble	.L152
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L148:
	ldr	r3, [fp, #-44]
	cmp	r3, #11
	ble	.L153
	ldr	r3, .L169+16
	ldr	r4, [r3]	@ float
	ldr	r3, .L169+12
	ldr	r3, [r3]
	rsb	r3, r3, #16
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	__aeabi_fdiv
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L169+16
	str	r2, [r3]	@ float
	ldr	r3, .L169+20
	ldr	r4, [r3]	@ float
	ldr	r3, .L169+12
	ldr	r3, [r3]
	rsb	r3, r3, #16
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	__aeabi_fdiv
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L169+20
	str	r2, [r3]	@ float
	ldr	r3, .L169+12
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-52]
	bl	__aeabi_idiv
	mov	r3, r0
	str	r3, [fp, #-52]
	ldr	r3, .L169+12
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-48]
	bl	__aeabi_idiv
	mov	r3, r0
	str	r3, [fp, #-48]
	ldr	r3, .L169+24
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L154
	ldr	r3, .L169+36
	ldr	r3, [r3]
	cmp	r3, #15
	bgt	.L154
	ldr	r3, .L169+20
	ldr	r3, [r3]	@ float
	mov	r1, #1073741824
	mov	r0, r3
	bl	__aeabi_fadd
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L169+20
	str	r2, [r3]	@ float
	ldr	r3, .L169+16
	ldr	r3, [r3]	@ float
	mov	r1, #1065353216
	mov	r0, r3
	bl	__aeabi_fadd
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L169+16
	str	r2, [r3]	@ float
	mov	r3, #5
	str	r3, [fp, #-36]
	b	.L155
.L159:
	mov	r3, #5
	str	r3, [fp, #-32]
	b	.L156
.L158:
	ldr	r1, .L169
	ldr	r2, [fp, #-36]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r2, r1, r3
	ldr	r3, [fp, #-32]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, .L169+32
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L157
	ldr	r0, [fp, #-32]
	bl	__aeabi_i2f
	mov	r3, r0
	ldr	r2, .L169+20
	str	r3, [r2]	@ float
	ldr	r0, [fp, #-36]
	bl	__aeabi_i2f
	mov	r3, r0
	ldr	r2, .L169+16
	str	r3, [r2]	@ float
.L157:
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L156:
	ldr	r3, [fp, #-32]
	cmp	r3, #11
	ble	.L158
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
.L155:
	ldr	r3, [fp, #-36]
	cmp	r3, #11
	ble	.L159
.L154:
	ldr	r3, .L169+24
	ldr	r3, [r3]
	cmp	r3, #2
	bne	.L160
	ldr	r3, .L169+36
	ldr	r3, [r3]
	cmp	r3, #15
	bgt	.L160
	ldr	r3, .L169+20
	ldr	r3, [r3]	@ float
	mov	r1, #1073741824
	mov	r0, r3
	bl	__aeabi_fsub
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L169+20
	str	r2, [r3]	@ float
	ldr	r3, .L169+16
	ldr	r3, [r3]	@ float
	mov	r1, #1065353216
	mov	r0, r3
	bl	__aeabi_fsub
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L169+16
	str	r2, [r3]	@ float
	mov	r3, #0
	str	r3, [fp, #-28]
	b	.L161
.L166:
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L162
.L165:
	ldr	r1, .L169
	ldr	r2, [fp, #-28]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r2, r1, r3
	ldr	r3, [fp, #-24]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, .L169+32
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L163
	ldr	r0, [fp, #-24]
	bl	__aeabi_i2f
	mov	r3, r0
	ldr	r2, .L169+20
	str	r3, [r2]	@ float
	ldr	r0, [fp, #-28]
	bl	__aeabi_i2f
	mov	r3, r0
	ldr	r2, .L169+16
	str	r3, [r2]	@ float
	b	.L164
.L163:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L162:
	ldr	r3, [fp, #-24]
	cmp	r3, #6
	ble	.L165
.L164:
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L161:
	ldr	r3, [fp, #-28]
	cmp	r3, #6
	ble	.L166
.L160:
	ldr	r3, .L169+12
	ldr	r3, [r3]
	cmp	r3, #11
	ble	.L167
	ldr	r3, .L169+40
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, .L169+44
	mov	r2, #2
	str	r2, [r3]
	ldr	r0, [fp, #-52]
	bl	__aeabi_i2f
	mov	r3, r0
	ldr	r2, .L169+16
	str	r3, [r2]	@ float
	ldr	r0, [fp, #-48]
	bl	__aeabi_i2f
	mov	r3, r0
	ldr	r2, .L169+20
	str	r3, [r2]	@ float
	b	.L168
.L167:
	ldr	r3, .L169+40
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, .L169+44
	mov	r2, #2
	str	r2, [r3]
	ldr	r3, .L169+48
	mov	r2, #0
	str	r2, [r3]
.L168:
	ldr	r3, .L169+52
	mov	r2, #0
	str	r2, [r3]
	nop
	sub	sp, fp, #20
	@ sp needed
	pop	{r4, r5, r6, r7, fp, pc}
.L170:
	.align	2
.L169:
	.word	cur_board
	.word	board
	.word	hash
	.word	ChessCount
	.word	cen_x
	.word	cen_y
	.word	me_flag
	.word	hashtable
	.word	other_flag
	.word	turns
	.word	theta1
	.word	theta2
	.word	theta3
	.word	direction
	.size	Refresh, .-Refresh
	.align	2
	.global	findValidPos
	.syntax unified
	.arm
	.fpu softvfp
	.type	findValidPos, %function
findValidPos:
	@ 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]
	bl	Refresh
	ldr	r3, .L176
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L176
	str	r3, [r2]
	ldr	r2, .L176+4
	mov	r1, #0
	ldr	r0, .L176+8
	bl	memset
	ldr	r3, .L176+12
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L176+16
	ldmia	r3, {r2-r3}
	mov	r3, r2
	sub	r0, r3, #-2147483647
	ldr	r3, .L176+20
	umull	r2, r3, r0, r3
	lsr	r1, r3, #23
	mov	r3, r1
	lsl	r3, r3, #3
	add	r3, r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r2, r3, #5
	add	r3, r3, r2
	lsl	r2, r3, #12
	sub	r2, r2, r3
	lsl	r2, r2, #1
	add	r2, r2, r1
	sub	r1, r0, r2
	ldr	r2, .L176+24
	mov	r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r1
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L172
	ldr	r3, .L176+28
	ldr	r3, [r3]
	cmp	r3, #7
	ble	.L173
	ldr	r3, .L176+16
	ldmia	r3, {r2-r3}
	mov	r3, r2
	sub	r0, r3, #-2147483647
	ldr	r3, .L176+20
	umull	r2, r3, r0, r3
	lsr	r1, r3, #23
	mov	r3, r1
	lsl	r3, r3, #3
	add	r3, r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r2, r3, #5
	add	r3, r3, r2
	lsl	r2, r3, #12
	sub	r2, r2, r3
	lsl	r2, r2, #1
	add	r2, r2, r1
	sub	r1, r0, r2
	ldr	r2, .L176+24
	mov	r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r1
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, .L176+32
	str	r3, [r2]
	ldr	r3, .L176+16
	ldmia	r3, {r2-r3}
	mov	r3, r2
	sub	r0, r3, #-2147483647
	ldr	r3, .L176+20
	umull	r2, r3, r0, r3
	lsr	r1, r3, #23
	mov	r3, r1
	lsl	r3, r3, #3
	add	r3, r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r2, r3, #5
	add	r3, r3, r2
	lsl	r2, r3, #12
	sub	r2, r2, r3
	lsl	r2, r2, #1
	add	r2, r2, r1
	sub	r1, r0, r2
	ldr	r2, .L176+24
	mov	r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r1
	lsl	r3, r3, #2
	add	r3, r2, r3
	add	r3, r3, #4
	ldr	r3, [r3]
	ldr	r2, .L176+32
	str	r3, [r2, #4]
	ldr	r3, .L176+16
	ldmia	r3, {r2-r3}
	mov	r3, r2
	sub	r0, r3, #-2147483647
	ldr	r3, .L176+20
	umull	r2, r3, r0, r3
	lsr	r1, r3, #23
	mov	r3, r1
	lsl	r3, r3, #3
	add	r3, r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r2, r3, #5
	add	r3, r3, r2
	lsl	r2, r3, #12
	sub	r2, r2, r3
	lsl	r2, r2, #1
	add	r2, r2, r1
	sub	r1, r0, r2
	ldr	r2, .L176+24
	mov	r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r1
	lsl	r3, r3, #2
	add	r3, r2, r3
	add	r3, r3, #8
	ldr	r3, [r3]
	ldr	r2, .L176+32
	str	r3, [r2, #12]
	ldr	r3, .L176+32
	ldr	r2, [r3]
	ldr	r3, .L176+32
	ldr	r1, [r3, #4]
	ldr	r0, .L176+36
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r0, r3
	add	r3, r3, r1
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, .L176+40
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L172
	ldr	r3, .L176+32
	ldr	r2, [r3]
	ldr	r3, .L176+32
	ldr	r3, [r3, #12]
	ldr	r1, .L176+44
	ldr	r3, [r1, r3, lsl #3]
	add	r2, r2, r3
	ldr	r3, .L176+32
	ldr	r1, [r3, #4]
	ldr	r3, .L176+32
	ldr	r3, [r3, #12]
	ldr	r0, .L176+44
	lsl	r3, r3, #3
	add	r3, r0, r3
	ldr	r3, [r3, #4]
	add	r1, r1, r3
	ldr	r0, .L176+36
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r0, r3
	add	r3, r3, r1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L172
	ldr	r3, [fp, #-8]
	ldr	r2, .L176+32
	mov	r0, r3
	mov	r1, r2
	mov	r3, #172
	mov	r2, r3
	bl	memcpy
	b	.L171
.L173:
	ldr	r3, .L176+12
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, .L176+48
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L176+52
	mov	r2, #-2147483648
	str	r2, [r3, #8]
	ldr	r3, .L176+32
	mov	r2, #-2147483648
	str	r2, [r3, #8]
.L172:
	ldr	r3, .L176+56
	mov	r2, #1
	str	r2, [r3]
	mvn	r2, #-2147483648
	mov	r1, #-2147483647
	mov	r0, #0
	bl	minmax
	ldr	r3, .L176+56
	mov	r2, #2
	str	r2, [r3]
	mvn	r2, #-2147483648
	mov	r1, #-2147483647
	mov	r0, #0
	bl	minmax
	ldr	r3, .L176+56
	mov	r2, #4
	str	r2, [r3]
	ldr	r3, .L176+60
	ldr	r3, [r3]
	ldr	r2, .L176+64
	ldr	r2, [r2]
	mov	r1, r3
	mov	r0, #0
	bl	minmax
	ldr	r3, .L176+12
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L175
	ldr	r3, .L176+16
	ldmia	r3, {r2-r3}
	mov	r3, r2
	sub	r0, r3, #-2147483647
	ldr	r3, .L176+20
	umull	r2, r3, r0, r3
	lsr	r1, r3, #23
	mov	r3, r1
	lsl	r3, r3, #3
	add	r3, r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r2, r3, #5
	add	r3, r3, r2
	lsl	r2, r3, #12
	sub	r2, r2, r3
	lsl	r2, r2, #1
	add	r2, r2, r1
	sub	r1, r0, r2
	ldr	r3, .L176+32
	ldr	r2, [r3]
	ldr	r0, .L176+24
	mov	r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r1
	lsl	r3, r3, #2
	add	r3, r0, r3
	str	r2, [r3]
	ldr	r3, .L176+16
	ldmia	r3, {r2-r3}
	mov	r3, r2
	sub	r0, r3, #-2147483647
	ldr	r3, .L176+20
	umull	r2, r3, r0, r3
	lsr	r1, r3, #23
	mov	r3, r1
	lsl	r3, r3, #3
	add	r3, r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r2, r3, #5
	add	r3, r3, r2
	lsl	r2, r3, #12
	sub	r2, r2, r3
	lsl	r2, r2, #1
	add	r2, r2, r1
	sub	r1, r0, r2
	ldr	r3, .L176+32
	ldr	r2, [r3, #4]
	ldr	r0, .L176+24
	mov	r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r1
	lsl	r3, r3, #2
	add	r3, r0, r3
	add	r3, r3, #4
	str	r2, [r3]
	ldr	r3, .L176+16
	ldmia	r3, {r2-r3}
	mov	r3, r2
	sub	r0, r3, #-2147483647
	ldr	r3, .L176+20
	umull	r2, r3, r0, r3
	lsr	r1, r3, #23
	mov	r3, r1
	lsl	r3, r3, #3
	add	r3, r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r2, r3, #5
	add	r3, r3, r2
	lsl	r2, r3, #12
	sub	r2, r2, r3
	lsl	r2, r2, #1
	add	r2, r2, r1
	sub	r1, r0, r2
	ldr	r3, .L176+32
	ldr	r2, [r3, #12]
	ldr	r0, .L176+24
	mov	r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r1
	lsl	r3, r3, #2
	add	r3, r0, r3
	add	r3, r3, #8
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r2, .L176+32
	mov	r0, r3
	mov	r1, r2
	mov	r3, #172
	mov	r2, r3
	bl	memcpy
	b	.L171
.L175:
	ldr	r3, .L176+16
	ldmia	r3, {r2-r3}
	mov	r3, r2
	sub	r0, r3, #-2147483647
	ldr	r3, .L176+20
	umull	r2, r3, r0, r3
	lsr	r1, r3, #23
	mov	r3, r1
	lsl	r3, r3, #3
	add	r3, r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r2, r3, #5
	add	r3, r3, r2
	lsl	r2, r3, #12
	sub	r2, r2, r3
	lsl	r2, r2, #1
	add	r2, r2, r1
	sub	r1, r0, r2
	ldr	r3, .L176+52
	ldr	r2, [r3]
	ldr	r0, .L176+24
	mov	r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r1
	lsl	r3, r3, #2
	add	r3, r0, r3
	str	r2, [r3]
	ldr	r3, .L176+16
	ldmia	r3, {r2-r3}
	mov	r3, r2
	sub	r0, r3, #-2147483647
	ldr	r3, .L176+20
	umull	r2, r3, r0, r3
	lsr	r1, r3, #23
	mov	r3, r1
	lsl	r3, r3, #3
	add	r3, r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r2, r3, #5
	add	r3, r3, r2
	lsl	r2, r3, #12
	sub	r2, r2, r3
	lsl	r2, r2, #1
	add	r2, r2, r1
	sub	r1, r0, r2
	ldr	r3, .L176+52
	ldr	r2, [r3, #4]
	ldr	r0, .L176+24
	mov	r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r1
	lsl	r3, r3, #2
	add	r3, r0, r3
	add	r3, r3, #4
	str	r2, [r3]
	ldr	r3, .L176+16
	ldmia	r3, {r2-r3}
	mov	r3, r2
	sub	r0, r3, #-2147483647
	ldr	r3, .L176+20
	umull	r2, r3, r0, r3
	lsr	r1, r3, #23
	mov	r3, r1
	lsl	r3, r3, #3
	add	r3, r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r2, r3, #5
	add	r3, r3, r2
	lsl	r2, r3, #12
	sub	r2, r2, r3
	lsl	r2, r2, #1
	add	r2, r2, r1
	sub	r1, r0, r2
	ldr	r3, .L176+52
	ldr	r2, [r3, #12]
	ldr	r0, .L176+24
	mov	r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r1
	lsl	r3, r3, #2
	add	r3, r0, r3
	add	r3, r3, #8
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r2, .L176+52
	mov	r0, r3
	mov	r1, r2
	mov	r3, #172
	mov	r2, r3
	bl	memcpy
.L171:
	ldr	r0, [fp, #-8]
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L177:
	.align	2
.L176:
	.word	turns
	.word	24080
	.word	sortedmove
	.word	changeit
	.word	hash
	.word	-692084351
	.word	repetition
	.word	ChessCount
	.word	ans_command
	.word	cur_board
	.word	me_flag
	.word	DIR
	.word	changed
	.word	second_command
	.word	Search_Depth
	.word	alphasort
	.word	betasort
	.size	findValidPos, .-findValidPos
	.section	.rodata
	.align	2
.LC10:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	aiTurn
	.syntax unified
	.arm
	.fpu softvfp
	.type	aiTurn, %function
aiTurn:
	@ args = 0, pretend = 0, frame = 192
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #192
	str	r0, [fp, #-184]
	str	r1, [fp, #-188]
	str	r2, [fp, #-192]
	ldr	r3, .L181
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #180
	ldr	r2, [fp, #-192]
	ldr	r1, [fp, #-188]
	mov	r0, r3
	bl	findValidPos
	ldr	r3, [fp, #-184]
	mov	r0, r3
	sub	r3, fp, #180
	mov	r2, #172
	mov	r1, r3
	bl	memcpy
	ldr	r3, .L181
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L180
	bl	__stack_chk_fail
.L180:
	ldr	r0, [fp, #-184]
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L182:
	.align	2
.L181:
	.word	.LC10
	.size	aiTurn, .-aiTurn
	.section	.rodata
	.align	2
.LC11:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	place
	.syntax unified
	.arm
	.fpu softvfp
	.type	place, %function
place:
	@ args = 0, pretend = 0, frame = 168
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #168
	str	r0, [fp, #-160]
	str	r1, [fp, #-164]
	str	r2, [fp, #-168]
	str	r3, [fp, #-172]
	ldr	r3, .L196
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r1, .L196+4
	ldr	r2, [fp, #-160]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r2, r1, r3
	ldr	r3, [fp, #-164]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-172]
	cmp	r3, r2
	beq	.L184
	mov	r3, #0
	b	.L194
.L184:
	ldr	r2, .L196+8
	ldr	r3, [fp, #-168]
	ldr	r3, [r2, r3, lsl #3]
	ldr	r2, [fp, #-160]
	add	r3, r2, r3
	str	r3, [fp, #-148]
	ldr	r2, .L196+8
	ldr	r3, [fp, #-168]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-164]
	add	r3, r2, r3
	str	r3, [fp, #-144]
	ldr	r3, [fp, #-148]
	cmp	r3, #0
	blt	.L186
	ldr	r3, [fp, #-148]
	cmp	r3, #11
	bgt	.L186
	ldr	r3, [fp, #-144]
	cmp	r3, #0
	blt	.L186
	ldr	r3, [fp, #-144]
	cmp	r3, #11
	bgt	.L186
	ldr	r1, .L196+4
	ldr	r2, [fp, #-148]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r2, r1, r3
	ldr	r3, [fp, #-144]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L187
.L186:
	mov	r3, #0
	b	.L194
.L187:
	ldr	r1, .L196+4
	ldr	r2, [fp, #-160]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r2, r1, r3
	ldr	r3, [fp, #-164]
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, [fp, #-172]
	and	r0, r3, #255
	ldr	r1, .L196+4
	ldr	r2, [fp, #-148]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r2, r1, r3
	ldr	r3, [fp, #-144]
	add	r3, r2, r3
	mov	r2, r0
	strb	r2, [r3]
	ldr	r3, [fp, #-172]
	rsb	r3, r3, #3
	str	r3, [fp, #-140]
	ldr	r3, .L196+12
	sub	ip, fp, #104
	mov	lr, r3
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldm	lr, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	mov	r3, #0
	str	r3, [fp, #-156]
	b	.L188
.L190:
	ldr	r3, [fp, #-156]
	lsl	r3, r3, #3
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r3, [r3, #-100]
	ldr	r2, [fp, #-148]
	add	r3, r2, r3
	str	r3, [fp, #-120]
	ldr	r3, [fp, #-156]
	lsl	r3, r3, #3
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r3, [r3, #-96]
	ldr	r2, [fp, #-144]
	add	r3, r2, r3
	str	r3, [fp, #-116]
	ldr	r3, [fp, #-156]
	lsl	r3, r3, #3
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r3, [r3, #-100]
	ldr	r2, [fp, #-148]
	sub	r3, r2, r3
	str	r3, [fp, #-112]
	ldr	r3, [fp, #-156]
	lsl	r3, r3, #3
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r3, [r3, #-96]
	ldr	r2, [fp, #-144]
	sub	r3, r2, r3
	str	r3, [fp, #-108]
	ldr	r3, [fp, #-120]
	cmp	r3, #0
	blt	.L189
	ldr	r3, [fp, #-120]
	cmp	r3, #11
	bgt	.L189
	ldr	r3, [fp, #-116]
	cmp	r3, #0
	blt	.L189
	ldr	r3, [fp, #-116]
	cmp	r3, #11
	bgt	.L189
	ldr	r3, [fp, #-112]
	cmp	r3, #0
	blt	.L189
	ldr	r3, [fp, #-112]
	cmp	r3, #11
	bgt	.L189
	ldr	r3, [fp, #-108]
	cmp	r3, #0
	blt	.L189
	ldr	r3, [fp, #-108]
	cmp	r3, #11
	bgt	.L189
	ldr	r1, .L196+4
	ldr	r2, [fp, #-120]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r2, r1, r3
	ldr	r3, [fp, #-116]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-140]
	cmp	r3, r2
	bne	.L189
	ldr	r1, .L196+4
	ldr	r2, [fp, #-112]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r2, r1, r3
	ldr	r3, [fp, #-108]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-140]
	cmp	r3, r2
	bne	.L189
	ldr	r3, [fp, #-172]
	and	r0, r3, #255
	ldr	r1, .L196+4
	ldr	r2, [fp, #-120]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r2, r1, r3
	ldr	r3, [fp, #-116]
	add	r3, r2, r3
	mov	r2, r0
	strb	r2, [r3]
	ldr	r3, [fp, #-172]
	and	r0, r3, #255
	ldr	r1, .L196+4
	ldr	r2, [fp, #-112]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r2, r1, r3
	ldr	r3, [fp, #-108]
	add	r3, r2, r3
	mov	r2, r0
	strb	r2, [r3]
.L189:
	ldr	r3, [fp, #-156]
	add	r3, r3, #1
	str	r3, [fp, #-156]
.L188:
	ldr	r3, [fp, #-156]
	cmp	r3, #3
	ble	.L190
	ldr	r3, .L196+16
	sub	ip, fp, #72
	mov	lr, r3
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldm	lr, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	mov	r3, #0
	str	r3, [fp, #-152]
	b	.L191
.L193:
	ldr	r3, [fp, #-152]
	lsl	r3, r3, #3
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r3, [r3, #-68]
	ldr	r2, [fp, #-148]
	add	r3, r2, r3
	str	r3, [fp, #-136]
	ldr	r3, [fp, #-152]
	lsl	r3, r3, #3
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r3, [r3, #-64]
	ldr	r2, [fp, #-144]
	add	r3, r2, r3
	str	r3, [fp, #-132]
	ldr	r3, [fp, #-152]
	lsl	r3, r3, #3
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r3, [r3, #-68]
	lsl	r3, r3, #1
	ldr	r2, [fp, #-148]
	add	r3, r2, r3
	str	r3, [fp, #-128]
	ldr	r3, [fp, #-152]
	lsl	r3, r3, #3
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r3, [r3, #-64]
	lsl	r3, r3, #1
	ldr	r2, [fp, #-144]
	add	r3, r2, r3
	str	r3, [fp, #-124]
	ldr	r3, [fp, #-136]
	cmp	r3, #0
	blt	.L192
	ldr	r3, [fp, #-136]
	cmp	r3, #11
	bgt	.L192
	ldr	r3, [fp, #-132]
	cmp	r3, #0
	blt	.L192
	ldr	r3, [fp, #-132]
	cmp	r3, #11
	bgt	.L192
	ldr	r3, [fp, #-128]
	cmp	r3, #0
	blt	.L192
	ldr	r3, [fp, #-128]
	cmp	r3, #11
	bgt	.L192
	ldr	r3, [fp, #-124]
	cmp	r3, #0
	blt	.L192
	ldr	r3, [fp, #-124]
	cmp	r3, #11
	bgt	.L192
	ldr	r1, .L196+4
	ldr	r2, [fp, #-128]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r2, r1, r3
	ldr	r3, [fp, #-124]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-172]
	cmp	r3, r2
	bne	.L192
	ldr	r1, .L196+4
	ldr	r2, [fp, #-136]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r2, r1, r3
	ldr	r3, [fp, #-132]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-140]
	cmp	r3, r2
	bne	.L192
	ldr	r3, [fp, #-172]
	and	r0, r3, #255
	ldr	r1, .L196+4
	ldr	r2, [fp, #-136]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r2, r1, r3
	ldr	r3, [fp, #-132]
	add	r3, r2, r3
	mov	r2, r0
	strb	r2, [r3]
.L192:
	ldr	r3, [fp, #-152]
	add	r3, r3, #1
	str	r3, [fp, #-152]
.L191:
	ldr	r3, [fp, #-152]
	cmp	r3, #7
	ble	.L193
	mov	r3, #1
.L194:
	ldr	r2, .L196
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L195
	bl	__stack_chk_fail
.L195:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L197:
	.align	2
.L196:
	.word	.LC11
	.word	board
	.word	DIR
	.word	.LC4
	.word	.LC0
	.size	place, .-place
	.global	__aeabi_d2uiz
	.align	2
	.global	start
	.syntax unified
	.arm
	.fpu softvfp
	.type	start, %function
start:
	@ 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]
	mov	r2, #144
	mov	r1, #0
	ldr	r0, .L209
	bl	memset
	mov	r0, #0
	bl	time
	mov	r3, r0
	mov	r0, r3
	bl	srand
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L199
.L204:
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L200
.L203:
	mov	r3, #1
	str	r3, [fp, #-16]
	b	.L201
.L202:
	bl	rand
	mov	r3, r0
	mov	r0, r3
	bl	__aeabi_i2d
	ldr	r2, .L209+4
	ldr	r3, .L209+8
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r2, .L209+4
	ldr	r3, .L209+8
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2uiz
	ldr	ip, .L209+12
	ldr	r3, [fp, #-20]
	ldr	r1, [fp, #-24]
	mov	r2, r3
	lsl	r2, r2, #1
	add	r2, r2, r3
	mov	r3, r1
	lsl	r3, r3, #3
	add	r3, r3, r1
	lsl	r3, r3, #2
	add	r2, r2, r3
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	str	r0, [ip, r3, lsl #2]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L201:
	ldr	r3, [fp, #-16]
	cmp	r3, #2
	ble	.L202
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L200:
	ldr	r3, [fp, #-20]
	cmp	r3, #11
	ble	.L203
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L199:
	ldr	r3, [fp, #-24]
	cmp	r3, #11
	ble	.L204
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L205
.L206:
	ldr	r3, [fp, #-12]
	add	r3, r3, #2
	ldr	r2, .L209
	add	r3, r2, r3
	mov	r2, #2
	strb	r2, [r3, #24]
	ldr	r3, [fp, #-12]
	add	r3, r3, #6
	ldr	r2, .L209
	add	r3, r2, r3
	mov	r2, #2
	strb	r2, [r3, #72]
	ldr	r3, [fp, #-12]
	add	r3, r3, #3
	ldr	r2, .L209
	add	r3, r2, r3
	mov	r2, #1
	strb	r2, [r3, #60]
	ldr	r3, [fp, #-12]
	add	r3, r3, #7
	ldr	r2, .L209
	add	r3, r2, r3
	mov	r2, #1
	strb	r2, [r3, #108]
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L205:
	ldr	r3, [fp, #-12]
	cmp	r3, #2
	ble	.L206
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L207
.L208:
	ldr	r3, [fp, #-8]
	add	r2, r3, #8
	ldr	r1, .L209
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	add	r3, r3, #2
	mov	r2, #2
	strb	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r2, r3, #2
	ldr	r1, .L209
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	add	r3, r3, #9
	mov	r2, #1
	strb	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L207:
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	ble	.L208
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L210:
	.align	2
.L209:
	.word	board
	.word	-4194304
	.word	1105199103
	.word	hashtable
	.size	start, .-start
	.section	.rodata
	.align	2
.LC12:
	.ascii	"%d %d %d\012\000"
	.align	2
.LC13:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	turn
	.syntax unified
	.arm
	.fpu softvfp
	.type	turn, %function
turn:
	@ args = 0, pretend = 0, frame = 176
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #176
	ldr	r3, .L213
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L213+4
	ldr	r2, [r3]
	sub	r3, fp, #180
	ldr	r1, .L213+8
	mov	r0, r3
	bl	aiTurn
	ldr	r0, [fp, #-180]
	ldr	r1, [fp, #-176]
	ldr	r2, [fp, #-168]
	ldr	r3, .L213+4
	ldr	r3, [r3]
	bl	place
	ldr	r1, [fp, #-180]
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-168]
	ldr	r0, .L213+12
	bl	printf
	ldr	r3, .L213+16
	ldr	r3, [r3]
	mov	r0, r3
	bl	fflush
	nop
	ldr	r3, .L213
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L212
	bl	__stack_chk_fail
.L212:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L214:
	.align	2
.L213:
	.word	.LC13
	.word	me_flag
	.word	board
	.word	.LC12
	.word	stdout
	.size	turn, .-turn
	.align	2
	.global	end
	.syntax unified
	.arm
	.fpu softvfp
	.type	end, %function
end:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	end, .-end
	.section	.rodata
	.align	2
.LC14:
	.ascii	"START\000"
	.align	2
.LC15:
	.ascii	"%s %d\000"
	.align	2
.LC16:
	.ascii	"OK\000"
	.align	2
.LC17:
	.ascii	"PLACE\000"
	.align	2
.LC18:
	.ascii	"%s %d %d %d\000"
	.align	2
.LC19:
	.ascii	"TURN\000"
	.align	2
.LC20:
	.ascii	"END\000"
	.align	2
.LC21:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	loop
	.syntax unified
	.arm
	.fpu softvfp
	.type	loop, %function
loop:
	@ args = 0, pretend = 0, frame = 10016
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #9984
	sub	sp, sp, #40
	ldr	r3, .L223
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
.L221:
	ldr	r2, .L223+4
	mov	r1, #0
	ldr	r0, .L223+8
	bl	memset
	ldr	r0, .L223+8
	bl	gets
	ldr	r1, .L223+12
	ldr	r0, .L223+8
	bl	strstr
	mov	r3, r0
	cmp	r3, #0
	beq	.L217
	sub	r3, fp, #8192
	sub	r3, r3, #4
	mov	r2, #0
	str	r2, [r3, #-1812]
	sub	r3, r3, #1808
	ldr	r2, .L223+16
	mov	r1, #0
	mov	r0, r3
	bl	memset
	sub	r2, fp, #9984
	sub	r2, r2, #4
	sub	r2, r2, #20
	ldr	r3, .L223+20
	ldr	r1, .L223+24
	ldr	r0, .L223+8
	bl	__isoc99_sscanf
	ldr	r3, .L223+20
	ldr	r3, [r3]
	rsb	r3, r3, #3
	ldr	r2, .L223+28
	str	r3, [r2]
	ldr	r3, .L223+20
	ldr	r3, [r3]
	mov	r0, r3
	bl	start
	ldr	r0, .L223+32
	bl	puts
	ldr	r3, .L223+36
	ldr	r3, [r3]
	mov	r0, r3
	bl	fflush
	b	.L221
.L217:
	ldr	r1, .L223+40
	ldr	r0, .L223+8
	bl	strstr
	mov	r3, r0
	cmp	r3, #0
	beq	.L219
	sub	r3, fp, #8192
	sub	r3, r3, #4
	mov	r2, #0
	str	r2, [r3, #-1812]
	sub	r3, r3, #1808
	ldr	r2, .L223+16
	mov	r1, #0
	mov	r0, r3
	bl	memset
	sub	r1, fp, #9984
	sub	r1, r1, #4
	sub	r1, r1, #32
	sub	r2, fp, #9984
	sub	r2, r2, #4
	sub	r2, r2, #20
	sub	r3, fp, #9984
	sub	r3, r3, #4
	sub	r3, r3, #24
	str	r3, [sp, #4]
	sub	r3, fp, #9984
	sub	r3, r3, #4
	sub	r3, r3, #28
	str	r3, [sp]
	mov	r3, r1
	ldr	r1, .L223+44
	ldr	r0, .L223+8
	bl	__isoc99_sscanf
	sub	r3, fp, #8192
	sub	r3, r3, #4
	ldr	r0, [r3, #-1824]
	sub	r3, fp, #8192
	sub	r3, r3, #4
	ldr	r1, [r3, #-1820]
	sub	r3, fp, #8192
	sub	r3, r3, #4
	ldr	r2, [r3, #-1816]
	ldr	r3, .L223+28
	ldr	r3, [r3]
	bl	place
	b	.L221
.L219:
	ldr	r1, .L223+48
	ldr	r0, .L223+8
	bl	strstr
	mov	r3, r0
	cmp	r3, #0
	beq	.L220
	bl	turn
	b	.L221
.L220:
	ldr	r1, .L223+52
	ldr	r0, .L223+8
	bl	strstr
	mov	r3, r0
	cmp	r3, #0
	beq	.L221
	sub	r3, fp, #8192
	sub	r3, r3, #4
	mov	r2, #0
	str	r2, [r3, #-1812]
	sub	r3, r3, #1808
	ldr	r2, .L223+16
	mov	r1, #0
	mov	r0, r3
	bl	memset
	sub	r3, fp, #9984
	sub	r3, r3, #4
	sub	r3, r3, #24
	sub	r2, fp, #9984
	sub	r2, r2, #4
	sub	r2, r2, #20
	ldr	r1, .L223+24
	ldr	r0, .L223+8
	bl	__isoc99_sscanf
	sub	r3, fp, #8192
	sub	r3, r3, #4
	ldr	r3, [r3, #-1816]
	mov	r0, r3
	bl	end
	b	.L221
.L224:
	.align	2
.L223:
	.word	.LC21
	.word	10000
	.word	buffer
	.word	.LC14
	.word	9996
	.word	me_flag
	.word	.LC15
	.word	other_flag
	.word	.LC16
	.word	stdout
	.word	.LC17
	.word	.LC18
	.word	.LC19
	.word	.LC20
	.size	loop, .-loop
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	bl	loop
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	main, .-main
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
