	.file	"833766.c"
	.intel_syntax noprefix
	.text
	.globl	aux_spell
	.section	.rodata
.LC0:
	.string	"Now spell"
.LC1:
	.string	"Next spell"
.LC2:
	.string	"Now try"
.LC3:
	.string	"I win"
.LC4:
	.string	"You win"
.LC5:
	.string	"Here is your score"
.LC6:
	.string	"Correct"
.LC7:
	.string	"Wrong"
.LC8:
	.string	"That is correct"
.LC9:
	.string	"That is right"
.LC10:
	.string	"That is incorrect"
.LC11:
	.string	"Try again"
.LC12:
	.string	"The correct spelling of"
.LC13:
	.string	"is"
.LC14:
	.string	"Tone1"
.LC15:
	.string	"Tone2"
.LC16:
	.string	"Tone3"
.LC17:
	.string	"Tone4"
.LC18:
	.string	"Spell"
.LC19:
	.string	"Try"
.LC20:
	.string	"You are correct"
.LC21:
	.string	"You are right"
.LC22:
	.string	"Say It"
	.section	.data.rel.ro.local,"aw"
	.align 32
	.type	aux_spell, @object
	.size	aux_spell, 192
aux_spell:
	.quad	.LC0
	.quad	.LC1
	.quad	.LC2
	.quad	.LC3
	.quad	.LC4
	.quad	.LC5
	.quad	.LC6
	.quad	.LC7
	.quad	.LC8
	.quad	.LC9
	.quad	.LC10
	.quad	.LC11
	.quad	.LC12
	.quad	.LC13
	.quad	.LC14
	.quad	.LC15
	.quad	.LC16
	.quad	.LC17
	.quad	.LC18
	.quad	.LC19
	.quad	.LC20
	.quad	.LC21
	.quad	.LC22
	.quad	.LC12
	.globl	aux_pos
	.section	.rodata
	.align 32
	.type	aux_pos, @object
	.size	aux_pos, 96
aux_pos:
	.long	147
	.long	262
	.long	362
	.long	0
	.long	76
	.long	475
	.long	606
	.long	673
	.long	746
	.long	856
	.long	953
	.long	1285
	.long	1085
	.long	1234
	.long	1383
	.long	1436
	.long	1489
	.long	1542
	.long	1595
	.long	1657
	.long	1731
	.long	1830
	.long	1921
	.long	1984
	.globl	aux_size
	.align 32
	.type	aux_size, @object
	.size	aux_size, 96
aux_size:
	.long	115
	.long	100
	.long	113
	.long	76
	.long	71
	.long	131
	.long	67
	.long	73
	.long	110
	.long	97
	.long	132
	.long	98
	.long	149
	.long	51
	.long	53
	.long	53
	.long	53
	.long	53
	.long	62
	.long	74
	.long	99
	.long	91
	.long	63
	.long	183
	.local	sp_size
	.comm	sp_size,4,4
	.text
	.globl	sleep_msec
	.type	sleep_msec, @function
sleep_msec:
.LFB6:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	mov	DWORD PTR -4[rbp], 0
	jmp	.L2
.L4:
#APP
# 55 "the_stack_data/833766.c" 1
	nop
# 0 "" 2
#NO_APP
	add	DWORD PTR -4[rbp], 1
.L3:
	cmp	DWORD PTR -4[rbp], 9999
	jbe	.L4
	sub	DWORD PTR -20[rbp], 1
.L2:
	cmp	DWORD PTR -20[rbp], 0
	jne	.L3
	nop
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	sleep_msec, .-sleep_msec
	.globl	in_array
	.type	in_array, @function
in_array:
.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 -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	mov	DWORD PTR -16[rbp], edx
	jmp	.L7
.L10:
	mov	eax, DWORD PTR -12[rbp]
	sub	eax, 1
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -16[rbp], eax
	jne	.L8
	mov	eax, DWORD PTR -12[rbp]
	sub	eax, 1
	jmp	.L9
.L8:
	sub	DWORD PTR -12[rbp], 1
.L7:
	cmp	DWORD PTR -12[rbp], 0
	jne	.L10
	mov	eax, -1
.L9:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	in_array, .-in_array
	.section	.rodata
.LC23:
	.string	"Speak and spell!\n\r"
.LC24:
	.string	"Say it!"
.LC25:
	.string	"Spell it!"
.LC26:
	.string	"Select difficulty"
.LC27:
	.string	"["
.LC28:
	.string	"A"
.LC29:
	.string	"]"
.LC30:
	.string	" Level A"
.LC31:
	.string	"B"
.LC32:
	.string	" Level B"
.LC33:
	.string	"C"
.LC34:
	.string	" Level C"
.LC35:
	.string	"D"
.LC36:
	.string	" Level D"
.LC37:
	.string	"0"
.LC38:
	.string	" Exit"
.LC39:
	.string	"Starting the game..."
.LC40:
	.string	"malloc failde!"
.LC41:
	.string	"Word %2d/10"
.LC42:
	.string	"Say it: %s"
.LC43:
	.string	":"
.LC44:
	.string	"F1 - repeat"
.LC45:
	.string	"F2 - replay"
.LC46:
	.string	"F3 - exit"
.LC47:
	.string	", "
.LC48:
	.string	":\r\n"
.LC49:
	.string	"> "
.LC50:
	.string	"\n\r"
.LC51:
	.string	"\r\n"
.LC52:
	.string	" \""
.LC53:
	.string	"\" "
.LC54:
	.string	"%d"
.LC55:
	.string	" - "
.LC56:
	.string	"Press any key to continue"
	.text
	.globl	sns_spell
	.type	sns_spell, @function
sns_spell:
.LFB8:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 112
	mov	eax, edi
	mov	BYTE PTR -100[rbp], al
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	QWORD PTR -64[rbp], 0
	mov	QWORD PTR -56[rbp], 0
	mov	QWORD PTR -48[rbp], 0
	mov	QWORD PTR -40[rbp], 0
	mov	QWORD PTR -32[rbp], 0
	mov	QWORD PTR -17[rbp], 0
	mov	BYTE PTR -9[rbp], 0
	mov	BYTE PTR -91[rbp], 0
	mov	BYTE PTR -90[rbp], 0
	mov	BYTE PTR -89[rbp], 0
	mov	eax, 0
	call	clrscr@PLT
	mov	esi, 3
	mov	edi, 13
	mov	eax, 0
	call	gotoxy@PLT
	lea	rdi, .LC23[rip]
	mov	eax, 0
	call	printf@PLT
	mov	esi, 4
	mov	edi, 15
	mov	eax, 0
	call	gotoxy@PLT
	cmp	BYTE PTR -100[rbp], 2
	jne	.L12
	lea	rdi, .LC24[rip]
	call	puts@PLT
	mov	edx, 63
	mov	eax, 1921
	mov	r8d, 0
	mov	ecx, 0
	mov	esi, eax
	lea	rdi, auxiliary_data[rip]
	mov	eax, 0
	call	spcard_ram_say@PLT
	jmp	.L13
.L12:
	lea	rdi, .LC25[rip]
	call	puts@PLT
.L13:
	mov	esi, 6
	mov	edi, 12
	mov	eax, 0
	call	gotoxy@PLT
	lea	rdi, .LC26[rip]
	call	puts@PLT
	mov	esi, 9
	mov	edi, 8
	mov	eax, 0
	call	gotoxy@PLT
	lea	rdi, .LC27[rip]
	mov	eax, 0
	call	cputs@PLT
	mov	edi, 1
	mov	eax, 0
	call	revers@PLT
	lea	rdi, .LC28[rip]
	mov	eax, 0
	call	cputs@PLT
	mov	edi, 0
	mov	eax, 0
	call	revers@PLT
	lea	rdi, .LC29[rip]
	mov	eax, 0
	call	cputs@PLT
	lea	rdi, .LC30[rip]
	mov	eax, 0
	call	cputs@PLT
	mov	esi, 10
	mov	edi, 8
	mov	eax, 0
	call	gotoxy@PLT
	lea	rdi, .LC27[rip]
	mov	eax, 0
	call	cputs@PLT
	mov	edi, 1
	mov	eax, 0
	call	revers@PLT
	lea	rdi, .LC31[rip]
	mov	eax, 0
	call	cputs@PLT
	mov	edi, 0
	mov	eax, 0
	call	revers@PLT
	lea	rdi, .LC29[rip]
	mov	eax, 0
	call	cputs@PLT
	lea	rdi, .LC32[rip]
	mov	eax, 0
	call	cputs@PLT
	mov	esi, 12
	mov	edi, 8
	mov	eax, 0
	call	gotoxy@PLT
	lea	rdi, .LC27[rip]
	mov	eax, 0
	call	cputs@PLT
	mov	edi, 1
	mov	eax, 0
	call	revers@PLT
	lea	rdi, .LC33[rip]
	mov	eax, 0
	call	cputs@PLT
	mov	edi, 0
	mov	eax, 0
	call	revers@PLT
	lea	rdi, .LC29[rip]
	mov	eax, 0
	call	cputs@PLT
	lea	rdi, .LC34[rip]
	mov	eax, 0
	call	cputs@PLT
	mov	esi, 13
	mov	edi, 8
	mov	eax, 0
	call	gotoxy@PLT
	lea	rdi, .LC27[rip]
	mov	eax, 0
	call	cputs@PLT
	mov	edi, 1
	mov	eax, 0
	call	revers@PLT
	lea	rdi, .LC35[rip]
	mov	eax, 0
	call	cputs@PLT
	mov	edi, 0
	mov	eax, 0
	call	revers@PLT
	lea	rdi, .LC29[rip]
	mov	eax, 0
	call	cputs@PLT
	lea	rdi, .LC36[rip]
	mov	eax, 0
	call	cputs@PLT
	mov	esi, 15
	mov	edi, 8
	mov	eax, 0
	call	gotoxy@PLT
	lea	rdi, .LC27[rip]
	mov	eax, 0
	call	cputs@PLT
	mov	edi, 1
	mov	eax, 0
	call	revers@PLT
	lea	rdi, .LC37[rip]
	mov	eax, 0
	call	cputs@PLT
	mov	edi, 0
	mov	eax, 0
	call	revers@PLT
	lea	rdi, .LC29[rip]
	mov	eax, 0
	call	cputs@PLT
	lea	rdi, .LC38[rip]
	mov	eax, 0
	call	cputs@PLT
	cmp	BYTE PTR -100[rbp], 2
	jne	.L15
	mov	eax, 0
	call	spcard_wait_talk_end@PLT
	jmp	.L15
.L22:
	movzx	eax, BYTE PTR -94[rbp]
	cmp	al, 65
	jne	.L16
	lea	rax, words_a_data[rip]
	mov	QWORD PTR -80[rbp], rax
	mov	esi, 1
	mov	edi, 65
	call	say_letter@PLT
	jmp	.L17
.L16:
	movzx	eax, BYTE PTR -94[rbp]
	cmp	al, 66
	jne	.L18
	lea	rax, words_b_data[rip]
	mov	QWORD PTR -80[rbp], rax
	mov	esi, 1
	mov	edi, 66
	call	say_letter@PLT
	jmp	.L17
.L18:
	movzx	eax, BYTE PTR -94[rbp]
	cmp	al, 67
	jne	.L19
	lea	rax, words_c_data[rip]
	mov	QWORD PTR -80[rbp], rax
	mov	esi, 1
	mov	edi, 67
	call	say_letter@PLT
	jmp	.L17
