	.file	"464951.c"
	.intel_syntax noprefix
	.text
	.globl	loadaddr
	.bss
	.align 32
	.type	loadaddr, @object
	.size	loadaddr, 1048576
loadaddr:
	.zero	1048576
	.text
	.globl	nop
	.type	nop, @function
nop:
.LFB0:
	.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
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	nop, .-nop
	.globl	functions
	.section	.data.rel.local,"aw"
	.align 32
	.type	functions, @object
	.size	functions, 408
functions:
	.quad	c_key
	.quad	c_emit
	.quad	nop
	.quad	nop
	.quad	nop
	.quad	nop
	.quad	nop
	.quad	nop
	.quad	c_keyques
	.quad	s_bye
	.quad	nop
	.quad	nop
	.quad	fileques
	.quad	c_type
	.quad	c_expect
	.quad	nop
	.quad	nop
	.quad	nop
	.quad	nop
	.quad	nop
	.quad	nop
	.quad	nop
	.quad	nop
	.quad	nop
	.quad	nop
	.quad	nop
	.quad	m_alloc
	.quad	c_cr
	.quad	f_crstr
	.quad	nop
	.quad	nop
	.quad	nop
	.quad	m_free
	.quad	nop
	.quad	nop
	.quad	nop
	.quad	nop
	.quad	nop
	.quad	nop
	.quad	nop
	.quad	nop
	.quad	nop
	.quad	nop
	.quad	nop
	.quad	nop
	.quad	nop
	.quad	nop
	.quad	nop
	.quad	nop
	.quad	nop
	.quad	nop
	.globl	header
	.bss
	.align 32
	.type	header, @object
	.size	header, 64
header:
	.zero	64
	.section	.rodata
.LC0:
	.string	""
	.align 8
.LC1:
	.string	"forth: Can't open dictionary file"
	.align 8
.LC2:
	.string	"forth: Can't read dictionary file"
	.align 8
.LC3:
	.string	"forth: Incorrect dictionary file header"
	.text
	.globl	main
	.type	main, @function
main:
.LFB1:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	DWORD PTR -36[rbp], edi
	mov	QWORD PTR -48[rbp], rsi
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	mov	edx, 0
	mov	esi, 0
	mov	rdi, rax
	mov	eax, 0
	call	open@PLT
	cdqe
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jns	.L4
	lea	rsi, .LC0[rip]
	lea	rdi, .LC1[rip]
	mov	eax, 0
	call	error
	mov	edi, 1
	call	exit@PLT
.L4:
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, 1048576
	lea	rsi, loadaddr[rip]
	mov	rdi, rax
	mov	eax, 0
	call	read@PLT
	test	eax, eax
	jns	.L5
	lea	rsi, .LC0[rip]
	lea	rdi, .LC2[rip]
	mov	eax, 0
	call	error
	mov	edi, 1
	call	exit@PLT
.L5:
	mov	DWORD PTR -28[rbp], 64
	lea	rax, loadaddr[rip]
	mov	QWORD PTR -24[rbp], rax
	lea	rax, header[rip]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L6
.L7:
	mov	rdx, QWORD PTR -24[rbp]
	lea	rax, 1[rdx]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	lea	rcx, 1[rax]
	mov	QWORD PTR -16[rbp], rcx
	movzx	edx, BYTE PTR [rdx]
	mov	BYTE PTR [rax], dl
	sub	DWORD PTR -28[rbp], 1
.L6:
	cmp	DWORD PTR -28[rbp], 0
	jne	.L7
	mov	rax, QWORD PTR header[rip]
	cmp	rax, 1179600471
	je	.L8
	lea	rsi, .LC0[rip]
	lea	rdi, .LC3[rip]
	mov	eax, 0
	call	error
	mov	edi, 1
	call	exit@PLT
.L8:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	close@PLT
	lea	rax, loadaddr[rip]
	lea	rdx, 1048576[rax]
	lea	rax, loadaddr[rip+72]
	push	0
	push	0
	mov	r9d, 0
	mov	r8, rdx
	lea	rcx, functions[rip]
	lea	rdx, loadaddr[rip]
	mov	rsi, rax
	mov	edi, 0
	mov	eax, 0
	call	simulate@PLT
	add	rsp, 16
	mov	eax, 0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1:
	.size	main, .-main
	.globl	c_keyques
	.type	c_keyques, @function
c_keyques:
.LFB2:
	.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
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE2:
	.size	c_keyques, .-c_keyques
	.globl	c_key
	.type	c_key, @function
