	.file	"181394014.c"
	.intel_syntax noprefix
	.text
	.globl	handicap
	.bss
	.align 4
	.type	handicap, @object
	.size	handicap, 4
handicap:
	.zero	4
	.globl	selfplay
	.type	selfplay, @object
	.size	selfplay, 1
selfplay:
	.zero	1
	.globl	h
	.align 32
	.type	h, @object
	.size	h, 32
h:
	.zero	32
	.globl	mine
	.type	mine, @object
	.size	mine, 1
mine:
	.zero	1
	.globl	his
	.type	his, @object
	.size	his, 1
his:
	.zero	1
	.globl	mefirst
	.type	mefirst, @object
	.size	mefirst, 1
mefirst:
	.zero	1
	.text
	.globl	skipbl
	.type	skipbl, @function
skipbl:
.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
	nop
.L2:
	call	getchar@PLT
	mov	edi, eax
	call	toupper@PLT
	mov	BYTE PTR -1[rbp], al
	cmp	BYTE PTR -1[rbp], 32
	je	.L2
	cmp	BYTE PTR -1[rbp], 9
	je	.L2
	movzx	eax, BYTE PTR -1[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	skipbl, .-skipbl
	.globl	chkmv1
	.type	chkmv1, @function
chkmv1:
.LFB7:
	.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 -24[rbp], rdi
	mov	eax, esi
	mov	DWORD PTR -32[rbp], edx
	mov	DWORD PTR -36[rbp], ecx
	mov	DWORD PTR -40[rbp], r8d
	mov	DWORD PTR -44[rbp], r9d
	mov	BYTE PTR -28[rbp], al
	mov	DWORD PTR -4[rbp], 0
	jmp	.L5
.L12:
	mov	eax, DWORD PTR -32[rbp]
	lea	edx, 0[0+rax*8]
	mov	eax, DWORD PTR -36[rbp]
	add	eax, edx
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 45
	jne	.L6
	mov	eax, 0
	jmp	.L7
.L6:
	mov	eax, DWORD PTR -32[rbp]
	lea	edx, 0[0+rax*8]
	mov	eax, DWORD PTR -36[rbp]
	add	eax, edx
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	BYTE PTR -28[rbp], al
	jne	.L8
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L7
.L8:
	cmp	DWORD PTR -32[rbp], 0
	je	.L9
	cmp	DWORD PTR -32[rbp], 7
	je	.L9
	cmp	DWORD PTR -36[rbp], 0
	je	.L9
	cmp	DWORD PTR -36[rbp], 7
	jne	.L10
.L9:
	add	DWORD PTR -4[rbp], 10
	jmp	.L5
.L10:
	add	DWORD PTR -4[rbp], 1
.L5:
	mov	eax, DWORD PTR -40[rbp]
	add	DWORD PTR -32[rbp], eax
	cmp	DWORD PTR -32[rbp], 0
	js	.L11
	cmp	DWORD PTR -32[rbp], 7
	jg	.L11
	mov	eax, DWORD PTR -44[rbp]
	add	DWORD PTR -36[rbp], eax
	cmp	DWORD PTR -36[rbp], 0
	js	.L11
	cmp	DWORD PTR -36[rbp], 7
	jle	.L12
.L11:
	mov	eax, 0
.L7:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	chkmv1, .-chkmv1
	.globl	chkmov
	.type	chkmov, @function
chkmov:
.LFB8:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 24
	.cfi_offset 3, -24
	mov	QWORD PTR -16[rbp], rdi
	mov	eax, esi
	mov	DWORD PTR -24[rbp], edx
	mov	DWORD PTR -28[rbp], ecx
	mov	BYTE PTR -20[rbp], al
	mov	eax, DWORD PTR -24[rbp]
	lea	edx, 0[0+rax*8]
	mov	eax, DWORD PTR -28[rbp]
	add	eax, edx
	movsx	rdx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 45
	je	.L14
	mov	eax, 0
	jmp	.L15
.L14:
	movsx	esi, BYTE PTR -20[rbp]
	mov	ecx, DWORD PTR -28[rbp]
	mov	edx, DWORD PTR -24[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	r9d, 1
	mov	r8d, 0
	mov	rdi, rax
	call	chkmv1
	mov	ebx, eax
	movsx	esi, BYTE PTR -20[rbp]
	mov	ecx, DWORD PTR -28[rbp]
	mov	edx, DWORD PTR -24[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	r9d, 0
	mov	r8d, 1
	mov	rdi, rax
	call	chkmv1
	add	ebx, eax
	movsx	esi, BYTE PTR -20[rbp]
	mov	ecx, DWORD PTR -28[rbp]
	mov	edx, DWORD PTR -24[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	r9d, -1
	mov	r8d, 0
	mov	rdi, rax
	call	chkmv1
	add	ebx, eax
	movsx	esi, BYTE PTR -20[rbp]
	mov	ecx, DWORD PTR -28[rbp]
	mov	edx, DWORD PTR -24[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	r9d, 0
	mov	r8d, -1
	mov	rdi, rax
	call	chkmv1
	add	ebx, eax
	movsx	esi, BYTE PTR -20[rbp]
	mov	ecx, DWORD PTR -28[rbp]
	mov	edx, DWORD PTR -24[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	r9d, 1
	mov	r8d, 1
	mov	rdi, rax
	call	chkmv1
	add	ebx, eax
	movsx	esi, BYTE PTR -20[rbp]
	mov	ecx, DWORD PTR -28[rbp]
	mov	edx, DWORD PTR -24[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	r9d, -1
	mov	r8d, 1
	mov	rdi, rax
	call	chkmv1
	add	ebx, eax
	movsx	esi, BYTE PTR -20[rbp]
	mov	ecx, DWORD PTR -28[rbp]
	mov	edx, DWORD PTR -24[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	r9d, 1
	mov	r8d, -1
	mov	rdi, rax
	call	chkmv1
	add	ebx, eax
	movsx	esi, BYTE PTR -20[rbp]
	mov	ecx, DWORD PTR -28[rbp]
	mov	edx, DWORD PTR -24[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	r9d, -1
	mov	r8d, -1
	mov	rdi, rax
	call	chkmv1
	add	eax, ebx
.L15:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	chkmov, .-chkmov
	.globl	chkmvs
	.type	chkmvs, @function
chkmvs:
.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, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	eax, esi
	mov	BYTE PTR -28[rbp], al
	mov	DWORD PTR -4[rbp], 0
	mov	DWORD PTR -12[rbp], 0
	jmp	.L17
.L20:
	mov	DWORD PTR -8[rbp], 0
	jmp	.L18
.L19:
	movsx	esi, BYTE PTR -28[rbp]
	mov	ecx, DWORD PTR -8[rbp]
	mov	edx, DWORD PTR -12[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	chkmov
	add	DWORD PTR -4[rbp], eax
	add	DWORD PTR -8[rbp], 1
.L18:
	cmp	DWORD PTR -8[rbp], 7
	jle	.L19
	add	DWORD PTR -12[rbp], 1
.L17:
	cmp	DWORD PTR -12[rbp], 7
	jle	.L20
	mov	eax, DWORD PTR -4[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	chkmvs, .-chkmvs
	.globl	cpybrd
	.type	cpybrd, @function
cpybrd:
.LFB10:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, 64
	mov	rsi, rcx
	mov	rdi, rax
	call	memcpy@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	cpybrd, .-cpybrd
	.globl	cntbrd
	.type	cntbrd, @function
cntbrd:
.LFB11:
	.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 -24[rbp], rdi
	mov	eax, esi
	mov	BYTE PTR -28[rbp], al
	mov	DWORD PTR -8[rbp], 64
	mov	DWORD PTR -4[rbp], 0
	jmp	.L24
.L25:
	mov	eax, DWORD PTR -8[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	BYTE PTR -28[rbp], al
	jne	.L24
	add	DWORD PTR -4[rbp], 1
.L24:
	mov	eax, DWORD PTR -8[rbp]
	lea	edx, -1[rax]
	mov	DWORD PTR -8[rbp], edx
	test	eax, eax
	jne	.L25
	mov	eax, DWORD PTR -4[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	cntbrd, .-cntbrd
	.globl	clrbrd
	.type	clrbrd, @function
clrbrd:
.LFB12:
	.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 -24[rbp], rdi
	mov	DWORD PTR -8[rbp], 0
	jmp	.L28
.L31:
	mov	DWORD PTR -4[rbp], 0
	jmp	.L29
.L30:
	mov	eax, DWORD PTR -8[rbp]
	lea	edx, 0[0+rax*8]
	mov	eax, DWORD PTR -4[rbp]
	add	eax, edx
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 45
	add	DWORD PTR -4[rbp], 1
.L29:
	cmp	DWORD PTR -4[rbp], 7
	jle	.L30
	add	DWORD PTR -8[rbp], 1
.L28:
	cmp	DWORD PTR -8[rbp], 7
	jle	.L31
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 36
	mov	BYTE PTR [rax], 42
	mov	rdx, QWORD PTR -24[rbp]
	add	rdx, 27
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 35
	mov	BYTE PTR [rax], 79
	mov	rdx, QWORD PTR -24[rbp]
	add	rdx, 28
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR [rdx], al
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE12:
	.size	clrbrd, .-clrbrd
	.section	.rodata
.LC0:
	.string	"   1 2 3 4 5 6 7 8"
.LC1:
	.string	" %u"
	.text
	.globl	prtbrd
	.type	prtbrd, @function
prtbrd:
.LFB13:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	lea	rdi, .LC0[rip]
	call	puts@PLT
	mov	DWORD PTR -8[rbp], 0
	jmp	.L33
.L36:
	mov	eax, DWORD PTR -8[rbp]
	add	eax, 1
	mov	esi, eax
	lea	rdi, .LC1[rip]
	mov	eax, 0
	call	printf@PLT
	mov	DWORD PTR -4[rbp], 0
	jmp	.L34
.L35:
	mov	edi, 32
	call	putchar@PLT
	mov	eax, DWORD PTR -8[rbp]
	lea	edx, 0[0+rax*8]
	mov	eax, DWORD PTR -4[rbp]
	add	eax, edx
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	edi, eax
	call	putchar@PLT
	add	DWORD PTR -4[rbp], 1
.L34:
	cmp	DWORD PTR -4[rbp], 7
	jle	.L35
	mov	edi, 10
	call	putchar@PLT
	add	DWORD PTR -8[rbp], 1
.L33:
	cmp	DWORD PTR -8[rbp], 7
	jle	.L36
	mov	edi, 10
	call	putchar@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE13:
	.size	prtbrd, .-prtbrd
	.section	.rodata
.LC2:
	.string	"%u-%u"
	.text
	.globl	prtscr
	.type	prtscr, @function
prtscr:
.LFB14:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	movzx	eax, BYTE PTR mine[rip]
	movsx	edx, al
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	cntbrd
	mov	DWORD PTR -8[rbp], eax
	movzx	eax, BYTE PTR his[rip]
	movsx	edx, al
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	cntbrd
	mov	DWORD PTR -4[rbp], eax
	mov	edx, DWORD PTR -8[rbp]
	mov	eax, DWORD PTR -4[rbp]
	mov	esi, eax
	lea	rdi, .LC2[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR -4[rbp]
	sub	eax, DWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE14:
	.size	prtscr, .-prtscr
	.section	.rodata
.LC3:
	.string	"Move: "
.LC4:
	.string	"Move?  "
.LC5:
	.string	"  Huh?? "
	.text
	.globl	getmov
	.type	getmov, @function
getmov:
.LFB15:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	movzx	eax, BYTE PTR selfplay[rip]
	cmp	al, 71
	jne	.L40
	call	getchar@PLT
	test	eax, eax
	jne	.L41
	mov	eax, 71
	jmp	.L42
.L41:
	mov	BYTE PTR selfplay[rip], 32
	call	getchar@PLT
.L40:
	lea	rdi, .LC3[rip]
	mov	eax, 0
	call	printf@PLT
.L68:
	mov	eax, 0
	call	skipbl
	mov	BYTE PTR -2[rbp], al
	movsx	eax, BYTE PTR -2[rbp]
	cmp	eax, 83
	jg	.L43
	cmp	eax, 65
	jge	.L44
	cmp	eax, 4
	je	.L45
	cmp	eax, 10
	je	.L46
	jmp	.L43
.L44:
	sub	eax, 65
	cmp	eax, 18
	ja	.L43
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L48[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L48[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L48:
	.long	.L47-.L48
	.long	.L47-.L48
	.long	.L43-.L48
	.long	.L43-.L48
	.long	.L43-.L48
	.long	.L47-.L48
	.long	.L50-.L48
	.long	.L49-.L48
	.long	.L43-.L48
	.long	.L43-.L48
	.long	.L43-.L48
	.long	.L43-.L48
	.long	.L43-.L48
	.long	.L43-.L48
	.long	.L43-.L48
	.long	.L43-.L48
	.long	.L47-.L48
	.long	.L43-.L48
	.long	.L47-.L48
	.text
.L46:
	lea	rdi, .LC4[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L51
.L50:
	mov	eax, 0
	call	skipbl
	mov	BYTE PTR -2[rbp], al
	cmp	BYTE PTR -2[rbp], 10
	jne	.L69
	mov	BYTE PTR selfplay[rip], 71
	mov	eax, 71
	jmp	.L42
.L47:
	movzx	eax, BYTE PTR -2[rbp]
	mov	BYTE PTR -1[rbp], al
	mov	eax, 0
	call	skipbl
	mov	BYTE PTR -2[rbp], al
	cmp	BYTE PTR -2[rbp], 10
	jne	.L70
	movzx	eax, BYTE PTR -1[rbp]
	jmp	.L42
.L49:
	mov	eax, 0
	call	skipbl
	mov	BYTE PTR -2[rbp], al
	movzx	eax, BYTE PTR -2[rbp]
	mov	BYTE PTR -1[rbp], al
	cmp	BYTE PTR -1[rbp], 45
	jne	.L55
	call	getchar@PLT
	mov	BYTE PTR -2[rbp], al
.L55:
	cmp	BYTE PTR -2[rbp], 48
	jle	.L71
	cmp	BYTE PTR -2[rbp], 52
	jg	.L71
	mov	eax, 0
	call	skipbl
	cmp	al, 10
	jne	.L71
	cmp	BYTE PTR -1[rbp], 45
	jne	.L58
	movsx	edx, BYTE PTR -2[rbp]
	mov	eax, 48
	sub	eax, edx
	jmp	.L59
.L58:
	movsx	eax, BYTE PTR -2[rbp]
	sub	eax, 48
.L59:
	mov	rdx, QWORD PTR -24[rbp]
	mov	DWORD PTR [rdx], eax
	mov	eax, 72
	jmp	.L42
.L45:
	movzx	eax, BYTE PTR -2[rbp]
	jmp	.L42
.L43:
	cmp	BYTE PTR -2[rbp], 48
	jle	.L72
	cmp	BYTE PTR -2[rbp], 56
	jg	.L72
	movsx	eax, BYTE PTR -2[rbp]
	lea	edx, -49[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, 0
	call	skipbl
	mov	BYTE PTR -2[rbp], al
	cmp	BYTE PTR -2[rbp], 48
	jle	.L73
	cmp	BYTE PTR -2[rbp], 56
	jg	.L73
	movsx	eax, BYTE PTR -2[rbp]
	lea	edx, -49[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, 0
	call	skipbl
	mov	BYTE PTR -2[rbp], al
	cmp	BYTE PTR -2[rbp], 10
	jne	.L74
	mov	eax, 77
	jmp	.L42
.L69:
	nop
	jmp	.L64
.L70:
	nop
	jmp	.L64
.L71:
	nop
	jmp	.L64
.L72:
	nop
	jmp	.L64
.L73:
	nop
	jmp	.L64
.L74:
	nop
.L53:
	jmp	.L64
.L66:
	call	getchar@PLT
	mov	BYTE PTR -2[rbp], al
.L64:
	cmp	BYTE PTR -2[rbp], 10
	je	.L65
	cmp	BYTE PTR -2[rbp], 4
	jne	.L66
.L65:
	cmp	BYTE PTR -2[rbp], 4
	jne	.L67
	movzx	eax, BYTE PTR -2[rbp]
	jmp	.L42
.L67:
	lea	rdi, .LC5[rip]
	mov	eax, 0
	call	printf@PLT
.L51:
	jmp	.L68
.L42:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE15:
	.size	getmov, .-getmov
	.section	.rodata
.LC6:
	.string	"%s "
	.text
	.globl	ask
	.type	ask, @function
ask:
.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, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rax
	lea	rdi, .LC6[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 0
	call	skipbl
	mov	BYTE PTR -1[rbp], al
	jmp	.L76
.L78:
	call	getchar@PLT
	mov	BYTE PTR -2[rbp], al
.L76:
	cmp	BYTE PTR -2[rbp], 10
	je	.L77
	cmp	BYTE PTR -2[rbp], 4
	jne	.L78
.L77:
	movzx	eax, BYTE PTR -1[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE16:
	.size	ask, .-ask
	.globl	putmv1
	.type	putmv1, @function
putmv1:
.LFB17:
	.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	eax, esi
	mov	DWORD PTR -16[rbp], edx
	mov	DWORD PTR -20[rbp], ecx
	mov	DWORD PTR -24[rbp], r8d
	mov	DWORD PTR -28[rbp], r9d
	mov	BYTE PTR -12[rbp], al
	jmp	.L81
.L85:
	mov	eax, DWORD PTR -16[rbp]
	lea	edx, 0[0+rax*8]
	mov	eax, DWORD PTR -20[rbp]
	add	eax, edx
	movsx	rdx, eax
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 45
	je	.L86
	mov	eax, DWORD PTR -16[rbp]
	lea	edx, 0[0+rax*8]
	mov	eax, DWORD PTR -20[rbp]
	add	eax, edx
	movsx	rdx, eax
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	BYTE PTR -12[rbp], al
	je	.L86
	mov	eax, DWORD PTR -16[rbp]
	lea	edx, 0[0+rax*8]
	mov	eax, DWORD PTR -20[rbp]
	add	eax, edx
	movsx	rdx, eax
	mov	rax, QWORD PTR -8[rbp]
	add	rdx, rax
	movzx	eax, BYTE PTR -12[rbp]
	mov	BYTE PTR [rdx], al
.L81:
	mov	eax, DWORD PTR -24[rbp]
	add	DWORD PTR -16[rbp], eax
	cmp	DWORD PTR -16[rbp], 0
	js	.L80
	cmp	DWORD PTR -16[rbp], 7
	jg	.L80
	mov	eax, DWORD PTR -28[rbp]
	add	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], 0
	js	.L80
	cmp	DWORD PTR -20[rbp], 7
	jle	.L85
	jmp	.L80
.L86:
	nop
.L80:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE17:
	.size	putmv1, .-putmv1
	.globl	putmov
	.type	putmov, @function
putmov:
.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, 40
	mov	QWORD PTR -24[rbp], rdi
	mov	eax, esi
	mov	DWORD PTR -32[rbp], edx
	mov	DWORD PTR -36[rbp], ecx
	mov	BYTE PTR -28[rbp], al
	mov	eax, DWORD PTR -32[rbp]
	lea	edx, 0[0+rax*8]
	mov	eax, DWORD PTR -36[rbp]
	add	eax, edx
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rdx, rax
	movzx	eax, BYTE PTR -28[rbp]
	mov	BYTE PTR [rdx], al
	mov	DWORD PTR -8[rbp], -1
	jmp	.L88
.L93:
	mov	DWORD PTR -4[rbp], -1
	jmp	.L89
.L92:
	cmp	DWORD PTR -8[rbp], 0
	jne	.L90
	cmp	DWORD PTR -4[rbp], 0
	je	.L91
.L90:
	movsx	esi, BYTE PTR -28[rbp]
	mov	r8d, DWORD PTR -4[rbp]
	mov	edi, DWORD PTR -8[rbp]
	mov	ecx, DWORD PTR -36[rbp]
	mov	edx, DWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	r9d, r8d
	mov	r8d, edi
	mov	rdi, rax
	call	chkmv1
	test	eax, eax
	jle	.L91
	movsx	esi, BYTE PTR -28[rbp]
	mov	r8d, DWORD PTR -4[rbp]
	mov	edi, DWORD PTR -8[rbp]
	mov	ecx, DWORD PTR -36[rbp]
	mov	edx, DWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	r9d, r8d
	mov	r8d, edi
	mov	rdi, rax
	call	putmv1
.L91:
	add	DWORD PTR -4[rbp], 1
.L89:
	cmp	DWORD PTR -4[rbp], 1
	jle	.L92
	add	DWORD PTR -8[rbp], 1
.L88:
	cmp	DWORD PTR -8[rbp], 1
	jle	.L93
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE18:
	.size	putmov, .-putmov
	.globl	notak2
	.type	notak2, @function
notak2:
.LFB19:
	.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	eax, ecx
	mov	DWORD PTR -24[rbp], r8d
	mov	DWORD PTR -28[rbp], r9d
	mov	ecx, esi
	mov	BYTE PTR -12[rbp], cl
	mov	BYTE PTR -16[rbp], dl
	mov	BYTE PTR -20[rbp], al
	mov	eax, DWORD PTR 16[rbp]
	add	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR 24[rbp]
	add	DWORD PTR -28[rbp], eax
	cmp	DWORD PTR -24[rbp], 0
	js	.L100
	cmp	DWORD PTR -24[rbp], 7
	jg	.L100
	cmp	DWORD PTR -28[rbp], 0
	js	.L100
	cmp	DWORD PTR -28[rbp], 7
	jg	.L100
	jmp	.L96
.L99:
	mov	eax, DWORD PTR 16[rbp]
	add	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR 24[rbp]
	add	DWORD PTR -28[rbp], eax
	cmp	DWORD PTR -24[rbp], 0
	js	.L97
	cmp	DWORD PTR -24[rbp], 7
	jg	.L97
	cmp	DWORD PTR -28[rbp], 0
	js	.L97
	cmp	DWORD PTR -28[rbp], 7
	jg	.L97
	mov	eax, DWORD PTR -24[rbp]
	lea	edx, 0[0+rax*8]
	mov	eax, DWORD PTR -28[rbp]
	add	eax, edx
	movsx	rdx, eax
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	BYTE PTR -20[rbp], al
	jne	.L96
.L97:
	movzx	eax, BYTE PTR -16[rbp]
	jmp	.L98
.L96:
	mov	eax, DWORD PTR -24[rbp]
	lea	edx, 0[0+rax*8]
	mov	eax, DWORD PTR -28[rbp]
	add	eax, edx
	movsx	rdx, eax
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L99
	jmp	.L100
.L102:
	mov	eax, DWORD PTR 16[rbp]
	add	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR 24[rbp]
	add	DWORD PTR -28[rbp], eax
.L100:
	cmp	DWORD PTR -24[rbp], 0
	js	.L101
	cmp	DWORD PTR -24[rbp], 7
	jg	.L101
	cmp	DWORD PTR -28[rbp], 0
	js	.L101
	cmp	DWORD PTR -28[rbp], 7
	jg	.L101
	mov	eax, DWORD PTR -24[rbp]
	lea	edx, 0[0+rax*8]
	mov	eax, DWORD PTR -28[rbp]
	add	eax, edx
	movsx	rdx, eax
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	BYTE PTR -12[rbp], al
	je	.L102
.L101:
	cmp	DWORD PTR -24[rbp], 0
	js	.L103
	cmp	DWORD PTR -24[rbp], 7
	jg	.L103
	cmp	DWORD PTR -28[rbp], 0
	js	.L103
	cmp	DWORD PTR -28[rbp], 7
	jle	.L104
.L103:
	movzx	eax, BYTE PTR -12[rbp]
	jmp	.L98
.L104:
	mov	eax, DWORD PTR -24[rbp]
	lea	edx, 0[0+rax*8]
	mov	eax, DWORD PTR -28[rbp]
	add	eax, edx
	movsx	rdx, eax
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
.L98:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE19:
	.size	notak2, .-notak2
	.globl	notak1
	.type	notak1, @function
notak1:
.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, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	eax, ecx
	mov	DWORD PTR -40[rbp], r8d
	mov	DWORD PTR -44[rbp], r9d
	mov	ecx, esi
	mov	BYTE PTR -28[rbp], cl
	mov	BYTE PTR -32[rbp], dl
	mov	BYTE PTR -36[rbp], al
	movsx	ecx, BYTE PTR -36[rbp]
	movsx	edx, BYTE PTR -32[rbp]
	movsx	esi, BYTE PTR -28[rbp]
	mov	r9d, DWORD PTR -44[rbp]
	mov	r8d, DWORD PTR -40[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	edi, DWORD PTR 24[rbp]
	push	rdi
	mov	edi, DWORD PTR 16[rbp]
	push	rdi
	mov	rdi, rax
	call	notak2
	add	rsp, 16
	movsx	eax, al
	mov	DWORD PTR -8[rbp], eax
	mov	eax, DWORD PTR 24[rbp]
	neg	eax
	mov	r8d, eax
	mov	eax, DWORD PTR 16[rbp]
	neg	eax
	mov	edi, eax
	movsx	ecx, BYTE PTR -36[rbp]
	movsx	edx, BYTE PTR -32[rbp]
	movsx	esi, BYTE PTR -28[rbp]
	mov	r9d, DWORD PTR -44[rbp]
	mov	r10d, DWORD PTR -40[rbp]
	mov	rax, QWORD PTR -24[rbp]
	push	r8
	push	rdi
	mov	r8d, r10d
	mov	rdi, rax
	call	notak2
	add	rsp, 16
	movsx	eax, al
	mov	DWORD PTR -4[rbp], eax
	movsx	eax, BYTE PTR -32[rbp]
	cmp	DWORD PTR -8[rbp], eax
	jne	.L106
	movsx	eax, BYTE PTR -36[rbp]
	cmp	DWORD PTR -4[rbp], eax
	je	.L107
.L106:
	movsx	eax, BYTE PTR -36[rbp]
	cmp	DWORD PTR -8[rbp], eax
	jne	.L108
	movsx	eax, BYTE PTR -32[rbp]
	cmp	DWORD PTR -4[rbp], eax
	je	.L107
.L108:
	mov	eax, 1
	jmp	.L109
.L107:
	mov	eax, 0
.L109:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE20:
	.size	notak1, .-notak1
	.globl	notake
	.type	notake, @function
notake:
.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, 32
	mov	QWORD PTR -8[rbp], rdi
	mov	eax, ecx
	mov	DWORD PTR -24[rbp], r8d
	mov	DWORD PTR -28[rbp], r9d
	mov	ecx, esi
	mov	BYTE PTR -12[rbp], cl
	mov	BYTE PTR -16[rbp], dl
	mov	BYTE PTR -20[rbp], al
	movsx	ecx, BYTE PTR -20[rbp]
	movsx	edx, BYTE PTR -16[rbp]
	movsx	esi, BYTE PTR -12[rbp]
	mov	r8d, DWORD PTR -28[rbp]
	mov	edi, DWORD PTR -24[rbp]
	mov	rax, QWORD PTR -8[rbp]
	push	1
	push	0
	mov	r9d, r8d
	mov	r8d, edi
	mov	rdi, rax
	call	notak1
	add	rsp, 16
	test	al, al
	je	.L112
	movsx	ecx, BYTE PTR -20[rbp]
	movsx	edx, BYTE PTR -16[rbp]
	movsx	esi, BYTE PTR -12[rbp]
	mov	r8d, DWORD PTR -28[rbp]
	mov	edi, DWORD PTR -24[rbp]
	mov	rax, QWORD PTR -8[rbp]
	push	1
	push	1
	mov	r9d, r8d
	mov	r8d, edi
	mov	rdi, rax
	call	notak1
	add	rsp, 16
	test	al, al
	je	.L112
	movsx	ecx, BYTE PTR -20[rbp]
	movsx	edx, BYTE PTR -16[rbp]
	movsx	esi, BYTE PTR -12[rbp]
	mov	r8d, DWORD PTR -28[rbp]
	mov	edi, DWORD PTR -24[rbp]
	mov	rax, QWORD PTR -8[rbp]
	push	0
	push	1
	mov	r9d, r8d
	mov	r8d, edi
	mov	rdi, rax
	call	notak1
	add	rsp, 16
	test	al, al
	je	.L112
	movsx	ecx, BYTE PTR -20[rbp]
	movsx	edx, BYTE PTR -16[rbp]
	movsx	esi, BYTE PTR -12[rbp]
	mov	r8d, DWORD PTR -28[rbp]
	mov	edi, DWORD PTR -24[rbp]
	mov	rax, QWORD PTR -8[rbp]
	push	-1
	push	1
	mov	r9d, r8d
	mov	r8d, edi
	mov	rdi, rax
	call	notak1
	add	rsp, 16
	test	al, al
	je	.L112
	mov	eax, 1
	jmp	.L113
.L112:
	mov	eax, 0
.L113:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE21:
	.size	notake, .-notake
	.globl	s_move
	.type	s_move, @function
s_move:
.LFB22:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 144
	mov	QWORD PTR -120[rbp], rdi
	mov	eax, ecx
	mov	DWORD PTR -136[rbp], r8d
	mov	DWORD PTR -140[rbp], r9d
	mov	ecx, esi
	mov	BYTE PTR -124[rbp], cl
	mov	BYTE PTR -128[rbp], dl
	mov	BYTE PTR -132[rbp], al
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rdx, QWORD PTR -120[rbp]
	lea	rax, -80[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	cpybrd
	movsx	esi, BYTE PTR -124[rbp]
	mov	ecx, DWORD PTR -140[rbp]
	mov	edx, DWORD PTR -136[rbp]
	lea	rax, -80[rbp]
	mov	rdi, rax
	call	putmov
	mov	DWORD PTR -96[rbp], 0
	cmp	DWORD PTR -136[rbp], 0
	je	.L116
	cmp	DWORD PTR -136[rbp], 7
	jne	.L117
.L116:
	add	DWORD PTR -96[rbp], 1
.L117:
	cmp	DWORD PTR -140[rbp], 0
	je	.L118
	cmp	DWORD PTR -140[rbp], 7
	jne	.L119
.L118:
	add	DWORD PTR -96[rbp], 1
.L119:
	mov	DWORD PTR -108[rbp], 0
	mov	DWORD PTR -112[rbp], 0
	cmp	DWORD PTR -96[rbp], 2
	je	.L120
	movsx	ecx, BYTE PTR -132[rbp]
	movsx	edx, BYTE PTR -128[rbp]
	movsx	esi, BYTE PTR -124[rbp]
	mov	r8d, DWORD PTR -140[rbp]
	mov	edi, DWORD PTR -136[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	r9d, r8d
	mov	r8d, edi
	mov	rdi, rax
	call	notake
	test	al, al
	je	.L121
.L120:
	add	DWORD PTR -112[rbp], 1
.L121:
	mov	DWORD PTR -92[rbp], 0
	mov	DWORD PTR -104[rbp], 0
	jmp	.L122
.L133:
	mov	DWORD PTR -100[rbp], 0
	jmp	.L123
.L132:
	movsx	esi, BYTE PTR -128[rbp]
	mov	ecx, DWORD PTR -100[rbp]
	mov	edx, DWORD PTR -104[rbp]
	lea	rax, -80[rbp]
	mov	rdi, rax
	call	chkmov
	mov	DWORD PTR -84[rbp], eax
	cmp	DWORD PTR -84[rbp], 0
	je	.L148
	mov	DWORD PTR -88[rbp], 1
	cmp	DWORD PTR -104[rbp], 0
	je	.L126
	cmp	DWORD PTR -104[rbp], 7
	jne	.L127
.L126:
	add	DWORD PTR -88[rbp], 2
	or	DWORD PTR -92[rbp], 4
.L127:
	cmp	DWORD PTR -100[rbp], 0
	je	.L128
	cmp	DWORD PTR -100[rbp], 7
	jne	.L129
.L128:
	add	DWORD PTR -88[rbp], 2
	or	DWORD PTR -92[rbp], 4
.L129:
	cmp	DWORD PTR -88[rbp], 5
	jne	.L130
	mov	DWORD PTR -88[rbp], 10
	or	DWORD PTR -92[rbp], 16
	jmp	.L131
.L130:
	movsx	ecx, BYTE PTR -132[rbp]
	movsx	edx, BYTE PTR -124[rbp]
	movsx	esi, BYTE PTR -128[rbp]
	mov	r8d, DWORD PTR -100[rbp]
	mov	edi, DWORD PTR -104[rbp]
	lea	rax, -80[rbp]
	mov	r9d, r8d
	mov	r8d, edi
	mov	rdi, rax
	call	notake
	test	al, al
	je	.L149
.L131:
	or	DWORD PTR -92[rbp], 1
	mov	eax, DWORD PTR -88[rbp]
	sub	DWORD PTR -108[rbp], eax
	cmp	DWORD PTR -84[rbp], 9
	jle	.L125
	sub	DWORD PTR -108[rbp], 4
	or	DWORD PTR -92[rbp], 8
	jmp	.L125
.L148:
	nop
	jmp	.L125
.L149:
	nop
.L125:
	add	DWORD PTR -100[rbp], 1
.L123:
	cmp	DWORD PTR -100[rbp], 7
	jle	.L132
	add	DWORD PTR -104[rbp], 1
.L122:
	cmp	DWORD PTR -104[rbp], 7
	jle	.L133
	mov	eax, DWORD PTR -92[rbp]
	neg	eax
	cmp	DWORD PTR -108[rbp], eax
	jge	.L134
	mov	eax, DWORD PTR -92[rbp]
	neg	eax
	mov	DWORD PTR -108[rbp], eax
.L134:
	cmp	DWORD PTR -96[rbp], 0
	jle	.L135
	mov	eax, DWORD PTR -108[rbp]
	mov	edx, eax
	mov	eax, DWORD PTR -96[rbp]
	add	edx, eax
	mov	eax, DWORD PTR -112[rbp]
	mov	ecx, eax
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	add	eax, eax
	add	eax, edx
	sub	eax, 7
	jmp	.L146
.L135:
	cmp	DWORD PTR -136[rbp], 1
	je	.L137
	cmp	DWORD PTR -136[rbp], 6
	jne	.L138
.L137:
	sub	DWORD PTR -108[rbp], 1
	add	DWORD PTR -96[rbp], 1
.L138:
	cmp	DWORD PTR -140[rbp], 1
	je	.L139
	cmp	DWORD PTR -140[rbp], 6
	jne	.L140
.L139:
	sub	DWORD PTR -108[rbp], 1
	add	DWORD PTR -96[rbp], 1
.L140:
	cmp	DWORD PTR -96[rbp], 0
	jle	.L141
	mov	eax, DWORD PTR -108[rbp]
	jmp	.L146
.L141:
	cmp	DWORD PTR -136[rbp], 2
	je	.L142
	cmp	DWORD PTR -136[rbp], 5
	jne	.L143
.L142:
	add	DWORD PTR -108[rbp], 1
.L143:
	cmp	DWORD PTR -140[rbp], 2
	je	.L144
	cmp	DWORD PTR -140[rbp], 5
	jne	.L145
.L144:
	add	DWORD PTR -108[rbp], 1
.L145:
	mov	eax, DWORD PTR -108[rbp]
.L146:
	mov	rdi, QWORD PTR -8[rbp]
	sub	rdi, QWORD PTR fs:40
	je	.L147
	call	__stack_chk_fail@PLT
.L147:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE22:
	.size	s_move, .-s_move
	.globl	fillmt
	.type	fillmt, @function
fillmt:
.LFB23:
	.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, 56
	.cfi_offset 3, -24
	mov	QWORD PTR -40[rbp], rdi
	mov	eax, ecx
	mov	QWORD PTR -64[rbp], r8
	mov	ecx, esi
	mov	BYTE PTR -44[rbp], cl
	mov	BYTE PTR -48[rbp], dl
	mov	BYTE PTR -52[rbp], al
	mov	DWORD PTR -20[rbp], 0
	mov	DWORD PTR -28[rbp], 0
	jmp	.L151
.L155:
	mov	DWORD PTR -24[rbp], 0
	jmp	.L152
.L154:
	movsx	esi, BYTE PTR -44[rbp]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -64[rbp]
	lea	rbx, [rdx+rax]
	mov	ecx, DWORD PTR -24[rbp]
	mov	edx, DWORD PTR -28[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	chkmov
	mov	DWORD PTR 8[rbx], eax
	mov	eax, DWORD PTR 8[rbx]
	test	eax, eax
	je	.L153
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -64[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -28[rbp]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -64[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -24[rbp]
	mov	DWORD PTR 4[rdx], eax
	movsx	ecx, BYTE PTR -52[rbp]
	movsx	edx, BYTE PTR -48[rbp]
	movsx	esi, BYTE PTR -44[rbp]
	mov	r8d, DWORD PTR -24[rbp]
	mov	edi, DWORD PTR -28[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	r9d, r8d
	mov	r8d, edi
	mov	rdi, rax
	call	s_move
	mov	edx, DWORD PTR -20[rbp]
	movsx	rdx, edx
	mov	rcx, rdx
	sal	rcx, 4
	mov	rdx, QWORD PTR -64[rbp]
	add	rdx, rcx
	movsx	eax, al
	mov	DWORD PTR 12[rdx], eax
	add	DWORD PTR -20[rbp], 1
.L153:
	add	DWORD PTR -24[rbp], 1
.L152:
	cmp	DWORD PTR -24[rbp], 7
	jle	.L154
	add	DWORD PTR -28[rbp], 1
.L151:
	cmp	DWORD PTR -28[rbp], 7
	jle	.L155
	mov	eax, DWORD PTR -20[rbp]
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE23:
	.size	fillmt, .-fillmt
	.globl	analyze
	.type	analyze, @function
analyze:
.LFB24:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 1152
	mov	QWORD PTR -1128[rbp], rdi
	mov	eax, ecx
	mov	ecx, esi
	mov	BYTE PTR -1132[rbp], cl
	mov	BYTE PTR -1136[rbp], dl
	mov	BYTE PTR -1140[rbp], al
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	movsx	ecx, BYTE PTR -1140[rbp]
	movsx	edx, BYTE PTR -1136[rbp]
	movsx	esi, BYTE PTR -1132[rbp]
	lea	rdi, -1104[rbp]
	mov	rax, QWORD PTR -1128[rbp]
	mov	r8, rdi
	mov	rdi, rax
	call	fillmt
	mov	DWORD PTR -1112[rbp], eax
	mov	rdx, QWORD PTR -1128[rbp]
	lea	rax, -80[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	cpybrd
	mov	DWORD PTR -1116[rbp], 0
	jmp	.L158
.L161:
	mov	eax, DWORD PTR -1116[rbp]
	cdqe
	sal	rax, 4
	add	rax, rbp
	sub	rax, 1092
	mov	edx, DWORD PTR [rax]
	mov	eax, 70
	sub	eax, edx
	mov	DWORD PTR -1108[rbp], eax
	cmp	DWORD PTR -1108[rbp], 90
	jg	.L159
	mov	eax, DWORD PTR -1108[rbp]
	mov	edx, eax
	jmp	.L160
.L159:
	mov	edx, 90
.L160:
	mov	eax, DWORD PTR -1116[rbp]
	cdqe
	sal	rax, 4
	add	rax, rbp
	sub	rax, 1104
	mov	eax, DWORD PTR [rax]
	lea	ecx, 0[0+rax*8]
	mov	eax, DWORD PTR -1116[rbp]
	cdqe
	sal	rax, 4
	add	rax, rbp
	sub	rax, 1100
	mov	eax, DWORD PTR [rax]
	add	eax, ecx
	cdqe
	mov	BYTE PTR -80[rbp+rax], dl
	add	DWORD PTR -1116[rbp], 1
.L158:
	mov	eax, DWORD PTR -1116[rbp]
	cmp	eax, DWORD PTR -1112[rbp]
	jl	.L161
	lea	rax, -80[rbp]
	mov	rdi, rax
	call	prtbrd
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L162
	call	__stack_chk_fail@PLT
.L162:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE24:
	.size	analyze, .-analyze
	.globl	cmpmov
	.type	cmpmov, @function
cmpmov:
.LFB25:
	.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 -8[rbp]
	mov	edx, DWORD PTR 12[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 12[rax]
	cmp	edx, eax
	jle	.L164
	mov	eax, -1
	jmp	.L165
.L164:
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 12[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 12[rax]
	cmp	edx, eax
	jge	.L166
	mov	eax, 1
	jmp	.L165
.L166:
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	edx, eax
	jle	.L167
	mov	eax, -1
	jmp	.L165
.L167:
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	edx, eax
	jge	.L168
	mov	eax, 1
	jmp	.L165
.L168:
	mov	eax, 0
.L165:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE25:
	.size	cmpmov, .-cmpmov
	.globl	my_mov
	.type	my_mov, @function
my_mov:
.LFB26:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 1104
	mov	QWORD PTR -1064[rbp], rdi
	mov	eax, ecx
	mov	QWORD PTR -1088[rbp], r8
	mov	QWORD PTR -1096[rbp], r9
	mov	ecx, esi
	mov	BYTE PTR -1068[rbp], cl
	mov	BYTE PTR -1072[rbp], dl
	mov	BYTE PTR -1076[rbp], al
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	movsx	ecx, BYTE PTR -1076[rbp]
	movsx	edx, BYTE PTR -1072[rbp]
	movsx	esi, BYTE PTR -1068[rbp]
	lea	rdi, -1040[rbp]
	mov	rax, QWORD PTR -1064[rbp]
	mov	r8, rdi
	mov	rdi, rax
	call	fillmt
	mov	DWORD PTR -1044[rbp], eax
	cmp	DWORD PTR -1044[rbp], 0
	jne	.L170
	mov	eax, 0
	jmp	.L175
.L170:
	mov	eax, DWORD PTR -1044[rbp]
	movsx	rsi, eax
	lea	rax, -1040[rbp]
	lea	rcx, cmpmov[rip]
	mov	edx, 16
	mov	rdi, rax
	call	qsort@PLT
	mov	DWORD PTR -1048[rbp], 1
	jmp	.L172
.L174:
	mov	eax, DWORD PTR -1048[rbp]
	cdqe
	sal	rax, 4
	add	rax, rbp
	sub	rax, 1028
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -1028[rbp]
	cmp	edx, eax
	jne	.L173
	mov	eax, DWORD PTR -1048[rbp]
	cdqe
	sal	rax, 4
	add	rax, rbp
	sub	rax, 1032
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -1032[rbp]
	cmp	edx, eax
	jne	.L173
	add	DWORD PTR -1048[rbp], 1
.L172:
	mov	eax, DWORD PTR -1048[rbp]
	cmp	eax, DWORD PTR -1044[rbp]
	jl	.L174
.L173:
	call	rand@PLT
	cdq
	idiv	DWORD PTR -1048[rbp]
	mov	DWORD PTR -1044[rbp], edx
	mov	eax, DWORD PTR -1044[rbp]
	cdqe
	sal	rax, 4
	add	rax, rbp
	sub	rax, 1040
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -1088[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, DWORD PTR -1044[rbp]
	cdqe
	sal	rax, 4
	add	rax, rbp
	sub	rax, 1036
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -1096[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, 1
.L175:
	mov	rdi, QWORD PTR -8[rbp]
	sub	rdi, QWORD PTR fs:40
	je	.L176
	call	__stack_chk_fail@PLT
.L176:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE26:
	.size	my_mov, .-my_mov
	.section	.rodata
.LC7:
	.string	"I go first:"
.LC8:
	.string	"You go first:"
.LC9:
	.string	"Forfeit"
.LC10:
	.string	"   ...Forfeit\n"
.LC11:
	.string	" You're winning"
.LC12:
	.string	" You're losing!"
.LC13:
	.string	"Illegal!"
.LC14:
	.string	"   ...%u-%u\n"
.LC15:
	.string	"...Forfeit\n"
.LC16:
	.string	"Forfeit...\n"
.LC17:
	.string	"...%u-%u\n"
.LC18:
	.string	"%u-%u...\n"
	.text
	.globl	game
	.type	game, @function
game:
.LFB27:
	.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	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR handicap[rip], 0
	mov	BYTE PTR selfplay[rip], 32
	mov	DWORD PTR -12[rbp], 0
	movzx	eax, BYTE PTR mefirst[rip]
	test	al, al
	je	.L178
	mov	BYTE PTR mine[rip], 42
	mov	BYTE PTR his[rip], 79
	lea	rdi, .LC7[rip]
	call	puts@PLT
	jmp	.L227
.L178:
	mov	BYTE PTR mine[rip], 79
	mov	BYTE PTR his[rip], 42
	lea	rdi, .LC8[rip]
	call	puts@PLT
.L227:
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, 45
	mov	rdi, rax
	call	cntbrd
	test	eax, eax
	jne	.L180
	mov	eax, 68
	jmp	.L228
.L180:
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, 45
	mov	rdi, rax
	call	cntbrd
	cmp	eax, 60
	jne	.L182
	movzx	eax, BYTE PTR mine[rip]
	cmp	al, 42
	je	.L230
.L182:
	movzx	eax, BYTE PTR his[rip]
	movsx	edx, al
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	chkmvs
	test	eax, eax
	jne	.L184
	movzx	eax, BYTE PTR mefirst[rip]
	test	al, al
	jne	.L185
	lea	rax, .LC9[rip]
	jmp	.L186
.L185:
	lea	rax, .LC10[rip]
.L186:
	mov	rdi, rax
	mov	eax, 0
	call	printf@PLT
	or	DWORD PTR -12[rbp], 1
	jmp	.L183
.L184:
	lea	rdx, -16[rbp]
	lea	rax, -20[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	getmov
	mov	BYTE PTR -21[rbp], al
	movsx	eax, BYTE PTR -21[rbp]
	cmp	eax, 4
	je	.L187
	cmp	eax, 4
	jl	.L183
	cmp	eax, 83
	jg	.L183
	cmp	eax, 65
	jl	.L183
	sub	eax, 65
	cmp	eax, 18
	ja	.L183
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L189[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L189[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L189:
	.long	.L195-.L189
	.long	.L194-.L189
	.long	.L183-.L189
	.long	.L183-.L189
	.long	.L183-.L189
	.long	.L193-.L189
	.long	.L192-.L189
	.long	.L191-.L189
	.long	.L183-.L189
	.long	.L183-.L189
	.long	.L183-.L189
	.long	.L183-.L189
	.long	.L190-.L189
	.long	.L183-.L189
	.long	.L183-.L189
	.long	.L183-.L189
	.long	.L187-.L189
	.long	.L183-.L189
	.long	.L188-.L189
	.text
.L194:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	prtbrd
	jmp	.L196
.L188:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	prtscr
	mov	DWORD PTR -20[rbp], eax
	mov	eax, DWORD PTR -20[rbp]
	test	eax, eax
	jle	.L197
	lea	rdi, .LC11[rip]
	call	puts@PLT
	jmp	.L196
.L197:
	mov	eax, DWORD PTR -20[rbp]
	test	eax, eax
	jns	.L199
	lea	rdi, .LC12[rip]
	call	puts@PLT
	jmp	.L196
.L199:
	mov	edi, 10
	call	putchar@PLT
	jmp	.L196
.L187:
	movsx	eax, BYTE PTR -21[rbp]
	jmp	.L228
.L191:
	mov	eax, DWORD PTR handicap[rip]
	lea	edx, 4[rax]
	mov	eax, DWORD PTR -44[rbp]
	cmp	edx, eax
	jnb	.L200
	lea	rdi, .LC13[rip]
	call	puts@PLT
	jmp	.L201
.L200:
	mov	DWORD PTR -16[rbp], 0
	jmp	.L202
.L209:
	mov	eax, DWORD PTR -20[rbp]
	test	eax, eax
	jle	.L203
	mov	ecx, 42
	jmp	.L204
.L203:
	mov	ecx, 79
.L204:
	mov	eax, DWORD PTR -16[rbp]
	add	eax, eax
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, h[rip]
	mov	eax, DWORD PTR [rdx+rax]
	lea	esi, 0[0+rax*8]
	mov	eax, DWORD PTR -16[rbp]
	add	eax, 1
	add	eax, eax
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, h[rip]
	mov	eax, DWORD PTR [rdx+rax]
	add	eax, esi
	movsx	rdx, eax
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], cl
	mov	eax, DWORD PTR -20[rbp]
	test	eax, eax
	jle	.L205
	mov	edx, 1
	jmp	.L206
.L205:
	mov	edx, -1
.L206:
	mov	eax, DWORD PTR handicap[rip]
	add	eax, edx
	mov	DWORD PTR handicap[rip], eax
	add	DWORD PTR -44[rbp], 1
	mov	eax, DWORD PTR -20[rbp]
	test	eax, eax
	jle	.L207
	mov	edx, -1
	jmp	.L208
.L207:
	mov	edx, 1
.L208:
	mov	eax, DWORD PTR -20[rbp]
	add	eax, edx
	mov	DWORD PTR -20[rbp], eax
	mov	eax, DWORD PTR -16[rbp]
	add	eax, 1
	mov	DWORD PTR -16[rbp], eax
.L202:
	mov	eax, DWORD PTR -20[rbp]
	test	eax, eax
	jne	.L209
.L201:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	prtbrd
	jmp	.L196
.L195:
	movzx	eax, BYTE PTR mine[rip]
	movsx	edx, al
	movzx	eax, BYTE PTR his[rip]
	movsx	esi, al
	mov	rax, QWORD PTR -40[rbp]
	mov	ecx, 45
	mov	rdi, rax
	call	analyze
	jmp	.L196
.L192:
	movzx	eax, BYTE PTR mine[rip]
	movsx	edx, al
	movzx	eax, BYTE PTR his[rip]
	movsx	esi, al
	lea	rdi, -16[rbp]
	lea	rcx, -20[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	r9, rdi
	mov	r8, rcx
	mov	ecx, 45
	mov	rdi, rax
	call	my_mov
.L190:
	mov	ecx, DWORD PTR -16[rbp]
	mov	edx, DWORD PTR -20[rbp]
	movzx	eax, BYTE PTR his[rip]
	movsx	esi, al
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	chkmov
	test	eax, eax
	jle	.L210
	mov	eax, DWORD PTR -16[rbp]
	lea	edx, 1[rax]
	mov	eax, DWORD PTR -20[rbp]
	lea	ecx, 1[rax]
	movzx	eax, BYTE PTR mefirst[rip]
	test	al, al
	jne	.L211
	lea	rax, .LC2[rip]
	jmp	.L212
.L211:
	lea	rax, .LC14[rip]
.L212:
	mov	esi, ecx
	mov	rdi, rax
	mov	eax, 0
	call	printf@PLT
	mov	ecx, DWORD PTR -16[rbp]
	mov	edx, DWORD PTR -20[rbp]
	movzx	eax, BYTE PTR his[rip]
	movsx	esi, al
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	putmov
	jmp	.L183
.L210:
	lea	rdi, .LC13[rip]
	call	puts@PLT
	jmp	.L196
.L193:
	mov	eax, DWORD PTR handicap[rip]
	lea	edx, 4[rax]
	mov	eax, DWORD PTR -44[rbp]
	cmp	edx, eax
	jnb	.L214
	lea	rdi, .LC13[rip]
	call	puts@PLT
	jmp	.L196
.L214:
	movzx	eax, BYTE PTR mefirst[rip]
	test	al, al
	jne	.L215
	lea	rax, .LC9[rip]
	jmp	.L216
.L215:
	lea	rax, .LC10[rip]
.L216:
	mov	rdi, rax
	mov	eax, 0
	call	printf@PLT
	jmp	.L183
.L230:
	nop
.L183:
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, 45
	mov	rdi, rax
	call	cntbrd
	test	eax, eax
	jne	.L217
	mov	eax, 68
	jmp	.L228
.L217:
	movzx	eax, BYTE PTR mine[rip]
	movsx	edx, al
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	chkmvs
	test	eax, eax
	jne	.L218
	movzx	eax, BYTE PTR mefirst[rip]
	test	al, al
	jne	.L219
	lea	rax, .LC15[rip]
	jmp	.L220
.L219:
	lea	rax, .LC16[rip]
.L220:
	mov	rdi, rax
	mov	eax, 0
	call	printf@PLT
	or	DWORD PTR -12[rbp], 2
	jmp	.L221
.L218:
	movzx	eax, BYTE PTR his[rip]
	movsx	edx, al
	movzx	eax, BYTE PTR mine[rip]
	movsx	esi, al
	lea	rdi, -16[rbp]
	lea	rcx, -20[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	r9, rdi
	mov	r8, rcx
	mov	ecx, 45
	mov	rdi, rax
	call	my_mov
	mov	eax, DWORD PTR -16[rbp]
	lea	edx, 1[rax]
	mov	eax, DWORD PTR -20[rbp]
	lea	ecx, 1[rax]
	movzx	eax, BYTE PTR mefirst[rip]
	test	al, al
	jne	.L222
	lea	rax, .LC17[rip]
	jmp	.L223
.L222:
	lea	rax, .LC18[rip]
.L223:
	mov	esi, ecx
	mov	rdi, rax
	mov	eax, 0
	call	printf@PLT
	mov	ecx, DWORD PTR -16[rbp]
	mov	edx, DWORD PTR -20[rbp]
	movzx	eax, BYTE PTR mine[rip]
	movsx	esi, al
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	putmov
	add	DWORD PTR -44[rbp], 1
.L221:
	cmp	DWORD PTR -12[rbp], 3
	je	.L224
	cmp	DWORD PTR -44[rbp], 64
	jle	.L225
.L224:
	mov	eax, 68
	jmp	.L228
.L225:
	mov	eax, DWORD PTR -12[rbp]
	and	eax, 1
	test	eax, eax
	jne	.L226
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	prtbrd
.L226:
	mov	DWORD PTR -12[rbp], 0
.L196:
	jmp	.L227
.L228:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L229
	call	__stack_chk_fail@PLT
.L229:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE27:
	.size	game, .-game
	.section	.rodata
	.align 8
.LC19:
	.string	"%c\nWelcome to the OTHELLO program!\n"
	.align 8
.LC20:
	.string	"\nNote: BLACK ALWAYS GOES FIRST   ...Good luck!!!\n\n"
.LC21:
	.string	"Do you want to go first? "
.LC22:
	.string	" You won by %d\n"
.LC23:
	.string	" You lost by %d\n"
.LC24:
	.string	" A draw"
.LC25:
	.string	"Another game? "
	.text
	.globl	main
	.type	main, @function
main:
.LFB28:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR h[rip+28], 0
	mov	eax, DWORD PTR h[rip+28]
	mov	DWORD PTR h[rip+16], eax
	mov	eax, DWORD PTR h[rip+16]
	mov	DWORD PTR h[rip+4], eax
	mov	eax, DWORD PTR h[rip+4]
	mov	DWORD PTR h[rip], eax
	mov	DWORD PTR h[rip+24], 7
	mov	eax, DWORD PTR h[rip+24]
	mov	DWORD PTR h[rip+20], eax
	mov	eax, DWORD PTR h[rip+20]
	mov	DWORD PTR h[rip+12], eax
	mov	eax, DWORD PTR h[rip+12]
	mov	DWORD PTR h[rip+8], eax
	mov	esi, 12
	lea	rdi, .LC19[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdi, .LC20[rip]
	call	puts@PLT
	lea	rdi, .LC21[rip]
	mov	eax, 0
	call	printf@PLT
	call	getchar@PLT
	mov	edi, eax
	call	toupper@PLT
	cmp	eax, 89
	jne	.L232
	mov	BYTE PTR mefirst[rip], 0
	jmp	.L240
.L232:
	mov	BYTE PTR mefirst[rip], 1
.L240:
	lea	rax, -80[rbp]
	mov	rdi, rax
	call	clrbrd
	mov	edi, 10
	call	putchar@PLT
	lea	rax, -80[rbp]
	mov	rdi, rax
	call	prtbrd
	lea	rax, -80[rbp]
	mov	esi, 4
	mov	rdi, rax
	call	game
	mov	DWORD PTR -84[rbp], eax
	movzx	eax, BYTE PTR mefirst[rip]
	test	al, al
	sete	al
	mov	BYTE PTR mefirst[rip], al
	cmp	DWORD PTR -84[rbp], 4
	je	.L243
	cmp	DWORD PTR -84[rbp], 81
	je	.L244
	mov	edi, 10
	call	putchar@PLT
	lea	rax, -80[rbp]
	mov	rdi, rax
	call	prtscr
	mov	DWORD PTR -84[rbp], eax
	cmp	DWORD PTR -84[rbp], 0
	jle	.L238
	mov	eax, DWORD PTR -84[rbp]
	mov	esi, eax
	lea	rdi, .LC22[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L237
.L238:
	cmp	DWORD PTR -84[rbp], 0
	jns	.L239
	mov	eax, DWORD PTR -84[rbp]
	neg	eax
	mov	esi, eax
	lea	rdi, .LC23[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L237
.L239:
	lea	rdi, .LC24[rip]
	call	puts@PLT
	jmp	.L237
.L244:
	nop
.L237:
	lea	rdi, .LC25[rip]
	call	ask
	cmp	al, 89
	je	.L240
	jmp	.L235
.L243:
	nop
.L235:
	mov	eax, 0
	mov	rdx, QWORD PTR -8[rbp]
	sub	rdx, QWORD PTR fs:40
	je	.L242
	call	__stack_chk_fail@PLT
.L242:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE28:
	.size	main, .-main
	.ident	"GCC: (Ubuntu 10.5.0-1ubuntu1~20.04) 10.5.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	 1f - 0f
	.long	 4f - 1f
	.long	 5
0:
	.string	 "GNU"
1:
	.align 8
	.long	 0xc0000002
	.long	 3f - 2f
2:
	.long	 0x3
3:
	.align 8
4:

	.arch armv5t
	.eabi_attribute 20, 1
	.eabi_attribute 21, 1
	.eabi_attribute 23, 3
	.eabi_attribute 24, 1
	.eabi_attribute 25, 1
	.eabi_attribute 26, 2
	.eabi_attribute 30, 6
	.eabi_attribute 34, 0
	.eabi_attribute 18, 4
	.file	"181394014.c"
	.text
	.comm	handicap,4,4
	.comm	selfplay,1,1
	.comm	h,32,4
	.comm	mine,1,1
	.comm	his,1,1
	.comm	mefirst,1,1
	.align	2
	.global	skipbl
	.syntax unified
	.arm
	.fpu softvfp
	.type	skipbl, %function
skipbl:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	nop
.L2:
	bl	getchar
	mov	r3, r0
	mov	r0, r3
	bl	toupper
	mov	r3, r0
	strb	r3, [fp, #-5]
	ldrb	r3, [fp, #-5]	@ zero_extendqisi2
	cmp	r3, #32
	beq	.L2
	ldrb	r3, [fp, #-5]	@ zero_extendqisi2
	cmp	r3, #9
	beq	.L2
	ldrb	r3, [fp, #-5]	@ zero_extendqisi2
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	skipbl, .-skipbl
	.align	2
	.global	chkmv1
	.syntax unified
	.arm
	.fpu softvfp
	.type	chkmv1, %function
chkmv1:
	@ args = 8, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #28
	str	r0, [fp, #-16]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	mov	r3, r1
	strb	r3, [fp, #-17]
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L5
.L12:
	ldr	r3, [fp, #-24]
	lsl	r2, r3, #3
	ldr	r3, [fp, #-28]
	add	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-16]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #45
	bne	.L6
	mov	r3, #0
	b	.L7
.L6:
	ldr	r3, [fp, #-24]
	lsl	r2, r3, #3
	ldr	r3, [fp, #-28]
	add	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-16]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	ldrb	r2, [fp, #-17]	@ zero_extendqisi2
	cmp	r2, r3
	bne	.L8
	ldr	r3, [fp, #-8]
	b	.L7
.L8:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L9
	ldr	r3, [fp, #-24]
	cmp	r3, #7
	beq	.L9
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	beq	.L9
	ldr	r3, [fp, #-28]
	cmp	r3, #7
	bne	.L10
.L9:
	ldr	r3, [fp, #-8]
	add	r3, r3, #10
	str	r3, [fp, #-8]
	b	.L5
.L10:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L5:
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #4]
	add	r3, r2, r3
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	blt	.L11
	ldr	r3, [fp, #-24]
	cmp	r3, #7
	bgt	.L11
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #8]
	add	r3, r2, r3
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	blt	.L11
	ldr	r3, [fp, #-28]
	cmp	r3, #7
	ble	.L12
.L11:
	mov	r3, #0
.L7:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	chkmv1, .-chkmv1
	.align	2
	.global	chkmov
	.syntax unified
	.arm
	.fpu softvfp
	.type	chkmov, %function
chkmov:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #28
	str	r0, [fp, #-16]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	mov	r3, r1
	strb	r3, [fp, #-17]
	ldr	r3, [fp, #-24]
	lsl	r2, r3, #3
	ldr	r3, [fp, #-28]
	add	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-16]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #45
	beq	.L14
	mov	r3, #0
	b	.L15
.L14:
	ldrb	r1, [fp, #-17]	@ zero_extendqisi2
	mov	r3, #1
	str	r3, [sp, #4]
	mov	r3, #0
	str	r3, [sp]
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-24]
	ldr	r0, [fp, #-16]
	bl	chkmv1
	mov	r4, r0
	ldrb	r1, [fp, #-17]	@ zero_extendqisi2
	mov	r3, #0
	str	r3, [sp, #4]
	mov	r3, #1
	str	r3, [sp]
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-24]
	ldr	r0, [fp, #-16]
	bl	chkmv1
	mov	r3, r0
	add	r4, r4, r3
	ldrb	r1, [fp, #-17]	@ zero_extendqisi2
	mvn	r3, #0
	str	r3, [sp, #4]
	mov	r3, #0
	str	r3, [sp]
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-24]
	ldr	r0, [fp, #-16]
	bl	chkmv1
	mov	r3, r0
	add	r4, r4, r3
	ldrb	r1, [fp, #-17]	@ zero_extendqisi2
	mov	r3, #0
	str	r3, [sp, #4]
	mvn	r3, #0
	str	r3, [sp]
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-24]
	ldr	r0, [fp, #-16]
	bl	chkmv1
	mov	r3, r0
	add	r4, r4, r3
	ldrb	r1, [fp, #-17]	@ zero_extendqisi2
	mov	r3, #1
	str	r3, [sp, #4]
	mov	r3, #1
	str	r3, [sp]
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-24]
	ldr	r0, [fp, #-16]
	bl	chkmv1
	mov	r3, r0
	add	r4, r4, r3
	ldrb	r1, [fp, #-17]	@ zero_extendqisi2
	mvn	r3, #0
	str	r3, [sp, #4]
	mov	r3, #1
	str	r3, [sp]
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-24]
	ldr	r0, [fp, #-16]
	bl	chkmv1
	mov	r3, r0
	add	r4, r4, r3
	ldrb	r1, [fp, #-17]	@ zero_extendqisi2
	mov	r3, #1
	str	r3, [sp, #4]
	mvn	r3, #0
	str	r3, [sp]
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-24]
	ldr	r0, [fp, #-16]
	bl	chkmv1
	mov	r3, r0
	add	r4, r4, r3
	ldrb	r1, [fp, #-17]	@ zero_extendqisi2
	mvn	r3, #0
	str	r3, [sp, #4]
	mvn	r3, #0
	str	r3, [sp]
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-24]
	ldr	r0, [fp, #-16]
	bl	chkmv1
	mov	r3, r0
	add	r3, r4, r3
.L15:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
	.size	chkmov, .-chkmov
	.align	2
	.global	chkmvs
	.syntax unified
	.arm
	.fpu softvfp
	.type	chkmvs, %function
chkmvs:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	mov	r3, r1
	strb	r3, [fp, #-25]
	mov	r3, #0
	str	r3, [fp, #-8]
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L17
.L20:
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L18
.L19:
	ldrb	r1, [fp, #-25]	@ zero_extendqisi2
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-16]
	ldr	r0, [fp, #-24]
	bl	chkmov
	mov	r2, r0
	ldr	r3, [fp, #-8]
	add	r3, r3, r2
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L18:
	ldr	r3, [fp, #-12]
	cmp	r3, #7
	ble	.L19
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L17:
	ldr	r3, [fp, #-16]
	cmp	r3, #7
	ble	.L20
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	chkmvs, .-chkmvs
	.align	2
	.global	cpybrd
	.syntax unified
	.arm
	.fpu softvfp
	.type	cpybrd, %function
cpybrd:
	@ 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]
	mov	r2, #64
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	memcpy
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	cpybrd, .-cpybrd
	.align	2
	.global	cntbrd
	.syntax unified
	.arm
	.fpu softvfp
	.type	cntbrd, %function
cntbrd:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	mov	r3, r1
	strb	r3, [fp, #-17]
	mov	r3, #64
	str	r3, [fp, #-12]
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L24
.L25:
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	ldrb	r2, [fp, #-17]	@ zero_extendqisi2
	cmp	r2, r3
	bne	.L24
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L24:
	ldr	r3, [fp, #-12]
	sub	r2, r3, #1
	str	r2, [fp, #-12]
	cmp	r3, #0
	bne	.L25
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	cntbrd, .-cntbrd
	.align	2
	.global	clrbrd
	.syntax unified
	.arm
	.fpu softvfp
	.type	clrbrd, %function
clrbrd:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L28
.L31:
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L29
.L30:
	ldr	r3, [fp, #-12]
	lsl	r2, r3, #3
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-16]
	add	r3, r3, r2
	mov	r2, #45
	strb	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L29:
	ldr	r3, [fp, #-8]
	cmp	r3, #7
	ble	.L30
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L28:
	ldr	r3, [fp, #-12]
	cmp	r3, #7
	ble	.L31
	ldr	r3, [fp, #-16]
	add	r3, r3, #36
	mov	r2, #42
	strb	r2, [r3]
	ldr	r2, [fp, #-16]
	add	r2, r2, #27
	ldrb	r3, [r3]	@ zero_extendqisi2
	strb	r3, [r2]
	ldr	r3, [fp, #-16]
	add	r3, r3, #35
	mov	r2, #79
	strb	r2, [r3]
	ldr	r2, [fp, #-16]
	add	r2, r2, #28
	ldrb	r3, [r3]	@ zero_extendqisi2
	strb	r3, [r2]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	clrbrd, .-clrbrd
	.section	.rodata
	.align	2
.LC0:
	.ascii	"   1 2 3 4 5 6 7 8\000"
	.align	2
.LC1:
	.ascii	" %u\000"
	.text
	.align	2
	.global	prtbrd
	.syntax unified
	.arm
	.fpu softvfp
	.type	prtbrd, %function
prtbrd:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r0, .L37
	bl	puts
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L33
.L36:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	mov	r1, r3
	ldr	r0, .L37+4
	bl	printf
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L34
.L35:
	mov	r0, #32
	bl	putchar
	ldr	r3, [fp, #-12]
	lsl	r2, r3, #3
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-16]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r0, r3
	bl	putchar
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L34:
	ldr	r3, [fp, #-8]
	cmp	r3, #7
	ble	.L35
	mov	r0, #10
	bl	putchar
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L33:
	ldr	r3, [fp, #-12]
	cmp	r3, #7
	ble	.L36
	mov	r0, #10
	bl	putchar
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L38:
	.align	2
.L37:
	.word	.LC0
	.word	.LC1
	.size	prtbrd, .-prtbrd
	.section	.rodata
	.align	2
.LC2:
	.ascii	"%u-%u\000"
	.text
	.align	2
	.global	prtscr
	.syntax unified
	.arm
	.fpu softvfp
	.type	prtscr, %function
prtscr:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r3, .L41
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	cntbrd
	str	r0, [fp, #-12]
	ldr	r3, .L41+4
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	cntbrd
	str	r0, [fp, #-8]
	ldr	r2, [fp, #-8]
	ldr	r1, [fp, #-12]
	ldr	r0, .L41+8
	bl	printf
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-8]
	sub	r3, r2, r3
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L42:
	.align	2
.L41:
	.word	his
	.word	mine
	.word	.LC2
	.size	prtscr, .-prtscr
	.section	.rodata
	.align	2
.LC3:
	.ascii	"Move: \000"
	.align	2
.LC4:
	.ascii	"Move?  \000"
	.align	2
.LC5:
	.ascii	"  Huh?? \000"
	.text
	.align	2
	.global	getmov
	.syntax unified
	.arm
	.fpu softvfp
	.type	getmov, %function
getmov:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, .L79
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #71
	bne	.L44
	bl	getchar
	mov	r3, r0
	cmp	r3, #0
	bne	.L45
	mov	r3, #71
	b	.L46
.L45:
	ldr	r3, .L79
	mov	r2, #32
	strb	r2, [r3]
	bl	getchar
.L44:
	ldr	r0, .L79+4
	bl	printf
.L72:
	bl	skipbl
	mov	r3, r0
	strb	r3, [fp, #-6]
	ldrb	r3, [fp, #-6]	@ zero_extendqisi2
	cmp	r3, #83
	bgt	.L47
	cmp	r3, #65
	bge	.L48
	cmp	r3, #4
	beq	.L49
	cmp	r3, #10
	beq	.L50
	b	.L47
.L48:
	sub	r3, r3, #65
	cmp	r3, #18
	ldrls	pc, [pc, r3, asl #2]
	b	.L47
.L52:
	.word	.L51
	.word	.L51
	.word	.L47
	.word	.L47
	.word	.L47
	.word	.L51
	.word	.L54
	.word	.L53
	.word	.L47
	.word	.L47
	.word	.L47
	.word	.L47
	.word	.L47
	.word	.L47
	.word	.L47
	.word	.L47
	.word	.L51
	.word	.L47
	.word	.L51
.L50:
	ldr	r0, .L79+8
	bl	printf
	b	.L55
.L54:
	bl	skipbl
	mov	r3, r0
	strb	r3, [fp, #-6]
	ldrb	r3, [fp, #-6]	@ zero_extendqisi2
	cmp	r3, #10
	bne	.L73
	ldr	r3, .L79
	mov	r2, #71
	strb	r2, [r3]
	mov	r3, #71
	b	.L46
.L51:
	ldrb	r3, [fp, #-6]
	strb	r3, [fp, #-5]
	bl	skipbl
	mov	r3, r0
	strb	r3, [fp, #-6]
	ldrb	r3, [fp, #-6]	@ zero_extendqisi2
	cmp	r3, #10
	bne	.L74
	ldrb	r3, [fp, #-5]	@ zero_extendqisi2
	b	.L46
.L53:
	bl	skipbl
	mov	r3, r0
	strb	r3, [fp, #-6]
	ldrb	r3, [fp, #-6]
	strb	r3, [fp, #-5]
	ldrb	r3, [fp, #-5]	@ zero_extendqisi2
	cmp	r3, #45
	bne	.L59
	bl	getchar
	mov	r3, r0
	strb	r3, [fp, #-6]
.L59:
	ldrb	r3, [fp, #-6]	@ zero_extendqisi2
	cmp	r3, #48
	bls	.L75
	ldrb	r3, [fp, #-6]	@ zero_extendqisi2
	cmp	r3, #52
	bhi	.L75
	bl	skipbl
	mov	r3, r0
	cmp	r3, #10
	bne	.L75
	ldrb	r3, [fp, #-5]	@ zero_extendqisi2
	cmp	r3, #45
	bne	.L62
	ldrb	r3, [fp, #-6]	@ zero_extendqisi2
	rsb	r3, r3, #48
	b	.L63
.L62:
	ldrb	r3, [fp, #-6]	@ zero_extendqisi2
	sub	r3, r3, #48
.L63:
	ldr	r2, [fp, #-16]
	str	r3, [r2]
	mov	r3, #72
	b	.L46
.L49:
	ldrb	r3, [fp, #-6]	@ zero_extendqisi2
	b	.L46
.L47:
	ldrb	r3, [fp, #-6]	@ zero_extendqisi2
	cmp	r3, #48
	bls	.L76
	ldrb	r3, [fp, #-6]	@ zero_extendqisi2
	cmp	r3, #56
	bhi	.L76
	ldrb	r3, [fp, #-6]	@ zero_extendqisi2
	sub	r2, r3, #49
	ldr	r3, [fp, #-16]
	str	r2, [r3]
	bl	skipbl
	mov	r3, r0
	strb	r3, [fp, #-6]
	ldrb	r3, [fp, #-6]	@ zero_extendqisi2
	cmp	r3, #48
	bls	.L77
	ldrb	r3, [fp, #-6]	@ zero_extendqisi2
	cmp	r3, #56
	bhi	.L77
	ldrb	r3, [fp, #-6]	@ zero_extendqisi2
	sub	r2, r3, #49
	ldr	r3, [fp, #-20]
	str	r2, [r3]
	bl	skipbl
	mov	r3, r0
	strb	r3, [fp, #-6]
	ldrb	r3, [fp, #-6]	@ zero_extendqisi2
	cmp	r3, #10
	bne	.L78
	mov	r3, #77
	b	.L46
.L73:
	nop
	b	.L68
.L74:
	nop
	b	.L68
.L75:
	nop
	b	.L68
.L76:
	nop
	b	.L68
.L77:
	nop
	b	.L68
.L78:
	nop
.L57:
	b	.L68
.L70:
	bl	getchar
	mov	r3, r0
	strb	r3, [fp, #-6]
.L68:
	ldrb	r3, [fp, #-6]	@ zero_extendqisi2
	cmp	r3, #10
	beq	.L69
	ldrb	r3, [fp, #-6]	@ zero_extendqisi2
	cmp	r3, #4
	bne	.L70
.L69:
	ldrb	r3, [fp, #-6]	@ zero_extendqisi2
	cmp	r3, #4
	bne	.L71
	ldrb	r3, [fp, #-6]	@ zero_extendqisi2
	b	.L46
.L71:
	ldr	r0, .L79+12
	bl	printf
.L55:
	b	.L72
.L46:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L80:
	.align	2
.L79:
	.word	selfplay
	.word	.LC3
	.word	.LC4
	.word	.LC5
	.size	getmov, .-getmov
	.section	.rodata
	.align	2
.LC6:
	.ascii	"%s \000"
	.text
	.align	2
	.global	ask
	.syntax unified
	.arm
	.fpu softvfp
	.type	ask, %function
ask:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r1, [fp, #-16]
	ldr	r0, .L86
	bl	printf
	bl	skipbl
	mov	r3, r0
	strb	r3, [fp, #-5]
	b	.L82
.L84:
	bl	getchar
	mov	r3, r0
	strb	r3, [fp, #-6]
.L82:
	ldrb	r3, [fp, #-6]	@ zero_extendqisi2
	cmp	r3, #10
	beq	.L83
	ldrb	r3, [fp, #-6]	@ zero_extendqisi2
	cmp	r3, #4
	bne	.L84
.L83:
	ldrb	r3, [fp, #-5]	@ zero_extendqisi2
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L87:
	.align	2
.L86:
	.word	.LC6
	.size	ask, .-ask
	.align	2
	.global	putmv1
	.syntax unified
	.arm
	.fpu softvfp
	.type	putmv1, %function
putmv1:
	@ args = 8, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-8]
	str	r2, [fp, #-16]
	str	r3, [fp, #-20]
	mov	r3, r1
	strb	r3, [fp, #-9]
	b	.L89
.L93:
	ldr	r3, [fp, #-16]
	lsl	r2, r3, #3
	ldr	r3, [fp, #-20]
	add	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-8]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #45
	beq	.L94
	ldr	r3, [fp, #-16]
	lsl	r2, r3, #3
	ldr	r3, [fp, #-20]
	add	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-8]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	ldrb	r2, [fp, #-9]	@ zero_extendqisi2
	cmp	r2, r3
	beq	.L94
	ldr	r3, [fp, #-16]
	lsl	r2, r3, #3
	ldr	r3, [fp, #-20]
	add	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-8]
	add	r3, r3, r2
	ldrb	r2, [fp, #-9]
	strb	r2, [r3]
.L89:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #4]
	add	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	blt	.L88
	ldr	r3, [fp, #-16]
	cmp	r3, #7
	bgt	.L88
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #8]
	add	r3, r2, r3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	blt	.L88
	ldr	r3, [fp, #-20]
	cmp	r3, #7
	ble	.L93
	b	.L88
.L94:
	nop
.L88:
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	putmv1, .-putmv1
	.align	2
	.global	putmov
	.syntax unified
	.arm
	.fpu softvfp
	.type	putmov, %function
putmov:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-16]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	mov	r3, r1
	strb	r3, [fp, #-17]
	ldr	r3, [fp, #-24]
	lsl	r2, r3, #3
	ldr	r3, [fp, #-28]
	add	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-16]
	add	r3, r3, r2
	ldrb	r2, [fp, #-17]
	strb	r2, [r3]
	mvn	r3, #0
	str	r3, [fp, #-12]
	b	.L96
.L101:
	mvn	r3, #0
	str	r3, [fp, #-8]
	b	.L97
.L100:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L98
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L99
.L98:
	ldrb	r1, [fp, #-17]	@ zero_extendqisi2
	ldr	r3, [fp, #-8]
	str	r3, [sp, #4]
	ldr	r3, [fp, #-12]
	str	r3, [sp]
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-24]
	ldr	r0, [fp, #-16]
	bl	chkmv1
	mov	r3, r0
	cmp	r3, #0
	ble	.L99
	ldrb	r1, [fp, #-17]	@ zero_extendqisi2
	ldr	r3, [fp, #-8]
	str	r3, [sp, #4]
	ldr	r3, [fp, #-12]
	str	r3, [sp]
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-24]
	ldr	r0, [fp, #-16]
	bl	putmv1
.L99:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L97:
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	ble	.L100
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L96:
	ldr	r3, [fp, #-12]
	cmp	r3, #1
	ble	.L101
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	putmov, .-putmov
	.align	2
	.global	notak2
	.syntax unified
	.arm
	.fpu softvfp
	.type	notak2, %function
notak2:
	@ args = 16, 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]
	mov	r0, r1
	mov	r1, r2
	mov	r2, r3
	mov	r3, r0
	strb	r3, [fp, #-9]
	mov	r3, r1
	strb	r3, [fp, #-10]
	mov	r3, r2
	strb	r3, [fp, #-11]
	ldr	r2, [fp, #4]
	ldr	r3, [fp, #12]
	add	r3, r2, r3
	str	r3, [fp, #4]
	ldr	r2, [fp, #8]
	ldr	r3, [fp, #16]
	add	r3, r2, r3
	str	r3, [fp, #8]
	ldr	r3, [fp, #4]
	cmp	r3, #0
	blt	.L108
	ldr	r3, [fp, #4]
	cmp	r3, #7
	bgt	.L108
	ldr	r3, [fp, #8]
	cmp	r3, #0
	blt	.L108
	ldr	r3, [fp, #8]
	cmp	r3, #7
	bgt	.L108
	b	.L104
.L107:
	ldr	r2, [fp, #4]
	ldr	r3, [fp, #12]
	add	r3, r2, r3
	str	r3, [fp, #4]
	ldr	r2, [fp, #8]
	ldr	r3, [fp, #16]
	add	r3, r2, r3
	str	r3, [fp, #8]
	ldr	r3, [fp, #4]
	cmp	r3, #0
	blt	.L105
	ldr	r3, [fp, #4]
	cmp	r3, #7
	bgt	.L105
	ldr	r3, [fp, #8]
	cmp	r3, #0
	blt	.L105
	ldr	r3, [fp, #8]
	cmp	r3, #7
	bgt	.L105
	ldr	r3, [fp, #4]
	lsl	r2, r3, #3
	ldr	r3, [fp, #8]
	add	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-8]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	ldrb	r2, [fp, #-11]	@ zero_extendqisi2
	cmp	r2, r3
	bne	.L104
.L105:
	ldrb	r3, [fp, #-10]	@ zero_extendqisi2
	b	.L106
.L104:
	ldr	r3, [fp, #4]
	lsl	r2, r3, #3
	ldr	r3, [fp, #8]
	add	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-8]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L107
	b	.L108
.L110:
	ldr	r2, [fp, #4]
	ldr	r3, [fp, #12]
	add	r3, r2, r3
	str	r3, [fp, #4]
	ldr	r2, [fp, #8]
	ldr	r3, [fp, #16]
	add	r3, r2, r3
	str	r3, [fp, #8]
.L108:
	ldr	r3, [fp, #4]
	cmp	r3, #0
	blt	.L109
	ldr	r3, [fp, #4]
	cmp	r3, #7
	bgt	.L109
	ldr	r3, [fp, #8]
	cmp	r3, #0
	blt	.L109
	ldr	r3, [fp, #8]
	cmp	r3, #7
	bgt	.L109
	ldr	r3, [fp, #4]
	lsl	r2, r3, #3
	ldr	r3, [fp, #8]
	add	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-8]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	ldrb	r2, [fp, #-9]	@ zero_extendqisi2
	cmp	r2, r3
	beq	.L110
.L109:
	ldr	r3, [fp, #4]
	cmp	r3, #0
	blt	.L111
	ldr	r3, [fp, #4]
	cmp	r3, #7
	bgt	.L111
	ldr	r3, [fp, #8]
	cmp	r3, #0
	blt	.L111
	ldr	r3, [fp, #8]
	cmp	r3, #7
	ble	.L112
.L111:
	ldrb	r3, [fp, #-9]	@ zero_extendqisi2
	b	.L106
.L112:
	ldr	r3, [fp, #4]
	lsl	r2, r3, #3
	ldr	r3, [fp, #8]
	add	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-8]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
.L106:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	notak2, .-notak2
	.align	2
	.global	notak1
	.syntax unified
	.arm
	.fpu softvfp
	.type	notak1, %function
notak1:
	@ args = 16, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-16]
	mov	r0, r1
	mov	r1, r2
	mov	r2, r3
	mov	r3, r0
	strb	r3, [fp, #-17]
	mov	r3, r1
	strb	r3, [fp, #-18]
	mov	r3, r2
	strb	r3, [fp, #-19]
	ldrb	r0, [fp, #-19]	@ zero_extendqisi2
	ldrb	r2, [fp, #-18]	@ zero_extendqisi2
	ldrb	r1, [fp, #-17]	@ zero_extendqisi2
	ldr	r3, [fp, #16]
	str	r3, [sp, #12]
	ldr	r3, [fp, #12]
	str	r3, [sp, #8]
	ldr	r3, [fp, #8]
	str	r3, [sp, #4]
	ldr	r3, [fp, #4]
	str	r3, [sp]
	mov	r3, r0
	ldr	r0, [fp, #-16]
	bl	notak2
	mov	r3, r0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #12]
	rsb	r3, r3, #0
	ldr	r2, [fp, #16]
	rsb	r2, r2, #0
	ldrb	ip, [fp, #-19]	@ zero_extendqisi2
	ldrb	r0, [fp, #-18]	@ zero_extendqisi2
	ldrb	r1, [fp, #-17]	@ zero_extendqisi2
	str	r2, [sp, #12]
	str	r3, [sp, #8]
	ldr	r3, [fp, #8]
	str	r3, [sp, #4]
	ldr	r3, [fp, #4]
	str	r3, [sp]
	mov	r3, ip
	mov	r2, r0
	ldr	r0, [fp, #-16]
	bl	notak2
	mov	r3, r0
	str	r3, [fp, #-8]
	ldrb	r3, [fp, #-18]	@ zero_extendqisi2
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	bne	.L114
	ldrb	r3, [fp, #-19]	@ zero_extendqisi2
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	beq	.L115
.L114:
	ldrb	r3, [fp, #-19]	@ zero_extendqisi2
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	bne	.L116
	ldrb	r3, [fp, #-18]	@ zero_extendqisi2
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	beq	.L115
.L116:
	mov	r3, #1
	b	.L117
.L115:
	mov	r3, #0
.L117:
	and	r3, r3, #255
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	notak1, .-notak1
	.align	2
	.global	notake
	.syntax unified
	.arm
	.fpu softvfp
	.type	notake, %function
notake:
	@ args = 8, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-8]
	mov	r0, r1
	mov	r1, r2
	mov	r2, r3
	mov	r3, r0
	strb	r3, [fp, #-9]
	mov	r3, r1
	strb	r3, [fp, #-10]
	mov	r3, r2
	strb	r3, [fp, #-11]
	ldrb	r0, [fp, #-11]	@ zero_extendqisi2
	ldrb	r2, [fp, #-10]	@ zero_extendqisi2
	ldrb	r1, [fp, #-9]	@ zero_extendqisi2
	mov	r3, #1
	str	r3, [sp, #12]
	mov	r3, #0
	str	r3, [sp, #8]
	ldr	r3, [fp, #8]
	str	r3, [sp, #4]
	ldr	r3, [fp, #4]
	str	r3, [sp]
	mov	r3, r0
	ldr	r0, [fp, #-8]
	bl	notak1
	mov	r3, r0
	cmp	r3, #0
	beq	.L120
	ldrb	r0, [fp, #-11]	@ zero_extendqisi2
	ldrb	r2, [fp, #-10]	@ zero_extendqisi2
	ldrb	r1, [fp, #-9]	@ zero_extendqisi2
	mov	r3, #1
	str	r3, [sp, #12]
	mov	r3, #1
	str	r3, [sp, #8]
	ldr	r3, [fp, #8]
	str	r3, [sp, #4]
	ldr	r3, [fp, #4]
	str	r3, [sp]
	mov	r3, r0
	ldr	r0, [fp, #-8]
	bl	notak1
	mov	r3, r0
	cmp	r3, #0
	beq	.L120
	ldrb	r0, [fp, #-11]	@ zero_extendqisi2
	ldrb	r2, [fp, #-10]	@ zero_extendqisi2
	ldrb	r1, [fp, #-9]	@ zero_extendqisi2
	mov	r3, #0
	str	r3, [sp, #12]
	mov	r3, #1
	str	r3, [sp, #8]
	ldr	r3, [fp, #8]
	str	r3, [sp, #4]
	ldr	r3, [fp, #4]
	str	r3, [sp]
	mov	r3, r0
	ldr	r0, [fp, #-8]
	bl	notak1
	mov	r3, r0
	cmp	r3, #0
	beq	.L120
	ldrb	r0, [fp, #-11]	@ zero_extendqisi2
	ldrb	r2, [fp, #-10]	@ zero_extendqisi2
	ldrb	r1, [fp, #-9]	@ zero_extendqisi2
	mvn	r3, #0
	str	r3, [sp, #12]
	mov	r3, #1
	str	r3, [sp, #8]
	ldr	r3, [fp, #8]
	str	r3, [sp, #4]
	ldr	r3, [fp, #4]
	str	r3, [sp]
	mov	r3, r0
	ldr	r0, [fp, #-8]
	bl	notak1
	mov	r3, r0
	cmp	r3, #0
	beq	.L120
	mov	r3, #1
	b	.L121
.L120:
	mov	r3, #0
.L121:
	and	r3, r3, #255
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	notake, .-notake
	.section	.rodata
	.align	2
.LC7:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	s_move
	.syntax unified
	.arm
	.fpu softvfp
	.type	s_move, %function
s_move:
	@ args = 8, pretend = 0, frame = 112
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #120
	str	r0, [fp, #-112]
	mov	r0, r1
	mov	r1, r2
	mov	r2, r3
	mov	r3, r0
	strb	r3, [fp, #-113]
	mov	r3, r1
	strb	r3, [fp, #-114]
	mov	r3, r2
	strb	r3, [fp, #-115]
	ldr	r3, .L158
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #72
	ldr	r1, [fp, #-112]
	mov	r0, r3
	bl	cpybrd
	ldrb	r1, [fp, #-113]	@ zero_extendqisi2
	sub	r0, fp, #72
	ldr	r3, [fp, #8]
	ldr	r2, [fp, #4]
	bl	putmov
	mov	r3, #0
	str	r3, [fp, #-88]
	ldr	r3, [fp, #4]
	cmp	r3, #0
	beq	.L124
	ldr	r3, [fp, #4]
	cmp	r3, #7
	bne	.L125
.L124:
	ldr	r3, [fp, #-88]
	add	r3, r3, #1
	str	r3, [fp, #-88]
.L125:
	ldr	r3, [fp, #8]
	cmp	r3, #0
	beq	.L126
	ldr	r3, [fp, #8]
	cmp	r3, #7
	bne	.L127
.L126:
	ldr	r3, [fp, #-88]
	add	r3, r3, #1
	str	r3, [fp, #-88]
.L127:
	mov	r3, #0
	str	r3, [fp, #-100]
	mov	r3, #0
	str	r3, [fp, #-104]
	ldr	r3, [fp, #-88]
	cmp	r3, #2
	beq	.L128
	ldrb	r0, [fp, #-115]	@ zero_extendqisi2
	ldrb	r2, [fp, #-114]	@ zero_extendqisi2
	ldrb	r1, [fp, #-113]	@ zero_extendqisi2
	ldr	r3, [fp, #8]
	str	r3, [sp, #4]
	ldr	r3, [fp, #4]
	str	r3, [sp]
	mov	r3, r0
	ldr	r0, [fp, #-112]
	bl	notake
	mov	r3, r0
	cmp	r3, #0
	beq	.L129
.L128:
	ldr	r3, [fp, #-104]
	add	r3, r3, #1
	str	r3, [fp, #-104]
.L129:
	mov	r3, #0
	str	r3, [fp, #-84]
	mov	r3, #0
	str	r3, [fp, #-96]
	b	.L130
.L141:
	mov	r3, #0
	str	r3, [fp, #-92]
	b	.L131
.L140:
	ldrb	r1, [fp, #-114]	@ zero_extendqisi2
	sub	r0, fp, #72
	ldr	r3, [fp, #-92]
	ldr	r2, [fp, #-96]
	bl	chkmov
	str	r0, [fp, #-76]
	ldr	r3, [fp, #-76]
	cmp	r3, #0
	beq	.L156
	mov	r3, #1
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-96]
	cmp	r3, #0
	beq	.L134
	ldr	r3, [fp, #-96]
	cmp	r3, #7
	bne	.L135
.L134:
	ldr	r3, [fp, #-80]
	add	r3, r3, #2
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-84]
	orr	r3, r3, #4
	str	r3, [fp, #-84]
.L135:
	ldr	r3, [fp, #-92]
	cmp	r3, #0
	beq	.L136
	ldr	r3, [fp, #-92]
	cmp	r3, #7
	bne	.L137
.L136:
	ldr	r3, [fp, #-80]
	add	r3, r3, #2
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-84]
	orr	r3, r3, #4
	str	r3, [fp, #-84]
.L137:
	ldr	r3, [fp, #-80]
	cmp	r3, #5
	bne	.L138
	mov	r3, #10
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-84]
	orr	r3, r3, #16
	str	r3, [fp, #-84]
	b	.L139
.L138:
	ldrb	ip, [fp, #-115]	@ zero_extendqisi2
	ldrb	r2, [fp, #-113]	@ zero_extendqisi2
	ldrb	r1, [fp, #-114]	@ zero_extendqisi2
	sub	r0, fp, #72
	ldr	r3, [fp, #-92]
	str	r3, [sp, #4]
	ldr	r3, [fp, #-96]
	str	r3, [sp]
	mov	r3, ip
	bl	notake
	mov	r3, r0
	cmp	r3, #0
	beq	.L157
.L139:
	ldr	r3, [fp, #-84]
	orr	r3, r3, #1
	str	r3, [fp, #-84]
	ldr	r2, [fp, #-100]
	ldr	r3, [fp, #-80]
	sub	r3, r2, r3
	str	r3, [fp, #-100]
	ldr	r3, [fp, #-76]
	cmp	r3, #9
	ble	.L133
	ldr	r3, [fp, #-100]
	sub	r3, r3, #4
	str	r3, [fp, #-100]
	ldr	r3, [fp, #-84]
	orr	r3, r3, #8
	str	r3, [fp, #-84]
	b	.L133
.L156:
	nop
	b	.L133
.L157:
	nop
.L133:
	ldr	r3, [fp, #-92]
	add	r3, r3, #1
	str	r3, [fp, #-92]
.L131:
	ldr	r3, [fp, #-92]
	cmp	r3, #7
	ble	.L140
	ldr	r3, [fp, #-96]
	add	r3, r3, #1
	str	r3, [fp, #-96]
.L130:
	ldr	r3, [fp, #-96]
	cmp	r3, #7
	ble	.L141
	ldr	r3, [fp, #-84]
	rsb	r3, r3, #0
	ldr	r2, [fp, #-100]
	cmp	r2, r3
	bge	.L142
	ldr	r3, [fp, #-84]
	rsb	r3, r3, #0
	str	r3, [fp, #-100]
.L142:
	ldr	r3, [fp, #-88]
	cmp	r3, #0
	ble	.L143
	ldr	r3, [fp, #-100]
	and	r2, r3, #255
	ldr	r3, [fp, #-88]
	and	r3, r3, #255
	add	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-104]
	and	r3, r3, #255
	mov	r1, r3
	lsl	r1, r1, #2
	add	r3, r1, r3
	lsl	r3, r3, #1
	and	r3, r3, #255
	add	r3, r2, r3
	and	r3, r3, #255
	sub	r3, r3, #7
	and	r3, r3, #255
	b	.L154
.L143:
	ldr	r3, [fp, #4]
	cmp	r3, #1
	beq	.L145
	ldr	r3, [fp, #4]
	cmp	r3, #6
	bne	.L146
.L145:
	ldr	r3, [fp, #-100]
	sub	r3, r3, #1
	str	r3, [fp, #-100]
	ldr	r3, [fp, #-88]
	add	r3, r3, #1
	str	r3, [fp, #-88]
.L146:
	ldr	r3, [fp, #8]
	cmp	r3, #1
	beq	.L147
	ldr	r3, [fp, #8]
	cmp	r3, #6
	bne	.L148
.L147:
	ldr	r3, [fp, #-100]
	sub	r3, r3, #1
	str	r3, [fp, #-100]
	ldr	r3, [fp, #-88]
	add	r3, r3, #1
	str	r3, [fp, #-88]
.L148:
	ldr	r3, [fp, #-88]
	cmp	r3, #0
	ble	.L149
	ldr	r3, [fp, #-100]
	and	r3, r3, #255
	b	.L154
.L149:
	ldr	r3, [fp, #4]
	cmp	r3, #2
	beq	.L150
	ldr	r3, [fp, #4]
	cmp	r3, #5
	bne	.L151
.L150:
	ldr	r3, [fp, #-100]
	add	r3, r3, #1
	str	r3, [fp, #-100]
.L151:
	ldr	r3, [fp, #8]
	cmp	r3, #2
	beq	.L152
	ldr	r3, [fp, #8]
	cmp	r3, #5
	bne	.L153
.L152:
	ldr	r3, [fp, #-100]
	add	r3, r3, #1
	str	r3, [fp, #-100]
.L153:
	ldr	r3, [fp, #-100]
	and	r3, r3, #255
.L154:
	ldr	r2, .L158
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L155
	bl	__stack_chk_fail
.L155:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L159:
	.align	2
.L158:
	.word	.LC7
	.size	s_move, .-s_move
	.align	2
	.global	fillmt
	.syntax unified
	.arm
	.fpu softvfp
	.type	fillmt, %function
fillmt:
	@ args = 4, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #36
	str	r0, [fp, #-32]
	mov	r0, r1
	mov	r1, r2
	mov	r2, r3
	mov	r3, r0
	strb	r3, [fp, #-33]
	mov	r3, r1
	strb	r3, [fp, #-34]
	mov	r3, r2
	strb	r3, [fp, #-35]
	mov	r3, #0
	str	r3, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L161
.L165:
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L162
.L164:
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #4
	ldr	r2, [fp, #4]
	add	r4, r2, r3
	ldrb	r1, [fp, #-33]	@ zero_extendqisi2
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-24]
	ldr	r0, [fp, #-32]
	bl	chkmov
	mov	r3, r0
	str	r3, [r4, #8]
	ldr	r3, [r4, #8]
	cmp	r3, #0
	beq	.L163
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #4
	ldr	r2, [fp, #4]
	add	r3, r2, r3
	ldr	r2, [fp, #-24]
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #4
	ldr	r2, [fp, #4]
	add	r3, r2, r3
	ldr	r2, [fp, #-20]
	str	r2, [r3, #4]
	ldrb	r0, [fp, #-35]	@ zero_extendqisi2
	ldrb	r2, [fp, #-34]	@ zero_extendqisi2
	ldrb	r1, [fp, #-33]	@ zero_extendqisi2
	ldr	r3, [fp, #-20]
	str	r3, [sp, #4]
	ldr	r3, [fp, #-24]
	str	r3, [sp]
	mov	r3, r0
	ldr	r0, [fp, #-32]
	bl	s_move
	mov	r3, r0
	mov	r1, r3
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #4
	ldr	r2, [fp, #4]
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3, #12]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L163:
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L162:
	ldr	r3, [fp, #-20]
	cmp	r3, #7
	ble	.L164
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L161:
	ldr	r3, [fp, #-24]
	cmp	r3, #7
	ble	.L165
	ldr	r3, [fp, #-16]
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
	.size	fillmt, .-fillmt
	.section	.rodata
	.align	2
.LC8:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	analyze
	.syntax unified
	.arm
	.fpu softvfp
	.type	analyze, %function
analyze:
	@ args = 0, pretend = 0, frame = 1112
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #1120
	str	r0, [fp, #-1112]
	mov	r0, r1
	mov	r1, r2
	mov	r2, r3
	mov	r3, r0
	strb	r3, [fp, #-1113]
	mov	r3, r1
	strb	r3, [fp, #-1114]
	mov	r3, r2
	strb	r3, [fp, #-1115]
	ldr	r3, .L173
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldrb	r0, [fp, #-1115]	@ zero_extendqisi2
	ldrb	r2, [fp, #-1114]	@ zero_extendqisi2
	ldrb	r1, [fp, #-1113]	@ zero_extendqisi2
	sub	r3, fp, #1088
	sub	r3, r3, #4
	sub	r3, r3, #4
	str	r3, [sp]
	mov	r3, r0
	ldr	r0, [fp, #-1112]
	bl	fillmt
	str	r0, [fp, #-1104]
	sub	r3, fp, #72
	ldr	r1, [fp, #-1112]
	mov	r0, r3
	bl	cpybrd
	mov	r3, #0
	str	r3, [fp, #-1108]
	b	.L168
.L171:
	ldr	r3, [fp, #-1108]
	lsl	r3, r3, #4
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r3, [r3, #-1080]
	rsb	r3, r3, #70
	str	r3, [fp, #-1100]
	ldr	r3, [fp, #-1100]
	cmp	r3, #90
	bgt	.L169
	ldr	r3, [fp, #-1100]
	and	r1, r3, #255
	b	.L170
.L169:
	mov	r1, #90
.L170:
	ldr	r3, [fp, #-1108]
	lsl	r3, r3, #4
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r3, [r3, #-1092]
	lsl	r2, r3, #3
	ldr	r3, [fp, #-1108]
	lsl	r3, r3, #4
	sub	r0, fp, #4
	add	r3, r0, r3
	ldr	r3, [r3, #-1088]
	add	r3, r2, r3
	sub	r2, fp, #4
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3, #-68]
	ldr	r3, [fp, #-1108]
	add	r3, r3, #1
	str	r3, [fp, #-1108]
.L168:
	ldr	r2, [fp, #-1108]
	ldr	r3, [fp, #-1104]
	cmp	r2, r3
	blt	.L171
	sub	r3, fp, #72
	mov	r0, r3
	bl	prtbrd
	nop
	ldr	r3, .L173
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L172
	bl	__stack_chk_fail
.L172:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L174:
	.align	2
.L173:
	.word	.LC8
	.size	analyze, .-analyze
	.align	2
	.global	cmpmov
	.syntax unified
	.arm
	.fpu softvfp
	.type	cmpmov, %function
cmpmov:
	@ 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]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #12]
	cmp	r2, r3
	ble	.L176
	mvn	r3, #0
	b	.L177
.L176:
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #12]
	cmp	r2, r3
	bge	.L178
	mov	r3, #1
	b	.L177
.L178:
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	cmp	r2, r3
	ble	.L179
	mvn	r3, #0
	b	.L177
.L179:
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	cmp	r2, r3
	bge	.L180
	mov	r3, #1
	b	.L177
.L180:
	mov	r3, #0
.L177:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	cmpmov, .-cmpmov
	.global	__aeabi_idivmod
	.section	.rodata
	.align	2
.LC9:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	my_mov
	.syntax unified
	.arm
	.fpu softvfp
	.type	my_mov, %function
my_mov:
	@ args = 8, pretend = 0, frame = 1056
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #1056
	sub	sp, sp, #8
	str	r0, [fp, #-1048]
	mov	r0, r1
	mov	r1, r2
	mov	r2, r3
	mov	r3, r0
	strb	r3, [fp, #-1049]
	mov	r3, r1
	strb	r3, [fp, #-1050]
	mov	r3, r2
	strb	r3, [fp, #-1051]
	ldr	r3, [fp, #4]
	str	r3, [fp, #-1056]
	ldr	r3, [fp, #8]
	str	r3, [fp, #-1060]
	ldr	r3, .L189
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldrb	r0, [fp, #-1051]	@ zero_extendqisi2
	ldrb	r2, [fp, #-1050]	@ zero_extendqisi2
	ldrb	r1, [fp, #-1049]	@ zero_extendqisi2
	sub	r3, fp, #1024
	sub	r3, r3, #4
	sub	r3, r3, #4
	str	r3, [sp]
	mov	r3, r0
	ldr	r0, [fp, #-1048]
	bl	fillmt
	str	r0, [fp, #-1036]
	ldr	r3, [fp, #-1036]
	cmp	r3, #0
	bne	.L182
	mov	r3, #0
	b	.L187
.L182:
	ldr	r1, [fp, #-1036]
	sub	r0, fp, #1024
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r3, .L189+4
	mov	r2, #16
	bl	qsort
	mov	r3, #1
	str	r3, [fp, #-1040]
	b	.L184
.L186:
	ldr	r3, [fp, #-1040]
	lsl	r3, r3, #4
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r2, [r3, #-1016]
	ldr	r3, [fp, #-1020]
	cmp	r2, r3
	bne	.L185
	ldr	r3, [fp, #-1040]
	lsl	r3, r3, #4
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r2, [r3, #-1020]
	ldr	r3, [fp, #-1024]
	cmp	r2, r3
	bne	.L185
	ldr	r3, [fp, #-1040]
	add	r3, r3, #1
	str	r3, [fp, #-1040]
.L184:
	ldr	r2, [fp, #-1040]
	ldr	r3, [fp, #-1036]
	cmp	r2, r3
	blt	.L186
.L185:
	bl	rand
	mov	r3, r0
	ldr	r1, [fp, #-1040]
	mov	r0, r3
	bl	__aeabi_idivmod
	mov	r3, r1
	str	r3, [fp, #-1036]
	ldr	r3, [fp, #-1036]
	lsl	r3, r3, #4
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r2, [r3, #-1028]
	ldr	r3, [fp, #-1056]
	str	r2, [r3]
	ldr	r3, [fp, #-1036]
	lsl	r3, r3, #4
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r2, [r3, #-1024]
	ldr	r3, [fp, #-1060]
	str	r2, [r3]
	mov	r3, #1
.L187:
	ldr	r2, .L189
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L188
	bl	__stack_chk_fail
.L188:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L190:
	.align	2
.L189:
	.word	.LC9
	.word	cmpmov
	.size	my_mov, .-my_mov
	.section	.rodata
	.align	2
.LC10:
	.ascii	"I go first:\000"
	.align	2
.LC11:
	.ascii	"You go first:\000"
	.align	2
.LC12:
	.ascii	"Forfeit\000"
	.align	2
.LC13:
	.ascii	"   ...Forfeit\012\000"
	.align	2
.LC14:
	.ascii	" You're winning\000"
	.align	2
.LC15:
	.ascii	" You're losing!\000"
	.align	2
.LC16:
	.ascii	"Illegal!\000"
	.align	2
.LC17:
	.ascii	"   ...%u-%u\012\000"
	.align	2
.LC18:
	.ascii	"...Forfeit\012\000"
	.align	2
.LC19:
	.ascii	"Forfeit...\012\000"
	.align	2
.LC20:
	.ascii	"...%u-%u\012\000"
	.align	2
.LC21:
	.ascii	"%u-%u...\012\000"
	.align	2
.LC22:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	game
	.syntax unified
	.arm
	.fpu softvfp
	.type	game, %function
game:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	ldr	r3, .L245
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L245+4
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L245+8
	mov	r2, #32
	strb	r2, [r3]
	mov	r3, #0
	str	r3, [fp, #-12]
	ldr	r3, .L245+12
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L192
	ldr	r3, .L245+16
	mov	r2, #42
	strb	r2, [r3]
	ldr	r3, .L245+20
	mov	r2, #79
	strb	r2, [r3]
	ldr	r0, .L245+24
	bl	puts
	b	.L241
.L192:
	ldr	r3, .L245+16
	mov	r2, #79
	strb	r2, [r3]
	ldr	r3, .L245+20
	mov	r2, #42
	strb	r2, [r3]
	ldr	r0, .L245+28
	bl	puts
.L241:
	mov	r1, #45
	ldr	r0, [fp, #-32]
	bl	cntbrd
	mov	r3, r0
	cmp	r3, #0
	bne	.L194
	mov	r3, #68
	b	.L242
.L194:
	mov	r1, #45
	ldr	r0, [fp, #-32]
	bl	cntbrd
	mov	r3, r0
	cmp	r3, #60
	bne	.L196
	ldr	r3, .L245+16
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #42
	beq	.L244
.L196:
	ldr	r3, .L245+20
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	chkmvs
	mov	r3, r0
	cmp	r3, #0
	bne	.L198
	ldr	r3, .L245+12
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L199
	ldr	r3, .L245+32
	b	.L200
.L199:
	ldr	r3, .L245+36
.L200:
	mov	r0, r3
	bl	printf
	ldr	r3, [fp, #-12]
	orr	r3, r3, #1
	str	r3, [fp, #-12]
	b	.L197
.L198:
	sub	r2, fp, #16
	sub	r3, fp, #20
	mov	r1, r2
	mov	r0, r3
	bl	getmov
	mov	r3, r0
	strb	r3, [fp, #-21]
	ldrb	r3, [fp, #-21]	@ zero_extendqisi2
	cmp	r3, #4
	beq	.L201
	cmp	r3, #4
	blt	.L197
	cmp	r3, #83
	bgt	.L197
	cmp	r3, #65
	blt	.L197
	sub	r3, r3, #65
	cmp	r3, #18
	ldrls	pc, [pc, r3, asl #2]
	b	.L197
.L203:
	.word	.L209
	.word	.L208
	.word	.L197
	.word	.L197
	.word	.L197
	.word	.L207
	.word	.L206
	.word	.L205
	.word	.L197
	.word	.L197
	.word	.L197
	.word	.L197
	.word	.L204
	.word	.L197
	.word	.L197
	.word	.L197
	.word	.L201
	.word	.L197
	.word	.L202
.L208:
	ldr	r0, [fp, #-32]
	bl	prtbrd
	b	.L210
.L202:
	ldr	r0, [fp, #-32]
	bl	prtscr
	mov	r3, r0
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	ble	.L211
	ldr	r0, .L245+40
	bl	puts
	b	.L210
.L211:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bge	.L213
	ldr	r0, .L245+44
	bl	puts
	b	.L210
.L213:
	mov	r0, #10
	bl	putchar
	b	.L210
.L201:
	ldrb	r3, [fp, #-21]	@ zero_extendqisi2
	b	.L242
.L205:
	ldr	r3, .L245+4
	ldr	r3, [r3]
	add	r2, r3, #4
	ldr	r3, [fp, #-36]
	cmp	r2, r3
	bcs	.L214
	ldr	r0, .L245+48
	bl	puts
	b	.L215
.L214:
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L216
.L223:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	ble	.L217
	mov	r0, #42
	b	.L218
.L217:
	mov	r0, #79
.L218:
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #1
	ldr	r2, .L245+52
	ldr	r3, [r2, r3, lsl #2]
	lsl	r2, r3, #3
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	lsl	r3, r3, #1
	ldr	r1, .L245+52
	ldr	r3, [r1, r3, lsl #2]
	add	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-32]
	add	r3, r3, r2
	mov	r2, r0
	strb	r2, [r3]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	ble	.L219
	mov	r2, #1
	b	.L220
.L219:
	mvn	r2, #0
.L220:
	ldr	r3, .L245+4
	ldr	r3, [r3]
	add	r3, r2, r3
	ldr	r2, .L245+4
	str	r3, [r2]
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	ble	.L221
	mvn	r2, #0
	b	.L222
.L221:
	mov	r2, #1
.L222:
	ldr	r3, [fp, #-20]
	add	r3, r2, r3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L216:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L223
.L215:
	ldr	r0, [fp, #-32]
	bl	prtbrd
	b	.L210
.L209:
	ldr	r3, .L245+20
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L245+16
	ldrb	r2, [r3]	@ zero_extendqisi2
	mov	r3, #45
	ldr	r0, [fp, #-32]
	bl	analyze
	b	.L210
.L206:
	ldr	r3, .L245+20
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L245+16
	ldrb	r2, [r3]	@ zero_extendqisi2
	sub	r3, fp, #16
	str	r3, [sp, #4]
	sub	r3, fp, #20
	str	r3, [sp]
	mov	r3, #45
	ldr	r0, [fp, #-32]
	bl	my_mov
.L204:
	ldr	r3, .L245+20
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-16]
	ldr	r0, [fp, #-32]
	bl	chkmov
	mov	r3, r0
	cmp	r3, #0
	ble	.L224
	ldr	r3, .L245+12
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L225
	ldr	r0, .L245+56
	b	.L226
.L225:
	ldr	r0, .L245+60
.L226:
	ldr	r3, [fp, #-20]
	add	r1, r3, #1
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	mov	r2, r3
	bl	printf
	ldr	r3, .L245+20
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-16]
	ldr	r0, [fp, #-32]
	bl	putmov
	b	.L197
.L224:
	ldr	r0, .L245+48
	bl	puts
	b	.L210
.L207:
	ldr	r3, .L245+4
	ldr	r3, [r3]
	add	r2, r3, #4
	ldr	r3, [fp, #-36]
	cmp	r2, r3
	bcs	.L228
	ldr	r0, .L245+48
	bl	puts
	b	.L210
.L228:
	ldr	r3, .L245+12
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L229
	ldr	r3, .L245+32
	b	.L230
.L229:
	ldr	r3, .L245+36
.L230:
	mov	r0, r3
	bl	printf
	b	.L197
.L244:
	nop
.L197:
	mov	r1, #45
	ldr	r0, [fp, #-32]
	bl	cntbrd
	mov	r3, r0
	cmp	r3, #0
	bne	.L231
	mov	r3, #68
	b	.L242
.L231:
	ldr	r3, .L245+16
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	chkmvs
	mov	r3, r0
	cmp	r3, #0
	bne	.L232
	ldr	r3, .L245+12
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L233
	ldr	r3, .L245+64
	b	.L234
.L233:
	ldr	r3, .L245+68
.L234:
	mov	r0, r3
	bl	printf
	ldr	r3, [fp, #-12]
	orr	r3, r3, #2
	str	r3, [fp, #-12]
	b	.L235
.L232:
	ldr	r3, .L245+16
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L245+20
	ldrb	r2, [r3]	@ zero_extendqisi2
	sub	r3, fp, #16
	str	r3, [sp, #4]
	sub	r3, fp, #20
	str	r3, [sp]
	mov	r3, #45
	ldr	r0, [fp, #-32]
	bl	my_mov
	ldr	r3, .L245+12
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L236
	ldr	r0, .L245+72
	b	.L237
.L236:
	ldr	r0, .L245+76
.L237:
	ldr	r3, [fp, #-20]
	add	r1, r3, #1
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	mov	r2, r3
	bl	printf
	ldr	r3, .L245+16
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-16]
	ldr	r0, [fp, #-32]
	bl	putmov
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
.L235:
	ldr	r3, [fp, #-12]
	cmp	r3, #3
	beq	.L238
	ldr	r3, [fp, #-36]
	cmp	r3, #64
	ble	.L239
.L238:
	mov	r3, #68
	b	.L242
.L239:
	ldr	r3, [fp, #-12]
	and	r3, r3, #1
	cmp	r3, #0
	bne	.L240
	ldr	r0, [fp, #-32]
	bl	prtbrd
.L240:
	mov	r3, #0
	str	r3, [fp, #-12]
.L210:
	b	.L241
.L242:
	ldr	r2, .L245
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L243
	bl	__stack_chk_fail
.L243:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L246:
	.align	2
.L245:
	.word	.LC22
	.word	handicap
	.word	selfplay
	.word	mefirst
	.word	mine
	.word	his
	.word	.LC10
	.word	.LC11
	.word	.LC12
	.word	.LC13
	.word	.LC14
	.word	.LC15
	.word	.LC16
	.word	h
	.word	.LC2
	.word	.LC17
	.word	.LC18
	.word	.LC19
	.word	.LC20
	.word	.LC21
	.size	game, .-game
	.section	.rodata
	.align	2
.LC23:
	.ascii	"%c\012Welcome to the OTHELLO program!\012\000"
	.align	2
.LC24:
	.ascii	"\012Note: BLACK ALWAYS GOES FIRST   ...Good luck!!!"
	.ascii	"\012\012\000"
	.align	2
.LC25:
	.ascii	"Do you want to go first? \000"
	.align	2
.LC26:
	.ascii	" You won by %d\012\000"
	.align	2
.LC27:
	.ascii	" You lost by %d\012\000"
	.align	2
.LC28:
	.ascii	" A draw\000"
	.align	2
.LC29:
	.ascii	"Another game? \000"
	.align	2
.LC30:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ args = 0, pretend = 0, frame = 72
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #72
	ldr	r3, .L261
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L261+4
	mov	r2, #0
	str	r2, [r3, #28]
	ldr	r3, .L261+4
	ldr	r3, [r3, #28]
	ldr	r2, .L261+4
	str	r3, [r2, #16]
	ldr	r3, .L261+4
	ldr	r3, [r3, #16]
	ldr	r2, .L261+4
	str	r3, [r2, #4]
	ldr	r3, .L261+4
	ldr	r3, [r3, #4]
	ldr	r2, .L261+4
	str	r3, [r2]
	ldr	r3, .L261+4
	mov	r2, #7
	str	r2, [r3, #24]
	ldr	r3, .L261+4
	ldr	r3, [r3, #24]
	ldr	r2, .L261+4
	str	r3, [r2, #20]
	ldr	r3, .L261+4
	ldr	r3, [r3, #20]
	ldr	r2, .L261+4
	str	r3, [r2, #12]
	ldr	r3, .L261+4
	ldr	r3, [r3, #12]
	ldr	r2, .L261+4
	str	r3, [r2, #8]
	mov	r1, #12
	ldr	r0, .L261+8
	bl	printf
	ldr	r0, .L261+12
	bl	puts
	ldr	r0, .L261+16
	bl	printf
	bl	getchar
	mov	r3, r0
	mov	r0, r3
	bl	toupper
	mov	r3, r0
	cmp	r3, #89
	bne	.L248
	ldr	r3, .L261+20
	mov	r2, #0
	strb	r2, [r3]
	b	.L256
.L248:
	ldr	r3, .L261+20
	mov	r2, #1
	strb	r2, [r3]
.L256:
	sub	r3, fp, #72
	mov	r0, r3
	bl	clrbrd
	mov	r0, #10
	bl	putchar
	sub	r3, fp, #72
	mov	r0, r3
	bl	prtbrd
	sub	r3, fp, #72
	mov	r1, #4
	mov	r0, r3
	bl	game
	str	r0, [fp, #-76]
	ldr	r3, .L261+20
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, .L261+20
	strb	r2, [r3]
	ldr	r3, [fp, #-76]
	cmp	r3, #4
	beq	.L259
	ldr	r3, [fp, #-76]
	cmp	r3, #81
	beq	.L260
	mov	r0, #10
	bl	putchar
	sub	r3, fp, #72
	mov	r0, r3
	bl	prtscr
	str	r0, [fp, #-76]
	ldr	r3, [fp, #-76]
	cmp	r3, #0
	ble	.L254
	ldr	r1, [fp, #-76]
	ldr	r0, .L261+24
	bl	printf
	b	.L253
.L254:
	ldr	r3, [fp, #-76]
	cmp	r3, #0
	bge	.L255
	ldr	r3, [fp, #-76]
	rsb	r3, r3, #0
	mov	r1, r3
	ldr	r0, .L261+28
	bl	printf
	b	.L253
.L255:
	ldr	r0, .L261+32
	bl	puts
	b	.L253
.L260:
	nop
.L253:
	ldr	r0, .L261+36
	bl	ask
	mov	r3, r0
	cmp	r3, #89
	beq	.L256
	b	.L251
.L259:
	nop
.L251:
	mov	r3, #0
	ldr	r2, .L261
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L258
	bl	__stack_chk_fail
.L258:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L262:
	.align	2
.L261:
	.word	.LC30
	.word	h
	.word	.LC23
	.word	.LC24
	.word	.LC25
	.word	mefirst
	.word	.LC26
	.word	.LC27
	.word	.LC28
	.word	.LC29
	.size	main, .-main
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