.L19:
	movzx	eax, BYTE PTR -94[rbp]
	cmp	al, 68
	jne	.L20
	lea	rax, words_d_data[rip]
	mov	QWORD PTR -80[rbp], rax
	mov	esi, 1
	mov	edi, 68
	call	say_letter@PLT
	jmp	.L17
.L20:
	movzx	eax, BYTE PTR -94[rbp]
	cmp	al, 48
	je	.L69
.L15:
	mov	eax, 0
	call	cgetc@PLT
	mov	BYTE PTR -94[rbp], al
	movzx	eax, BYTE PTR -94[rbp]
	test	al, al
	jne	.L22
.L17:
	mov	eax, 0
	call	clrscr@PLT
	lea	rdi, .LC39[rip]
	call	puts@PLT
	mov	rax, QWORD PTR -80[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR sp_size[rip], eax
	mov	eax, DWORD PTR sp_size[rip]
	mov	edx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -72[rbp], rax
	cmp	QWORD PTR -72[rbp], 0
	jne	.L23
	lea	rdi, .LC40[rip]
	call	puts@PLT
	nop
.L24:
	mov	eax, 0
	call	kbhit@PLT
	test	eax, eax
	je	.L24
	jmp	.L11
.L23:
	mov	BYTE PTR -93[rbp], 0
	mov	DWORD PTR -88[rbp], 3
	jmp	.L25
.L26:
	mov	eax, DWORD PTR -88[rbp]
	add	eax, 1
	mov	edx, eax
	mov	rax, QWORD PTR -80[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 8
	mov	ecx, eax
	mov	edx, DWORD PTR -88[rbp]
	mov	rax, QWORD PTR -80[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	or	ecx, eax
	movzx	edx, BYTE PTR -93[rbp]
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	mov	edx, ecx
	mov	DWORD PTR 12[rax], edx
	add	DWORD PTR -88[rbp], 2
	mov	edx, DWORD PTR -88[rbp]
	mov	rax, QWORD PTR -80[rbp]
	add	rax, rdx
	movzx	ecx, BYTE PTR [rax]
	movzx	edx, BYTE PTR -93[rbp]
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	add	rdx, rax
	movzx	eax, cl
	mov	DWORD PTR 16[rdx], eax
	add	DWORD PTR -88[rbp], 1
	mov	edx, DWORD PTR -88[rbp]
	mov	rax, QWORD PTR -80[rbp]
	lea	rcx, [rdx+rax]
	movzx	edx, BYTE PTR -93[rbp]
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	add	rdx, rax
	movzx	eax, BYTE PTR [rcx]
	mov	BYTE PTR 9[rdx], al
	add	DWORD PTR -88[rbp], 1
	movzx	edx, BYTE PTR -93[rbp]
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR 9[rax]
	movzx	edx, al
	mov	ecx, DWORD PTR -88[rbp]
	mov	rax, QWORD PTR -80[rbp]
	add	rcx, rax
	movzx	esi, BYTE PTR -93[rbp]
	mov	rax, rsi
	sal	rax, 2
	add	rax, rsi
	sal	rax, 2
	mov	rsi, rax
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rsi
	mov	rsi, rcx
	mov	rdi, rax
	call	memcpy@PLT
	movzx	edx, BYTE PTR -93[rbp]
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	lea	rcx, [rdx+rax]
	movzx	edx, BYTE PTR -93[rbp]
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR 9[rax]
	movzx	eax, al
	cdqe
	mov	BYTE PTR [rcx+rax], 0
	movzx	edx, BYTE PTR -93[rbp]
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR 9[rax]
	movzx	eax, al
	add	DWORD PTR -88[rbp], eax
	add	BYTE PTR -93[rbp], 1
.L25:
	movzx	edx, BYTE PTR -93[rbp]
	mov	eax, DWORD PTR sp_size[rip]
	cmp	edx, eax
	jb	.L26
	mov	DWORD PTR -88[rbp], 0
	jmp	.L27
.L29:
	call	rand@PLT
	mov	ecx, DWORD PTR sp_size[rip]
	mov	edx, 0
	div	ecx
	mov	DWORD PTR -84[rbp], edx
	mov	edx, DWORD PTR -84[rbp]
	lea	rax, -64[rbp]
	mov	esi, 10
	mov	rdi, rax
	call	in_array
	cmp	eax, -1
	je	.L28
	jmp	.L27
.L28:
	mov	eax, DWORD PTR -88[rbp]
	mov	edx, DWORD PTR -84[rbp]
	mov	DWORD PTR -64[rbp+rax*4], edx
	add	DWORD PTR -88[rbp], 1
.L27:
	cmp	DWORD PTR -88[rbp], 9
	jbe	.L29
	cmp	BYTE PTR -100[rbp], 2
	jne	.L30
	mov	BYTE PTR -93[rbp], 0
	jmp	.L31
.L32:
	mov	eax, 0
	call	clrscr@PLT
	mov	esi, 0
	mov	edi, 30
	mov	eax, 0
	call	gotoxy@PLT
	movzx	eax, BYTE PTR -93[rbp]
	add	eax, 1
	mov	esi, eax
	lea	rdi, .LC41[rip]
	mov	eax, 0
	call	cprintf@PLT
	mov	esi, 1
	mov	edi, 0
	mov	eax, 0
	call	gotoxy@PLT
	movzx	eax, BYTE PTR -93[rbp]
	cdqe
	mov	eax, DWORD PTR -64[rbp+rax*4]
	mov	edx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	mov	rsi, rax
	lea	rdi, .LC42[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edx, 63
	mov	eax, 1921
	mov	r8d, 1
	mov	ecx, 0
	mov	esi, eax
	lea	rdi, auxiliary_data[rip]
	mov	eax, 0
	call	spcard_ram_say@PLT
	mov	edi, 1700
	call	sleep_msec
	movzx	eax, BYTE PTR -93[rbp]
	cdqe
	mov	eax, DWORD PTR -64[rbp+rax*4]
	mov	edx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR 16[rax]
	movzx	eax, BYTE PTR -93[rbp]
	cdqe
	mov	eax, DWORD PTR -64[rbp+rax*4]
	mov	ecx, eax
	mov	rax, rcx
	sal	rax, 2
	add	rax, rcx
	sal	rax, 2
	mov	rcx, rax
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rcx
	mov	esi, DWORD PTR 12[rax]
	mov	rax, QWORD PTR -80[rbp]
	mov	r8d, 1
	mov	ecx, 0
	mov	rdi, rax
	mov	eax, 0
	call	spcard_ram_say@PLT
	mov	edi, 2000
	call	sleep_msec
	add	BYTE PTR -93[rbp], 1
.L31:
	cmp	BYTE PTR -93[rbp], 9
	jbe	.L32
.L30:
	mov	BYTE PTR -93[rbp], 0
	jmp	.L33
.L62:
	movsx	eax, BYTE PTR -89[rbp]
	test	eax, eax
	je	.L34
	cmp	eax, 1
	je	.L35
	jmp	.L36
.L34:
	mov	eax, 0
	call	clrscr@PLT
	cmp	BYTE PTR -93[rbp], 0
	jne	.L37
	mov	edx, 62
	mov	eax, 1595
	mov	r8d, 0
	mov	ecx, 0
	mov	esi, eax
	lea	rdi, auxiliary_data[rip]
	mov	eax, 0
	call	spcard_ram_say@PLT
	lea	rax, .LC18[rip]
	mov	rdi, rax
	mov	eax, 0
	call	cputs@PLT
	jmp	.L38
.L37:
	call	rand@PLT
	mov	edx, eax
	movsx	rax, edx
	imul	rax, rax, 1431655766
	shr	rax, 32
	mov	ecx, edx
	sar	ecx, 31
	sub	eax, ecx
	mov	ecx, eax
	add	ecx, ecx
	add	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	mov	DWORD PTR -84[rbp], eax
	cmp	DWORD PTR -84[rbp], 2
	je	.L39
	cmp	DWORD PTR -84[rbp], 2
	ja	.L38
	cmp	DWORD PTR -84[rbp], 0
	je	.L40
	cmp	DWORD PTR -84[rbp], 1
	je	.L41
	jmp	.L38
.L40:
	mov	edx, 115
	mov	eax, 147
	mov	r8d, 0
	mov	ecx, 0
	mov	esi, eax
	lea	rdi, auxiliary_data[rip]
	mov	eax, 0
	call	spcard_ram_say@PLT
	lea	rax, .LC0[rip]
	mov	rdi, rax
	mov	eax, 0
	call	cputs@PLT
	jmp	.L38
.L41:
	mov	edx, 100
	mov	eax, 262
	mov	r8d, 0
	mov	ecx, 0
	mov	esi, eax
	lea	rdi, auxiliary_data[rip]
	mov	eax, 0
	call	spcard_ram_say@PLT
	lea	rax, .LC1[rip]
	mov	rdi, rax
	mov	eax, 0
	call	cputs@PLT
	jmp	.L38
.L39:
	mov	edx, 113
	mov	eax, 362
	mov	r8d, 0
	mov	ecx, 0
	mov	esi, eax
	lea	rdi, auxiliary_data[rip]
	mov	eax, 0
	call	spcard_ram_say@PLT
	lea	rax, .LC2[rip]
	mov	rdi, rax
	mov	eax, 0
	call	cputs@PLT
	nop
.L38:
	lea	rdi, .LC43[rip]
	call	puts@PLT
	mov	esi, 0
	mov	edi, 30
	mov	eax, 0
	call	gotoxy@PLT
	movzx	eax, BYTE PTR -93[rbp]
	add	eax, 1
	mov	esi, eax
	lea	rdi, .LC41[rip]
	mov	eax, 0
	call	cprintf@PLT
	lea	rdx, .LC44[rip]
	mov	esi, 21
	mov	edi, 29
	mov	eax, 0
	call	cputsxy@PLT
	lea	rdx, .LC45[rip]
	mov	esi, 22
	mov	edi, 29
	mov	eax, 0
	call	cputsxy@PLT
	lea	rdx, .LC46[rip]
	mov	esi, 23
	mov	edi, 29
	mov	eax, 0
	call	cputsxy@PLT
	mov	esi, 1
	mov	edi, 0
	mov	eax, 0
	call	gotoxy@PLT
	mov	eax, 0
	call	spcard_wait_talk_end@PLT
	movzx	eax, BYTE PTR -93[rbp]
	cdqe
	mov	eax, DWORD PTR -64[rbp+rax*4]
	mov	edx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR 16[rax]
	movzx	eax, BYTE PTR -93[rbp]
	cdqe
	mov	eax, DWORD PTR -64[rbp+rax*4]
	mov	ecx, eax
	mov	rax, rcx
	sal	rax, 2
	add	rax, rcx
	sal	rax, 2
	mov	rcx, rax
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rcx
	mov	esi, DWORD PTR 12[rax]
	mov	rax, QWORD PTR -80[rbp]
	mov	r8d, 0
	mov	ecx, 0
	mov	rdi, rax
	mov	eax, 0
	call	spcard_ram_say@PLT
	jmp	.L36
.L35:
	lea	rax, .LC7[rip]
	mov	rdi, rax
	mov	eax, 0
	call	cputs@PLT
	lea	rdi, .LC47[rip]
	mov	eax, 0
	call	cputs@PLT
	mov	edx, 73
	mov	eax, 673
	mov	r8d, 1
	mov	ecx, 0
	mov	esi, eax
	lea	rdi, auxiliary_data[rip]
	mov	eax, 0
	call	spcard_ram_say@PLT
	lea	rax, .LC11[rip]
	mov	rdi, rax
	mov	eax, 0
	call	cputs@PLT
	lea	rdi, .LC48[rip]
	mov	eax, 0
	call	cputs@PLT
	mov	edx, 98
	mov	eax, 1285
	mov	r8d, 1
	mov	ecx, 0
	mov	esi, eax
	lea	rdi, auxiliary_data[rip]
	mov	eax, 0
	call	spcard_ram_say@PLT
	movzx	eax, BYTE PTR -93[rbp]
	cdqe
	mov	eax, DWORD PTR -64[rbp+rax*4]
	mov	edx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR 16[rax]
	movzx	eax, BYTE PTR -93[rbp]
	cdqe
	mov	eax, DWORD PTR -64[rbp+rax*4]
	mov	ecx, eax
	mov	rax, rcx
	sal	rax, 2
	add	rax, rcx
	sal	rax, 2
	mov	rcx, rax
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rcx
	mov	esi, DWORD PTR 12[rax]
	mov	rax, QWORD PTR -80[rbp]
	mov	r8d, 0
	mov	ecx, 0
	mov	rdi, rax
	mov	eax, 0
	call	spcard_ram_say@PLT
	nop
.L36:
	lea	rdi, .LC49[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edi, 1
	mov	eax, 0
	call	cursor@PLT
	mov	eax, 0
	call	spcard_wait_talk_end@PLT
	mov	BYTE PTR -92[rbp], 0
	jmp	.L42
.L52:
	movzx	eax, BYTE PTR -94[rbp]
	cmp	al, 64
	jbe	.L43
	movzx	eax, BYTE PTR -94[rbp]
	cmp	al, 90
	ja	.L43
	cmp	BYTE PTR -92[rbp], 8
	jne	.L44
	jmp	.L42
.L44:
	movzx	edx, BYTE PTR -94[rbp]
	movsx	eax, BYTE PTR -92[rbp]
	cdqe
	mov	BYTE PTR -17[rbp+rax], dl
	movzx	eax, BYTE PTR -94[rbp]
	movsx	eax, al
	mov	esi, 0
	mov	edi, eax
	call	say_letter@PLT
	movzx	eax, BYTE PTR -94[rbp]
	movzx	eax, al
	mov	edi, eax
	mov	eax, 0
	call	cputc@PLT
	mov	eax, 0
	call	spcard_wait_talk_end@PLT
	movzx	eax, BYTE PTR -92[rbp]
	add	eax, 1
	mov	BYTE PTR -92[rbp], al
	jmp	.L42
.L43:
	movzx	eax, BYTE PTR -94[rbp]
	cmp	al, 8
	jne	.L45
	cmp	BYTE PTR -92[rbp], 0
	jg	.L46
	jmp	.L42
.L46:
	mov	eax, 0
	call	wherex@PLT
	sub	eax, 1
	mov	edi, eax
	mov	eax, 0
	call	gotox@PLT
	mov	edi, 1
	mov	eax, 0
	call	cclear@PLT
	mov	eax, 0
	call	wherex@PLT
	sub	eax, 1
	mov	edi, eax
	mov	eax, 0
	call	gotox@PLT
	movsx	eax, BYTE PTR -92[rbp]
	cdqe
	mov	BYTE PTR -17[rbp+rax], 0
	movzx	eax, BYTE PTR -92[rbp]
	sub	eax, 1
	mov	BYTE PTR -92[rbp], al
	jmp	.L42
.L45:
	movzx	eax, BYTE PTR -94[rbp]
	cmp	al, 13
	jne	.L47
	movsx	eax, BYTE PTR -92[rbp]
	cdqe
	mov	BYTE PTR -17[rbp+rax], 0
	jmp	.L48
.L47:
	movzx	eax, BYTE PTR -94[rbp]
	cmp	al, 4
	jne	.L49
	movzx	eax, BYTE PTR -93[rbp]
	cdqe
	mov	eax, DWORD PTR -64[rbp+rax*4]
	mov	edx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR 16[rax]
	movzx	eax, BYTE PTR -93[rbp]
	cdqe
	mov	eax, DWORD PTR -64[rbp+rax*4]
	mov	ecx, eax
	mov	rax, rcx
	sal	rax, 2
	add	rax, rcx
	sal	rax, 2
	mov	rcx, rax
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rcx
	mov	esi, DWORD PTR 12[rax]
	mov	rax, QWORD PTR -80[rbp]
	mov	r8d, 1
	mov	ecx, 0
	mov	rdi, rax
	mov	eax, 0
	call	spcard_ram_say@PLT
	jmp	.L42
.L49:
	movzx	eax, BYTE PTR -94[rbp]
	cmp	al, 5
	jne	.L50
	mov	BYTE PTR -93[rbp], 0
	mov	BYTE PTR -89[rbp], 0
	jmp	.L48
.L50:
	movzx	eax, BYTE PTR -94[rbp]
	cmp	al, 6
	je	.L70
	movzx	eax, BYTE PTR -94[rbp]
	cmp	al, 27
	je	.L70
.L42:
	mov	eax, 0
	call	cgetc@PLT
	mov	BYTE PTR -94[rbp], al
	movzx	eax, BYTE PTR -94[rbp]
	test	al, al
	jne	.L52
.L48:
	movzx	eax, BYTE PTR -94[rbp]
	cmp	al, 5
	jne	.L53
	jmp	.L33
.L53:
	lea	rdi, .LC50[rip]
	mov	eax, 0
	call	cputs@PLT
	movzx	eax, BYTE PTR -93[rbp]
	cdqe
	mov	eax, DWORD PTR -64[rbp+rax*4]
	mov	edx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	mov	rdx, rax
	lea	rax, -17[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L54
	movzx	eax, BYTE PTR -90[rbp]
	add	eax, 1
	mov	BYTE PTR -90[rbp], al
	call	rand@PLT
	cdq
	shr	edx, 30
	add	eax, edx
	and	eax, 3
	sub	eax, edx
	mov	DWORD PTR -84[rbp], eax
	cmp	DWORD PTR -84[rbp], 3
	je	.L55
	cmp	DWORD PTR -84[rbp], 3
	ja	.L56
	cmp	DWORD PTR -84[rbp], 2
	je	.L57
	cmp	DWORD PTR -84[rbp], 2
	ja	.L56
	cmp	DWORD PTR -84[rbp], 0
	je	.L58
	cmp	DWORD PTR -84[rbp], 1
	je	.L59
	jmp	.L56
.L58:
	mov	edx, 110
	mov	eax, 746
	mov	r8d, 0
	mov	ecx, 0
	mov	esi, eax
	lea	rdi, auxiliary_data[rip]
	mov	eax, 0
	call	spcard_ram_say@PLT
	lea	rax, .LC8[rip]
	mov	rdi, rax
	mov	eax, 0
	call	cputs@PLT
	jmp	.L56
.L59:
	mov	edx, 97
	mov	eax, 856
	mov	r8d, 0
	mov	ecx, 0
	mov	esi, eax
	lea	rdi, auxiliary_data[rip]
	mov	eax, 0
	call	spcard_ram_say@PLT
	lea	rax, .LC9[rip]
	mov	rdi, rax
	mov	eax, 0
	call	cputs@PLT
	jmp	.L56
.L57:
	mov	edx, 99
	mov	eax, 1731
	mov	r8d, 0
	mov	ecx, 0
	mov	esi, eax
	lea	rdi, auxiliary_data[rip]
	mov	eax, 0
	call	spcard_ram_say@PLT
	lea	rax, .LC20[rip]
	mov	rdi, rax
	mov	eax, 0
	call	cputs@PLT
	jmp	.L56
.L55:
	mov	edx, 91
	mov	eax, 1830
	mov	r8d, 0
	mov	ecx, 0
	mov	esi, eax
	lea	rdi, auxiliary_data[rip]
	mov	eax, 0
	call	spcard_ram_say@PLT
	lea	rax, .LC21[rip]
	mov	rdi, rax
	mov	eax, 0
	call	cputs@PLT
	nop
.L56:
	lea	rdi, .LC50[rip]
	mov	eax, 0
	call	cputs@PLT
	mov	eax, 0
	call	spcard_wait_talk_end@PLT
	mov	edi, 3000
	call	sleep_msec
	add	BYTE PTR -93[rbp], 1
	mov	BYTE PTR -89[rbp], 0
	jmp	.L33
.L54:
	movzx	eax, BYTE PTR -89[rbp]
	add	eax, 1
	mov	BYTE PTR -89[rbp], al
	cmp	BYTE PTR -89[rbp], 2
	jne	.L33
	movzx	eax, BYTE PTR -91[rbp]
	add	eax, 1
	mov	BYTE PTR -91[rbp], al
	mov	edx, 132
	mov	eax, 953
	mov	r8d, 0
	mov	ecx, 0
	mov	esi, eax
	lea	rdi, auxiliary_data[rip]
	mov	eax, 0
	call	spcard_ram_say@PLT
	lea	rax, .LC10[rip]
	mov	rdi, rax
	mov	eax, 0
	call	cputs@PLT
	lea	rdi, .LC51[rip]
	mov	eax, 0
	call	cputs@PLT
	mov	eax, 0
	call	spcard_wait_talk_end@PLT
	mov	edx, 183
	mov	eax, 1984
	mov	r8d, 0
	mov	ecx, 0
	mov	esi, eax
	lea	rdi, auxiliary_data[rip]
	mov	eax, 0
	call	spcard_ram_say@PLT
	lea	rax, .LC12[rip]
	mov	rdi, rax
	mov	eax, 0
	call	cputs@PLT
	mov	eax, 0
	call	spcard_wait_talk_end@PLT
	lea	rdi, .LC52[rip]
	mov	eax, 0
	call	cputs@PLT
	movzx	eax, BYTE PTR -93[rbp]
	cdqe
	mov	eax, DWORD PTR -64[rbp+rax*4]
	mov	edx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	mov	rdi, rax
	mov	eax, 0
	call	cputs@PLT
	lea	rdi, .LC53[rip]
	mov	eax, 0
	call	cputs@PLT
	movzx	eax, BYTE PTR -93[rbp]
	cdqe
	mov	eax, DWORD PTR -64[rbp+rax*4]
	mov	edx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR 16[rax]
	movzx	eax, BYTE PTR -93[rbp]
	cdqe
	mov	eax, DWORD PTR -64[rbp+rax*4]
	mov	ecx, eax
	mov	rax, rcx
	sal	rax, 2
	add	rax, rcx
	sal	rax, 2
	mov	rcx, rax
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rcx
	mov	esi, DWORD PTR 12[rax]
	mov	rax, QWORD PTR -80[rbp]
	mov	r8d, 1
	mov	ecx, 0
	mov	rdi, rax
	mov	eax, 0
	call	spcard_ram_say@PLT
	mov	edx, 51
	mov	eax, 1234
	mov	r8d, 0
	mov	ecx, 0
	mov	esi, eax
	lea	rdi, auxiliary_data[rip]
	mov	eax, 0
	call	spcard_ram_say@PLT
	lea	rax, .LC13[rip]
	mov	rdi, rax
	mov	eax, 0
	call	cputs@PLT
	lea	rdi, .LC51[rip]
	mov	eax, 0
	call	cputs@PLT
	mov	eax, 0
	call	spcard_wait_talk_end@PLT
	mov	edi, 200
	call	sleep_msec
	lea	rdi, .LC49[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edi, 1
	mov	eax, 0
	call	cursor@PLT
	mov	DWORD PTR -88[rbp], 0
	jmp	.L60
.L61:
	movzx	eax, BYTE PTR -93[rbp]
	cdqe
	mov	eax, DWORD PTR -64[rbp+rax*4]
	mov	edx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -88[rbp]
	movzx	eax, BYTE PTR [rdx+rax]
	movsx	eax, al
	mov	edi, eax
	mov	eax, 0
	call	cputc@PLT
	movzx	eax, BYTE PTR -93[rbp]
	cdqe
	mov	eax, DWORD PTR -64[rbp+rax*4]
	mov	edx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -88[rbp]
	movzx	eax, BYTE PTR [rdx+rax]
	movsx	eax, al
	mov	esi, 1
	mov	edi, eax
	call	say_letter@PLT
	add	DWORD PTR -88[rbp], 1
.L60:
	movzx	eax, BYTE PTR -93[rbp]
	cdqe
	mov	eax, DWORD PTR -64[rbp+rax*4]
	mov	edx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR 9[rax]
	movzx	eax, al
	cmp	DWORD PTR -88[rbp], eax
	jb	.L61
	mov	edi, 100
	call	sleep_msec
	movzx	eax, BYTE PTR -93[rbp]
	cdqe
	mov	eax, DWORD PTR -64[rbp+rax*4]
	mov	edx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR 16[rax]
	movzx	eax, BYTE PTR -93[rbp]
	cdqe
	mov	eax, DWORD PTR -64[rbp+rax*4]
	mov	ecx, eax
	mov	rax, rcx
	sal	rax, 2
	add	rax, rcx
	sal	rax, 2
	mov	rcx, rax
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rcx
	mov	esi, DWORD PTR 12[rax]
	mov	rax, QWORD PTR -80[rbp]
	mov	r8d, 1
	mov	ecx, 0
	mov	rdi, rax
	mov	eax, 0
	call	spcard_ram_say@PLT
	mov	edi, 6000
	call	sleep_msec
	mov	BYTE PTR -89[rbp], 0
	add	BYTE PTR -93[rbp], 1
.L33:
	cmp	BYTE PTR -93[rbp], 9
	jbe	.L62
	mov	edi, 0
	mov	eax, 0
	call	cursor@PLT
	mov	eax, 0
	call	clrscr@PLT
	mov	edx, 131
	mov	eax, 475
	mov	r8d, 0
	mov	ecx, 0
	mov	esi, eax
	lea	rdi, auxiliary_data[rip]
	mov	eax, 0
	call	spcard_ram_say@PLT
	lea	rax, .LC5[rip]
	mov	rdi, rax
	mov	eax, 0
	call	cputs@PLT
	lea	rdi, .LC50[rip]
	mov	eax, 0
	call	cputs@PLT
	mov	eax, 0
	call	spcard_wait_talk_end@PLT
	movsx	eax, BYTE PTR -90[rbp]
	lea	rcx, -94[rbp]
	mov	edx, 10
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 0
	call	itoa@PLT
	movsx	eax, BYTE PTR -90[rbp]
	mov	esi, eax
	lea	rdi, .LC54[rip]
	mov	eax, 0
	call	cprintf@PLT
	cmp	BYTE PTR -90[rbp], 10
	jne	.L63
	mov	esi, 1
	mov	edi, 45
	call	say_letter@PLT
	jmp	.L64
.L63:
	movzx	eax, BYTE PTR -94[rbp]
	movsx	eax, al
	mov	esi, 1
	mov	edi, eax
	call	say_letter@PLT
.L64:
	mov	edx, 67
	mov	eax, 606
	mov	r8d, 0
	mov	ecx, 0
	mov	esi, eax
	lea	rdi, auxiliary_data[rip]
	mov	eax, 0
	call	spcard_ram_say@PLT
	lea	rdi, .LC55[rip]
	mov	eax, 0
	call	cputs@PLT
	lea	rax, .LC6[rip]
	mov	rdi, rax
	mov	eax, 0
	call	cputs@PLT
	mov	eax, 0
	call	spcard_wait_talk_end@PLT
	lea	rdi, .LC47[rip]
	mov	eax, 0
	call	cputs@PLT
	movsx	eax, BYTE PTR -91[rbp]
	lea	rcx, -94[rbp]
	mov	edx, 10
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 0
	call	itoa@PLT
	movsx	eax, BYTE PTR -91[rbp]
	mov	esi, eax
	lea	rdi, .LC54[rip]
	mov	eax, 0
	call	cprintf@PLT
	cmp	BYTE PTR -91[rbp], 10
	jne	.L65
	mov	esi, 1
	mov	edi, 45
	call	say_letter@PLT
	jmp	.L66
.L65:
	movzx	eax, BYTE PTR -94[rbp]
	movsx	eax, al
	mov	esi, 1
	mov	edi, eax
	call	say_letter@PLT
.L66:
	mov	edx, 73
	mov	eax, 673
	mov	r8d, 0
	mov	ecx, 0
	mov	esi, eax
	lea	rdi, auxiliary_data[rip]
	mov	eax, 0
	call	spcard_ram_say@PLT
	lea	rdi, .LC55[rip]
	mov	eax, 0
	call	cputs@PLT
	lea	rax, .LC7[rip]
	mov	rdi, rax
	mov	eax, 0
	call	cputs@PLT
	mov	eax, 0
	call	spcard_wait_talk_end@PLT
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	call	free@PLT
	lea	rdx, .LC56[rip]
	mov	esi, 10
	mov	edi, 0
	mov	eax, 0
	call	cputsxy@PLT
	mov	eax, 0
	call	cgetc@PLT
	jmp	.L11
.L69:
	nop
	jmp	.L11
.L70:
	nop
.L11:
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L68
	call	__stack_chk_fail@PLT
.L68:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	sns_spell, .-sns_spell
	.section	.rodata
.LC57:
	.string	"Speak and spell!"
.LC58:
	.string	"Select game"
.LC59:
	.string	"1"
.LC60:
	.string	" Spell it"
.LC61:
	.string	"2"
.LC62:
	.string	" Say it, Spell it"
.LC63:
	.string	"3"
.LC64:
	.string	" Mystery word"
.LC65:
	.string	"4"
.LC66:
	.string	" Secret code"
.LC67:
	.string	"5"
.LC68:
	.string	" Letter"
	.text
	.globl	sns_menu
	.type	sns_menu, @function
sns_menu:
.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, 16
	mov	eax, 0
	call	clrscr@PLT
	mov	eax, 0
	call	spcard_reset@PLT
	mov	edx, 53
	mov	eax, 1383
	mov	r8d, 1
	mov	ecx, 0
	mov	esi, eax
	lea	rdi, auxiliary_data[rip]
	mov	eax, 0
	call	spcard_ram_say@PLT
	call	rand@PLT
	mov	edx, eax
	movsx	rax, edx
	imul	rax, rax, 1431655766
	shr	rax, 32
	mov	ecx, edx
	sar	ecx, 31
	sub	eax, ecx
	mov	ecx, eax
	add	ecx, ecx
	add	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	mov	BYTE PTR -2[rbp], al
	movsx	eax, BYTE PTR -2[rbp]
	cmp	eax, 2
	je	.L72
	cmp	eax, 2
	jg	.L73
	test	eax, eax
	je	.L74
	cmp	eax, 1
	je	.L75
	jmp	.L73
.L74:
	mov	edx, 53
	mov	eax, 1436
	mov	r8d, 0
	mov	ecx, 0
	mov	esi, eax
	lea	rdi, auxiliary_data[rip]
	mov	eax, 0
	call	spcard_ram_say@PLT
	jmp	.L73
.L75:
	mov	edx, 53
	mov	eax, 1489
	mov	r8d, 0
	mov	ecx, 0
	mov	esi, eax
	lea	rdi, auxiliary_data[rip]
	mov	eax, 0
	call	spcard_ram_say@PLT
	jmp	.L73
.L72:
	mov	edx, 53
	mov	eax, 1542
	mov	r8d, 0
	mov	ecx, 0
	mov	esi, eax
	lea	rdi, auxiliary_data[rip]
	mov	eax, 0
	call	spcard_ram_say@PLT
	nop
.L73:
	mov	esi, 3
	mov	edi, 13
	mov	eax, 0
	call	gotoxy@PLT
	lea	rdi, .LC57[rip]
	call	puts@PLT
	mov	esi, 6
	mov	edi, 15
	mov	eax, 0
	call	gotoxy@PLT
	lea	rdi, .LC58[rip]
	call	puts@PLT
	mov	esi, 9
	mov	edi, 8
	mov	eax, 0
	call	gotoxy@PLT
	lea	rdi, .LC27[rip]
	mov	eax, 0
	call	cputs@PLT
	mov	edi, 1
	mov	eax, 0
	call	revers@PLT
	lea	rdi, .LC59[rip]
	mov	eax, 0
	call	cputs@PLT
	mov	edi, 0
	mov	eax, 0
	call	revers@PLT
	lea	rdi, .LC29[rip]
	mov	eax, 0
	call	cputs@PLT
	lea	rdi, .LC60[rip]
	mov	eax, 0
	call	cputs@PLT
	mov	esi, 10
	mov	edi, 8
	mov	eax, 0
	call	gotoxy@PLT
	lea	rdi, .LC27[rip]
	mov	eax, 0
	call	cputs@PLT
	mov	edi, 1
	mov	eax, 0
	call	revers@PLT
	lea	rdi, .LC61[rip]
	mov	eax, 0
	call	cputs@PLT
	mov	edi, 0
	mov	eax, 0
	call	revers@PLT
	lea	rdi, .LC29[rip]
	mov	eax, 0
	call	cputs@PLT
	lea	rdi, .LC62[rip]
	mov	eax, 0
	call	cputs@PLT
	mov	esi, 12
	mov	edi, 8
	mov	eax, 0
	call	gotoxy@PLT
	lea	rdi, .LC27[rip]
	mov	eax, 0
	call	cputs@PLT
	mov	edi, 0
	mov	eax, 0
	call	revers@PLT
	lea	rdi, .LC63[rip]
	mov	eax, 0
	call	cputs@PLT
	mov	edi, 0
	mov	eax, 0
	call	revers@PLT
	lea	rdi, .LC29[rip]
	mov	eax, 0
	call	cputs@PLT
	lea	rdi, .LC64[rip]
	mov	eax, 0
	call	cputs@PLT
	mov	esi, 13
	mov	edi, 8
	mov	eax, 0
	call	gotoxy@PLT
	lea	rdi, .LC27[rip]
	mov	eax, 0
	call	cputs@PLT
	mov	edi, 0
	mov	eax, 0
	call	revers@PLT
	lea	rdi, .LC65[rip]
	mov	eax, 0
	call	cputs@PLT
	mov	edi, 0
	mov	eax, 0
	call	revers@PLT
	lea	rdi, .LC29[rip]
	mov	eax, 0
	call	cputs@PLT
	lea	rdi, .LC66[rip]
	mov	eax, 0
	call	cputs@PLT
	mov	esi, 14
	mov	edi, 8
	mov	eax, 0
	call	gotoxy@PLT
	lea	rdi, .LC27[rip]
	mov	eax, 0
	call	cputs@PLT
	mov	edi, 0
	mov	eax, 0
	call	revers@PLT
	lea	rdi, .LC67[rip]
	mov	eax, 0
	call	cputs@PLT
	mov	edi, 0
	mov	eax, 0
	call	revers@PLT
	lea	rdi, .LC29[rip]
	mov	eax, 0
	call	cputs@PLT
	lea	rdi, .LC68[rip]
	mov	eax, 0
	call	cputs@PLT
	mov	esi, 16
	mov	edi, 8
	mov	eax, 0
	call	gotoxy@PLT
	lea	rdi, .LC27[rip]
	mov	eax, 0
	call	cputs@PLT
	mov	edi, 1
	mov	eax, 0
	call	revers@PLT
	lea	rdi, .LC37[rip]
	mov	eax, 0
	call	cputs@PLT
	mov	edi, 0
	mov	eax, 0
	call	revers@PLT
	lea	rdi, .LC29[rip]
	mov	eax, 0
	call	cputs@PLT
	lea	rdi, .LC38[rip]
	mov	eax, 0
	call	cputs@PLT
	mov	eax, 0
	call	spcard_wait_talk_end@PLT
	nop
	mov	eax, 0
	call	cgetc@PLT
	mov	BYTE PTR -1[rbp], al
	cmp	BYTE PTR -1[rbp], 48
	je	.L81
	cmp	BYTE PTR -1[rbp], 49
	jne	.L77
	mov	edi, 1
	call	sns_spell
	jmp	.L78
.L77:
	cmp	BYTE PTR -1[rbp], 50
	jne	.L78
	mov	edi, 2
	call	sns_spell
.L78:
	mov	eax, 0
	jmp	.L79
.L81:
	mov	eax, 1
.L79:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	sns_menu, .-sns_menu
	.globl	speak_and_spell
	.type	speak_and_spell, @function
speak_and_spell:
.LFB10:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, 0
	call	_randomize@PLT
	nop
.L83:
	mov	eax, 0
	call	sns_menu
	test	al, al
	je	.L83
	nop
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	speak_and_spell, .-speak_and_spell
	.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	"833766.c"
	.text
	.global	aux_spell
	.section	.rodata
	.align	2
.LC0:
	.ascii	"Now spell\000"
	.align	2
.LC1:
	.ascii	"Next spell\000"
	.align	2
.LC2:
	.ascii	"Now try\000"
	.align	2
.LC3:
	.ascii	"I win\000"
	.align	2
.LC4:
	.ascii	"You win\000"
	.align	2
.LC5:
	.ascii	"Here is your score\000"
	.align	2
.LC6:
	.ascii	"Correct\000"
	.align	2
.LC7:
	.ascii	"Wrong\000"
	.align	2
.LC8:
	.ascii	"That is correct\000"
	.align	2
.LC9:
	.ascii	"That is right\000"
	.align	2
.LC10:
	.ascii	"That is incorrect\000"
	.align	2
.LC11:
	.ascii	"Try again\000"
	.align	2
.LC12:
	.ascii	"The correct spelling of\000"
	.align	2
.LC13:
	.ascii	"is\000"
	.align	2
.LC14:
	.ascii	"Tone1\000"
	.align	2
.LC15:
	.ascii	"Tone2\000"
	.align	2
.LC16:
	.ascii	"Tone3\000"
	.align	2
.LC17:
	.ascii	"Tone4\000"
	.align	2
.LC18:
	.ascii	"Spell\000"
	.align	2
.LC19:
	.ascii	"Try\000"
	.align	2
.LC20:
	.ascii	"You are correct\000"
	.align	2
.LC21:
	.ascii	"You are right\000"
	.align	2
.LC22:
	.ascii	"Say It\000"
	.align	2
	.type	aux_spell, %object
	.size	aux_spell, 96
aux_spell:
	.word	.LC0
	.word	.LC1
	.word	.LC2
	.word	.LC3
	.word	.LC4
	.word	.LC5
	.word	.LC6
	.word	.LC7
	.word	.LC8
	.word	.LC9
	.word	.LC10
	.word	.LC11
	.word	.LC12
	.word	.LC13
	.word	.LC14
	.word	.LC15
	.word	.LC16
	.word	.LC17
	.word	.LC18
	.word	.LC19
	.word	.LC20
	.word	.LC21
	.word	.LC22
	.word	.LC12
	.global	aux_pos
	.align	2
	.type	aux_pos, %object
	.size	aux_pos, 96
aux_pos:
	.word	147
	.word	262
	.word	362
	.word	0
	.word	76
	.word	475
	.word	606
	.word	673
	.word	746
	.word	856
	.word	953
	.word	1285
	.word	1085
	.word	1234
	.word	1383
	.word	1436
	.word	1489
	.word	1542
	.word	1595
	.word	1657
	.word	1731
	.word	1830
	.word	1921
	.word	1984
	.global	aux_size
	.align	2
	.type	aux_size, %object
	.size	aux_size, 96
aux_size:
	.word	115
	.word	100
	.word	113
	.word	76
	.word	71
	.word	131
	.word	67
	.word	73
	.word	110
	.word	97
	.word	132
	.word	98
	.word	149
	.word	51
	.word	53
	.word	53
	.word	53
	.word	53
	.word	62
	.word	74
	.word	99
	.word	91
	.word	63
	.word	183
	.local	sp_size
	.comm	sp_size,4,4
	.text
	.align	2
	.global	sleep_msec
	.syntax unified
	.arm
	.fpu softvfp
	.type	sleep_msec, %function
sleep_msec:
	@ 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, #-8]
	b	.L2
.L4:
	.syntax divided
@ 55 "the_stack_data/833766.c" 1
	nop
@ 0 "" 2
	.arm
	.syntax unified
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L3:
	ldr	r3, [fp, #-8]
	ldr	r2, .L6
	cmp	r3, r2
	bls	.L4
	ldr	r3, [fp, #-16]
	sub	r3, r3, #1
	str	r3, [fp, #-16]
.L2:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L3
	nop
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L7:
	.align	2
.L6:
	.word	9999
	.size	sleep_msec, .-sleep_msec
	.align	2
	.global	in_array
	.syntax unified
	.arm
	.fpu softvfp
	.type	in_array, %function
in_array:
	@ 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, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	b	.L9
.L12:
	ldr	r3, [fp, #-12]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	ldr	r2, [fp, #-8]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	bne	.L10
	ldr	r3, [fp, #-12]
	sub	r3, r3, #1
	b	.L11
.L10:
	ldr	r3, [fp, #-12]
	sub	r3, r3, #1
	str	r3, [fp, #-12]
.L9:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L12
	mvn	r3, #0
.L11:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	in_array, .-in_array
	.section	.rodata
	.align	2
.LC23:
	.ascii	"Speak and spell!\012\015\000"
	.align	2
.LC24:
	.ascii	"Say it!\000"
	.align	2
.LC25:
	.ascii	"Spell it!\000"
	.align	2
.LC26:
	.ascii	"Select difficulty\000"
	.align	2
.LC27:
	.ascii	"[\000"
	.align	2
.LC28:
	.ascii	"A\000"
	.align	2
.LC29:
	.ascii	"]\000"
	.align	2
.LC30:
	.ascii	" Level A\000"
	.align	2
.LC31:
	.ascii	"B\000"
	.align	2
.LC32:
	.ascii	" Level B\000"
	.align	2
.LC33:
	.ascii	"C\000"
	.align	2
.LC34:
	.ascii	" Level C\000"
	.align	2
.LC35:
	.ascii	"D\000"
	.align	2
.LC36:
	.ascii	" Level D\000"
	.align	2
.LC37:
	.ascii	"0\000"
	.align	2
.LC38:
	.ascii	" Exit\000"
	.align	2
.LC39:
	.ascii	"Starting the game...\000"
	.align	2
.LC40:
	.ascii	"malloc failde!\000"
	.global	__aeabi_uidivmod
	.align	2
.LC41:
	.ascii	"Word %2d/10\000"
	.align	2
.LC42:
	.ascii	"Say it: %s\000"
	.align	2
.LC43:
	.ascii	":\000"
	.align	2
.LC44:
	.ascii	"F1 - repeat\000"
	.align	2
.LC45:
	.ascii	"F2 - replay\000"
	.align	2
.LC46:
	.ascii	"F3 - exit\000"
	.align	2
.LC47:
	.ascii	", \000"
	.align	2
.LC48:
	.ascii	":\015\012\000"
	.align	2
.LC49:
	.ascii	"> \000"
	.align	2
.LC50:
	.ascii	"\012\015\000"
	.align	2
.LC51:
	.ascii	"\015\012\000"
	.align	2
.LC52:
	.ascii	" \"\000"
	.align	2
.LC53:
	.ascii	"\" \000"
	.align	2
.LC54:
	.ascii	"%d\000"
	.align	2
.LC55:
	.ascii	" - \000"
	.align	2
.LC56:
	.ascii	"Press any key to continue\000"
	.align	2
.LC57:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	sns_spell
	.syntax unified
	.arm
	.fpu softvfp
	.type	sns_spell, %function
sns_spell:
	@ args = 0, pretend = 0, frame = 88
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #96
	mov	r3, r0
	strb	r3, [fp, #-85]
	ldr	r3, .L74
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #60
	mov	r2, #40
	mov	r1, #0
	mov	r0, r3
	bl	memset
	mov	r3, #0
	str	r3, [fp, #-20]
	sub	r3, fp, #16
	mov	r2, #0
	str	r2, [r3]
	strb	r2, [r3, #4]
	mov	r3, #0
	strb	r3, [fp, #-79]
	mov	r3, #0
	strb	r3, [fp, #-78]
	mov	r3, #0
	strb	r3, [fp, #-77]
	bl	clrscr
	mov	r1, #3
	mov	r0, #13
	bl	gotoxy
	ldr	r0, .L74+4
	bl	printf
	mov	r1, #4
	mov	r0, #15
	bl	gotoxy
	ldrb	r3, [fp, #-85]	@ zero_extendqisi2
	cmp	r3, #2
	bne	.L14
	ldr	r0, .L74+8
	bl	puts
	ldr	r1, .L74+12
	mov	r2, #63
	mov	r3, #0
	str	r3, [sp]
	mov	r3, #0
	ldr	r0, .L74+276
	bl	spcard_ram_say
	b	.L15
.L14:
	ldr	r0, .L74+16
	bl	puts
.L15:
	mov	r1, #6
	mov	r0, #12
	bl	gotoxy
	ldr	r0, .L74+20
	bl	puts
	mov	r1, #9
	mov	r0, #8
	bl	gotoxy
	ldr	r0, .L74+24
	bl	cputs
	mov	r0, #1
	bl	revers
	ldr	r0, .L74+28
	bl	cputs
	mov	r0, #0
	bl	revers
	ldr	r0, .L74+32
	bl	cputs
	ldr	r0, .L74+36
	bl	cputs
	mov	r1, #10
	mov	r0, #8
	bl	gotoxy
	ldr	r0, .L74+24
	bl	cputs
	mov	r0, #1
	bl	revers
	ldr	r0, .L74+40
	bl	cputs
	mov	r0, #0
	bl	revers
	ldr	r0, .L74+32
	bl	cputs
	ldr	r0, .L74+44
	bl	cputs
	mov	r1, #12
	mov	r0, #8
	bl	gotoxy
	ldr	r0, .L74+24
	bl	cputs
	mov	r0, #1
	bl	revers
	ldr	r0, .L74+48
	bl	cputs
	mov	r0, #0
	bl	revers
	ldr	r0, .L74+32
	bl	cputs
	ldr	r0, .L74+52
	bl	cputs
	mov	r1, #13
	mov	r0, #8
	bl	gotoxy
	ldr	r0, .L74+24
	bl	cputs
	mov	r0, #1
	bl	revers
	ldr	r0, .L74+56
	bl	cputs
	mov	r0, #0
	bl	revers
	ldr	r0, .L74+32
	bl	cputs
	ldr	r0, .L74+60
	bl	cputs
	mov	r1, #15
	mov	r0, #8
	bl	gotoxy
	ldr	r0, .L74+24
	bl	cputs
	mov	r0, #1
	bl	revers
	ldr	r0, .L74+64
	bl	cputs
	mov	r0, #0
	bl	revers
	ldr	r0, .L74+32
	bl	cputs
	ldr	r0, .L74+68
	bl	cputs
	ldrb	r3, [fp, #-85]	@ zero_extendqisi2
	cmp	r3, #2
	bne	.L17
	bl	spcard_wait_talk_end
	b	.L17
.L24:
	ldrb	r3, [fp, #-82]	@ zero_extendqisi2
	cmp	r3, #65
	bne	.L18
	ldr	r3, .L74+72
	str	r3, [fp, #-76]
	mov	r1, #1
	mov	r0, #65
	bl	say_letter
	b	.L19
.L18:
	ldrb	r3, [fp, #-82]	@ zero_extendqisi2
	cmp	r3, #66
	bne	.L20
	ldr	r3, .L74+76
	str	r3, [fp, #-76]
	mov	r1, #1
	mov	r0, #66
	bl	say_letter
	b	.L19
.L20:
	ldrb	r3, [fp, #-82]	@ zero_extendqisi2
	cmp	r3, #67
	bne	.L21
	ldr	r3, .L74+80
	str	r3, [fp, #-76]
	mov	r1, #1
	mov	r0, #67
	bl	say_letter
	b	.L19
.L21:
	ldrb	r3, [fp, #-82]	@ zero_extendqisi2
	cmp	r3, #68
	bne	.L22
	ldr	r3, .L74+84
	str	r3, [fp, #-76]
	mov	r1, #1
	mov	r0, #68
	bl	say_letter
	b	.L19
.L22:
	ldrb	r3, [fp, #-82]	@ zero_extendqisi2
	cmp	r3, #48
	beq	.L72
.L17:
	bl	cgetc
	mov	r3, r0
	and	r3, r3, #255
	strb	r3, [fp, #-82]
	ldrb	r3, [fp, #-82]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L24
.L19:
	bl	clrscr
	ldr	r0, .L74+88
	bl	puts
	ldr	r3, [fp, #-76]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, .L74+92
	str	r2, [r3]
	ldr	r3, .L74+92
	ldr	r2, [r3]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-68]
	ldr	r3, [fp, #-68]
	cmp	r3, #0
	bne	.L25
	ldr	r0, .L74+96
	bl	puts
	nop
.L26:
	bl	kbhit
	mov	r3, r0
	cmp	r3, #0
	beq	.L26
	b	.L13
.L25:
	mov	r3, #0
	strb	r3, [fp, #-81]
	mov	r3, #3
	str	r3, [fp, #-72]
	b	.L27
.L28:
	ldr	r3, [fp, #-72]
	add	r3, r3, #1
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	ldr	r1, [fp, #-76]
	ldr	r2, [fp, #-72]
	add	r2, r1, r2
	ldrb	r2, [r2]	@ zero_extendqisi2
	orr	r1, r3, r2
	ldrb	r2, [fp, #-81]	@ zero_extendqisi2
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-68]
	add	r3, r3, r2
	mov	r2, r1
	str	r2, [r3, #12]
	ldr	r3, [fp, #-72]
	add	r3, r3, #2
	str	r3, [fp, #-72]
	ldr	r2, [fp, #-76]
	ldr	r3, [fp, #-72]
	add	r3, r2, r3
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldrb	r2, [fp, #-81]	@ zero_extendqisi2
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-68]
	add	r3, r3, r2
	mov	r2, r1
	str	r2, [r3, #16]
	ldr	r3, [fp, #-72]
	add	r3, r3, #1
	str	r3, [fp, #-72]
	ldr	r2, [fp, #-76]
	ldr	r3, [fp, #-72]
	add	r1, r2, r3
	ldrb	r2, [fp, #-81]	@ zero_extendqisi2
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-68]
	add	r3, r3, r2
	ldrb	r2, [r1]	@ zero_extendqisi2
	strb	r2, [r3, #9]
	ldr	r3, [fp, #-72]
	add	r3, r3, #1
	str	r3, [fp, #-72]
	ldrb	r2, [fp, #-81]	@ zero_extendqisi2
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-68]
	add	r3, r3, r2
	mov	r0, r3
	ldr	r2, [fp, #-76]
	ldr	r3, [fp, #-72]
	add	r1, r2, r3
	ldrb	r2, [fp, #-81]	@ zero_extendqisi2
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-68]
	add	r3, r3, r2
	ldrb	r3, [r3, #9]	@ zero_extendqisi2
	mov	r2, r3
	bl	memcpy
	ldrb	r2, [fp, #-81]	@ zero_extendqisi2
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-68]
	add	r1, r3, r2
	ldrb	r2, [fp, #-81]	@ zero_extendqisi2
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-68]
	add	r3, r3, r2
	ldrb	r3, [r3, #9]	@ zero_extendqisi2
	mov	r2, #0
	strb	r2, [r1, r3]
	ldrb	r2, [fp, #-81]	@ zero_extendqisi2
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-68]
	add	r3, r3, r2
	ldrb	r3, [r3, #9]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-72]
	add	r3, r3, r2
	str	r3, [fp, #-72]
	ldrb	r3, [fp, #-81]
	add	r3, r3, #1
	strb	r3, [fp, #-81]
.L27:
	ldrb	r2, [fp, #-81]	@ zero_extendqisi2
	ldr	r3, .L74+92
	ldr	r3, [r3]
	cmp	r2, r3
	bcc	.L28
	mov	r3, #0
	str	r3, [fp, #-72]
	b	.L29
.L31:
	bl	rand
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L74+92
	ldr	r3, [r3]
	mov	r1, r3
	mov	r0, r2
	bl	__aeabi_uidivmod
	mov	r3, r1
	str	r3, [fp, #-64]
	sub	r3, fp, #60
	ldr	r2, [fp, #-64]
	mov	r1, #10
	mov	r0, r3
	bl	in_array
	mov	r3, r0
	cmn	r3, #1
	beq	.L30
	b	.L29
.L30:
	ldr	r3, [fp, #-72]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r2, [fp, #-64]
	str	r2, [r3, #-56]
	ldr	r3, [fp, #-72]
	add	r3, r3, #1
	str	r3, [fp, #-72]
.L29:
	ldr	r3, [fp, #-72]
	cmp	r3, #9
	bls	.L31
	ldrb	r3, [fp, #-85]	@ zero_extendqisi2
	cmp	r3, #2
	bne	.L32
	mov	r3, #0
	strb	r3, [fp, #-81]
	b	.L33
.L34:
	bl	clrscr
	mov	r1, #0
	mov	r0, #30
	bl	gotoxy
	ldrb	r3, [fp, #-81]	@ zero_extendqisi2
	add	r3, r3, #1
	mov	r1, r3
	ldr	r0, .L74+100
	bl	cprintf
	mov	r1, #1
	mov	r0, #0
	bl	gotoxy
	ldrb	r3, [fp, #-81]	@ zero_extendqisi2
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r2, [r3, #-56]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-68]
	add	r3, r3, r2
	mov	r1, r3
	ldr	r0, .L74+104
	bl	printf
	ldr	r1, .L74+12
	mov	r2, #63
	mov	r3, #1
	str	r3, [sp]
	mov	r3, #0
	ldr	r0, .L74+276
	bl	spcard_ram_say
	ldr	r0, .L74+108
	bl	sleep_msec
	ldrb	r3, [fp, #-81]	@ zero_extendqisi2
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r2, [r3, #-56]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-68]
	add	r3, r3, r2
	ldr	r1, [r3, #12]
	ldrb	r3, [fp, #-81]	@ zero_extendqisi2
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r2, [r3, #-56]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-68]
	add	r3, r3, r2
	ldr	r2, [r3, #16]
	mov	r3, #1
	str	r3, [sp]
	mov	r3, #0
	ldr	r0, [fp, #-76]
	bl	spcard_ram_say
	mov	r0, #2000
	bl	sleep_msec
	ldrb	r3, [fp, #-81]
	add	r3, r3, #1
	strb	r3, [fp, #-81]
.L33:
	ldrb	r3, [fp, #-81]	@ zero_extendqisi2
	cmp	r3, #9
	bls	.L34
.L32:
	mov	r3, #0
	strb	r3, [fp, #-81]
	b	.L35
.L65:
	ldrb	r3, [fp, #-77]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L36
	cmp	r3, #1
	beq	.L37
	b	.L38
.L36:
	bl	clrscr
	ldrb	r3, [fp, #-81]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L39
	ldr	r1, .L74+112
	mov	r2, #62
	mov	r3, #0
	str	r3, [sp]
	mov	r3, #0
	ldr	r0, .L74+276
	bl	spcard_ram_say
	ldr	r3, .L74+116
	mov	r0, r3
	bl	cputs
	b	.L40
.L39:
	bl	rand
	mov	r1, r0
	ldr	r3, .L74+120
	smull	r0, r2, r3, r1
	asr	r3, r1, #31
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	sub	r2, r1, r3
	str	r2, [fp, #-64]
	ldr	r3, [fp, #-64]
	cmp	r3, #2
	beq	.L41
	ldr	r3, [fp, #-64]
	cmp	r3, #2
	bhi	.L40
	ldr	r3, [fp, #-64]
	cmp	r3, #0
	beq	.L42
	ldr	r3, [fp, #-64]
	cmp	r3, #1
	beq	.L43
	b	.L40
.L42:
	mov	r1, #147
	mov	r2, #115
	mov	r3, #0
	str	r3, [sp]
	mov	r3, #0
	ldr	r0, .L74+276
	bl	spcard_ram_say
	ldr	r3, .L74+124
	mov	r0, r3
	bl	cputs
	b	.L40
.L43:
	ldr	r1, .L74+128
	mov	r2, #100
	mov	r3, #0
	str	r3, [sp]
	mov	r3, #0
	ldr	r0, .L74+276
	bl	spcard_ram_say
	ldr	r3, .L74+132
	mov	r0, r3
	bl	cputs
	b	.L40
.L41:
	ldr	r1, .L74+136
	mov	r2, #113
	mov	r3, #0
	str	r3, [sp]
	mov	r3, #0
	ldr	r0, .L74+276
	bl	spcard_ram_say
	ldr	r3, .L74+140
	mov	r0, r3
	bl	cputs
	nop
.L40:
	ldr	r0, .L74+144
	bl	puts
	mov	r1, #0
	mov	r0, #30
	bl	gotoxy
	ldrb	r3, [fp, #-81]	@ zero_extendqisi2
	add	r3, r3, #1
	mov	r1, r3
	ldr	r0, .L74+100
	bl	cprintf
	ldr	r2, .L74+148
	mov	r1, #21
	mov	r0, #29
	bl	cputsxy
	ldr	r2, .L74+152
	mov	r1, #22
	mov	r0, #29
	bl	cputsxy
	ldr	r2, .L74+156
	mov	r1, #23
	mov	r0, #29
	bl	cputsxy
	mov	r1, #1
	mov	r0, #0
	bl	gotoxy
	bl	spcard_wait_talk_end
	ldrb	r3, [fp, #-81]	@ zero_extendqisi2
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r2, [r3, #-56]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-68]
	add	r3, r3, r2
	ldr	r1, [r3, #12]
	ldrb	r3, [fp, #-81]	@ zero_extendqisi2
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r2, [r3, #-56]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-68]
	add	r3, r3, r2
	ldr	r2, [r3, #16]
	mov	r3, #0
	str	r3, [sp]
	mov	r3, #0
	ldr	r0, [fp, #-76]
	bl	spcard_ram_say
	b	.L38
.L37:
	ldr	r3, .L74+284
	mov	r0, r3
	bl	cputs
	ldr	r0, .L74+264
	bl	cputs
	ldr	r1, .L74+272
	mov	r2, #73
	mov	r3, #1
	str	r3, [sp]
	mov	r3, #0
	ldr	r0, .L74+276
	bl	spcard_ram_say
	ldr	r3, .L74+160
	mov	r0, r3
	bl	cputs
	ldr	r0, .L74+164
	bl	cputs
	ldr	r1, .L74+168
	mov	r2, #98
	mov	r3, #1
	str	r3, [sp]
	mov	r3, #0
	ldr	r0, .L74+276
	bl	spcard_ram_say
	ldrb	r3, [fp, #-81]	@ zero_extendqisi2
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r2, [r3, #-56]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-68]
	add	r3, r3, r2
	ldr	r1, [r3, #12]
	ldrb	r3, [fp, #-81]	@ zero_extendqisi2
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r2, [r3, #-56]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-68]
	add	r3, r3, r2
	ldr	r2, [r3, #16]
	mov	r3, #0
	str	r3, [sp]
	mov	r3, #0
	ldr	r0, [fp, #-76]
	bl	spcard_ram_say
	nop
.L38:
	ldr	r0, .L74+172
	bl	printf
	mov	r0, #1
	bl	cursor
	bl	spcard_wait_talk_end
	mov	r3, #0
	strb	r3, [fp, #-80]
	b	.L44
.L54:
	ldrb	r3, [fp, #-82]	@ zero_extendqisi2
	cmp	r3, #64
	bls	.L45
	ldrb	r3, [fp, #-82]	@ zero_extendqisi2
	cmp	r3, #90
	bhi	.L45
	ldrsb	r3, [fp, #-80]
	cmp	r3, #8
	bne	.L46
	b	.L44
.L46:
	ldrsb	r3, [fp, #-80]
	ldrb	r2, [fp, #-82]	@ zero_extendqisi2
	sub	r1, fp, #4
	add	r3, r1, r3
	strb	r2, [r3, #-16]
	ldrb	r3, [fp, #-82]	@ zero_extendqisi2
	mov	r1, #0
	mov	r0, r3
	bl	say_letter
	ldrb	r3, [fp, #-82]	@ zero_extendqisi2
	mov	r0, r3
	bl	cputc
	bl	spcard_wait_talk_end
	ldrb	r3, [fp, #-80]	@ zero_extendqisi2
	add	r3, r3, #1
	and	r3, r3, #255
	strb	r3, [fp, #-80]
	b	.L44
.L45:
	ldrb	r3, [fp, #-82]	@ zero_extendqisi2
	cmp	r3, #8
	bne	.L47
	ldrsb	r3, [fp, #-80]
	cmp	r3, #0
	bgt	.L48
	b	.L44
.L48:
	bl	wherex
	mov	r3, r0
	sub	r3, r3, #1
	mov	r0, r3
	bl	gotox
	mov	r0, #1
	bl	cclear
	bl	wherex
	mov	r3, r0
	sub	r3, r3, #1
	mov	r0, r3
	bl	gotox
	ldrsb	r3, [fp, #-80]
	sub	r2, fp, #4
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3, #-16]
	ldrb	r3, [fp, #-80]	@ zero_extendqisi2
	sub	r3, r3, #1
	and	r3, r3, #255
	strb	r3, [fp, #-80]
	b	.L44
.L47:
	ldrb	r3, [fp, #-82]	@ zero_extendqisi2
	cmp	r3, #13
	bne	.L49
	ldrsb	r3, [fp, #-80]
	sub	r2, fp, #4
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3, #-16]
	b	.L50
.L49:
	ldrb	r3, [fp, #-82]	@ zero_extendqisi2
	cmp	r3, #4
	bne	.L51
	ldrb	r3, [fp, #-81]	@ zero_extendqisi2
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r2, [r3, #-56]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-68]
	add	r3, r3, r2
	ldr	r1, [r3, #12]
	ldrb	r3, [fp, #-81]	@ zero_extendqisi2
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r2, [r3, #-56]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-68]
	add	r3, r3, r2
	ldr	r2, [r3, #16]
	mov	r3, #1
	str	r3, [sp]
	mov	r3, #0
	ldr	r0, [fp, #-76]
	bl	spcard_ram_say
	b	.L44
.L51:
	ldrb	r3, [fp, #-82]	@ zero_extendqisi2
	cmp	r3, #5
	bne	.L52
	mov	r3, #0
	strb	r3, [fp, #-81]
	mov	r3, #0
	strb	r3, [fp, #-77]
	b	.L50
.L52:
	ldrb	r3, [fp, #-82]	@ zero_extendqisi2
	cmp	r3, #6
	beq	.L73
	ldrb	r3, [fp, #-82]	@ zero_extendqisi2
	cmp	r3, #27
	beq	.L73
.L44:
	bl	cgetc
	mov	r3, r0
	and	r3, r3, #255
	strb	r3, [fp, #-82]
	ldrb	r3, [fp, #-82]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L54
.L50:
	ldrb	r3, [fp, #-82]	@ zero_extendqisi2
	cmp	r3, #5
	bne	.L55
	b	.L35
.L55:
	ldr	r0, .L74+252
	bl	cputs
	ldrb	r3, [fp, #-81]	@ zero_extendqisi2
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r2, [r3, #-56]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-68]
	add	r3, r3, r2
	mov	r2, r3
	sub	r3, fp, #20
	mov	r1, r2
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L56
	ldrb	r3, [fp, #-78]
	add	r3, r3, #1
	strb	r3, [fp, #-78]
	bl	rand
	mov	r3, r0
	rsbs	r2, r3, #0
	and	r3, r3, #3
	and	r2, r2, #3
	rsbpl	r3, r2, #0
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-64]
	cmp	r3, #3
	ldrls	pc, [pc, r3, asl #2]
	b	.L57
.L59:
	.word	.L62
	.word	.L61
	.word	.L60
	.word	.L58
.L62:
	ldr	r1, .L74+176
	mov	r2, #110
	mov	r3, #0
	str	r3, [sp]
	mov	r3, #0
	ldr	r0, .L74+276
	bl	spcard_ram_say
	ldr	r3, .L74+180
	mov	r0, r3
	bl	cputs
	b	.L57
.L61:
	mov	r1, #856
	mov	r2, #97
	mov	r3, #0
	str	r3, [sp]
	mov	r3, #0
	ldr	r0, .L74+276
	bl	spcard_ram_say
	ldr	r3, .L74+184
	mov	r0, r3
	bl	cputs
	b	.L57
.L60:
	ldr	r1, .L74+188
	mov	r2, #99
	mov	r3, #0
	str	r3, [sp]
	mov	r3, #0
	ldr	r0, .L74+276
	bl	spcard_ram_say
	ldr	r3, .L74+192
	mov	r0, r3
	bl	cputs
	b	.L57
.L58:
	ldr	r1, .L74+196
	mov	r2, #91
	mov	r3, #0
	str	r3, [sp]
	mov	r3, #0
	ldr	r0, .L74+276
	bl	spcard_ram_say
	ldr	r3, .L74+200
	mov	r0, r3
	bl	cputs
	nop
.L57:
	ldr	r0, .L74+252
	bl	cputs
	bl	spcard_wait_talk_end
	ldr	r0, .L74+204
	bl	sleep_msec
	ldrb	r3, [fp, #-81]
	add	r3, r3, #1
	strb	r3, [fp, #-81]
	mov	r3, #0
	strb	r3, [fp, #-77]
	b	.L35
.L56:
	ldrb	r3, [fp, #-77]
	add	r3, r3, #1
	strb	r3, [fp, #-77]
	ldrb	r3, [fp, #-77]	@ zero_extendqisi2
	cmp	r3, #2
	bne	.L35
	ldrb	r3, [fp, #-79]
	add	r3, r3, #1
	strb	r3, [fp, #-79]
	ldr	r1, .L74+208
	mov	r2, #132
	mov	r3, #0
	str	r3, [sp]
	mov	r3, #0
	ldr	r0, .L74+276
	bl	spcard_ram_say
	ldr	r3, .L74+212
	mov	r0, r3
	bl	cputs
	ldr	r0, .L74+216
	bl	cputs
	bl	spcard_wait_talk_end
	mov	r1, #1984
	mov	r2, #183
	mov	r3, #0
	str	r3, [sp]
	mov	r3, #0
	ldr	r0, .L74+276
	bl	spcard_ram_say
	ldr	r3, .L74+220
	mov	r0, r3
	bl	cputs
	bl	spcard_wait_talk_end
	ldr	r0, .L74+224
	bl	cputs
	ldrb	r3, [fp, #-81]	@ zero_extendqisi2
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r2, [r3, #-56]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-68]
	add	r3, r3, r2
	mov	r0, r3
	bl	cputs
	ldr	r0, .L74+228
	bl	cputs
	ldrb	r3, [fp, #-81]	@ zero_extendqisi2
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r2, [r3, #-56]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-68]
	add	r3, r3, r2
	ldr	r1, [r3, #12]
	ldrb	r3, [fp, #-81]	@ zero_extendqisi2
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r2, [r3, #-56]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-68]
	add	r3, r3, r2
	ldr	r2, [r3, #16]
	mov	r3, #1
	str	r3, [sp]
	mov	r3, #0
	ldr	r0, [fp, #-76]
	bl	spcard_ram_say
	ldr	r1, .L74+232
	mov	r2, #51
	mov	r3, #0
	str	r3, [sp]
	mov	r3, #0
	ldr	r0, .L74+276
	bl	spcard_ram_say
	ldr	r3, .L74+236
	mov	r0, r3
	bl	cputs
	ldr	r0, .L74+216
	bl	cputs
	bl	spcard_wait_talk_end
	mov	r0, #200
	bl	sleep_msec
	ldr	r0, .L74+172
	bl	printf
	mov	r0, #1
	bl	cursor
	mov	r3, #0
	str	r3, [fp, #-72]
	b	.L63
.L75:
	.align	2
.L74:
	.word	.LC57
	.word	.LC23
	.word	.LC24
	.word	1921
	.word	.LC25
	.word	.LC26
	.word	.LC27
	.word	.LC28
	.word	.LC29
	.word	.LC30
	.word	.LC31
	.word	.LC32
	.word	.LC33
	.word	.LC34
	.word	.LC35
	.word	.LC36
	.word	.LC37
	.word	.LC38
	.word	words_a_data
	.word	words_b_data
	.word	words_c_data
	.word	words_d_data
	.word	.LC39
	.word	sp_size
	.word	.LC40
	.word	.LC41
	.word	.LC42
	.word	1700
	.word	1595
	.word	.LC18
	.word	1431655766
	.word	.LC0
	.word	262
	.word	.LC1
	.word	362
	.word	.LC2
	.word	.LC43
	.word	.LC44
	.word	.LC45
	.word	.LC46
	.word	.LC11
	.word	.LC48
	.word	1285
	.word	.LC49
	.word	746
	.word	.LC8
	.word	.LC9
	.word	1731
	.word	.LC20
	.word	1830
	.word	.LC21
	.word	3000
	.word	953
	.word	.LC10
	.word	.LC51
	.word	.LC12
	.word	.LC52
	.word	.LC53
	.word	1234
	.word	.LC13
	.word	6000
	.word	475
	.word	.LC5
	.word	.LC50
	.word	606
	.word	.LC6
	.word	.LC47
	.word	.LC54
	.word	673
	.word	auxiliary_data
	.word	.LC55
	.word	.LC7
	.word	.LC56
	.word	.LC57
.L64:
	ldrb	r3, [fp, #-81]	@ zero_extendqisi2
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r2, [r3, #-56]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-68]
	add	r2, r3, r2
	ldr	r3, [fp, #-72]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r0, r3
	bl	cputc
	ldrb	r3, [fp, #-81]	@ zero_extendqisi2
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r2, [r3, #-56]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-68]
	add	r2, r3, r2
	ldr	r3, [fp, #-72]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, #1
	mov	r0, r3
	bl	say_letter
	ldr	r3, [fp, #-72]
	add	r3, r3, #1
	str	r3, [fp, #-72]
.L63:
	ldrb	r3, [fp, #-81]	@ zero_extendqisi2
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r2, [r3, #-56]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-68]
	add	r3, r3, r2
	ldrb	r3, [r3, #9]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-72]
	cmp	r3, r2
	bcc	.L64
	mov	r0, #100
	bl	sleep_msec
	ldrb	r3, [fp, #-81]	@ zero_extendqisi2
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r2, [r3, #-56]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-68]
	add	r3, r3, r2
	ldr	r1, [r3, #12]
	ldrb	r3, [fp, #-81]	@ zero_extendqisi2
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r2, [r3, #-56]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-68]
	add	r3, r3, r2
	ldr	r2, [r3, #16]
	mov	r3, #1
	str	r3, [sp]
	mov	r3, #0
	ldr	r0, [fp, #-76]
	bl	spcard_ram_say
	ldr	r0, .L74+240
	bl	sleep_msec
	mov	r3, #0
	strb	r3, [fp, #-77]
	ldrb	r3, [fp, #-81]
	add	r3, r3, #1
	strb	r3, [fp, #-81]
.L35:
	ldrb	r3, [fp, #-81]	@ zero_extendqisi2
	cmp	r3, #9
	bls	.L65
	mov	r0, #0
	bl	cursor
	bl	clrscr
	ldr	r1, .L74+244
	mov	r2, #131
	mov	r3, #0
	str	r3, [sp]
	mov	r3, #0
	ldr	r0, .L74+276
	bl	spcard_ram_say
	ldr	r3, .L74+248
	mov	r0, r3
	bl	cputs
	ldr	r0, .L74+252
	bl	cputs
	bl	spcard_wait_talk_end
	ldrb	r3, [fp, #-78]	@ zero_extendqisi2
	sub	r1, fp, #82
	mov	r2, #10
	mov	r0, r3
	bl	itoa
	ldrb	r3, [fp, #-78]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r0, .L74+268
	bl	cprintf
	ldrb	r3, [fp, #-78]	@ zero_extendqisi2
	cmp	r3, #10
	bne	.L66
	mov	r1, #1
	mov	r0, #45
	bl	say_letter
	b	.L67
.L66:
	ldrb	r3, [fp, #-82]	@ zero_extendqisi2
	mov	r1, #1
	mov	r0, r3
	bl	say_letter
.L67:
	ldr	r1, .L74+256
	mov	r2, #67
	mov	r3, #0
	str	r3, [sp]
	mov	r3, #0
	ldr	r0, .L74+276
	bl	spcard_ram_say
	ldr	r0, .L74+280
	bl	cputs
	ldr	r3, .L74+260
	mov	r0, r3
	bl	cputs
	bl	spcard_wait_talk_end
	ldr	r0, .L74+264
	bl	cputs
	ldrb	r3, [fp, #-79]	@ zero_extendqisi2
	sub	r1, fp, #82
	mov	r2, #10
	mov	r0, r3
	bl	itoa
	ldrb	r3, [fp, #-79]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r0, .L74+268
	bl	cprintf
	ldrb	r3, [fp, #-79]	@ zero_extendqisi2
	cmp	r3, #10
	bne	.L68
	mov	r1, #1
	mov	r0, #45
	bl	say_letter
	b	.L69
.L68:
	ldrb	r3, [fp, #-82]	@ zero_extendqisi2
	mov	r1, #1
	mov	r0, r3
	bl	say_letter
.L69:
	ldr	r1, .L74+272
	mov	r2, #73
	mov	r3, #0
	str	r3, [sp]
	mov	r3, #0
	ldr	r0, .L74+276
	bl	spcard_ram_say
	ldr	r0, .L74+280
	bl	cputs
	ldr	r3, .L74+284
	mov	r0, r3
	bl	cputs
	bl	spcard_wait_talk_end
	ldr	r0, [fp, #-68]
	bl	free
	ldr	r2, .L74+288
	mov	r1, #10
	mov	r0, #0
	bl	cputsxy
	bl	cgetc
	b	.L13
.L72:
	nop
	b	.L13
.L73:
	nop
.L13:
	ldr	r3, .L74+292
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L71
	bl	__stack_chk_fail
.L71:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	sns_spell, .-sns_spell
	.section	.rodata
	.align	2
.LC58:
	.ascii	"Speak and spell!\000"
	.align	2
.LC59:
	.ascii	"Select game\000"
	.align	2
.LC60:
	.ascii	"1\000"
	.align	2
.LC61:
	.ascii	" Spell it\000"
	.align	2
.LC62:
	.ascii	"2\000"
	.align	2
.LC63:
	.ascii	" Say it, Spell it\000"
	.align	2
.LC64:
	.ascii	"3\000"
	.align	2
.LC65:
	.ascii	" Mystery word\000"
	.align	2
.LC66:
	.ascii	"4\000"
	.align	2
.LC67:
	.ascii	" Secret code\000"
	.align	2
.LC68:
	.ascii	"5\000"
	.align	2
.LC69:
	.ascii	" Letter\000"
	.text
	.align	2
	.global	sns_menu
	.syntax unified
	.arm
	.fpu softvfp
	.type	sns_menu, %function
sns_menu:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	bl	clrscr
	bl	spcard_reset
	ldr	r1, .L87
	mov	r2, #53
	mov	r3, #1
	str	r3, [sp]
	mov	r3, #0
	ldr	r0, .L87+4
	bl	spcard_ram_say
	bl	rand
	mov	r2, r0
	ldr	r3, .L87+8
	smull	r0, r1, r3, r2
	asr	r3, r2, #31
	sub	r1, r1, r3
	mov	r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r1
	sub	r1, r2, r3
	mov	r3, r1
	strb	r3, [fp, #-6]
	ldrb	r3, [fp, #-6]	@ zero_extendqisi2
	cmp	r3, #2
	beq	.L77
	cmp	r3, #2
	bgt	.L78
	cmp	r3, #0
	beq	.L79
	cmp	r3, #1
	beq	.L80
	b	.L78
.L79:
	ldr	r1, .L87+12
	mov	r2, #53
	mov	r3, #0
	str	r3, [sp]
	mov	r3, #0
	ldr	r0, .L87+4
	bl	spcard_ram_say
	b	.L78
.L80:
	ldr	r1, .L87+16
	mov	r2, #53
	mov	r3, #0
	str	r3, [sp]
	mov	r3, #0
	ldr	r0, .L87+4
	bl	spcard_ram_say
	b	.L78
.L77:
	ldr	r1, .L87+20
	mov	r2, #53
	mov	r3, #0
	str	r3, [sp]
	mov	r3, #0
	ldr	r0, .L87+4
	bl	spcard_ram_say
	nop
.L78:
	mov	r1, #3
	mov	r0, #13
	bl	gotoxy
	ldr	r0, .L87+24
	bl	puts
	mov	r1, #6
	mov	r0, #15
	bl	gotoxy
	ldr	r0, .L87+28
	bl	puts
	mov	r1, #9
	mov	r0, #8
	bl	gotoxy
	ldr	r0, .L87+32
	bl	cputs
	mov	r0, #1
	bl	revers
	ldr	r0, .L87+36
	bl	cputs
	mov	r0, #0
	bl	revers
	ldr	r0, .L87+40
	bl	cputs
	ldr	r0, .L87+44
	bl	cputs
	mov	r1, #10
	mov	r0, #8
	bl	gotoxy
	ldr	r0, .L87+32
	bl	cputs
	mov	r0, #1
	bl	revers
	ldr	r0, .L87+48
	bl	cputs
	mov	r0, #0
	bl	revers
	ldr	r0, .L87+40
	bl	cputs
	ldr	r0, .L87+52
	bl	cputs
	mov	r1, #12
	mov	r0, #8
	bl	gotoxy
	ldr	r0, .L87+32
	bl	cputs
	mov	r0, #0
	bl	revers
	ldr	r0, .L87+56
	bl	cputs
	mov	r0, #0
	bl	revers
	ldr	r0, .L87+40
	bl	cputs
	ldr	r0, .L87+60
	bl	cputs
	mov	r1, #13
	mov	r0, #8
	bl	gotoxy
	ldr	r0, .L87+32
	bl	cputs
	mov	r0, #0
	bl	revers
	ldr	r0, .L87+64
	bl	cputs
	mov	r0, #0
	bl	revers
	ldr	r0, .L87+40
	bl	cputs
	ldr	r0, .L87+68
	bl	cputs
	mov	r1, #14
	mov	r0, #8
	bl	gotoxy
	ldr	r0, .L87+32
	bl	cputs
	mov	r0, #0
	bl	revers
	ldr	r0, .L87+72
	bl	cputs
	mov	r0, #0
	bl	revers
	ldr	r0, .L87+40
	bl	cputs
	ldr	r0, .L87+76
	bl	cputs
	mov	r1, #16
	mov	r0, #8
	bl	gotoxy
	ldr	r0, .L87+32
	bl	cputs
	mov	r0, #1
	bl	revers
	ldr	r0, .L87+80
	bl	cputs
	mov	r0, #0
	bl	revers
	ldr	r0, .L87+40
	bl	cputs
	ldr	r0, .L87+84
	bl	cputs
	bl	spcard_wait_talk_end
	nop
	bl	cgetc
	mov	r3, r0
	strb	r3, [fp, #-5]
	ldrb	r3, [fp, #-5]	@ zero_extendqisi2
	cmp	r3, #48
	beq	.L86
	ldrb	r3, [fp, #-5]	@ zero_extendqisi2
	cmp	r3, #49
	bne	.L82
	mov	r0, #1
	bl	sns_spell
	b	.L83
.L82:
	ldrb	r3, [fp, #-5]	@ zero_extendqisi2
	cmp	r3, #50
	bne	.L83
	mov	r0, #2
	bl	sns_spell
.L83:
	mov	r3, #0
	b	.L84
.L86:
	mov	r3, #1
.L84:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L88:
	.align	2
.L87:
	.word	1383
	.word	auxiliary_data
	.word	1431655766
	.word	1436
	.word	1489
	.word	1542
	.word	.LC58
	.word	.LC59
	.word	.LC27
	.word	.LC60
	.word	.LC29
	.word	.LC61
	.word	.LC62
	.word	.LC63
	.word	.LC64
	.word	.LC65
	.word	.LC66
	.word	.LC67
	.word	.LC68
	.word	.LC69
	.word	.LC37
	.word	.LC38
	.size	sns_menu, .-sns_menu
	.align	2
	.global	speak_and_spell
	.syntax unified
	.arm
	.fpu softvfp
	.type	speak_and_spell, %function
speak_and_spell:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	bl	_randomize
	nop
.L90:
	bl	sns_menu
	mov	r3, r0
	cmp	r3, #0
	beq	.L90
	nop
	nop
	pop	{fp, pc}
	.size	speak_and_spell, .-speak_and_spell
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