c_key:
.LFB3:
	.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, 8
	.cfi_offset 3, -24
	mov	rax, QWORD PTR stdout[rip]
	mov	rdi, rax
	call	fflush@PLT
	mov	rax, QWORD PTR stdin[rip]
	mov	rdi, rax
	call	getc@PLT
	mov	ebx, eax
	cmp	ebx, -1
	je	.L13
	movsx	rax, ebx
	jmp	.L14
.L13:
	mov	edi, 0
	mov	eax, 0
	call	s_bye
	mov	eax, 0
.L14:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE3:
	.size	c_key, .-c_key
	.globl	c_emit
	.type	c_emit, @function
c_emit:
.LFB4:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	edi, eax
	call	putchar@PLT
	mov	rax, QWORD PTR stdout[rip]
	mov	rdi, rax
	call	fflush@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE4:
	.size	c_emit, .-c_emit
	.globl	fileques
	.type	fileques, @function
fileques:
.LFB5:
	.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
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE5:
	.size	fileques, .-fileques
	.globl	c_expect
	.type	c_expect, @function
c_expect:
.LFB6:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	r13
	push	r12
	push	rbx
	sub	rsp, 24
	.cfi_offset 13, -24
	.cfi_offset 12, -32
	.cfi_offset 3, -40
	mov	r13, rdi
	mov	QWORD PTR -40[rbp], rsi
	mov	rbx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR stdout[rip]
	mov	rdi, rax
	call	fflush@PLT
	jmp	.L19
.L21:
	mov	rax, rbx
	lea	rbx, 1[rax]
	mov	edx, r12d
	mov	BYTE PTR [rax], dl
.L19:
	mov	rax, r13
	lea	r13, -1[rax]
	test	rax, rax
	je	.L20
	mov	rax, QWORD PTR stdin[rip]
	mov	rdi, rax
	call	getc@PLT
	mov	r12d, eax
	cmp	r12d, 10
	je	.L20
	cmp	r12d, -1
	jne	.L21
.L20:
	mov	rax, rbx
	sub	rax, QWORD PTR -40[rbp]
	add	rsp, 24
	pop	rbx
	pop	r12
	pop	r13
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	c_expect, .-c_expect
	.globl	c_type
	.type	c_type, @function
c_type:
.LFB7:
	.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 -24[rbp], rdi
	mov	rbx, rsi
	jmp	.L24
.L25:
	mov	rax, rbx
	lea	rbx, 1[rax]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	edi, eax
	call	putchar@PLT
.L24:
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, -1[rax]
	mov	QWORD PTR -24[rbp], rdx
	test	rax, rax
	jne	.L25
	nop
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	c_type, .-c_type
	.globl	c_cr
	.type	c_cr, @function
c_cr:
.LFB8:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	edi, 10
	call	putchar@PLT
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	c_cr, .-c_cr
	.section	.rodata
.LC4:
	.string	"\001\n"
	.text
	.globl	f_crstr
	.type	f_crstr, @function
f_crstr:
.LFB9:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	lea	rax, .LC4[rip]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	f_crstr, .-f_crstr
	.globl	s_bye
	.type	s_bye, @function
s_bye:
.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	rax, QWORD PTR stdout[rip]
	mov	rdi, rax
	call	fflush@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	edi, eax
	call	exit@PLT
	.cfi_endproc
.LFE10:
	.size	s_bye, .-s_bye
	.section	.rodata
.LC5:
	.string	"\n"
	.text
	.globl	error
	.type	error, @function
error:
.LFB11:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rax
	mov	edi, 2
	mov	eax, 0
	call	write@PLT
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rax
	mov	edi, 2
	mov	eax, 0
	call	write@PLT
	mov	edx, 1
	lea	rsi, .LC5[rip]
	mov	edi, 2
	mov	eax, 0
	call	write@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	error, .-error
	.globl	m_alloc
	.type	m_alloc, @function
m_alloc:
.LFB12:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 7
	and	rax, -8
	mov	QWORD PTR -24[rbp], rax
	sub	QWORD PTR -24[rbp], -128
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L32
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
.L32:
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE12:
	.size	m_alloc, .-m_alloc
	.globl	m_free
	.type	m_free, @function
m_free:
.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, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	free@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE13:
	.size	m_free, .-m_free
	.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	"464951.c"
	.text
	.comm	loadaddr,1048576,4
	.align	2
	.global	nop
	.syntax unified
	.arm
	.fpu softvfp
	.type	nop, %function
nop:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	mov	r3, #0
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	nop, .-nop
	.global	functions
	.data
	.align	2
	.type	functions, %object
	.size	functions, 204
functions:
	.word	c_key
	.word	c_emit
	.word	nop
	.word	nop
	.word	nop
	.word	nop
	.word	nop
	.word	nop
	.word	c_keyques
	.word	s_bye
	.word	nop
	.word	nop
	.word	fileques
	.word	c_type
	.word	c_expect
	.word	nop
	.word	nop
	.word	nop
	.word	nop
	.word	nop
	.word	nop
	.word	nop
	.word	nop
	.word	nop
	.word	nop
	.word	nop
	.word	m_alloc
	.word	c_cr
	.word	f_crstr
	.word	nop
	.word	nop
	.word	nop
	.word	m_free
	.word	nop
	.word	nop
	.word	nop
	.word	nop
	.word	nop
	.word	nop
	.word	nop
	.word	nop
	.word	nop
	.word	nop
	.word	nop
	.word	nop
	.word	nop
	.word	nop
	.word	nop
	.word	nop
	.word	nop
	.word	nop
	.comm	header,32,4
	.section	.rodata
	.align	2
.LC0:
	.ascii	"\000"
	.align	2
.LC1:
	.ascii	"forth: Can't open dictionary file\000"
	.align	2
.LC2:
	.ascii	"forth: Can't read dictionary file\000"
	.align	2
.LC3:
	.ascii	"forth: Incorrect dictionary file header\000"
	.text
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	ldr	r3, [fp, #-28]
	add	r3, r3, #4
	ldr	r3, [r3]
	mov	r2, #0
	mov	r1, #0
	mov	r0, r3
	bl	open
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bge	.L4
	ldr	r1, .L10
	ldr	r0, .L10+4
	bl	error
	mov	r0, #1
	bl	exit
.L4:
	mov	r2, #1048576
	ldr	r1, .L10+8
	ldr	r0, [fp, #-8]
	bl	read
	mov	r3, r0
	cmp	r3, #0
	bge	.L5
	ldr	r1, .L10
	ldr	r0, .L10+12
	bl	error
	mov	r0, #1
	bl	exit
.L5:
	mov	r3, #32
	str	r3, [fp, #-12]
	ldr	r3, .L10+8
	str	r3, [fp, #-20]
	ldr	r3, .L10+16
	str	r3, [fp, #-16]
	b	.L6
.L7:
	ldr	r2, [fp, #-20]
	add	r3, r2, #1
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-16]
	add	r1, r3, #1
	str	r1, [fp, #-16]
	ldrb	r2, [r2]	@ zero_extendqisi2
	strb	r2, [r3]
	ldr	r3, [fp, #-12]
	sub	r3, r3, #1
	str	r3, [fp, #-12]
.L6:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L7
	ldr	r3, .L10+16
	ldr	r3, [r3]
	ldr	r2, .L10+20
	cmp	r3, r2
	beq	.L8
	ldr	r1, .L10
	ldr	r0, .L10+24
	bl	error
	mov	r0, #1
	bl	exit
.L8:
	ldr	r0, [fp, #-8]
	bl	close
	ldr	r1, .L10+28
	ldr	r3, .L10+8
	add	r3, r3, #1048576
	mov	r2, #0
	str	r2, [sp, #12]
	mov	r2, #0
	str	r2, [sp, #8]
	mov	r2, #0
	str	r2, [sp, #4]
	str	r3, [sp]
	ldr	r3, .L10+32
	ldr	r2, .L10+8
	mov	r0, #0
	bl	simulate
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L11:
	.align	2
.L10:
	.word	.LC0
	.word	.LC1
	.word	loadaddr
	.word	.LC2
	.word	header
	.word	1179600471
	.word	.LC3
	.word	loadaddr+40
	.word	functions
	.size	main, .-main
	.align	2
	.global	c_keyques
	.syntax unified
	.arm
	.fpu softvfp
	.type	c_keyques, %function
c_keyques:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	mov	r3, #0
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	c_keyques, .-c_keyques
	.align	2
	.global	c_key
	.syntax unified
	.arm
	.fpu softvfp
	.type	c_key, %function
c_key:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	ldr	r3, .L17
	ldr	r3, [r3]
	mov	r0, r3
	bl	fflush
	ldr	r3, .L17+4
	ldr	r3, [r3]
	mov	r0, r3
	bl	getc
	mov	r4, r0
	cmn	r4, #1
	beq	.L15
	mov	r3, r4
	b	.L16
.L15:
	mov	r0, #0
	bl	s_bye
	mov	r3, #0
.L16:
	mov	r0, r3
	pop	{r4, r5, fp, pc}
.L18:
	.align	2
.L17:
	.word	stdout
	.word	stdin
	.size	c_key, .-c_key
	.align	2
	.global	c_emit
	.syntax unified
	.arm
	.fpu softvfp
	.type	c_emit, %function
c_emit:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r0, [fp, #-8]
	bl	putchar
	ldr	r3, .L20
	ldr	r3, [r3]
	mov	r0, r3
	bl	fflush
	nop
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L21:
	.align	2
.L20:
	.word	stdout
	.size	c_emit, .-c_emit
	.align	2
	.global	fileques
	.syntax unified
	.arm
	.fpu softvfp
	.type	fileques, %function
fileques:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	mov	r3, #0
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	fileques, .-fileques
	.align	2
	.global	c_expect
	.syntax unified
	.arm
	.fpu softvfp
	.type	c_expect, %function
c_expect:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, fp, lr}
	add	fp, sp, #16
	sub	sp, sp, #12
	mov	r6, r0
	str	r1, [fp, #-24]
	mov	r4, #0
	ldr	r5, [fp, #-24]
	ldr	r3, .L29
	ldr	r3, [r3]
	mov	r0, r3
	bl	fflush
	b	.L25
.L27:
	mov	r3, r5
	add	r5, r3, #1
	and	r2, r4, #255
	strb	r2, [r3]
.L25:
	mov	r3, r6
	sub	r6, r3, #1
	cmp	r3, #0
	beq	.L26
	ldr	r3, .L29+4
	ldr	r3, [r3]
	mov	r0, r3
	bl	getc
	mov	r4, r0
	cmp	r4, #10
	beq	.L26
	cmn	r4, #1
	bne	.L27
.L26:
	ldr	r3, [fp, #-24]
	sub	r3, r5, r3
	mov	r0, r3
	sub	sp, fp, #16
	@ sp needed
	pop	{r4, r5, r6, fp, pc}
.L30:
	.align	2
.L29:
	.word	stdout
	.word	stdin
	.size	c_expect, .-c_expect
	.align	2
	.global	c_type
	.syntax unified
	.arm
	.fpu softvfp
	.type	c_type, %function
c_type:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #12
	str	r0, [fp, #-16]
	mov	r4, r1
	b	.L32
.L33:
	mov	r3, r4
	add	r4, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r0, r3
	bl	putchar
.L32:
	ldr	r3, [fp, #-16]
	sub	r2, r3, #1
	str	r2, [fp, #-16]
	cmp	r3, #0
	bne	.L33
	nop
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
	.size	c_type, .-c_type
	.align	2
	.global	c_cr
	.syntax unified
	.arm
	.fpu softvfp
	.type	c_cr, %function
c_cr:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	mov	r0, #10
	bl	putchar
	nop
	mov	r0, r3
	pop	{fp, pc}
	.size	c_cr, .-c_cr
	.section	.rodata
	.align	2
.LC4:
	.ascii	"\001\012\000"
	.text
	.align	2
	.global	f_crstr
	.syntax unified
	.arm
	.fpu softvfp
	.type	f_crstr, %function
f_crstr:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	ldr	r3, .L37
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L38:
	.align	2
.L37:
	.word	.LC4
	.size	f_crstr, .-f_crstr
	.align	2
	.global	s_bye
	.syntax unified
	.arm
	.fpu softvfp
	.type	s_bye, %function
s_bye:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, .L40
	ldr	r3, [r3]
	mov	r0, r3
	bl	fflush
	ldr	r0, [fp, #-8]
	bl	exit
.L41:
	.align	2
.L40:
	.word	stdout
	.size	s_bye, .-s_bye
	.section	.rodata
	.align	2
.LC5:
	.ascii	"\012\000"
	.text
	.align	2
	.global	error
	.syntax unified
	.arm
	.fpu softvfp
	.type	error, %function
error:
	@ 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]
	ldr	r0, [fp, #-8]
	bl	strlen
	mov	r3, r0
	mov	r2, r3
	ldr	r1, [fp, #-8]
	mov	r0, #2
	bl	write
	ldr	r0, [fp, #-12]
	bl	strlen
	mov	r3, r0
	mov	r2, r3
	ldr	r1, [fp, #-12]
	mov	r0, #2
	bl	write
	mov	r2, #1
	ldr	r1, .L43
	mov	r0, #2
	bl	write
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L44:
	.align	2
.L43:
	.word	.LC5
	.size	error, .-error
	.align	2
	.global	m_alloc
	.syntax unified
	.arm
	.fpu softvfp
	.type	m_alloc, %function
m_alloc:
	@ 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, [fp, #-16]
	add	r3, r3, #7
	bic	r3, r3, #7
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	add	r3, r3, #128
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L46
	ldr	r3, [fp, #-16]
	mov	r2, r3
	mov	r1, #0
	ldr	r0, [fp, #-8]
	bl	memset
.L46:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	m_alloc, .-m_alloc
	.align	2
	.global	m_free
	.syntax unified
	.arm
	.fpu softvfp
	.type	m_free, %function
m_free:
	@ 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]
	ldr	r0, [fp, #-12]
	bl	free
	nop
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	m_free, .-m_free
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
