	.file	"492229.c"
	.intel_syntax noprefix
	.text
	.globl	Q
	.bss
	.type	Q, @object
	.size	Q, 1
Q:
	.zero	1
	.globl	T
	.data
	.type	T, @object
	.size	T, 4
T:
	.string	"TMP"
	.globl	peekc
	.bss
	.align 4
	.type	peekc, @object
	.size	peekc, 4
peekc:
	.zero	4
	.globl	lastc
	.align 4
	.type	lastc, @object
	.size	lastc, 4
lastc:
	.zero	4
	.globl	savedfile
	.align 32
	.type	savedfile, @object
	.size	savedfile, 128
savedfile:
	.zero	128
	.globl	file
	.align 32
	.type	file, @object
	.size	file, 128
file:
	.zero	128
	.globl	linebuf
	.align 32
	.type	linebuf, @object
	.size	linebuf, 4096
linebuf:
	.zero	4096
	.globl	rhsbuf
	.align 32
	.type	rhsbuf, @object
	.size	rhsbuf, 2048
rhsbuf:
	.zero	2048
	.globl	expbuf
	.align 32
	.type	expbuf, @object
	.size	expbuf, 260
expbuf:
	.zero	260
	.globl	given
	.align 4
	.type	given, @object
	.size	given, 4
given:
	.zero	4
	.globl	addr1
	.align 8
	.type	addr1, @object
	.size	addr1, 8
addr1:
	.zero	8
	.globl	addr2
	.align 8
	.type	addr2, @object
	.size	addr2, 8
addr2:
	.zero	8
	.globl	dot
	.align 8
	.type	dot, @object
	.size	dot, 8
dot:
	.zero	8
	.globl	dol
	.align 8
	.type	dol, @object
	.size	dol, 8
dol:
	.zero	8
	.globl	zero
	.align 8
	.type	zero, @object
	.size	zero, 8
zero:
	.zero	8
	.globl	genbuf
	.align 32
	.type	genbuf, @object
	.size	genbuf, 4096
genbuf:
	.zero	4096
	.globl	count
	.align 8
	.type	count, @object
	.size	count, 8
count:
	.zero	8
	.globl	nextip
	.align 8
	.type	nextip, @object
	.size	nextip, 8
nextip:
	.zero	8
	.globl	linebp
	.align 8
	.type	linebp, @object
	.size	linebp, 8
linebp:
	.zero	8
	.globl	ninbuf
	.align 4
	.type	ninbuf, @object
	.size	ninbuf, 4
ninbuf:
	.zero	4
	.globl	io
	.align 4
	.type	io, @object
	.size	io, 4
io:
	.zero	4
	.globl	pflag
	.align 4
	.type	pflag, @object
	.size	pflag, 4
pflag:
	.zero	4
	.globl	vflag
	.data
	.align 4
	.type	vflag, @object
	.size	vflag, 4
vflag:
	.long	1
	.globl	oflag
	.bss
	.align 4
	.type	oflag, @object
	.size	oflag, 4
oflag:
	.zero	4
	.globl	listf
	.align 4
	.type	listf, @object
	.size	listf, 4
listf:
	.zero	4
	.globl	listn
	.align 4
	.type	listn, @object
	.size	listn, 4
listn:
	.zero	4
	.globl	col
	.align 4
	.type	col, @object
	.size	col, 4
col:
	.zero	4
	.globl	globp
	.align 8
	.type	globp, @object
	.size	globp, 8
globp:
	.zero	8
	.globl	tfile
	.data
	.align 4
	.type	tfile, @object
	.size	tfile, 4
tfile:
	.long	-1
	.globl	tline
	.bss
	.align 4
	.type	tline, @object
	.size	tline, 4
tline:
	.zero	4
	.globl	tfname
	.align 8
	.type	tfname, @object
	.size	tfname, 8
tfname:
	.zero	8
	.globl	loc1
	.align 8
	.type	loc1, @object
	.size	loc1, 8
loc1:
	.zero	8
	.globl	loc2
	.align 8
	.type	loc2, @object
	.size	loc2, 8
loc2:
	.zero	8
	.globl	ibuff
	.align 32
	.type	ibuff, @object
	.size	ibuff, 4096
ibuff:
	.zero	4096
	.globl	iblock
	.data
	.align 4
	.type	iblock, @object
	.size	iblock, 4
iblock:
	.long	-1
	.globl	obuff
	.bss
	.align 32
	.type	obuff, @object
	.size	obuff, 4096
obuff:
	.zero	4096
	.globl	oblock
	.data
	.align 4
	.type	oblock, @object
	.size	oblock, 4
oblock:
	.long	-1
	.globl	ichanged
	.bss
	.align 4
	.type	ichanged, @object
	.size	ichanged, 4
ichanged:
	.zero	4
	.globl	nleft
	.align 4
	.type	nleft, @object
	.size	nleft, 4
nleft:
	.zero	4
	.globl	WRERR
	.data
	.align 8
	.type	WRERR, @object
	.size	WRERR, 12
WRERR:
	.string	"WRITE ERROR"
	.globl	names
	.bss
	.align 32
	.type	names, @object
	.size	names, 104
names:
	.zero	104
	.globl	anymarks
	.align 4
	.type	anymarks, @object
	.size	anymarks, 4
anymarks:
	.zero	4
	.globl	braslist
	.align 32
	.type	braslist, @object
	.size	braslist, 40
braslist:
	.zero	40
	.globl	braelist
	.align 32
	.type	braelist, @object
	.size	braelist, 40
braelist:
	.zero	40
	.globl	nbra
	.align 4
	.type	nbra, @object
	.size	nbra, 4
nbra:
	.zero	4
	.globl	subnewa
	.align 4
	.type	subnewa, @object
	.size	subnewa, 4
subnewa:
	.zero	4
	.globl	subolda
	.align 4
	.type	subolda, @object
	.size	subolda, 4
subolda:
	.zero	4
	.globl	fchange
	.align 4
	.type	fchange, @object
	.size	fchange, 4
fchange:
	.zero	4
	.globl	wrapp
	.align 4
	.type	wrapp, @object
	.size	wrapp, 4
wrapp:
	.zero	4
	.globl	bpagesize
	.data
	.align 4
	.type	bpagesize, @object
	.size	bpagesize, 4
bpagesize:
	.long	20
	.globl	nlall
	.align 4
	.type	nlall, @object
	.size	nlall, 4
nlall:
	.long	128
	.globl	tmpXXXXX
	.align 32
	.type	tmpXXXXX, @object
	.size	tmpXXXXX, 50
tmpXXXXX:
	.string	"/tmp/eXXXXX"
	.zero	38
	.globl	savej
	.bss
	.align 32
	.type	savej, @object
	.size	savej, 200
savej:
	.zero	200
	.globl	oldhup
	.align 8
	.type	oldhup, @object
	.size	oldhup, 8
oldhup:
	.zero	8
	.globl	oldquit
	.align 8
	.type	oldquit, @object
	.size	oldquit, 8
oldquit:
	.zero	8
	.section	.rodata
.LC0:
	.string	"/dev/stdout"
.LC1:
	.string	"r"
	.text
	.globl	main
	.type	main, @function
main:
.LFB0:
	.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	esi, 1
	mov	edi, 3
	call	signal@PLT
	mov	QWORD PTR oldquit[rip], rax
	mov	esi, 1
	mov	edi, 1
	call	signal@PLT
	mov	QWORD PTR oldhup[rip], rax
	mov	esi, 1
	mov	edi, 2
	call	signal@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	esi, 1
	mov	edi, 15
	call	signal@PLT
	test	rax, rax
	jne	.L2
	lea	rsi, quit[rip]
	mov	edi, 15
	call	signal@PLT
.L2:
	add	QWORD PTR -48[rbp], 8
	jmp	.L3
.L9:
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR [rax]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	cmp	eax, 113
	je	.L4
	cmp	eax, 113
	jg	.L5
	test	eax, eax
	je	.L6
	cmp	eax, 111
	je	.L7
	jmp	.L5
.L6:
	mov	DWORD PTR vflag[rip], 0
	jmp	.L5
.L4:
	mov	esi, 0
	mov	edi, 3
	call	signal@PLT
	mov	DWORD PTR vflag[rip], 1
	jmp	.L5
.L7:
	mov	DWORD PTR oflag[rip], 1
	nop
.L5:
	add	QWORD PTR -48[rbp], 8
	sub	DWORD PTR -36[rbp], 1
.L3:
	cmp	DWORD PTR -36[rbp], 1
	jle	.L8
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 45
	je	.L9
.L8:
	mov	eax, DWORD PTR oflag[rip]
	test	eax, eax
	je	.L10
	lea	rax, .LC0[rip]
	mov	QWORD PTR -24[rbp], rax
	lea	rax, savedfile[rip]
	mov	QWORD PTR -16[rbp], rax
	nop
.L11:
	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
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L11
.L10:
	cmp	DWORD PTR -36[rbp], 1
	jle	.L12
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -24[rbp], rax
	lea	rax, savedfile[rip]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L13
.L14:
	lea	rax, savedfile[rip+128]
	cmp	QWORD PTR -16[rbp], rax
	jb	.L13
	sub	QWORD PTR -16[rbp], 1
.L13:
	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
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L14
	lea	rax, .LC1[rip]
	mov	QWORD PTR globp[rip], rax
.L12:
	mov	eax, DWORD PTR nlall[rip]
	sal	eax, 2
	mov	edi, eax
	call	malloc@PLT
	mov	QWORD PTR zero[rip], rax
	lea	rdi, tmpXXXXX[rip]
	call	mktemp@PLT
	mov	QWORD PTR tfname[rip], rax
	call	init
	cmp	QWORD PTR -8[rbp], 1
	je	.L15
	lea	rsi, onintr[rip]
	mov	edi, 2
	call	signal@PLT
.L15:
	mov	rax, QWORD PTR oldhup[rip]
	cmp	rax, 1
	je	.L16
	lea	rsi, onhup[rip]
	mov	edi, 1
	call	signal@PLT
.L16:
	lea	rdi, savej[rip]
	call	_setjmp@PLT
	endbr64
	call	commands
	mov	edi, 0
	call	quit
	mov	eax, 0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	main, .-main
	.globl	commands
	.type	commands, @function
commands:
.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, 32
.L78:
	mov	eax, DWORD PTR pflag[rip]
	test	eax, eax
	je	.L20
	mov	DWORD PTR pflag[rip], 0
	mov	rax, QWORD PTR dot[rip]
	mov	QWORD PTR addr2[rip], rax
	mov	rax, QWORD PTR addr2[rip]
	mov	QWORD PTR addr1[rip], rax
	call	print
.L20:
	mov	DWORD PTR -16[rbp], 10
	mov	QWORD PTR addr1[rip], 0
.L26:
	mov	eax, DWORD PTR -16[rbp]
	mov	BYTE PTR -17[rbp], al
	call	address
	mov	QWORD PTR -8[rbp], rax
	call	getchr
	mov	DWORD PTR -16[rbp], eax
	cmp	DWORD PTR -16[rbp], 44
	je	.L21
	cmp	DWORD PTR -16[rbp], 59
	jne	.L80
.L21:
	cmp	BYTE PTR -17[rbp], 44
	jne	.L23
	lea	rdi, Q[rip]
	call	error
.L23:
	cmp	QWORD PTR -8[rbp], 0
	jne	.L24
	mov	rax, QWORD PTR zero[rip]
	add	rax, 4
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR dol[rip]
	cmp	QWORD PTR -8[rbp], rax
	jbe	.L24
	sub	QWORD PTR -8[rbp], 4
.L24:
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR addr1[rip], rax
	cmp	DWORD PTR -16[rbp], 59
	jne	.L26
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR dot[rip], rax
	jmp	.L26
.L80:
	nop
	cmp	BYTE PTR -17[rbp], 10
	je	.L27
	cmp	QWORD PTR -8[rbp], 0
	jne	.L27
	mov	rax, QWORD PTR dol[rip]
	mov	QWORD PTR -8[rbp], rax
.L27:
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR addr2[rip], rax
	mov	rax, QWORD PTR addr2[rip]
	test	rax, rax
	jne	.L28
	mov	DWORD PTR given[rip], 0
	mov	rax, QWORD PTR dot[rip]
	mov	QWORD PTR addr2[rip], rax
	jmp	.L29
.L28:
	mov	DWORD PTR given[rip], 1
.L29:
	mov	rax, QWORD PTR addr1[rip]
	test	rax, rax
	jne	.L30
	mov	rax, QWORD PTR addr2[rip]
	mov	QWORD PTR addr1[rip], rax
.L30:
	mov	eax, DWORD PTR -16[rbp]
	add	eax, 1
	cmp	eax, 120
	ja	.L31
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L33[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L33[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L33:
	.long	.L81-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L58-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L57-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L56-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L55-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L40-.L33
	.long	.L54-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L53-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L31-.L33
	.long	.L52-.L33
	.long	.L31-.L33
	.long	.L51-.L33
	.long	.L50-.L33
	.long	.L49-.L33
	.long	.L48-.L33
	.long	.L47-.L33
	.long	.L31-.L33
	.long	.L46-.L33
	.long	.L45-.L33
	.long	.L44-.L33
	.long	.L43-.L33
	.long	.L42-.L33
	.long	.L41-.L33
	.long	.L31-.L33
	.long	.L40-.L33
	.long	.L39-.L33
	.long	.L38-.L33
	.long	.L37-.L33
	.long	.L36-.L33
	.long	.L35-.L33
	.long	.L34-.L33
	.long	.L32-.L33
	.text
.L52:
	mov	edi, 0
	call	add
	jmp	.L60
.L51:
	call	nonzero
	call	newline
	mov	rdx, QWORD PTR addr2[rip]
	mov	rax, QWORD PTR addr1[rip]
	mov	rsi, rdx
	mov	rdi, rax
	call	rdelete
	mov	rax, QWORD PTR addr1[rip]
	sub	rax, 4
	mov	rsi, rax
	lea	rdi, gettty[rip]
	call	append
	jmp	.L60
.L50:
	call	nonzero
	call	newline
	mov	rdx, QWORD PTR addr2[rip]
	mov	rax, QWORD PTR addr1[rip]
	mov	rsi, rdx
	mov	rdi, rax
	call	rdelete
	jmp	.L60
.L55:
	mov	DWORD PTR fchange[rip], 0
	mov	DWORD PTR -16[rbp], 101
.L49:
	call	setnoaddr
	mov	eax, DWORD PTR vflag[rip]
	test	eax, eax
	je	.L61
	mov	eax, DWORD PTR fchange[rip]
	test	eax, eax
	je	.L61
	mov	DWORD PTR fchange[rip], 0
	lea	rdi, Q[rip]
	call	error
.L61:
	mov	eax, DWORD PTR -16[rbp]
	mov	edi, eax
	call	filename
	call	init
	mov	rax, QWORD PTR zero[rip]
	mov	QWORD PTR addr2[rip], rax
	jmp	.L62
.L48:
	call	setnoaddr
	mov	eax, DWORD PTR -16[rbp]
	mov	edi, eax
	call	filename
	lea	rdi, savedfile[rip]
	call	puts@PLT
	jmp	.L60
.L47:
	mov	edi, 1
	call	global
	jmp	.L60
.L46:
	mov	edi, -1
	call	add
	jmp	.L60
.L45:
	mov	eax, DWORD PTR given[rip]
	test	eax, eax
	jne	.L63
	mov	rax, QWORD PTR addr2[rip]
	add	rax, 4
	mov	QWORD PTR addr2[rip], rax
.L63:
	call	newline
	call	join
	jmp	.L60
.L44:
	call	nonzero
	call	getchr
	mov	DWORD PTR -16[rbp], eax
	cmp	DWORD PTR -16[rbp], 96
	jle	.L64
	cmp	DWORD PTR -16[rbp], 122
	jle	.L65
.L64:
	lea	rdi, Q[rip]
	call	error
.L65:
	call	newline
	mov	rax, QWORD PTR addr2[rip]
	mov	eax, DWORD PTR [rax]
	mov	edx, eax
	mov	eax, DWORD PTR -16[rbp]
	sub	eax, 97
	mov	ecx, edx
	and	ecx, -2
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, names[rip]
	mov	DWORD PTR [rdx+rax], ecx
	mov	eax, DWORD PTR anymarks[rip]
	or	eax, 1
	mov	DWORD PTR anymarks[rip], eax
	jmp	.L60
.L42:
	mov	edi, 0
	call	move
	jmp	.L60
.L41:
	mov	eax, DWORD PTR listn[rip]
	add	eax, 1
	mov	DWORD PTR listn[rip], eax
	call	newline
	call	print
	jmp	.L60
.L58:
	cmp	QWORD PTR -8[rbp], 0
	jne	.L66
	mov	rax, QWORD PTR dot[rip]
	add	rax, 4
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR addr2[rip], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR addr1[rip], rax
.L66:
	cmp	BYTE PTR -17[rbp], 59
	jne	.L67
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR addr1[rip], rax
.L67:
	call	print
	jmp	.L60
.L43:
	mov	eax, DWORD PTR listf[rip]
	add	eax, 1
	mov	DWORD PTR listf[rip], eax
.L40:
	call	newline
	call	print
	jmp	.L60
.L54:
	mov	DWORD PTR fchange[rip], 0
.L39:
	call	setnoaddr
	call	newline
	mov	edi, 0
	call	quit
.L38:
	mov	eax, DWORD PTR -16[rbp]
	mov	edi, eax
	call	filename
.L62:
	mov	esi, 0
	lea	rdi, file[rip]
	call	open@PLT
	mov	DWORD PTR io[rip], eax
	mov	eax, DWORD PTR io[rip]
	test	eax, eax
	jns	.L68
	mov	DWORD PTR lastc[rip], 10
	lea	rdi, file[rip]
	call	error
.L68:
	call	setwide
	mov	edi, 0
	call	squeeze
	mov	DWORD PTR ninbuf[rip], 0
	mov	rdx, QWORD PTR zero[rip]
	mov	rax, QWORD PTR dol[rip]
	cmp	rdx, rax
	setne	al
	movzx	eax, al
	mov	DWORD PTR -16[rbp], eax
	mov	rax, QWORD PTR addr2[rip]
	mov	rsi, rax
	lea	rdi, getfile[rip]
	call	append
	call	exfile
	mov	eax, DWORD PTR -16[rbp]
	mov	DWORD PTR fchange[rip], eax
	jmp	.L60
.L37:
	call	nonzero
	mov	rax, QWORD PTR globp[rip]
	test	rax, rax
	setne	al
	movzx	eax, al
	mov	edi, eax
	call	substitute
	jmp	.L60
.L36:
	mov	edi, 1
	call	move
	jmp	.L60
.L35:
	call	nonzero
	call	newline
	mov	rax, QWORD PTR addr2[rip]
	mov	eax, DWORD PTR [rax]
	and	eax, -2
	mov	edx, eax
	mov	eax, DWORD PTR subnewa[rip]
	cmp	edx, eax
	je	.L69
	lea	rdi, Q[rip]
	call	error
.L69:
	mov	edx, DWORD PTR subolda[rip]
	mov	rax, QWORD PTR addr2[rip]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR addr2[rip]
	mov	QWORD PTR dot[rip], rax
	jmp	.L60
.L34:
	mov	edi, 0
	call	global
	jmp	.L60
.L53:
	mov	eax, DWORD PTR wrapp[rip]
	add	eax, 1
	mov	DWORD PTR wrapp[rip], eax
.L32:
	call	setwide
	mov	rdx, QWORD PTR dol[rip]
	mov	rax, QWORD PTR zero[rip]
	cmp	rdx, rax
	seta	al
	movzx	eax, al
	mov	edi, eax
	call	squeeze
	call	getchr
	mov	DWORD PTR -12[rbp], eax
	cmp	DWORD PTR -12[rbp], 113
	je	.L70
	cmp	DWORD PTR -12[rbp], 81
	je	.L70
	mov	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR peekc[rip], eax
	mov	DWORD PTR -12[rbp], 0
.L70:
	mov	eax, DWORD PTR -16[rbp]
	mov	edi, eax
	call	filename
	mov	eax, DWORD PTR wrapp[rip]
	test	eax, eax
	je	.L71
	mov	esi, 1
	lea	rdi, file[rip]
	call	open@PLT
	mov	DWORD PTR io[rip], eax
	mov	eax, DWORD PTR io[rip]
	cmp	eax, -1
	je	.L71
	mov	eax, DWORD PTR io[rip]
	mov	edx, 2
	mov	esi, 0
	mov	edi, eax
	call	lseek@PLT
	cmp	rax, -1
	jne	.L72
.L71:
	mov	esi, 438
	lea	rdi, file[rip]
	call	creat@PLT
	mov	DWORD PTR io[rip], eax
	mov	eax, DWORD PTR io[rip]
	test	eax, eax
	jns	.L72
	lea	rdi, file[rip]
	call	error
.L72:
	mov	DWORD PTR wrapp[rip], 0
	mov	rdx, QWORD PTR dol[rip]
	mov	rax, QWORD PTR zero[rip]
	cmp	rdx, rax
	jbe	.L73
	call	putfile
.L73:
	call	exfile
	mov	rax, QWORD PTR zero[rip]
	lea	rdx, 4[rax]
	mov	rax, QWORD PTR addr1[rip]
	cmp	rdx, rax
	jb	.L74
	mov	rdx, QWORD PTR addr2[rip]
	mov	rax, QWORD PTR dol[rip]
	cmp	rdx, rax
	jne	.L74
	mov	DWORD PTR fchange[rip], 0
.L74:
	cmp	DWORD PTR -12[rbp], 81
	jne	.L75
	mov	DWORD PTR fchange[rip], 0
.L75:
	cmp	DWORD PTR -12[rbp], 0
	je	.L82
	mov	edi, 0
	call	quit
	jmp	.L82
.L56:
	call	setwide
	mov	edi, 0
	call	squeeze
	call	newline
	mov	rax, QWORD PTR addr2[rip]
	mov	rdx, QWORD PTR zero[rip]
	sub	rax, rdx
	sar	rax, 2
	mov	QWORD PTR count[rip], rax
	call	putd
	mov	edi, 10
	call	putchr@PLT
	jmp	.L60
.L57:
	call	callunix
	jmp	.L60
.L31:
	lea	rdi, Q[rip]
	call	error
	jmp	.L78
.L82:
	nop
.L60:
	jmp	.L78
.L81:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1:
	.size	commands, .-commands
	.globl	print
	.type	print, @function
print:
.LFB2:
	.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
	call	nonzero
	mov	rax, QWORD PTR addr1[rip]
	mov	QWORD PTR -8[rbp], rax
.L85:
	mov	eax, DWORD PTR listn[rip]
	test	eax, eax
	je	.L84
	mov	rdx, QWORD PTR zero[rip]
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, rdx
	sar	rax, 2
	mov	QWORD PTR count[rip], rax
	call	putd
	mov	edi, 9
	call	putchr@PLT
.L84:
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 4[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	eax, DWORD PTR [rax]
	mov	edi, eax
	call	getline
	mov	rdi, rax
	call	puts@PLT
	mov	rax, QWORD PTR addr2[rip]
	cmp	QWORD PTR -8[rbp], rax
	jbe	.L85
	mov	rax, QWORD PTR addr2[rip]
	mov	QWORD PTR dot[rip], rax
	mov	DWORD PTR listf[rip], 0
	mov	DWORD PTR listn[rip], 0
	mov	DWORD PTR pflag[rip], 0
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE2:
	.size	print, .-print
	.globl	address
	.type	address, @function
address:
.LFB3:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -24[rbp], -1
	mov	DWORD PTR -32[rbp], 1
	mov	DWORD PTR -28[rbp], 0
	mov	rax, QWORD PTR dot[rip]
	mov	QWORD PTR -16[rbp], rax
.L87:
	call	getchr
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], 32
	je	.L87
	cmp	DWORD PTR -20[rbp], 9
	je	.L87
	cmp	DWORD PTR -20[rbp], 47
	jle	.L88
	cmp	DWORD PTR -20[rbp], 57
	jg	.L88
	mov	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR peekc[rip], eax
	cmp	DWORD PTR -28[rbp], 0
	jne	.L89
	mov	rax, QWORD PTR zero[rip]
	mov	QWORD PTR -16[rbp], rax
.L89:
	call	getnum
	imul	eax, DWORD PTR -32[rbp]
	cdqe
	sal	rax, 2
	add	QWORD PTR -16[rbp], rax
	jmp	.L90
.L88:
	mov	eax, DWORD PTR -20[rbp]
	sub	eax, 36
	cmp	eax, 27
	ja	.L91
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L93[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L93[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L93:
	.long	.L97-.L93
	.long	.L91-.L93
	.long	.L91-.L93
	.long	.L96-.L93
	.long	.L91-.L93
	.long	.L91-.L93
	.long	.L91-.L93
	.long	.L91-.L93
	.long	.L91-.L93
	.long	.L91-.L93
	.long	.L95-.L93
	.long	.L94-.L93
	.long	.L91-.L93
	.long	.L91-.L93
	.long	.L91-.L93
	.long	.L91-.L93
	.long	.L91-.L93
	.long	.L91-.L93
	.long	.L91-.L93
	.long	.L91-.L93
	.long	.L91-.L93
	.long	.L91-.L93
	.long	.L91-.L93
	.long	.L91-.L93
	.long	.L91-.L93
	.long	.L91-.L93
	.long	.L91-.L93
	.long	.L92-.L93
	.text
.L97:
	mov	rax, QWORD PTR dol[rip]
	mov	QWORD PTR -16[rbp], rax
.L95:
	cmp	DWORD PTR -28[rbp], 0
	je	.L118
	lea	rdi, Q[rip]
	call	error
	jmp	.L118
.L96:
	call	getchr
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -28[rbp], 0
	jne	.L99
	cmp	DWORD PTR -20[rbp], 96
	jle	.L99
	cmp	DWORD PTR -20[rbp], 122
	jle	.L100
.L99:
	lea	rdi, Q[rip]
	call	error
.L100:
	mov	rax, QWORD PTR zero[rip]
	mov	QWORD PTR -16[rbp], rax
.L102:
	add	QWORD PTR -16[rbp], 4
	mov	rax, QWORD PTR dol[rip]
	cmp	QWORD PTR -16[rbp], rax
	ja	.L119
	mov	eax, DWORD PTR -20[rbp]
	sub	eax, 97
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, names[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	edx, eax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	and	eax, -2
	cmp	edx, eax
	jne	.L102
	jmp	.L119
.L92:
	neg	DWORD PTR -32[rbp]
.L94:
	mov	eax, DWORD PTR -20[rbp]
	mov	edi, eax
	call	compile
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -8[rbp], rax
.L108:
	mov	eax, DWORD PTR -32[rbp]
	cdqe
	sal	rax, 2
	add	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR zero[rip]
	cmp	QWORD PTR -16[rbp], rax
	ja	.L103
	mov	rax, QWORD PTR dol[rip]
	mov	QWORD PTR -16[rbp], rax
.L103:
	mov	rax, QWORD PTR dol[rip]
	cmp	QWORD PTR -16[rbp], rax
	jbe	.L104
	mov	rax, QWORD PTR zero[rip]
	mov	QWORD PTR -16[rbp], rax
.L104:
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	execute
	test	eax, eax
	jne	.L120
	mov	rax, QWORD PTR -16[rbp]
	cmp	rax, QWORD PTR -8[rbp]
	jne	.L108
	lea	rdi, Q[rip]
	call	error
	jmp	.L108
.L120:
	nop
	jmp	.L90
.L91:
	mov	eax, DWORD PTR -24[rbp]
	cmp	eax, DWORD PTR -28[rbp]
	jne	.L109
	mov	eax, DWORD PTR -32[rbp]
	cdqe
	sal	rax, 2
	add	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR zero[rip]
	cmp	QWORD PTR -16[rbp], rax
	jb	.L121
	mov	rax, QWORD PTR dol[rip]
	cmp	QWORD PTR -16[rbp], rax
	ja	.L121
.L109:
	cmp	DWORD PTR -20[rbp], 43
	je	.L112
	cmp	DWORD PTR -20[rbp], 45
	je	.L112
	cmp	DWORD PTR -20[rbp], 94
	je	.L112
	mov	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR peekc[rip], eax
	cmp	DWORD PTR -28[rbp], 0
	jne	.L113
	mov	QWORD PTR -16[rbp], 0
.L113:
	mov	rax, QWORD PTR -16[rbp]
	jmp	.L114
.L112:
	mov	DWORD PTR -32[rbp], 1
	cmp	DWORD PTR -20[rbp], 43
	je	.L115
	neg	DWORD PTR -32[rbp]
.L115:
	add	DWORD PTR -28[rbp], 1
	mov	eax, DWORD PTR -28[rbp]
	mov	DWORD PTR -24[rbp], eax
	jmp	.L111
.L118:
	nop
	jmp	.L90
.L119:
	nop
.L90:
	mov	DWORD PTR -32[rbp], 1
	add	DWORD PTR -28[rbp], 1
	jmp	.L111
.L121:
	nop
.L111:
	mov	rax, QWORD PTR zero[rip]
	cmp	QWORD PTR -16[rbp], rax
	jb	.L116
	mov	rax, QWORD PTR dol[rip]
	cmp	QWORD PTR -16[rbp], rax
	jbe	.L87
.L116:
	lea	rdi, Q[rip]
	call	error
	mov	eax, 0
.L114:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE3:
	.size	address, .-address
	.globl	getnum
	.type	getnum, @function
getnum:
.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	DWORD PTR -8[rbp], 0
	jmp	.L123
.L125:
	mov	edx, DWORD PTR -8[rbp]
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	mov	edx, eax
	mov	eax, DWORD PTR -4[rbp]
	add	eax, edx
	sub	eax, 48
	mov	DWORD PTR -8[rbp], eax
.L123:
	call	getchr
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 47
	jle	.L124
	cmp	DWORD PTR -4[rbp], 57
	jle	.L125
.L124:
	mov	eax, DWORD PTR -4[rbp]
	mov	DWORD PTR peekc[rip], eax
	mov	eax, DWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE4:
	.size	getnum, .-getnum
	.globl	setwide
	.type	setwide, @function
setwide:
.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, DWORD PTR given[rip]
	test	eax, eax
	jne	.L131
	mov	rcx, QWORD PTR zero[rip]
	mov	rdx, QWORD PTR dol[rip]
	mov	rax, QWORD PTR zero[rip]
	cmp	rdx, rax
	jbe	.L129
	mov	eax, 4
	jmp	.L130
.L129:
	mov	eax, 0
.L130:
	add	rax, rcx
	mov	QWORD PTR addr1[rip], rax
	mov	rax, QWORD PTR dol[rip]
	mov	QWORD PTR addr2[rip], rax
.L131:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE5:
	.size	setwide, .-setwide
	.globl	setnoaddr
	.type	setnoaddr, @function
setnoaddr:
.LFB6:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, DWORD PTR given[rip]
	test	eax, eax
	je	.L134
	lea	rdi, Q[rip]
	call	error
.L134:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	setnoaddr, .-setnoaddr
	.globl	nonzero
	.type	nonzero, @function
nonzero:
.LFB7:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	edi, 1
	call	squeeze
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	nonzero, .-nonzero
	.globl	squeeze
	.type	squeeze, @function
squeeze:
.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, 16
	mov	DWORD PTR -4[rbp], edi
	mov	rdx, QWORD PTR zero[rip]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 2
	add	rdx, rax
	mov	rax, QWORD PTR addr1[rip]
	cmp	rdx, rax
	ja	.L137
	mov	rdx, QWORD PTR addr2[rip]
	mov	rax, QWORD PTR dol[rip]
	cmp	rdx, rax
	ja	.L137
	mov	rdx, QWORD PTR addr1[rip]
	mov	rax, QWORD PTR addr2[rip]
	cmp	rdx, rax
	jbe	.L139
.L137:
	lea	rdi, Q[rip]
	call	error
.L139:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	squeeze, .-squeeze
	.globl	newline
	.type	newline, @function
newline:
.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
	call	getchr
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 10
	je	.L148
	cmp	DWORD PTR -4[rbp], -1
	je	.L148
	cmp	DWORD PTR -4[rbp], 112
	je	.L144
	cmp	DWORD PTR -4[rbp], 108
	je	.L144
	cmp	DWORD PTR -4[rbp], 110
	jne	.L145
.L144:
	mov	eax, DWORD PTR pflag[rip]
	add	eax, 1
	mov	DWORD PTR pflag[rip], eax
	cmp	DWORD PTR -4[rbp], 108
	jne	.L146
	mov	eax, DWORD PTR listf[rip]
	add	eax, 1
	mov	DWORD PTR listf[rip], eax
	jmp	.L147
.L146:
	cmp	DWORD PTR -4[rbp], 110
	jne	.L147
	mov	eax, DWORD PTR listn[rip]
	add	eax, 1
	mov	DWORD PTR listn[rip], eax
.L147:
	call	getchr
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 10
	je	.L149
.L145:
	lea	rdi, Q[rip]
	call	error
	jmp	.L140
.L148:
	nop
	jmp	.L140
.L149:
	nop
.L140:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	newline, .-newline
	.globl	filename
	.type	filename, @function
filename:
.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, 48
	mov	DWORD PTR -36[rbp], edi
	mov	QWORD PTR count[rip], 0
	call	getchr
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], 10
	je	.L151
	cmp	DWORD PTR -20[rbp], -1
	jne	.L152
.L151:
	lea	rax, savedfile[rip]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L153
	cmp	DWORD PTR -36[rbp], 102
	je	.L153
	lea	rdi, Q[rip]
	call	error
.L153:
	lea	rax, file[rip]
	mov	QWORD PTR -8[rbp], rax
	nop
.L154:
	mov	rdx, QWORD PTR -16[rbp]
	lea	rax, 1[rdx]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	lea	rcx, 1[rax]
	mov	QWORD PTR -8[rbp], rcx
	movzx	edx, BYTE PTR [rdx]
	mov	BYTE PTR [rax], dl
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L154
	jmp	.L150
.L152:
	cmp	DWORD PTR -20[rbp], 32
	je	.L164
	lea	rdi, Q[rip]
	call	error
.L164:
	nop
.L157:
	call	getchr
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], 32
	je	.L157
	cmp	DWORD PTR -20[rbp], 10
	jne	.L158
	lea	rdi, Q[rip]
	call	error
.L158:
	lea	rax, file[rip]
	mov	QWORD PTR -16[rbp], rax
.L161:
	lea	rax, file[rip+127]
	cmp	QWORD PTR -16[rbp], rax
	jnb	.L159
	cmp	DWORD PTR -20[rbp], 32
	je	.L159
	cmp	DWORD PTR -20[rbp], -1
	jne	.L160
.L159:
	lea	rdi, Q[rip]
	call	error
.L160:
	mov	rax, QWORD PTR -16[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -16[rbp], rdx
	mov	edx, DWORD PTR -20[rbp]
	mov	BYTE PTR [rax], dl
	call	getchr
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], 10
	jne	.L161
	mov	rax, QWORD PTR -16[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -16[rbp], rdx
	mov	BYTE PTR [rax], 0
	movzx	eax, BYTE PTR savedfile[rip]
	test	al, al
	je	.L162
	cmp	DWORD PTR -36[rbp], 101
	je	.L162
	cmp	DWORD PTR -36[rbp], 102
	jne	.L150
.L162:
	lea	rax, savedfile[rip]
	mov	QWORD PTR -16[rbp], rax
	lea	rax, file[rip]
	mov	QWORD PTR -8[rbp], rax
	nop
.L163:
	mov	rdx, QWORD PTR -8[rbp]
	lea	rax, 1[rdx]
	mov	QWORD PTR -8[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
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L163
.L150:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	filename, .-filename
	.globl	exfile
	.type	exfile, @function
exfile:
.LFB11:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, DWORD PTR io[rip]
	mov	edi, eax
	call	close@PLT
	mov	DWORD PTR io[rip], -1
	mov	eax, DWORD PTR vflag[rip]
	test	eax, eax
	je	.L167
	call	putd
	mov	edi, 10
	call	putchr@PLT
.L167:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	exfile, .-exfile
	.globl	onintr
	.type	onintr, @function
onintr:
.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, 16
	mov	DWORD PTR -4[rbp], edi
	lea	rsi, onintr[rip]
	mov	edi, 2
	call	signal@PLT
	mov	edi, 10
	call	putchr@PLT
	mov	DWORD PTR lastc[rip], 10
	lea	rdi, Q[rip]
	call	error
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE12:
	.size	onintr, .-onintr
	.section	.rodata
.LC2:
	.string	"ed.hup"
	.text
	.globl	onhup
	.type	onhup, @function
onhup:
.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	DWORD PTR -4[rbp], edi
	mov	esi, 1
	mov	edi, 2
	call	signal@PLT
	mov	esi, 1
	mov	edi, 1
	call	signal@PLT
	mov	rdx, QWORD PTR dol[rip]
	mov	rax, QWORD PTR zero[rip]
	cmp	rdx, rax
	jbe	.L170
	mov	rax, QWORD PTR zero[rip]
	add	rax, 4
	mov	QWORD PTR addr1[rip], rax
	mov	rax, QWORD PTR dol[rip]
	mov	QWORD PTR addr2[rip], rax
	mov	esi, 384
	lea	rdi, .LC2[rip]
	call	creat@PLT
	mov	DWORD PTR io[rip], eax
	mov	eax, DWORD PTR io[rip]
	test	eax, eax
	jle	.L170
	call	putfile
.L170:
	mov	DWORD PTR fchange[rip], 0
	mov	edi, 0
	call	quit
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE13:
	.size	onhup, .-onhup
	.globl	error
	.type	error, @function
error:
.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
	mov	DWORD PTR wrapp[rip], 0
	mov	DWORD PTR listf[rip], 0
	mov	DWORD PTR listn[rip], 0
	mov	edi, 63
	call	putchr@PLT
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	puts@PLT
	mov	QWORD PTR count[rip], 0
	mov	edx, 2
	mov	esi, 0
	mov	edi, 0
	call	lseek@PLT
	mov	DWORD PTR pflag[rip], 0
	mov	rax, QWORD PTR globp[rip]
	test	rax, rax
	je	.L172
	mov	DWORD PTR lastc[rip], 10
.L172:
	mov	QWORD PTR globp[rip], 0
	mov	eax, DWORD PTR lastc[rip]
	mov	DWORD PTR peekc[rip], eax
	mov	eax, DWORD PTR lastc[rip]
	test	eax, eax
	je	.L173
	nop
.L174:
	call	getchr
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 10
	je	.L173
	cmp	DWORD PTR -4[rbp], -1
	jne	.L174
.L173:
	mov	eax, DWORD PTR io[rip]
	test	eax, eax
	jle	.L175
	mov	eax, DWORD PTR io[rip]
	mov	edi, eax
	call	close@PLT
	mov	DWORD PTR io[rip], -1
.L175:
	mov	esi, 1
	lea	rdi, savej[rip]
	call	longjmp@PLT
	.cfi_endproc
.LFE14:
	.size	error, .-error
	.globl	getchr
	.type	getchr, @function
getchr:
.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, 16
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	eax, DWORD PTR peekc[rip]
	mov	DWORD PTR lastc[rip], eax
	mov	eax, DWORD PTR lastc[rip]
	test	eax, eax
	je	.L177
	mov	DWORD PTR peekc[rip], 0
	mov	eax, DWORD PTR lastc[rip]
	jmp	.L182
.L177:
	mov	rax, QWORD PTR globp[rip]
	test	rax, rax
	je	.L179
	mov	rax, QWORD PTR globp[rip]
	lea	rdx, 1[rax]
	mov	QWORD PTR globp[rip], rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	DWORD PTR lastc[rip], eax
	mov	eax, DWORD PTR lastc[rip]
	test	eax, eax
	je	.L180
	mov	eax, DWORD PTR lastc[rip]
	jmp	.L182
.L180:
	mov	QWORD PTR globp[rip], 0
	mov	eax, -1
	jmp	.L182
.L179:
	lea	rax, -9[rbp]
	mov	edx, 1
	mov	rsi, rax
	mov	edi, 0
	call	read@PLT
	test	eax, eax
	jg	.L181
	mov	DWORD PTR lastc[rip], -1
	mov	eax, DWORD PTR lastc[rip]
	jmp	.L182
.L181:
	movzx	eax, BYTE PTR -9[rbp]
	movsx	eax, al
	and	eax, 127
	mov	DWORD PTR lastc[rip], eax
	mov	eax, DWORD PTR lastc[rip]
.L182:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L183
	call	__stack_chk_fail@PLT
.L183:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE15:
	.size	getchr, .-getchr
	.globl	gettty
	.type	gettty, @function
gettty:
.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, 16
	call	gety
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 0
	je	.L185
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L186
.L185:
	movzx	eax, BYTE PTR linebuf[rip]
	cmp	al, 46
	jne	.L187
	movzx	eax, BYTE PTR linebuf[rip+1]
	test	al, al
	jne	.L187
	mov	eax, -1
	jmp	.L186
.L187:
	mov	eax, 0
.L186:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE16:
	.size	gettty, .-gettty
	.globl	gety
	.type	gety, @function
gety:
.LFB17:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	lea	rax, linebuf[rip]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR globp[rip]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L189
.L194:
	cmp	DWORD PTR -20[rbp], -1
	jne	.L190
	cmp	QWORD PTR -8[rbp], 0
	je	.L191
	mov	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR peekc[rip], eax
.L191:
	mov	eax, DWORD PTR -20[rbp]
	jmp	.L192
.L190:
	and	DWORD PTR -20[rbp], 127
	cmp	DWORD PTR -20[rbp], 0
	jne	.L193
	jmp	.L189
.L193:
	mov	rax, QWORD PTR -16[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -16[rbp], rdx
	mov	edx, DWORD PTR -20[rbp]
	mov	BYTE PTR [rax], dl
	lea	rax, linebuf[rip+4094]
	cmp	QWORD PTR -16[rbp], rax
	jb	.L189
	lea	rdi, Q[rip]
	call	error
.L189:
	call	getchr
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], 10
	jne	.L194
	mov	rax, QWORD PTR -16[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -16[rbp], rdx
	mov	BYTE PTR [rax], 0
	mov	eax, 0
.L192:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE17:
	.size	gety, .-gety
	.section	.rodata
.LC3:
	.string	"'\\n' appended"
	.text
	.globl	getfile
	.type	getfile, @function
getfile:
.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, 32
	lea	rax, linebuf[rip]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR nextip[rip]
	mov	QWORD PTR -8[rbp], rax
.L207:
	mov	eax, DWORD PTR ninbuf[rip]
	sub	eax, 1
	mov	DWORD PTR ninbuf[rip], eax
	mov	eax, DWORD PTR ninbuf[rip]
	test	eax, eax
	jns	.L196
	mov	eax, DWORD PTR io[rip]
	mov	edx, 4096
	lea	rsi, genbuf[rip]
	mov	edi, eax
	call	read@PLT
	sub	eax, 1
	mov	DWORD PTR ninbuf[rip], eax
	mov	eax, DWORD PTR ninbuf[rip]
	test	eax, eax
	jns	.L197
	lea	rax, linebuf[rip]
	cmp	QWORD PTR -16[rbp], rax
	jbe	.L198
	lea	rdi, .LC3[rip]
	call	puts@PLT
	mov	BYTE PTR genbuf[rip], 10
	jmp	.L197
.L198:
	mov	eax, -1
	jmp	.L199
.L197:
	lea	rax, genbuf[rip]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L200
.L202:
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -8[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	js	.L208
.L200:
	mov	eax, DWORD PTR ninbuf[rip]
	cdqe
	lea	rdx, genbuf[rip]
	add	rax, rdx
	cmp	QWORD PTR -8[rbp], rax
	jb	.L202
	jmp	.L201
.L208:
	nop
.L201:
	lea	rax, genbuf[rip]
	mov	QWORD PTR -8[rbp], rax
.L196:
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -8[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], 0
	je	.L209
	mov	eax, DWORD PTR -20[rbp]
	and	eax, 128
	test	eax, eax
	jne	.L205
	lea	rax, linebuf[rip+4096]
	cmp	QWORD PTR -16[rbp], rax
	jb	.L206
.L205:
	mov	DWORD PTR lastc[rip], 10
	lea	rdi, Q[rip]
	call	error
.L206:
	mov	rax, QWORD PTR -16[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -16[rbp], rdx
	mov	edx, DWORD PTR -20[rbp]
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR count[rip]
	add	rax, 1
	mov	QWORD PTR count[rip], rax
	jmp	.L204
.L209:
	nop
.L204:
	cmp	DWORD PTR -20[rbp], 10
	jne	.L207
	sub	QWORD PTR -16[rbp], 1
	mov	rax, QWORD PTR -16[rbp]
	mov	BYTE PTR [rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR nextip[rip], rax
	mov	eax, 0
.L199:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE18:
	.size	getfile, .-getfile
	.globl	putfile
	.type	putfile, @function
putfile:
.LFB19:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -32[rbp], 4096
	lea	rax, genbuf[rip]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR addr1[rip]
	mov	QWORD PTR -24[rbp], rax
.L216:
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 4[rax]
	mov	QWORD PTR -24[rbp], rdx
	mov	eax, DWORD PTR [rax]
	mov	edi, eax
	call	getline
	mov	QWORD PTR -8[rbp], rax
.L215:
	sub	DWORD PTR -32[rbp], 1
	cmp	DWORD PTR -32[rbp], 0
	jns	.L211
	lea	rdx, genbuf[rip]
	mov	rax, QWORD PTR -16[rbp]
	sub	rax, rdx
	mov	DWORD PTR -28[rbp], eax
	mov	eax, DWORD PTR io[rip]
	mov	edx, DWORD PTR -28[rbp]
	lea	rsi, genbuf[rip]
	mov	edi, eax
	call	write@PLT
	cmp	DWORD PTR -28[rbp], eax
	je	.L212
	lea	rdi, WRERR[rip]
	call	puts@PLT
	lea	rdi, Q[rip]
	call	error
.L212:
	mov	DWORD PTR -32[rbp], 4095
	lea	rax, genbuf[rip]
	mov	QWORD PTR -16[rbp], rax
.L211:
	mov	rax, QWORD PTR count[rip]
	add	rax, 1
	mov	QWORD PTR count[rip], rax
	mov	rdx, QWORD PTR -8[rbp]
	lea	rax, 1[rdx]
	mov	QWORD PTR -8[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
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L215
	mov	rax, QWORD PTR -16[rbp]
	sub	rax, 1
	mov	BYTE PTR [rax], 10
	nop
	mov	rax, QWORD PTR addr2[rip]
	cmp	QWORD PTR -24[rbp], rax
	jbe	.L216
	lea	rdx, genbuf[rip]
	mov	rax, QWORD PTR -16[rbp]
	sub	rax, rdx
	mov	DWORD PTR -28[rbp], eax
	mov	eax, DWORD PTR io[rip]
	mov	edx, DWORD PTR -28[rbp]
	lea	rsi, genbuf[rip]
	mov	edi, eax
	call	write@PLT
	cmp	DWORD PTR -28[rbp], eax
	je	.L219
	lea	rdi, WRERR[rip]
	call	puts@PLT
	lea	rdi, Q[rip]
	call	error
.L219:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE19:
	.size	putfile, .-putfile
	.section	.rodata
.LC4:
	.string	"MEM?"
	.text
	.globl	append
	.type	append, @function
append:
.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, 64
	mov	QWORD PTR -56[rbp], rdi
	mov	QWORD PTR -64[rbp], rsi
	mov	DWORD PTR -40[rbp], 0
	mov	rax, QWORD PTR -64[rbp]
	mov	QWORD PTR dot[rip], rax
	jmp	.L221
.L226:
	mov	rax, QWORD PTR dol[rip]
	mov	rdx, QWORD PTR zero[rip]
	sub	rax, rdx
	sar	rax, 2
	add	rax, 1
	mov	edx, DWORD PTR nlall[rip]
	mov	edx, edx
	cmp	rax, rdx
	jl	.L222
	mov	rax, QWORD PTR zero[rip]
	mov	QWORD PTR -16[rbp], rax
	mov	eax, DWORD PTR nlall[rip]
	add	eax, 1024
	mov	DWORD PTR nlall[rip], eax
	mov	eax, DWORD PTR nlall[rip]
	sal	eax, 2
	mov	edx, eax
	mov	rax, QWORD PTR zero[rip]
	mov	esi, edx
	mov	rdi, rax
	call	realloc@PLT
	mov	QWORD PTR zero[rip], rax
	mov	rax, QWORD PTR zero[rip]
	test	rax, rax
	jne	.L223
	lea	rdi, .LC4[rip]
	call	error
	mov	edi, 0
	call	onhup
.L223:
	mov	rdx, QWORD PTR dot[rip]
	mov	rax, QWORD PTR zero[rip]
	sub	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	mov	QWORD PTR dot[rip], rax
	mov	rdx, QWORD PTR dol[rip]
	mov	rax, QWORD PTR zero[rip]
	sub	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	mov	QWORD PTR dol[rip], rax
.L222:
	call	putline
	mov	DWORD PTR -36[rbp], eax
	add	DWORD PTR -40[rbp], 1
	mov	rax, QWORD PTR dol[rip]
	add	rax, 4
	mov	QWORD PTR dol[rip], rax
	mov	rax, QWORD PTR dol[rip]
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	add	rax, 4
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR dot[rip]
	add	rax, 4
	mov	QWORD PTR dot[rip], rax
	mov	rax, QWORD PTR dot[rip]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L224
.L225:
	sub	QWORD PTR -32[rbp], 4
	sub	QWORD PTR -24[rbp], 4
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR [rax], edx
.L224:
	mov	rax, QWORD PTR -32[rbp]
	cmp	rax, QWORD PTR -8[rbp]
	ja	.L225
	mov	edx, DWORD PTR -36[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], edx
.L221:
	mov	rax, QWORD PTR -56[rbp]
	call	rax
	test	eax, eax
	je	.L226
	mov	eax, DWORD PTR -40[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE20:
	.size	append, .-append
	.globl	add
	.type	add, @function
add:
.LFB21:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	DWORD PTR -4[rbp], edi
	cmp	DWORD PTR -4[rbp], 0
	je	.L229
	mov	eax, DWORD PTR given[rip]
	test	eax, eax
	jne	.L230
	mov	rdx, QWORD PTR dol[rip]
	mov	rax, QWORD PTR zero[rip]
	cmp	rdx, rax
	jbe	.L229
.L230:
	mov	rax, QWORD PTR addr1[rip]
	sub	rax, 4
	mov	QWORD PTR addr1[rip], rax
	mov	rax, QWORD PTR addr2[rip]
	sub	rax, 4
	mov	QWORD PTR addr2[rip], rax
.L229:
	mov	edi, 0
	call	squeeze
	call	newline
	mov	rax, QWORD PTR addr2[rip]
	mov	rsi, rax
	lea	rdi, gettty[rip]
	call	append
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE21:
	.size	add, .-add
	.section	.rodata
.LC5:
	.string	"-t"
.LC6:
	.string	"sh"
.LC7:
	.string	"/bin/sh"
.LC8:
	.string	"!"
	.text
	.globl	callunix
	.type	callunix, @function
callunix:
.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, 32
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	call	setnoaddr
	call	fork@PLT
	mov	DWORD PTR -24[rbp], eax
	cmp	DWORD PTR -24[rbp], 0
	jne	.L232
	mov	rax, QWORD PTR oldhup[rip]
	mov	rsi, rax
	mov	edi, 1
	call	signal@PLT
	mov	rax, QWORD PTR oldquit[rip]
	mov	rsi, rax
	mov	edi, 3
	call	signal@PLT
	mov	ecx, 0
	lea	rdx, .LC5[rip]
	lea	rsi, .LC6[rip]
	lea	rdi, .LC7[rip]
	mov	eax, 0
	call	execl@PLT
	mov	edi, 64
	call	exit@PLT
.L232:
	mov	esi, 1
	mov	edi, 2
	call	signal@PLT
	mov	QWORD PTR -16[rbp], rax
	nop
.L234:
	lea	rax, -28[rbp]
	mov	rdi, rax
	call	wait@PLT
	mov	DWORD PTR -20[rbp], eax
	mov	eax, DWORD PTR -20[rbp]
	cmp	eax, DWORD PTR -24[rbp]
	je	.L233
	cmp	DWORD PTR -20[rbp], -1
	jne	.L234
.L233:
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rax
	mov	edi, 2
	call	signal@PLT
	mov	eax, DWORD PTR vflag[rip]
	test	eax, eax
	je	.L237
	lea	rdi, .LC8[rip]
	call	puts@PLT
.L237:
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L236
	call	__stack_chk_fail@PLT
.L236:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE22:
	.size	callunix, .-callunix
	.globl	quit
	.type	quit, @function
quit:
.LFB23:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	DWORD PTR -4[rbp], edi
	mov	eax, DWORD PTR vflag[rip]
	test	eax, eax
	je	.L239
	mov	eax, DWORD PTR fchange[rip]
	test	eax, eax
	je	.L239
	mov	rdx, QWORD PTR dol[rip]
	mov	rax, QWORD PTR zero[rip]
	cmp	rdx, rax
	je	.L239
	mov	DWORD PTR fchange[rip], 0
	lea	rdi, Q[rip]
	call	error
.L239:
	mov	rax, QWORD PTR tfname[rip]
	mov	rdi, rax
	call	unlink@PLT
	mov	edi, 0
	call	exit@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE23:
	.size	quit, .-quit
	.globl	rdelete
	.type	rdelete, @function
rdelete:
.LFB24:
	.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 -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 4
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR dol[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	rdx, QWORD PTR dol[rip]
	mov	rax, QWORD PTR -16[rbp]
	sub	rax, QWORD PTR -24[rbp]
	neg	rax
	add	rax, rdx
	mov	QWORD PTR dol[rip], rax
.L241:
	mov	rdx, QWORD PTR -16[rbp]
	lea	rax, 4[rdx]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	lea	rcx, 4[rax]
	mov	QWORD PTR -24[rbp], rcx
	mov	edx, DWORD PTR [rdx]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -16[rbp]
	cmp	rax, QWORD PTR -8[rbp]
	jbe	.L241
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR dol[rip]
	cmp	QWORD PTR -24[rbp], rax
	jbe	.L242
	mov	rax, QWORD PTR dol[rip]
	mov	QWORD PTR -24[rbp], rax
.L242:
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR dot[rip], rax
	mov	DWORD PTR fchange[rip], 1
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE24:
	.size	rdelete, .-rdelete
	.globl	gdelete
	.type	gdelete, @function
gdelete:
.LFB25:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	rax, QWORD PTR dol[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR zero[rip]
	mov	QWORD PTR -24[rbp], rax
	jmp	.L244
.L247:
	mov	rax, QWORD PTR -24[rbp]
	cmp	rax, QWORD PTR -8[rbp]
	jnb	.L252
	add	QWORD PTR -24[rbp], 4
.L244:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	and	eax, 1
	test	eax, eax
	je	.L247
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 4
	mov	QWORD PTR -16[rbp], rax
	jmp	.L248
.L250:
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	and	eax, 1
	test	eax, eax
	je	.L249
	add	QWORD PTR -16[rbp], 4
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR dot[rip], rax
	jmp	.L248
.L249:
	mov	rdx, QWORD PTR -16[rbp]
	lea	rax, 4[rdx]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	lea	rcx, 4[rax]
	mov	QWORD PTR -24[rbp], rcx
	mov	edx, DWORD PTR [rdx]
	mov	DWORD PTR [rax], edx
.L248:
	mov	rax, QWORD PTR -16[rbp]
	cmp	rax, QWORD PTR -8[rbp]
	jbe	.L250
	mov	rax, QWORD PTR -24[rbp]
	sub	rax, 4
	mov	QWORD PTR dol[rip], rax
	mov	rdx, QWORD PTR dot[rip]
	mov	rax, QWORD PTR dol[rip]
	cmp	rdx, rax
	jbe	.L251
	mov	rax, QWORD PTR dol[rip]
	mov	QWORD PTR dot[rip], rax
.L251:
	mov	DWORD PTR fchange[rip], 1
	jmp	.L243
.L252:
	nop
.L243:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE25:
	.size	gdelete, .-gdelete
	.globl	getline
	.type	getline, @function
getline:
.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, 48
	mov	DWORD PTR -36[rbp], edi
	lea	rax, linebuf[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	eax, DWORD PTR -36[rbp]
	mov	esi, 0
	mov	edi, eax
	call	getblock
	mov	QWORD PTR -16[rbp], rax
	mov	eax, DWORD PTR nleft[rip]
	mov	DWORD PTR -20[rbp], eax
	and	DWORD PTR -36[rbp], -2048
	jmp	.L254
.L255:
	sub	DWORD PTR -20[rbp], 1
	cmp	DWORD PTR -20[rbp], 0
	jne	.L254
	add	DWORD PTR -36[rbp], 2048
	mov	eax, DWORD PTR -36[rbp]
	mov	esi, 0
	mov	edi, eax
	call	getblock
	mov	QWORD PTR -16[rbp], rax
	mov	eax, DWORD PTR nleft[rip]
	mov	DWORD PTR -20[rbp], eax
.L254:
	mov	rdx, QWORD PTR -16[rbp]
	lea	rax, 1[rdx]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	lea	rcx, 1[rax]
	mov	QWORD PTR -8[rbp], rcx
	movzx	edx, BYTE PTR [rdx]
	mov	BYTE PTR [rax], dl
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L255
	lea	rax, linebuf[rip]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE26:
	.size	getline, .-getline
	.globl	putline
	.type	putline, @function
putline:
.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, 32
	mov	DWORD PTR fchange[rip], 1
	lea	rax, linebuf[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	eax, DWORD PTR tline[rip]
	mov	DWORD PTR -20[rbp], eax
	mov	eax, DWORD PTR -20[rbp]
	mov	esi, 1
	mov	edi, eax
	call	getblock
	mov	QWORD PTR -16[rbp], rax
	mov	eax, DWORD PTR nleft[rip]
	mov	DWORD PTR -24[rbp], eax
	and	DWORD PTR -20[rbp], -2048
	jmp	.L258
.L261:
	mov	rax, QWORD PTR -16[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -16[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 10
	jne	.L259
	sub	QWORD PTR -16[rbp], 1
	mov	rax, QWORD PTR -16[rbp]
	mov	BYTE PTR [rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR linebp[rip], rax
	jmp	.L260
.L259:
	sub	DWORD PTR -24[rbp], 1
	cmp	DWORD PTR -24[rbp], 0
	jne	.L258
	add	DWORD PTR -20[rbp], 2048
	mov	eax, DWORD PTR -20[rbp]
	mov	esi, 1
	mov	edi, eax
	call	getblock
	mov	QWORD PTR -16[rbp], rax
	mov	eax, DWORD PTR nleft[rip]
	mov	DWORD PTR -24[rbp], eax
.L258:
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -8[rbp], rdx
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L261
.L260:
	mov	eax, DWORD PTR tline[rip]
	mov	DWORD PTR -24[rbp], eax
	lea	rdx, linebuf[rip]
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, rdx
	add	rax, 3
	sar	rax
	and	eax, 32766
	mov	edx, eax
	mov	eax, DWORD PTR tline[rip]
	add	eax, edx
	mov	DWORD PTR tline[rip], eax
	mov	eax, DWORD PTR -24[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE27:
	.size	putline, .-putline
	.globl	getblock
	.type	getblock, @function
getblock:
.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, 32
	mov	DWORD PTR -20[rbp], edi
	mov	DWORD PTR -24[rbp], esi
	mov	eax, DWORD PTR -20[rbp]
	shr	eax, 11
	mov	DWORD PTR -8[rbp], eax
	mov	eax, DWORD PTR -20[rbp]
	add	eax, eax
	and	eax, 4092
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -8[rbp], 2046
	jle	.L264
	mov	DWORD PTR lastc[rip], 10
	lea	rdi, T[rip]
	call	error
.L264:
	mov	eax, 4096
	sub	eax, DWORD PTR -4[rbp]
	mov	DWORD PTR nleft[rip], eax
	mov	eax, DWORD PTR iblock[rip]
	cmp	DWORD PTR -8[rbp], eax
	jne	.L265
	mov	eax, DWORD PTR ichanged[rip]
	or	eax, DWORD PTR -24[rbp]
	mov	DWORD PTR ichanged[rip], eax
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, ibuff[rip]
	add	rax, rdx
	jmp	.L266
.L265:
	mov	eax, DWORD PTR oblock[rip]
	cmp	DWORD PTR -8[rbp], eax
	jne	.L267
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, obuff[rip]
	add	rax, rdx
	jmp	.L266
.L267:
	cmp	DWORD PTR -24[rbp], 0
	jne	.L268
	mov	eax, DWORD PTR ichanged[rip]
	test	eax, eax
	je	.L269
	mov	eax, DWORD PTR iblock[rip]
	mov	rdx, QWORD PTR write@GOTPCREL[rip]
	lea	rsi, ibuff[rip]
	mov	edi, eax
	call	blkio
.L269:
	mov	DWORD PTR ichanged[rip], 0
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR iblock[rip], eax
	mov	eax, DWORD PTR -8[rbp]
	mov	rdx, QWORD PTR read@GOTPCREL[rip]
	lea	rsi, ibuff[rip]
	mov	edi, eax
	call	blkio
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, ibuff[rip]
	add	rax, rdx
	jmp	.L266
.L268:
	mov	eax, DWORD PTR oblock[rip]
	test	eax, eax
	js	.L270
	mov	eax, DWORD PTR oblock[rip]
	mov	rdx, QWORD PTR write@GOTPCREL[rip]
	lea	rsi, obuff[rip]
	mov	edi, eax
	call	blkio
.L270:
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR oblock[rip], eax
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, obuff[rip]
	add	rax, rdx
.L266:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE28:
	.size	getblock, .-getblock
	.globl	blkio
	.type	blkio, @function
blkio:
.LFB29:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -4[rbp], edi
	mov	QWORD PTR -16[rbp], rsi
	mov	QWORD PTR -24[rbp], rdx
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 12
	mov	rcx, rax
	mov	eax, DWORD PTR tfile[rip]
	mov	edx, 0
	mov	rsi, rcx
	mov	edi, eax
	call	lseek@PLT
	mov	eax, DWORD PTR tfile[rip]
	mov	rcx, QWORD PTR -16[rbp]
	mov	r8, QWORD PTR -24[rbp]
	mov	edx, 4096
	mov	rsi, rcx
	mov	edi, eax
	call	r8
	cmp	eax, 4096
	je	.L273
	lea	rdi, T[rip]
	call	error
.L273:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE29:
	.size	blkio, .-blkio
	.globl	init
	.type	init, @function
init:
.LFB30:
	.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, DWORD PTR tfile[rip]
	mov	edi, eax
	call	close@PLT
	mov	DWORD PTR tline[rip], 2
	lea	rax, names[rip]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L275
.L276:
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 4[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	DWORD PTR [rax], 0
.L275:
	lea	rax, names[rip+104]
	cmp	QWORD PTR -8[rbp], rax
	jb	.L276
	mov	DWORD PTR subnewa[rip], 0
	mov	DWORD PTR anymarks[rip], 0
	mov	DWORD PTR iblock[rip], -1
	mov	DWORD PTR oblock[rip], -1
	mov	DWORD PTR ichanged[rip], 0
	mov	rax, QWORD PTR tfname[rip]
	mov	esi, 384
	mov	rdi, rax
	call	creat@PLT
	mov	edi, eax
	call	close@PLT
	mov	rax, QWORD PTR tfname[rip]
	mov	esi, 2
	mov	rdi, rax
	call	open@PLT
	mov	DWORD PTR tfile[rip], eax
	mov	rax, QWORD PTR zero[rip]
	mov	QWORD PTR dol[rip], rax
	mov	rax, QWORD PTR dol[rip]
	mov	QWORD PTR dot[rip], rax
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE30:
	.size	init, .-init
	.globl	global
	.type	global, @function
global:
.LFB31:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 320
	mov	DWORD PTR -308[rbp], edi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR globp[rip]
	test	rax, rax
	je	.L278
	lea	rdi, Q[rip]
	call	error
.L278:
	call	setwide
	mov	rdx, QWORD PTR dol[rip]
	mov	rax, QWORD PTR zero[rip]
	cmp	rdx, rax
	seta	al
	movzx	eax, al
	mov	edi, eax
	call	squeeze
	call	getchr
	mov	DWORD PTR -292[rbp], eax
	cmp	DWORD PTR -292[rbp], 10
	jne	.L279
	lea	rdi, Q[rip]
	call	error
.L279:
	mov	eax, DWORD PTR -292[rbp]
	mov	edi, eax
	call	compile
	lea	rax, -272[rbp]
	mov	QWORD PTR -288[rbp], rax
	jmp	.L280
.L283:
	cmp	DWORD PTR -292[rbp], -1
	jne	.L281
	lea	rdi, Q[rip]
	call	error
.L281:
	cmp	DWORD PTR -292[rbp], 92
	jne	.L282
	call	getchr
	mov	DWORD PTR -292[rbp], eax
	cmp	DWORD PTR -292[rbp], 10
	je	.L282
	mov	rax, QWORD PTR -288[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -288[rbp], rdx
	mov	BYTE PTR [rax], 92
.L282:
	mov	rax, QWORD PTR -288[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -288[rbp], rdx
	mov	edx, DWORD PTR -292[rbp]
	mov	BYTE PTR [rax], dl
	lea	rax, -272[rbp]
	add	rax, 254
	cmp	QWORD PTR -288[rbp], rax
	jb	.L280
	lea	rdi, Q[rip]
	call	error
.L280:
	call	getchr
	mov	DWORD PTR -292[rbp], eax
	cmp	DWORD PTR -292[rbp], 10
	jne	.L283
	lea	rax, -272[rbp]
	cmp	QWORD PTR -288[rbp], rax
	jne	.L284
	mov	rax, QWORD PTR -288[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -288[rbp], rdx
	mov	BYTE PTR [rax], 112
.L284:
	mov	rax, QWORD PTR -288[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -288[rbp], rdx
	mov	BYTE PTR [rax], 10
	mov	rax, QWORD PTR -288[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -288[rbp], rdx
	mov	BYTE PTR [rax], 0
	mov	rax, QWORD PTR zero[rip]
	mov	QWORD PTR -280[rbp], rax
	jmp	.L285
.L287:
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR [rax]
	and	eax, -2
	mov	edx, eax
	mov	rax, QWORD PTR -280[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR addr1[rip]
	cmp	QWORD PTR -280[rbp], rax
	jb	.L286
	mov	rax, QWORD PTR addr2[rip]
	cmp	QWORD PTR -280[rbp], rax
	ja	.L286
	mov	rax, QWORD PTR -280[rbp]
	mov	rdi, rax
	call	execute
	cmp	DWORD PTR -308[rbp], eax
	jne	.L286
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR [rax]
	or	eax, 1
	mov	edx, eax
	mov	rax, QWORD PTR -280[rbp]
	mov	DWORD PTR [rax], edx
.L286:
	add	QWORD PTR -280[rbp], 4
.L285:
	mov	rax, QWORD PTR dol[rip]
	cmp	QWORD PTR -280[rbp], rax
	jbe	.L287
	movzx	eax, BYTE PTR -272[rbp]
	cmp	al, 100
	jne	.L288
	movzx	eax, BYTE PTR -271[rbp]
	cmp	al, 10
	jne	.L288
	movzx	eax, BYTE PTR -270[rbp]
	test	al, al
	jne	.L288
	call	gdelete
	jmp	.L277
.L288:
	mov	rax, QWORD PTR zero[rip]
	mov	QWORD PTR -280[rbp], rax
	jmp	.L290
.L292:
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR [rax]
	and	eax, 1
	test	eax, eax
	je	.L291
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR [rax]
	and	eax, -2
	mov	edx, eax
	mov	rax, QWORD PTR -280[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -280[rbp]
	mov	QWORD PTR dot[rip], rax
	lea	rax, -272[rbp]
	mov	QWORD PTR globp[rip], rax
	call	commands
	mov	rax, QWORD PTR zero[rip]
	mov	QWORD PTR -280[rbp], rax
.L291:
	add	QWORD PTR -280[rbp], 4
.L290:
	mov	rax, QWORD PTR dol[rip]
	cmp	QWORD PTR -280[rbp], rax
	jbe	.L292
.L277:
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L293
	call	__stack_chk_fail@PLT
.L293:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE31:
	.size	global, .-global
	.globl	join
	.type	join, @function
join:
.LFB32:
	.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
	call	nonzero
	lea	rax, genbuf[rip]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR addr1[rip]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L295
.L298:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	mov	edi, eax
	call	getline
	mov	QWORD PTR -16[rbp], rax
	jmp	.L296
.L297:
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -24[rbp], rdx
	lea	rdx, genbuf[rip+4094]
	cmp	rax, rdx
	jb	.L296
	lea	rdi, Q[rip]
	call	error
.L296:
	mov	rax, QWORD PTR -16[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -16[rbp], rdx
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L297
	add	QWORD PTR -8[rbp], 4
.L295:
	mov	rax, QWORD PTR addr2[rip]
	cmp	QWORD PTR -8[rbp], rax
	jbe	.L298
	lea	rax, linebuf[rip]
	mov	QWORD PTR -16[rbp], rax
	lea	rax, genbuf[rip]
	mov	QWORD PTR -24[rbp], rax
	nop
.L299:
	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
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L299
	call	putline
	mov	edx, eax
	mov	rax, QWORD PTR addr1[rip]
	mov	DWORD PTR [rax], edx
	mov	rdx, QWORD PTR addr1[rip]
	mov	rax, QWORD PTR addr2[rip]
	cmp	rdx, rax
	jnb	.L300
	mov	rax, QWORD PTR addr2[rip]
	mov	rdx, QWORD PTR addr1[rip]
	add	rdx, 4
	mov	rsi, rax
	mov	rdi, rdx
	call	rdelete
.L300:
	mov	rax, QWORD PTR addr1[rip]
	mov	QWORD PTR dot[rip], rax
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE32:
	.size	join, .-join
	.globl	substitute
	.type	substitute, @function
substitute:
.LFB33:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	DWORD PTR -52[rbp], edi
	call	getnum
	mov	DWORD PTR -40[rbp], eax
	call	compsub
	mov	DWORD PTR -36[rbp], eax
	mov	rax, QWORD PTR addr1[rip]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L302
.L313:
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	execute
	test	eax, eax
	je	.L303
	mov	eax, DWORD PTR -40[rbp]
	mov	DWORD PTR -44[rbp], eax
.L308:
	mov	rax, QWORD PTR loc2[rip]
	mov	rdx, QWORD PTR loc1[rip]
	sub	rax, rdx
	mov	DWORD PTR -32[rbp], eax
	sub	DWORD PTR -44[rbp], 1
	cmp	DWORD PTR -44[rbp], 0
	jg	.L304
	call	dosub
	cmp	DWORD PTR -36[rbp], 0
	je	.L315
	cmp	DWORD PTR -32[rbp], 0
	jne	.L304
	mov	rax, QWORD PTR loc2[rip]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L316
	mov	rax, QWORD PTR loc2[rip]
	add	rax, 1
	mov	QWORD PTR loc2[rip], rax
.L304:
	mov	edi, 0
	call	execute
	test	eax, eax
	jne	.L308
	jmp	.L306
.L315:
	nop
	jmp	.L306
.L316:
	nop
.L306:
	cmp	DWORD PTR -44[rbp], 0
	jg	.L303
	or	DWORD PTR -52[rbp], 1
	call	putline
	mov	DWORD PTR subnewa[rip], eax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	and	eax, -2
	mov	edx, eax
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, DWORD PTR anymarks[rip]
	test	eax, eax
	je	.L309
	lea	rax, names[rip]
	mov	QWORD PTR -24[rbp], rax
	jmp	.L310
.L312:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	mov	edx, eax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	edx, eax
	jne	.L311
	mov	edx, DWORD PTR subnewa[rip]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR [rax], edx
.L311:
	add	QWORD PTR -24[rbp], 4
.L310:
	lea	rax, names[rip+104]
	cmp	QWORD PTR -24[rbp], rax
	jb	.L312
.L309:
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR subolda[rip], eax
	mov	eax, DWORD PTR subnewa[rip]
	mov	edx, eax
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR zero[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rax
	lea	rdi, getsub[rip]
	call	append
	mov	DWORD PTR -28[rbp], eax
	mov	rax, QWORD PTR zero[rip]
	sub	rax, QWORD PTR -8[rbp]
	sar	rax, 2
	mov	edx, eax
	mov	eax, DWORD PTR -28[rbp]
	add	eax, edx
	mov	DWORD PTR -28[rbp], eax
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	sal	rax, 2
	add	QWORD PTR -16[rbp], rax
	mov	rdx, QWORD PTR addr2[rip]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	QWORD PTR addr2[rip], rax
.L303:
	add	QWORD PTR -16[rbp], 4
.L302:
	mov	rax, QWORD PTR addr2[rip]
	cmp	QWORD PTR -16[rbp], rax
	jbe	.L313
	cmp	DWORD PTR -52[rbp], 0
	jne	.L317
	lea	rdi, Q[rip]
	call	error
.L317:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE33:
	.size	substitute, .-substitute
	.globl	compsub
	.type	compsub, @function
compsub:
.LFB34:
	.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
	call	getchr
	mov	DWORD PTR -12[rbp], eax
	cmp	DWORD PTR -12[rbp], 10
	je	.L319
	cmp	DWORD PTR -12[rbp], 32
	jne	.L320
.L319:
	lea	rdi, Q[rip]
	call	error
.L320:
	mov	eax, DWORD PTR -12[rbp]
	mov	edi, eax
	call	compile
	lea	rax, rhsbuf[rip]
	mov	QWORD PTR -8[rbp], rax
.L327:
	call	getchr
	mov	DWORD PTR -16[rbp], eax
	cmp	DWORD PTR -16[rbp], 92
	jne	.L321
	call	getchr
	or	al, -128
	mov	DWORD PTR -16[rbp], eax
.L321:
	cmp	DWORD PTR -16[rbp], 10
	jne	.L322
	mov	rax, QWORD PTR globp[rip]
	test	rax, rax
	je	.L323
	mov	rax, QWORD PTR globp[rip]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L323
	or	DWORD PTR -16[rbp], 128
	jmp	.L322
.L323:
	mov	eax, DWORD PTR -16[rbp]
	mov	DWORD PTR peekc[rip], eax
	mov	eax, DWORD PTR pflag[rip]
	add	eax, 1
	mov	DWORD PTR pflag[rip], eax
	jmp	.L324
.L322:
	mov	eax, DWORD PTR -16[rbp]
	cmp	eax, DWORD PTR -12[rbp]
	je	.L330
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	edx, DWORD PTR -16[rbp]
	mov	BYTE PTR [rax], dl
	lea	rax, rhsbuf[rip+2048]
	cmp	QWORD PTR -8[rbp], rax
	jb	.L327
	lea	rdi, Q[rip]
	call	error
	jmp	.L327
.L330:
	nop
.L324:
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	BYTE PTR [rax], 0
	call	getchr
	mov	DWORD PTR peekc[rip], eax
	mov	eax, DWORD PTR peekc[rip]
	cmp	eax, 103
	jne	.L328
	mov	DWORD PTR peekc[rip], 0
	call	newline
	mov	eax, 1
	jmp	.L329
.L328:
	call	newline
	mov	eax, 0
.L329:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE34:
	.size	compsub, .-compsub
	.globl	getsub
	.type	getsub, @function
getsub:
.LFB35:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	lea	rax, linebuf[rip]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR linebp[rip]
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L335
	mov	eax, -1
	jmp	.L333
.L335:
	nop
.L334:
	mov	rdx, QWORD PTR -8[rbp]
	lea	rax, 1[rdx]
	mov	QWORD PTR -8[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
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L334
	mov	QWORD PTR linebp[rip], 0
	mov	eax, 0
.L333:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE35:
	.size	getsub, .-getsub
	.globl	dosub
	.type	dosub, @function
dosub:
.LFB36:
	.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
	lea	rax, linebuf[rip]
	mov	QWORD PTR -24[rbp], rax
	lea	rax, genbuf[rip]
	mov	QWORD PTR -16[rbp], rax
	lea	rax, rhsbuf[rip]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L337
.L338:
	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
.L337:
	mov	rax, QWORD PTR loc1[rip]
	cmp	QWORD PTR -24[rbp], rax
	jb	.L338
	jmp	.L339
.L342:
	cmp	DWORD PTR -28[rbp], 38
	jne	.L340
	mov	rdx, QWORD PTR loc2[rip]
	mov	rcx, QWORD PTR loc1[rip]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	place
	mov	QWORD PTR -16[rbp], rax
	jmp	.L339
.L340:
	mov	eax, DWORD PTR -28[rbp]
	and	eax, 128
	test	eax, eax
	je	.L341
	and	DWORD PTR -28[rbp], 127
	cmp	DWORD PTR -28[rbp], 48
	jle	.L341
	mov	eax, DWORD PTR nbra[rip]
	add	eax, 48
	cmp	DWORD PTR -28[rbp], eax
	jg	.L341
	mov	eax, DWORD PTR -28[rbp]
	sub	eax, 49
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, braelist[rip]
	mov	rdx, QWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -28[rbp]
	sub	eax, 49
	cdqe
	lea	rcx, 0[0+rax*8]
	lea	rax, braslist[rip]
	mov	rcx, QWORD PTR [rcx+rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	place
	mov	QWORD PTR -16[rbp], rax
	jmp	.L339
.L341:
	mov	eax, DWORD PTR -28[rbp]
	mov	ecx, eax
	mov	rax, QWORD PTR -16[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -16[rbp], rdx
	and	ecx, 127
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
	lea	rax, genbuf[rip+4096]
	cmp	QWORD PTR -16[rbp], rax
	jb	.L339
	lea	rdi, Q[rip]
	call	error
.L339:
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -8[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	and	eax, 255
	mov	DWORD PTR -28[rbp], eax
	cmp	DWORD PTR -28[rbp], 0
	jne	.L342
	mov	rax, QWORD PTR loc2[rip]
	mov	QWORD PTR -24[rbp], rax
	lea	rdx, genbuf[rip]
	mov	rax, QWORD PTR -16[rbp]
	sub	rax, rdx
	mov	rdx, rax
	lea	rax, linebuf[rip]
	add	rax, rdx
	mov	QWORD PTR loc2[rip], rax
	jmp	.L343
.L344:
	lea	rax, genbuf[rip+4096]
	cmp	QWORD PTR -16[rbp], rax
	jb	.L343
	lea	rdi, Q[rip]
	call	error
.L343:
	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
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L344
	lea	rax, linebuf[rip]
	mov	QWORD PTR -24[rbp], rax
	lea	rax, genbuf[rip]
	mov	QWORD PTR -16[rbp], rax
	nop
.L345:
	mov	rdx, QWORD PTR -16[rbp]
	lea	rax, 1[rdx]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	lea	rcx, 1[rax]
	mov	QWORD PTR -24[rbp], rcx
	movzx	edx, BYTE PTR [rdx]
	mov	BYTE PTR [rax], dl
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L345
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE36:
	.size	dosub, .-dosub
	.globl	place
	.type	place, @function
place:
.LFB37:
	.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	QWORD PTR -16[rbp], rsi
	mov	QWORD PTR -24[rbp], rdx
	jmp	.L347
.L348:
	mov	rdx, QWORD PTR -16[rbp]
	lea	rax, 1[rdx]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	lea	rcx, 1[rax]
	mov	QWORD PTR -8[rbp], rcx
	movzx	edx, BYTE PTR [rdx]
	mov	BYTE PTR [rax], dl
	lea	rax, genbuf[rip+4096]
	cmp	QWORD PTR -8[rbp], rax
	jb	.L347
	lea	rdi, Q[rip]
	call	error
.L347:
	mov	rax, QWORD PTR -16[rbp]
	cmp	rax, QWORD PTR -24[rbp]
	jb	.L348
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE37:
	.size	place, .-place
	.globl	move
	.type	move, @function
move:
.LFB38:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	DWORD PTR -52[rbp], edi
	call	nonzero
	call	address
	mov	QWORD PTR -32[rbp], rax
	cmp	QWORD PTR -32[rbp], 0
	jne	.L351
	lea	rdi, Q[rip]
	call	error
.L351:
	call	newline
	cmp	DWORD PTR -52[rbp], 0
	je	.L352
	mov	rax, QWORD PTR dol[rip]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR zero[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 4[rax]
	mov	QWORD PTR -24[rbp], rdx
	mov	rsi, rax
	lea	rdi, getcopy[rip]
	call	append
	mov	rax, QWORD PTR dol[rip]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR zero[rip]
	sub	rax, QWORD PTR -8[rbp]
	sar	rax, 2
	mov	DWORD PTR -36[rbp], eax
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	sal	rax, 2
	add	QWORD PTR -24[rbp], rax
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	sal	rax, 2
	add	QWORD PTR -32[rbp], rax
	jmp	.L353
.L352:
	mov	rax, QWORD PTR addr2[rip]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR addr1[rip]
	mov	QWORD PTR -24[rbp], rax
	jmp	.L354
.L355:
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 4[rax]
	mov	QWORD PTR -24[rbp], rdx
	mov	edx, DWORD PTR [rax]
	and	edx, -2
	mov	DWORD PTR [rax], edx
.L354:
	mov	rax, QWORD PTR -24[rbp]
	cmp	rax, QWORD PTR -16[rbp]
	jbe	.L355
	mov	rax, QWORD PTR addr1[rip]
	mov	QWORD PTR -24[rbp], rax
.L353:
	add	QWORD PTR -16[rbp], 4
	mov	rax, QWORD PTR -32[rbp]
	cmp	rax, QWORD PTR -24[rbp]
	jnb	.L356
	mov	rax, QWORD PTR -16[rbp]
	sub	rax, QWORD PTR -24[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	QWORD PTR dot[rip], rax
	add	QWORD PTR -32[rbp], 4
	mov	rax, QWORD PTR -32[rbp]
	cmp	rax, QWORD PTR -24[rbp]
	je	.L361
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	reverse
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	reverse
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	reverse
	jmp	.L359
.L356:
	mov	rax, QWORD PTR -32[rbp]
	cmp	rax, QWORD PTR -16[rbp]
	jb	.L360
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, 4[rax]
	mov	QWORD PTR -32[rbp], rdx
	mov	QWORD PTR dot[rip], rax
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	reverse
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	reverse
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	reverse
	jmp	.L359
.L360:
	lea	rdi, Q[rip]
	call	error
.L359:
	mov	DWORD PTR fchange[rip], 1
	jmp	.L350
.L361:
	nop
.L350:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE38:
	.size	move, .-move
	.globl	reverse
	.type	reverse, @function
reverse:
.LFB39:
	.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	QWORD PTR -32[rbp], rsi
.L365:
	sub	QWORD PTR -32[rbp], 4
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -4[rbp], eax
	mov	rax, QWORD PTR -32[rbp]
	cmp	rax, QWORD PTR -24[rbp]
	jbe	.L367
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 4[rax]
	mov	QWORD PTR -24[rbp], rdx
	mov	edx, DWORD PTR -4[rbp]
	mov	DWORD PTR [rax], edx
	jmp	.L365
.L367:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE39:
	.size	reverse, .-reverse
	.globl	getcopy
	.type	getcopy, @function
getcopy:
.LFB40:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	rdx, QWORD PTR addr1[rip]
	mov	rax, QWORD PTR addr2[rip]
	cmp	rdx, rax
	jbe	.L369
	mov	eax, -1
	jmp	.L370
.L369:
	mov	rax, QWORD PTR addr1[rip]
	lea	rdx, 4[rax]
	mov	QWORD PTR addr1[rip], rdx
	mov	eax, DWORD PTR [rax]
	mov	edi, eax
	call	getline
	mov	eax, 0
.L370:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE40:
	.size	getcopy, .-getcopy
	.globl	compile
	.type	compile, @function
compile:
.LFB41:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	DWORD PTR -52[rbp], edi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rax, expbuf[rip]
	mov	QWORD PTR -40[rbp], rax
	lea	rax, -13[rbp]
	mov	QWORD PTR -24[rbp], rax
	call	getchr
	mov	DWORD PTR -48[rbp], eax
	cmp	DWORD PTR -48[rbp], 10
	jne	.L372
	mov	eax, DWORD PTR -48[rbp]
	mov	DWORD PTR peekc[rip], eax
	mov	eax, DWORD PTR -52[rbp]
	mov	DWORD PTR -48[rbp], eax
.L372:
	mov	eax, DWORD PTR -48[rbp]
	cmp	eax, DWORD PTR -52[rbp]
	jne	.L373
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L413
	lea	rdi, Q[rip]
	call	error
	jmp	.L413
.L373:
	mov	DWORD PTR nbra[rip], 0
	cmp	DWORD PTR -48[rbp], 94
	jne	.L376
	call	getchr
	mov	DWORD PTR -48[rbp], eax
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -40[rbp], rdx
	mov	BYTE PTR [rax], 15
.L376:
	mov	eax, DWORD PTR -48[rbp]
	mov	DWORD PTR peekc[rip], eax
	mov	QWORD PTR -32[rbp], 0
.L410:
	lea	rax, expbuf[rip+256]
	cmp	QWORD PTR -40[rbp], rax
	jnb	.L414
	call	getchr
	mov	DWORD PTR -48[rbp], eax
	cmp	DWORD PTR -48[rbp], 10
	jne	.L379
	mov	eax, DWORD PTR -48[rbp]
	mov	DWORD PTR peekc[rip], eax
	mov	eax, DWORD PTR -52[rbp]
	mov	DWORD PTR -48[rbp], eax
.L379:
	mov	eax, DWORD PTR -48[rbp]
	cmp	eax, DWORD PTR -52[rbp]
	jne	.L380
	lea	rax, -13[rbp]
	cmp	QWORD PTR -24[rbp], rax
	jne	.L415
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -40[rbp], rdx
	mov	BYTE PTR [rax], 11
	jmp	.L371
.L380:
	cmp	DWORD PTR -48[rbp], 42
	je	.L382
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -32[rbp], rax
.L382:
	cmp	DWORD PTR -48[rbp], 92
	je	.L383
	cmp	DWORD PTR -48[rbp], 92
	jg	.L384
	cmp	DWORD PTR -48[rbp], 91
	je	.L385
	cmp	DWORD PTR -48[rbp], 91
	jg	.L384
	cmp	DWORD PTR -48[rbp], 46
	je	.L386
	cmp	DWORD PTR -48[rbp], 46
	jg	.L384
	cmp	DWORD PTR -48[rbp], 42
	je	.L387
	cmp	DWORD PTR -48[rbp], 42
	jg	.L384
	cmp	DWORD PTR -48[rbp], 10
	je	.L416
	cmp	DWORD PTR -48[rbp], 36
	je	.L389
	jmp	.L384
.L383:
	call	getchr
	mov	DWORD PTR -48[rbp], eax
	cmp	DWORD PTR -48[rbp], 40
	jne	.L390
	mov	eax, DWORD PTR nbra[rip]
	cmp	eax, 4
	jg	.L417
	mov	ecx, DWORD PTR nbra[rip]
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -24[rbp], rdx
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -40[rbp], rdx
	mov	BYTE PTR [rax], 1
	mov	edx, DWORD PTR nbra[rip]
	lea	eax, 1[rdx]
	mov	DWORD PTR nbra[rip], eax
	mov	rax, QWORD PTR -40[rbp]
	lea	rcx, 1[rax]
	mov	QWORD PTR -40[rbp], rcx
	mov	BYTE PTR [rax], dl
	jmp	.L392
.L390:
	cmp	DWORD PTR -48[rbp], 41
	jne	.L393
	lea	rax, -13[rbp]
	cmp	QWORD PTR -24[rbp], rax
	jbe	.L418
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -40[rbp], rdx
	mov	BYTE PTR [rax], 12
	sub	QWORD PTR -24[rbp], 1
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -40[rbp], rdx
	mov	rdx, QWORD PTR -24[rbp]
	movzx	edx, BYTE PTR [rdx]
	mov	BYTE PTR [rax], dl
	jmp	.L392
.L393:
	cmp	DWORD PTR -48[rbp], 48
	jle	.L395
	cmp	DWORD PTR -48[rbp], 53
	jg	.L395
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -40[rbp], rdx
	mov	BYTE PTR [rax], 14
	mov	eax, DWORD PTR -48[rbp]
	lea	ecx, -49[rax]
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -40[rbp], rdx
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
	jmp	.L392
.L395:
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -40[rbp], rdx
	mov	BYTE PTR [rax], 2
	cmp	DWORD PTR -48[rbp], 10
	je	.L419
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -40[rbp], rdx
	mov	edx, DWORD PTR -48[rbp]
	mov	BYTE PTR [rax], dl
	jmp	.L392
.L386:
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -40[rbp], rdx
	mov	BYTE PTR [rax], 4
	jmp	.L392
.L387:
	cmp	QWORD PTR -32[rbp], 0
	je	.L420
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 1
	je	.L420
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 12
	je	.L420
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	or	eax, 1
	mov	edx, eax
	mov	rax, QWORD PTR -32[rbp]
	mov	BYTE PTR [rax], dl
	jmp	.L392
.L389:
	call	getchr
	mov	DWORD PTR peekc[rip], eax
	mov	eax, DWORD PTR peekc[rip]
	cmp	DWORD PTR -52[rbp], eax
	je	.L400
	mov	eax, DWORD PTR peekc[rip]
	cmp	eax, 10
	jne	.L421
.L400:
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -40[rbp], rdx
	mov	BYTE PTR [rax], 10
	jmp	.L392
.L385:
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -40[rbp], rdx
	mov	BYTE PTR [rax], 6
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -40[rbp], rdx
	mov	BYTE PTR [rax], 0
	mov	DWORD PTR -44[rbp], 1
	call	getchr
	mov	DWORD PTR -48[rbp], eax
	cmp	DWORD PTR -48[rbp], 94
	jne	.L409
	call	getchr
	mov	DWORD PTR -48[rbp], eax
	mov	rax, QWORD PTR -40[rbp]
	sub	rax, 2
	mov	BYTE PTR [rax], 8
.L409:
	cmp	DWORD PTR -48[rbp], 10
	je	.L422
	cmp	DWORD PTR -48[rbp], 45
	jne	.L403
	mov	rax, QWORD PTR -40[rbp]
	sub	rax, 1
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L403
	call	getchr
	mov	DWORD PTR -48[rbp], eax
	cmp	DWORD PTR -48[rbp], 93
	jne	.L406
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -40[rbp], rdx
	mov	BYTE PTR [rax], 45
	add	DWORD PTR -44[rbp], 1
	jmp	.L405
.L407:
	mov	rax, QWORD PTR -40[rbp]
	sub	rax, 1
	movzx	eax, BYTE PTR [rax]
	add	eax, 1
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	BYTE PTR [rax], dl
	add	QWORD PTR -40[rbp], 1
	add	DWORD PTR -44[rbp], 1
	lea	rax, expbuf[rip+256]
	cmp	QWORD PTR -40[rbp], rax
	jnb	.L423
.L406:
	mov	rax, QWORD PTR -40[rbp]
	sub	rax, 1
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	cmp	DWORD PTR -48[rbp], eax
	jg	.L407
.L403:
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -40[rbp], rdx
	mov	edx, DWORD PTR -48[rbp]
	mov	BYTE PTR [rax], dl
	add	DWORD PTR -44[rbp], 1
	lea	rax, expbuf[rip+256]
	cmp	QWORD PTR -40[rbp], rax
	jnb	.L424
	call	getchr
	mov	DWORD PTR -48[rbp], eax
	cmp	DWORD PTR -48[rbp], 93
	jne	.L409
.L405:
	mov	rax, QWORD PTR -32[rbp]
	add	rax, 1
	mov	edx, DWORD PTR -44[rbp]
	mov	BYTE PTR [rax], dl
	jmp	.L392
.L399:
.L420:
	nop
	jmp	.L384
.L421:
	nop
.L384:
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -40[rbp], rdx
	mov	BYTE PTR [rax], 2
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -40[rbp], rdx
	mov	edx, DWORD PTR -48[rbp]
	mov	BYTE PTR [rax], dl
.L392:
	jmp	.L410
.L414:
	nop
	jmp	.L378
.L415:
	nop
	jmp	.L378
.L416:
	nop
	jmp	.L378
.L417:
	nop
	jmp	.L378
.L418:
	nop
	jmp	.L378
.L419:
	nop
	jmp	.L378
.L422:
	nop
	jmp	.L378
.L423:
	nop
	jmp	.L378
.L424:
	nop
.L378:
	mov	BYTE PTR expbuf[rip], 0
	mov	DWORD PTR nbra[rip], 0
	lea	rdi, Q[rip]
	call	error
	jmp	.L371
.L413:
	nop
.L371:
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L412
	call	__stack_chk_fail@PLT
.L412:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE41:
	.size	compile, .-compile
	.globl	execute
	.type	execute, @function
execute:
.LFB42:
	.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 -20[rbp], 0
	jmp	.L426
.L427:
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, braslist[rip]
	mov	QWORD PTR [rdx+rax], 0
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, braelist[rip]
	mov	QWORD PTR [rdx+rax], 0
	add	DWORD PTR -20[rbp], 1
.L426:
	cmp	DWORD PTR -20[rbp], 4
	jle	.L427
	lea	rax, expbuf[rip]
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -40[rbp], 0
	jne	.L428
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 15
	jne	.L429
	mov	eax, 0
	jmp	.L430
.L429:
	mov	rax, QWORD PTR loc2[rip]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L431
.L428:
	mov	rax, QWORD PTR zero[rip]
	cmp	QWORD PTR -40[rbp], rax
	jne	.L432
	mov	eax, 0
	jmp	.L430
.L432:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR [rax]
	mov	edi, eax
	call	getline
	mov	QWORD PTR -16[rbp], rax
.L431:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 15
	jne	.L433
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR loc1[rip], rax
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	advance
	jmp	.L430
.L433:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 2
	jne	.L434
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	DWORD PTR -20[rbp], eax
.L437:
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	cmp	DWORD PTR -20[rbp], eax
	jne	.L439
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	advance
	test	eax, eax
	je	.L436
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR loc1[rip], rax
	mov	eax, 1
	jmp	.L430
.L439:
	nop
.L436:
	mov	rax, QWORD PTR -16[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -16[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L437
	mov	eax, 0
	jmp	.L430
.L434:
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	advance
	test	eax, eax
	je	.L438
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR loc1[rip], rax
	mov	eax, 1
	jmp	.L430
.L438:
	mov	rax, QWORD PTR -16[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -16[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L434
	mov	eax, 0
.L430:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE42:
	.size	execute, .-execute
	.globl	advance
	.type	advance, @function
advance:
.LFB43:
	.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
.L477:
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -32[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	cmp	eax, 15
	ja	.L441
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L443[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L443[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L443:
	.long	.L441-.L443
	.long	.L455-.L443
	.long	.L454-.L443
	.long	.L453-.L443
	.long	.L452-.L443
	.long	.L451-.L443
	.long	.L450-.L443
	.long	.L448-.L443
	.long	.L449-.L443
	.long	.L448-.L443
	.long	.L447-.L443
	.long	.L446-.L443
	.long	.L445-.L443
	.long	.L441-.L443
	.long	.L444-.L443
	.long	.L442-.L443
	.text
.L454:
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -32[rbp], rdx
	movzx	ecx, BYTE PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -24[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	cmp	cl, al
	je	.L478
	mov	eax, 0
	jmp	.L458
.L452:
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -24[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L479
	mov	eax, 0
	jmp	.L458
.L447:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L480
	mov	eax, 0
	jmp	.L458
.L446:
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR loc2[rip], rax
	mov	eax, 1
	jmp	.L458
.L450:
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -24[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movsx	ecx, al
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, 1
	mov	esi, ecx
	mov	rdi, rax
	call	cclass
	test	eax, eax
	je	.L461
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	rax, al
	add	QWORD PTR -32[rbp], rax
	jmp	.L457
.L461:
	mov	eax, 0
	jmp	.L458
.L449:
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -24[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movsx	ecx, al
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, 0
	mov	esi, ecx
	mov	rdi, rax
	call	cclass
	test	eax, eax
	je	.L462
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	rax, al
	add	QWORD PTR -32[rbp], rax
	jmp	.L457
.L462:
	mov	eax, 0
	jmp	.L458
.L455:
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -32[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	cdqe
	lea	rcx, 0[0+rax*8]
	lea	rdx, braslist[rip]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR [rcx+rdx], rax
	jmp	.L457
.L445:
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -32[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	cdqe
	lea	rcx, 0[0+rax*8]
	lea	rdx, braelist[rip]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR [rcx+rdx], rax
	jmp	.L457
.L444:
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -32[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, braelist[rip]
	mov	rax, QWORD PTR [rdx+rax]
	test	rax, rax
	jne	.L463
	lea	rdi, Q[rip]
	call	error
.L463:
	mov	rdx, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR -12[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	backref
	test	eax, eax
	je	.L464
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, braelist[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	edx, DWORD PTR -12[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*8]
	lea	rdx, braslist[rip]
	mov	rdx, QWORD PTR [rcx+rdx]
	sub	rax, rdx
	add	QWORD PTR -24[rbp], rax
	jmp	.L457
.L464:
	mov	eax, 0
	jmp	.L458
.L442:
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -32[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, braelist[rip]
	mov	rax, QWORD PTR [rdx+rax]
	test	rax, rax
	jne	.L465
	lea	rdi, Q[rip]
	call	error
.L465:
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L466
.L467:
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, braelist[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	edx, DWORD PTR -12[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*8]
	lea	rdx, braslist[rip]
	mov	rdx, QWORD PTR [rcx+rdx]
	sub	rax, rdx
	add	QWORD PTR -24[rbp], rax
.L466:
	mov	rdx, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR -12[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	backref
	test	eax, eax
	jne	.L467
	jmp	.L468
.L470:
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	advance
	test	eax, eax
	je	.L469
	mov	eax, 1
	jmp	.L458
.L469:
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, braelist[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	edx, DWORD PTR -12[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*8]
	lea	rdx, braslist[rip]
	mov	rdx, QWORD PTR [rcx+rdx]
	sub	rax, rdx
	neg	rax
	add	QWORD PTR -24[rbp], rax
.L468:
	mov	rax, QWORD PTR -24[rbp]
	cmp	rax, QWORD PTR -8[rbp]
	jnb	.L470
	jmp	.L457
.L451:
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -8[rbp], rax
	nop
.L471:
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -24[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L471
	jmp	.L476
.L453:
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -8[rbp], rax
	nop
.L473:
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -24[rbp], rdx
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	dl, al
	je	.L473
	add	QWORD PTR -32[rbp], 1
	jmp	.L476
.L448:
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -8[rbp], rax
	nop
.L474:
	mov	rax, QWORD PTR -32[rbp]
	sub	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 7
	sete	al
	movzx	edx, al
	mov	rax, QWORD PTR -24[rbp]
	lea	rcx, 1[rax]
	mov	QWORD PTR -24[rbp], rcx
	movzx	eax, BYTE PTR [rax]
	movsx	ecx, al
	mov	rax, QWORD PTR -32[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	cclass
	test	eax, eax
	jne	.L474
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	rax, al
	add	QWORD PTR -32[rbp], rax
	nop
.L472:
.L476:
	sub	QWORD PTR -24[rbp], 1
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	advance
	test	eax, eax
	je	.L475
	mov	eax, 1
	jmp	.L458
.L475:
	mov	rax, QWORD PTR -24[rbp]
	cmp	rax, QWORD PTR -8[rbp]
	ja	.L476
	mov	eax, 0
	jmp	.L458
.L441:
	lea	rdi, Q[rip]
	call	error
	jmp	.L477
.L478:
	nop
	jmp	.L477
.L479:
	nop
	jmp	.L477
.L480:
	nop
.L457:
	jmp	.L477
.L458:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE43:
	.size	advance, .-advance
	.globl	backref
	.type	backref, @function
backref:
.LFB44:
	.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	QWORD PTR -32[rbp], rsi
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, braslist[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L482
.L484:
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, braelist[rip]
	mov	rax, QWORD PTR [rdx+rax]
	cmp	QWORD PTR -8[rbp], rax
	jb	.L482
	mov	eax, 1
	jmp	.L483
.L482:
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -8[rbp], rdx
	movzx	ecx, BYTE PTR [rax]
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -32[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	cmp	cl, al
	je	.L484
	mov	eax, 0
.L483:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE44:
	.size	backref, .-backref
	.globl	cclass
	.type	cclass, @function
cclass:
.LFB45:
	.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 -28[rbp], esi
	mov	DWORD PTR -32[rbp], edx
	cmp	DWORD PTR -28[rbp], 0
	jne	.L486
	mov	eax, 0
	jmp	.L487
.L486:
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -24[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	DWORD PTR -4[rbp], eax
	jmp	.L488
.L489:
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -24[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	cmp	DWORD PTR -28[rbp], eax
	jne	.L488
	mov	eax, DWORD PTR -32[rbp]
	jmp	.L487
.L488:
	sub	DWORD PTR -4[rbp], 1
	cmp	DWORD PTR -4[rbp], 0
	jne	.L489
	cmp	DWORD PTR -32[rbp], 0
	sete	al
	movzx	eax, al
.L487:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE45:
	.size	cclass, .-cclass
	.globl	putd
	.type	putd, @function
putd:
.LFB46:
	.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	rcx, QWORD PTR count[rip]
	movabs	rdx, 7378697629483820647
	mov	rax, rcx
	imul	rdx
	mov	rax, rdx
	sar	rax, 2
	mov	rsi, rcx
	sar	rsi, 63
	sub	rax, rsi
	mov	rdx, rax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	add	rax, rax
	sub	rcx, rax
	mov	rdx, rcx
	mov	DWORD PTR -4[rbp], edx
	mov	rcx, QWORD PTR count[rip]
	movabs	rdx, 7378697629483820647
	mov	rax, rcx
	imul	rdx
	mov	rax, rdx
	sar	rax, 2
	sar	rcx, 63
	mov	rdx, rcx
	sub	rax, rdx
	mov	QWORD PTR count[rip], rax
	mov	rax, QWORD PTR count[rip]
	test	rax, rax
	je	.L491
	call	putd
.L491:
	mov	eax, DWORD PTR -4[rbp]
	add	eax, 48
	mov	edi, eax
	call	putchar@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE46:
	.size	putd, .-putd
	.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	"492229.c"
	.text
	.global	Q
	.bss
	.align	2
	.type	Q, %object
	.size	Q, 1
Q:
	.space	1
	.global	T
	.data
	.align	2
	.type	T, %object
	.size	T, 4
T:
	.ascii	"TMP\000"
	.comm	peekc,4,4
	.comm	lastc,4,4
	.comm	savedfile,128,4
	.comm	file,128,4
	.comm	linebuf,4096,4
	.comm	rhsbuf,2048,4
	.comm	expbuf,260,4
	.comm	given,4,4
	.comm	addr1,4,4
	.comm	addr2,4,4
	.comm	dot,4,4
	.comm	dol,4,4
	.comm	zero,4,4
	.comm	genbuf,4096,4
	.comm	count,4,4
	.comm	nextip,4,4
	.comm	linebp,4,4
	.comm	ninbuf,4,4
	.comm	io,4,4
	.comm	pflag,4,4
	.global	vflag
	.align	2
	.type	vflag, %object
	.size	vflag, 4
vflag:
	.word	1
	.comm	oflag,4,4
	.comm	listf,4,4
	.comm	listn,4,4
	.comm	col,4,4
	.comm	globp,4,4
	.global	tfile
	.align	2
	.type	tfile, %object
	.size	tfile, 4
tfile:
	.word	-1
	.comm	tline,4,4
	.comm	tfname,4,4
	.comm	loc1,4,4
	.comm	loc2,4,4
	.comm	ibuff,4096,4
	.global	iblock
	.align	2
	.type	iblock, %object
	.size	iblock, 4
iblock:
	.word	-1
	.comm	obuff,4096,4
	.global	oblock
	.align	2
	.type	oblock, %object
	.size	oblock, 4
oblock:
	.word	-1
	.comm	ichanged,4,4
	.comm	nleft,4,4
	.global	WRERR
	.align	2
	.type	WRERR, %object
	.size	WRERR, 12
WRERR:
	.ascii	"WRITE ERROR\000"
	.comm	names,104,4
	.comm	anymarks,4,4
	.comm	braslist,20,4
	.comm	braelist,20,4
	.comm	nbra,4,4
	.comm	subnewa,4,4
	.comm	subolda,4,4
	.comm	fchange,4,4
	.comm	wrapp,4,4
	.global	bpagesize
	.align	2
	.type	bpagesize, %object
	.size	bpagesize, 4
bpagesize:
	.word	20
	.global	nlall
	.align	2
	.type	nlall, %object
	.size	nlall, 4
nlall:
	.word	128
	.global	tmpXXXXX
	.align	2
	.type	tmpXXXXX, %object
	.size	tmpXXXXX, 50
tmpXXXXX:
	.ascii	"/tmp/eXXXXX\000"
	.space	38
	.comm	savej,392,8
	.comm	oldhup,4,4
	.comm	oldquit,4,4
	.section	.rodata
	.align	2
.LC0:
	.ascii	"/dev/stdout\000"
	.align	2
.LC1:
	.ascii	"r\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, #24
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	mov	r1, #1
	mov	r0, #3
	bl	signal
	mov	r3, r0
	ldr	r2, .L19
	str	r3, [r2]
	mov	r1, #1
	mov	r0, #1
	bl	signal
	mov	r3, r0
	ldr	r2, .L19+4
	str	r3, [r2]
	mov	r1, #1
	mov	r0, #2
	bl	signal
	str	r0, [fp, #-8]
	mov	r1, #1
	mov	r0, #15
	bl	signal
	mov	r3, r0
	cmp	r3, #0
	bne	.L2
	ldr	r1, .L19+8
	mov	r0, #15
	bl	signal
.L2:
	ldr	r3, [fp, #-28]
	add	r3, r3, #4
	str	r3, [fp, #-28]
	b	.L3
.L9:
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #113
	beq	.L4
	cmp	r3, #113
	bgt	.L5
	cmp	r3, #0
	beq	.L6
	cmp	r3, #111
	beq	.L7
	b	.L5
.L6:
	ldr	r3, .L19+12
	mov	r2, #0
	str	r2, [r3]
	b	.L5
.L4:
	mov	r1, #0
	mov	r0, #3
	bl	signal
	ldr	r3, .L19+12
	mov	r2, #1
	str	r2, [r3]
	b	.L5
.L7:
	ldr	r3, .L19+16
	mov	r2, #1
	str	r2, [r3]
	nop
.L5:
	ldr	r3, [fp, #-28]
	add	r3, r3, #4
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-24]
	sub	r3, r3, #1
	str	r3, [fp, #-24]
.L3:
	ldr	r3, [fp, #-24]
	cmp	r3, #1
	ble	.L8
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #45
	beq	.L9
.L8:
	ldr	r3, .L19+16
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L10
	ldr	r3, .L19+20
	str	r3, [fp, #-16]
	ldr	r3, .L19+24
	str	r3, [fp, #-12]
	nop
.L11:
	ldr	r2, [fp, #-16]
	add	r3, r2, #1
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-12]
	add	r1, r3, #1
	str	r1, [fp, #-12]
	ldrb	r2, [r2]	@ zero_extendqisi2
	strb	r2, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L11
.L10:
	ldr	r3, [fp, #-24]
	cmp	r3, #1
	ble	.L12
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	ldr	r3, .L19+24
	str	r3, [fp, #-12]
	b	.L13
.L14:
	ldr	r3, [fp, #-12]
	ldr	r2, .L19+28
	cmp	r3, r2
	bcc	.L13
	ldr	r3, [fp, #-12]
	sub	r3, r3, #1
	str	r3, [fp, #-12]
.L13:
	ldr	r2, [fp, #-16]
	add	r3, r2, #1
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-12]
	add	r1, r3, #1
	str	r1, [fp, #-12]
	ldrb	r2, [r2]	@ zero_extendqisi2
	strb	r2, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L14
	ldr	r3, .L19+32
	ldr	r2, .L19+36
	str	r2, [r3]
.L12:
	ldr	r3, .L19+40
	ldr	r3, [r3]
	lsl	r3, r3, #2
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L19+44
	str	r2, [r3]
	ldr	r0, .L19+48
	bl	mktemp
	mov	r3, r0
	ldr	r2, .L19+52
	str	r3, [r2]
	bl	init
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	beq	.L15
	ldr	r1, .L19+56
	mov	r0, #2
	bl	signal
.L15:
	ldr	r3, .L19+4
	ldr	r3, [r3]
	cmp	r3, #1
	beq	.L16
	ldr	r1, .L19+60
	mov	r0, #1
	bl	signal
.L16:
	ldr	r0, .L19+64
	bl	_setjmp
	bl	commands
	mov	r0, #0
	bl	quit
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L20:
	.align	2
.L19:
	.word	oldquit
	.word	oldhup
	.word	quit
	.word	vflag
	.word	oflag
	.word	.LC0
	.word	savedfile
	.word	savedfile+128
	.word	globp
	.word	.LC1
	.word	nlall
	.word	zero
	.word	tmpXXXXX
	.word	tfname
	.word	onintr
	.word	onhup
	.word	savej
	.size	main, .-main
	.align	2
	.global	commands
	.syntax unified
	.arm
	.fpu softvfp
	.type	commands, %function
commands:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
.L80:
	ldr	r3, .L85
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L22
	ldr	r3, .L85
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L85+4
	ldr	r3, [r3]
	ldr	r2, .L85+8
	str	r3, [r2]
	ldr	r3, .L85+8
	ldr	r3, [r3]
	ldr	r2, .L85+12
	str	r3, [r2]
	bl	print
.L22:
	mov	r3, #10
	str	r3, [fp, #-12]
	ldr	r3, .L85+12
	mov	r2, #0
	str	r2, [r3]
.L28:
	ldr	r3, [fp, #-12]
	strb	r3, [fp, #-17]
	bl	address
	str	r0, [fp, #-16]
	bl	getchr
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #44
	beq	.L23
	ldr	r3, [fp, #-12]
	cmp	r3, #59
	bne	.L82
.L23:
	ldrb	r3, [fp, #-17]	@ zero_extendqisi2
	cmp	r3, #44
	bne	.L25
	ldr	r0, .L85+16
	bl	error
.L25:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L26
	ldr	r3, .L85+20
	ldr	r3, [r3]
	add	r3, r3, #4
	str	r3, [fp, #-16]
	ldr	r3, .L85+24
	ldr	r3, [r3]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	bls	.L26
	ldr	r3, [fp, #-16]
	sub	r3, r3, #4
	str	r3, [fp, #-16]
.L26:
	ldr	r2, .L85+12
	ldr	r3, [fp, #-16]
	str	r3, [r2]
	ldr	r3, [fp, #-12]
	cmp	r3, #59
	bne	.L28
	ldr	r2, .L85+4
	ldr	r3, [fp, #-16]
	str	r3, [r2]
	b	.L28
.L82:
	nop
	ldrb	r3, [fp, #-17]	@ zero_extendqisi2
	cmp	r3, #10
	beq	.L29
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L29
	ldr	r3, .L85+24
	ldr	r3, [r3]
	str	r3, [fp, #-16]
.L29:
	ldr	r2, .L85+8
	ldr	r3, [fp, #-16]
	str	r3, [r2]
	ldr	r3, .L85+8
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L30
	ldr	r3, .L85+28
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L85+4
	ldr	r3, [r3]
	ldr	r2, .L85+8
	str	r3, [r2]
	b	.L31
.L30:
	ldr	r3, .L85+28
	mov	r2, #1
	str	r2, [r3]
.L31:
	ldr	r3, .L85+12
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L32
	ldr	r3, .L85+8
	ldr	r3, [r3]
	ldr	r2, .L85+12
	str	r3, [r2]
.L32:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	cmp	r3, #120
	ldrls	pc, [pc, r3, asl #2]
	b	.L33
.L35:
	.word	.L83
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L60
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L59
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L58
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L57
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L42
	.word	.L56
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L55
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L33
	.word	.L54
	.word	.L33
	.word	.L53
	.word	.L52
	.word	.L51
	.word	.L50
	.word	.L49
	.word	.L33
	.word	.L48
	.word	.L47
	.word	.L46
	.word	.L45
	.word	.L44
	.word	.L43
	.word	.L33
	.word	.L42
	.word	.L41
	.word	.L40
	.word	.L39
	.word	.L38
	.word	.L37
	.word	.L36
	.word	.L34
.L54:
	mov	r0, #0
	bl	add
	b	.L62
.L53:
	bl	nonzero
	bl	newline
	ldr	r3, .L85+12
	ldr	r3, [r3]
	ldr	r2, .L85+8
	ldr	r2, [r2]
	mov	r1, r2
	mov	r0, r3
	bl	rdelete
	ldr	r3, .L85+12
	ldr	r3, [r3]
	sub	r3, r3, #4
	mov	r1, r3
	ldr	r0, .L85+32
	bl	append
	b	.L62
.L52:
	bl	nonzero
	bl	newline
	ldr	r3, .L85+12
	ldr	r3, [r3]
	ldr	r2, .L85+8
	ldr	r2, [r2]
	mov	r1, r2
	mov	r0, r3
	bl	rdelete
	b	.L62
.L57:
	ldr	r3, .L85+36
	mov	r2, #0
	str	r2, [r3]
	mov	r3, #101
	str	r3, [fp, #-12]
.L51:
	bl	setnoaddr
	ldr	r3, .L85+40
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L63
	ldr	r3, .L85+36
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L63
	ldr	r3, .L85+36
	mov	r2, #0
	str	r2, [r3]
	ldr	r0, .L85+16
	bl	error
.L63:
	ldr	r0, [fp, #-12]
	bl	filename
	bl	init
	ldr	r3, .L85+20
	ldr	r3, [r3]
	ldr	r2, .L85+8
	str	r3, [r2]
	b	.L64
.L50:
	bl	setnoaddr
	ldr	r0, [fp, #-12]
	bl	filename
	ldr	r0, .L85+44
	bl	puts
	b	.L62
.L49:
	mov	r0, #1
	bl	global
	b	.L62
.L48:
	mvn	r0, #0
	bl	add
	b	.L62
.L47:
	ldr	r3, .L85+28
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L65
	ldr	r3, .L85+8
	ldr	r3, [r3]
	add	r3, r3, #4
	ldr	r2, .L85+8
	str	r3, [r2]
.L65:
	bl	newline
	bl	join
	b	.L62
.L46:
	bl	nonzero
	bl	getchr
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #96
	ble	.L66
	ldr	r3, [fp, #-12]
	cmp	r3, #122
	ble	.L67
.L66:
	ldr	r0, .L85+16
	bl	error
.L67:
	bl	newline
	ldr	r3, .L85+8
	ldr	r3, [r3]
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r3, [fp, #-12]
	sub	r3, r3, #97
	bic	r2, r2, #1
	ldr	r1, .L85+48
	str	r2, [r1, r3, lsl #2]
	ldr	r3, .L85+52
	ldr	r3, [r3]
	orr	r3, r3, #1
	ldr	r2, .L85+52
	str	r3, [r2]
	b	.L62
.L44:
	mov	r0, #0
	bl	move
	b	.L62
.L43:
	ldr	r3, .L85+56
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L85+56
	str	r3, [r2]
	bl	newline
	bl	print
	b	.L62
.L60:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L68
	ldr	r3, .L85+4
	ldr	r3, [r3]
	add	r3, r3, #4
	str	r3, [fp, #-16]
	ldr	r2, .L85+8
	ldr	r3, [fp, #-16]
	str	r3, [r2]
	ldr	r2, .L85+12
	ldr	r3, [fp, #-16]
	str	r3, [r2]
.L68:
	ldrb	r3, [fp, #-17]	@ zero_extendqisi2
	cmp	r3, #59
	bne	.L69
	ldr	r2, .L85+12
	ldr	r3, [fp, #-16]
	str	r3, [r2]
.L69:
	bl	print
	b	.L62
.L45:
	ldr	r3, .L85+60
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L85+60
	str	r3, [r2]
.L42:
	bl	newline
	bl	print
	b	.L62
.L56:
	ldr	r3, .L85+36
	mov	r2, #0
	str	r2, [r3]
.L41:
	bl	setnoaddr
	bl	newline
	mov	r0, #0
	bl	quit
.L40:
	ldr	r0, [fp, #-12]
	bl	filename
.L64:
	mov	r1, #0
	ldr	r0, .L85+64
	bl	open
	mov	r3, r0
	ldr	r2, .L85+68
	str	r3, [r2]
	ldr	r3, .L85+68
	ldr	r3, [r3]
	cmp	r3, #0
	bge	.L70
	ldr	r3, .L85+72
	mov	r2, #10
	str	r2, [r3]
	ldr	r0, .L85+64
	bl	error
.L70:
	bl	setwide
	mov	r0, #0
	bl	squeeze
	ldr	r3, .L85+76
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L85+20
	ldr	r2, [r3]
	ldr	r3, .L85+24
	ldr	r3, [r3]
	cmp	r2, r3
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-12]
	ldr	r3, .L85+8
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L85+80
	bl	append
	bl	exfile
	ldr	r2, .L85+36
	ldr	r3, [fp, #-12]
	str	r3, [r2]
	b	.L62
.L39:
	bl	nonzero
	ldr	r3, .L85+84
	ldr	r3, [r3]
	cmp	r3, #0
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	mov	r0, r3
	bl	substitute
	b	.L62
.L38:
	mov	r0, #1
	bl	move
	b	.L62
.L37:
	bl	nonzero
	bl	newline
	ldr	r3, .L85+8
	ldr	r3, [r3]
	ldr	r3, [r3]
	bic	r3, r3, #1
	ldr	r2, .L85+88
	ldr	r2, [r2]
	cmp	r3, r2
	beq	.L71
	ldr	r0, .L85+16
	bl	error
.L71:
	ldr	r3, .L85+92
	ldr	r2, [r3]
	ldr	r3, .L85+8
	ldr	r3, [r3]
	str	r2, [r3]
	ldr	r3, .L85+8
	ldr	r3, [r3]
	ldr	r2, .L85+4
	str	r3, [r2]
	b	.L62
.L36:
	mov	r0, #0
	bl	global
	b	.L62
.L55:
	ldr	r3, .L85+96
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L85+96
	str	r3, [r2]
.L34:
	bl	setwide
	ldr	r3, .L85+24
	ldr	r2, [r3]
	ldr	r3, .L85+20
	ldr	r3, [r3]
	cmp	r2, r3
	movhi	r3, #1
	movls	r3, #0
	and	r3, r3, #255
	mov	r0, r3
	bl	squeeze
	bl	getchr
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #113
	beq	.L72
	ldr	r3, [fp, #-8]
	cmp	r3, #81
	beq	.L72
	ldr	r2, .L85+100
	ldr	r3, [fp, #-8]
	str	r3, [r2]
	mov	r3, #0
	str	r3, [fp, #-8]
.L72:
	ldr	r0, [fp, #-12]
	bl	filename
	ldr	r3, .L85+96
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L73
	mov	r1, #1
	ldr	r0, .L85+64
	bl	open
	mov	r3, r0
	ldr	r2, .L85+68
	str	r3, [r2]
	ldr	r3, .L85+68
	ldr	r3, [r3]
	cmn	r3, #1
	beq	.L73
	ldr	r3, .L85+68
	ldr	r3, [r3]
	mov	r2, #2
	mov	r1, #0
	mov	r0, r3
	bl	lseek
	mov	r3, r0
	cmn	r3, #1
	bne	.L74
.L73:
	ldr	r1, .L85+104
	ldr	r0, .L85+64
	bl	creat
	mov	r3, r0
	ldr	r2, .L85+68
	str	r3, [r2]
	ldr	r3, .L85+68
	ldr	r3, [r3]
	cmp	r3, #0
	bge	.L74
	ldr	r0, .L85+64
	bl	error
.L74:
	ldr	r3, .L85+96
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L85+24
	ldr	r2, [r3]
	ldr	r3, .L85+20
	ldr	r3, [r3]
	cmp	r2, r3
	bls	.L75
	bl	putfile
.L75:
	bl	exfile
	ldr	r3, .L85+20
	ldr	r3, [r3]
	add	r2, r3, #4
	ldr	r3, .L85+12
	ldr	r3, [r3]
	cmp	r2, r3
	bcc	.L76
	ldr	r3, .L85+8
	ldr	r2, [r3]
	ldr	r3, .L85+24
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L76
	ldr	r3, .L85+36
	mov	r2, #0
	str	r2, [r3]
.L76:
	ldr	r3, [fp, #-8]
	cmp	r3, #81
	bne	.L77
	ldr	r3, .L85+36
	mov	r2, #0
	str	r2, [r3]
.L77:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L84
	mov	r0, #0
	bl	quit
	b	.L84
.L58:
	bl	setwide
	mov	r0, #0
	bl	squeeze
	bl	newline
	ldr	r3, .L85+8
	ldr	r2, [r3]
	ldr	r3, .L85+20
	ldr	r3, [r3]
	sub	r3, r2, r3
	asr	r3, r3, #2
	mov	r2, r3
	ldr	r3, .L85+108
	str	r2, [r3]
	bl	putd
	mov	r0, #10
	bl	putchr
	b	.L62
.L59:
	bl	callunix
	b	.L62
.L33:
	ldr	r0, .L85+16
	bl	error
	b	.L80
.L84:
	nop
.L62:
	b	.L80
.L83:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L86:
	.align	2
.L85:
	.word	pflag
	.word	dot
	.word	addr2
	.word	addr1
	.word	Q
	.word	zero
	.word	dol
	.word	given
	.word	gettty
	.word	fchange
	.word	vflag
	.word	savedfile
	.word	names
	.word	anymarks
	.word	listn
	.word	listf
	.word	file
	.word	io
	.word	lastc
	.word	ninbuf
	.word	getfile
	.word	globp
	.word	subnewa
	.word	subolda
	.word	wrapp
	.word	peekc
	.word	438
	.word	count
	.size	commands, .-commands
	.align	2
	.global	print
	.syntax unified
	.arm
	.fpu softvfp
	.type	print, %function
print:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	bl	nonzero
	ldr	r3, .L90
	ldr	r3, [r3]
	str	r3, [fp, #-8]
.L89:
	ldr	r3, .L90+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L88
	ldr	r3, .L90+8
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	sub	r3, r2, r3
	asr	r3, r3, #2
	mov	r2, r3
	ldr	r3, .L90+12
	str	r2, [r3]
	bl	putd
	mov	r0, #9
	bl	putchr
.L88:
	ldr	r3, [fp, #-8]
	add	r2, r3, #4
	str	r2, [fp, #-8]
	ldr	r3, [r3]
	mov	r0, r3
	bl	getline
	mov	r3, r0
	mov	r0, r3
	bl	puts
	ldr	r3, .L90+16
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	bls	.L89
	ldr	r3, .L90+16
	ldr	r3, [r3]
	ldr	r2, .L90+20
	str	r3, [r2]
	ldr	r3, .L90+24
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L90+4
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L90+28
	mov	r2, #0
	str	r2, [r3]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L91:
	.align	2
.L90:
	.word	addr1
	.word	listn
	.word	zero
	.word	count
	.word	addr2
	.word	dot
	.word	listf
	.word	pflag
	.size	print, .-print
	.align	2
	.global	address
	.syntax unified
	.arm
	.fpu softvfp
	.type	address, %function
address:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	mvn	r3, #0
	str	r3, [fp, #-16]
	mov	r3, #1
	str	r3, [fp, #-28]
	mov	r3, #0
	str	r3, [fp, #-20]
	ldr	r3, .L128
	ldr	r3, [r3]
	str	r3, [fp, #-24]
.L93:
	bl	getchr
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #32
	beq	.L93
	ldr	r3, [fp, #-12]
	cmp	r3, #9
	beq	.L93
	ldr	r3, [fp, #-12]
	cmp	r3, #47
	ble	.L94
	ldr	r3, [fp, #-12]
	cmp	r3, #57
	bgt	.L94
	ldr	r2, .L128+4
	ldr	r3, [fp, #-12]
	str	r3, [r2]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L95
	ldr	r3, .L128+8
	ldr	r3, [r3]
	str	r3, [fp, #-24]
.L95:
	bl	getnum
	mov	r2, r0
	ldr	r3, [fp, #-28]
	mul	r3, r2, r3
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	str	r3, [fp, #-24]
	b	.L96
.L94:
	ldr	r3, [fp, #-12]
	sub	r3, r3, #36
	cmp	r3, #27
	ldrls	pc, [pc, r3, asl #2]
	b	.L97
.L99:
	.word	.L103
	.word	.L97
	.word	.L97
	.word	.L102
	.word	.L97
	.word	.L97
	.word	.L97
	.word	.L97
	.word	.L97
	.word	.L97
	.word	.L101
	.word	.L100
	.word	.L97
	.word	.L97
	.word	.L97
	.word	.L97
	.word	.L97
	.word	.L97
	.word	.L97
	.word	.L97
	.word	.L97
	.word	.L97
	.word	.L97
	.word	.L97
	.word	.L97
	.word	.L97
	.word	.L97
	.word	.L98
.L103:
	ldr	r3, .L128+12
	ldr	r3, [r3]
	str	r3, [fp, #-24]
.L101:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L124
	ldr	r0, .L128+16
	bl	error
	b	.L124
.L102:
	bl	getchr
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L105
	ldr	r3, [fp, #-12]
	cmp	r3, #96
	ble	.L105
	ldr	r3, [fp, #-12]
	cmp	r3, #122
	ble	.L106
.L105:
	ldr	r0, .L128+16
	bl	error
.L106:
	ldr	r3, .L128+8
	ldr	r3, [r3]
	str	r3, [fp, #-24]
.L108:
	ldr	r3, [fp, #-24]
	add	r3, r3, #4
	str	r3, [fp, #-24]
	ldr	r3, .L128+12
	ldr	r3, [r3]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	bhi	.L125
	ldr	r3, [fp, #-12]
	sub	r3, r3, #97
	ldr	r2, .L128+20
	ldr	r3, [r2, r3, lsl #2]
	mov	r2, r3
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	bic	r3, r3, #1
	cmp	r2, r3
	bne	.L108
	b	.L125
.L98:
	ldr	r3, [fp, #-28]
	rsb	r3, r3, #0
	str	r3, [fp, #-28]
.L100:
	ldr	r0, [fp, #-12]
	bl	compile
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-8]
.L114:
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	str	r3, [fp, #-24]
	ldr	r3, .L128+8
	ldr	r3, [r3]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	bhi	.L109
	ldr	r3, .L128+12
	ldr	r3, [r3]
	str	r3, [fp, #-24]
.L109:
	ldr	r3, .L128+12
	ldr	r3, [r3]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	bls	.L110
	ldr	r3, .L128+8
	ldr	r3, [r3]
	str	r3, [fp, #-24]
.L110:
	ldr	r0, [fp, #-24]
	bl	execute
	mov	r3, r0
	cmp	r3, #0
	bne	.L126
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-8]
	cmp	r2, r3
	bne	.L114
	ldr	r0, .L128+16
	bl	error
	b	.L114
.L126:
	nop
	b	.L96
.L97:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	bne	.L115
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	str	r3, [fp, #-24]
	ldr	r3, .L128+8
	ldr	r3, [r3]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	bcc	.L127
	ldr	r3, .L128+12
	ldr	r3, [r3]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	bhi	.L127
.L115:
	ldr	r3, [fp, #-12]
	cmp	r3, #43
	beq	.L118
	ldr	r3, [fp, #-12]
	cmp	r3, #45
	beq	.L118
	ldr	r3, [fp, #-12]
	cmp	r3, #94
	beq	.L118
	ldr	r2, .L128+4
	ldr	r3, [fp, #-12]
	str	r3, [r2]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L119
	mov	r3, #0
	str	r3, [fp, #-24]
.L119:
	ldr	r3, [fp, #-24]
	b	.L120
.L118:
	mov	r3, #1
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-12]
	cmp	r3, #43
	beq	.L121
	ldr	r3, [fp, #-28]
	rsb	r3, r3, #0
	str	r3, [fp, #-28]
.L121:
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-16]
	b	.L117
.L124:
	nop
	b	.L96
.L125:
	nop
.L96:
	mov	r3, #1
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
	b	.L117
.L127:
	nop
.L117:
	ldr	r3, .L128+8
	ldr	r3, [r3]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	bcc	.L122
	ldr	r3, .L128+12
	ldr	r3, [r3]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	bls	.L93
.L122:
	ldr	r0, .L128+16
	bl	error
	mov	r3, #0
.L120:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L129:
	.align	2
.L128:
	.word	dot
	.word	peekc
	.word	zero
	.word	dol
	.word	Q
	.word	names
	.size	address, .-address
	.align	2
	.global	getnum
	.syntax unified
	.arm
	.fpu softvfp
	.type	getnum, %function
getnum:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L131
.L133:
	ldr	r2, [fp, #-12]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #1
	mov	r2, r3
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	sub	r3, r3, #48
	str	r3, [fp, #-12]
.L131:
	bl	getchr
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #47
	ble	.L132
	ldr	r3, [fp, #-8]
	cmp	r3, #57
	ble	.L133
.L132:
	ldr	r2, .L135
	ldr	r3, [fp, #-8]
	str	r3, [r2]
	ldr	r3, [fp, #-12]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L136:
	.align	2
.L135:
	.word	peekc
	.size	getnum, .-getnum
	.align	2
	.global	setwide
	.syntax unified
	.arm
	.fpu softvfp
	.type	setwide, %function
setwide:
	@ 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, .L142
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L141
	ldr	r3, .L142+4
	ldr	r2, [r3]
	ldr	r3, .L142+8
	ldr	r1, [r3]
	ldr	r3, .L142+4
	ldr	r3, [r3]
	cmp	r1, r3
	bls	.L139
	mov	r3, #4
	b	.L140
.L139:
	mov	r3, #0
.L140:
	add	r3, r2, r3
	ldr	r2, .L142+12
	str	r3, [r2]
	ldr	r3, .L142+8
	ldr	r3, [r3]
	ldr	r2, .L142+16
	str	r3, [r2]
.L141:
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L143:
	.align	2
.L142:
	.word	given
	.word	zero
	.word	dol
	.word	addr1
	.word	addr2
	.size	setwide, .-setwide
	.align	2
	.global	setnoaddr
	.syntax unified
	.arm
	.fpu softvfp
	.type	setnoaddr, %function
setnoaddr:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L147
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L146
	ldr	r0, .L147+4
	bl	error
.L146:
	nop
	pop	{fp, pc}
.L148:
	.align	2
.L147:
	.word	given
	.word	Q
	.size	setnoaddr, .-setnoaddr
	.align	2
	.global	nonzero
	.syntax unified
	.arm
	.fpu softvfp
	.type	nonzero, %function
nonzero:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	mov	r0, #1
	bl	squeeze
	nop
	pop	{fp, pc}
	.size	nonzero, .-nonzero
	.align	2
	.global	squeeze
	.syntax unified
	.arm
	.fpu softvfp
	.type	squeeze, %function
squeeze:
	@ 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, .L154
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r2, r2, r3
	ldr	r3, .L154+4
	ldr	r3, [r3]
	cmp	r2, r3
	bhi	.L151
	ldr	r3, .L154+8
	ldr	r2, [r3]
	ldr	r3, .L154+12
	ldr	r3, [r3]
	cmp	r2, r3
	bhi	.L151
	ldr	r3, .L154+4
	ldr	r2, [r3]
	ldr	r3, .L154+8
	ldr	r3, [r3]
	cmp	r2, r3
	bls	.L153
.L151:
	ldr	r0, .L154+16
	bl	error
.L153:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L155:
	.align	2
.L154:
	.word	zero
	.word	addr1
	.word	addr2
	.word	dol
	.word	Q
	.size	squeeze, .-squeeze
	.align	2
	.global	newline
	.syntax unified
	.arm
	.fpu softvfp
	.type	newline, %function
newline:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	bl	getchr
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #10
	beq	.L164
	ldr	r3, [fp, #-8]
	cmn	r3, #1
	beq	.L164
	ldr	r3, [fp, #-8]
	cmp	r3, #112
	beq	.L160
	ldr	r3, [fp, #-8]
	cmp	r3, #108
	beq	.L160
	ldr	r3, [fp, #-8]
	cmp	r3, #110
	bne	.L161
.L160:
	ldr	r3, .L166
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L166
	str	r3, [r2]
	ldr	r3, [fp, #-8]
	cmp	r3, #108
	bne	.L162
	ldr	r3, .L166+4
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L166+4
	str	r3, [r2]
	b	.L163
.L162:
	ldr	r3, [fp, #-8]
	cmp	r3, #110
	bne	.L163
	ldr	r3, .L166+8
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L166+8
	str	r3, [r2]
.L163:
	bl	getchr
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #10
	beq	.L165
.L161:
	ldr	r0, .L166+12
	bl	error
	b	.L156
.L164:
	nop
	b	.L156
.L165:
	nop
.L156:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L167:
	.align	2
.L166:
	.word	pflag
	.word	listf
	.word	listn
	.word	Q
	.size	newline, .-newline
	.align	2
	.global	filename
	.syntax unified
	.arm
	.fpu softvfp
	.type	filename, %function
filename:
	@ 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]
	ldr	r3, .L183
	mov	r2, #0
	str	r2, [r3]
	bl	getchr
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #10
	beq	.L169
	ldr	r3, [fp, #-8]
	cmn	r3, #1
	bne	.L170
.L169:
	ldr	r3, .L183+4
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L171
	ldr	r3, [fp, #-24]
	cmp	r3, #102
	beq	.L171
	ldr	r0, .L183+8
	bl	error
.L171:
	ldr	r3, .L183+12
	str	r3, [fp, #-12]
	nop
.L172:
	ldr	r2, [fp, #-16]
	add	r3, r2, #1
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-12]
	add	r1, r3, #1
	str	r1, [fp, #-12]
	ldrb	r2, [r2]	@ zero_extendqisi2
	strb	r2, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L172
	b	.L168
.L170:
	ldr	r3, [fp, #-8]
	cmp	r3, #32
	beq	.L182
	ldr	r0, .L183+8
	bl	error
.L182:
	nop
.L175:
	bl	getchr
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #32
	beq	.L175
	ldr	r3, [fp, #-8]
	cmp	r3, #10
	bne	.L176
	ldr	r0, .L183+8
	bl	error
.L176:
	ldr	r3, .L183+12
	str	r3, [fp, #-16]
.L179:
	ldr	r3, [fp, #-16]
	ldr	r2, .L183+16
	cmp	r3, r2
	bcs	.L177
	ldr	r3, [fp, #-8]
	cmp	r3, #32
	beq	.L177
	ldr	r3, [fp, #-8]
	cmn	r3, #1
	bne	.L178
.L177:
	ldr	r0, .L183+8
	bl	error
.L178:
	ldr	r3, [fp, #-16]
	add	r2, r3, #1
	str	r2, [fp, #-16]
	ldr	r2, [fp, #-8]
	and	r2, r2, #255
	strb	r2, [r3]
	bl	getchr
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #10
	bne	.L179
	ldr	r3, [fp, #-16]
	add	r2, r3, #1
	str	r2, [fp, #-16]
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, .L183+4
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L180
	ldr	r3, [fp, #-24]
	cmp	r3, #101
	beq	.L180
	ldr	r3, [fp, #-24]
	cmp	r3, #102
	bne	.L168
.L180:
	ldr	r3, .L183+4
	str	r3, [fp, #-16]
	ldr	r3, .L183+12
	str	r3, [fp, #-12]
	nop
.L181:
	ldr	r2, [fp, #-12]
	add	r3, r2, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-16]
	add	r1, r3, #1
	str	r1, [fp, #-16]
	ldrb	r2, [r2]	@ zero_extendqisi2
	strb	r2, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L181
.L168:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L184:
	.align	2
.L183:
	.word	count
	.word	savedfile
	.word	Q
	.word	file
	.word	file+127
	.size	filename, .-filename
	.align	2
	.global	exfile
	.syntax unified
	.arm
	.fpu softvfp
	.type	exfile, %function
exfile:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L188
	ldr	r3, [r3]
	mov	r0, r3
	bl	close
	ldr	r3, .L188
	mvn	r2, #0
	str	r2, [r3]
	ldr	r3, .L188+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L187
	bl	putd
	mov	r0, #10
	bl	putchr
.L187:
	nop
	pop	{fp, pc}
.L189:
	.align	2
.L188:
	.word	io
	.word	vflag
	.size	exfile, .-exfile
	.align	2
	.global	onintr
	.syntax unified
	.arm
	.fpu softvfp
	.type	onintr, %function
onintr:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r1, .L191
	mov	r0, #2
	bl	signal
	mov	r0, #10
	bl	putchr
	ldr	r3, .L191+4
	mov	r2, #10
	str	r2, [r3]
	ldr	r0, .L191+8
	bl	error
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L192:
	.align	2
.L191:
	.word	onintr
	.word	lastc
	.word	Q
	.size	onintr, .-onintr
	.section	.rodata
	.align	2
.LC2:
	.ascii	"ed.hup\000"
	.text
	.align	2
	.global	onhup
	.syntax unified
	.arm
	.fpu softvfp
	.type	onhup, %function
onhup:
	@ 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]
	mov	r1, #1
	mov	r0, #2
	bl	signal
	mov	r1, #1
	mov	r0, #1
	bl	signal
	ldr	r3, .L195
	ldr	r2, [r3]
	ldr	r3, .L195+4
	ldr	r3, [r3]
	cmp	r2, r3
	bls	.L194
	ldr	r3, .L195+4
	ldr	r3, [r3]
	add	r3, r3, #4
	ldr	r2, .L195+8
	str	r3, [r2]
	ldr	r3, .L195
	ldr	r3, [r3]
	ldr	r2, .L195+12
	str	r3, [r2]
	mov	r1, #384
	ldr	r0, .L195+16
	bl	creat
	mov	r3, r0
	ldr	r2, .L195+20
	str	r3, [r2]
	ldr	r3, .L195+20
	ldr	r3, [r3]
	cmp	r3, #0
	ble	.L194
	bl	putfile
.L194:
	ldr	r3, .L195+24
	mov	r2, #0
	str	r2, [r3]
	mov	r0, #0
	bl	quit
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L196:
	.align	2
.L195:
	.word	dol
	.word	zero
	.word	addr1
	.word	addr2
	.word	.LC2
	.word	io
	.word	fchange
	.size	onhup, .-onhup
	.align	2
	.global	error
	.syntax unified
	.arm
	.fpu softvfp
	.type	error, %function
error:
	@ 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, .L202
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L202+4
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L202+8
	mov	r2, #0
	str	r2, [r3]
	mov	r0, #63
	bl	putchr
	ldr	r0, [fp, #-16]
	bl	puts
	ldr	r3, .L202+12
	mov	r2, #0
	str	r2, [r3]
	mov	r2, #2
	mov	r1, #0
	mov	r0, #0
	bl	lseek
	ldr	r3, .L202+16
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L202+20
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L198
	ldr	r3, .L202+24
	mov	r2, #10
	str	r2, [r3]
.L198:
	ldr	r3, .L202+20
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L202+24
	ldr	r3, [r3]
	ldr	r2, .L202+28
	str	r3, [r2]
	ldr	r3, .L202+24
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L199
	nop
.L200:
	bl	getchr
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #10
	beq	.L199
	ldr	r3, [fp, #-8]
	cmn	r3, #1
	bne	.L200
.L199:
	ldr	r3, .L202+32
	ldr	r3, [r3]
	cmp	r3, #0
	ble	.L201
	ldr	r3, .L202+32
	ldr	r3, [r3]
	mov	r0, r3
	bl	close
	ldr	r3, .L202+32
	mvn	r2, #0
	str	r2, [r3]
.L201:
	mov	r1, #1
	ldr	r0, .L202+36
	bl	longjmp
.L203:
	.align	2
.L202:
	.word	wrapp
	.word	listf
	.word	listn
	.word	count
	.word	pflag
	.word	globp
	.word	lastc
	.word	peekc
	.word	io
	.word	savej
	.size	error, .-error
	.section	.rodata
	.align	2
.LC3:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	getchr
	.syntax unified
	.arm
	.fpu softvfp
	.type	getchr, %function
getchr:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	ldr	r3, .L212
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L212+4
	ldr	r3, [r3]
	ldr	r2, .L212+8
	str	r3, [r2]
	ldr	r3, .L212+8
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L205
	ldr	r3, .L212+4
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L212+8
	ldr	r3, [r3]
	b	.L210
.L205:
	ldr	r3, .L212+12
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L207
	ldr	r3, .L212+12
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r1, .L212+12
	str	r2, [r1]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, .L212+8
	str	r2, [r3]
	ldr	r3, .L212+8
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L208
	ldr	r3, .L212+8
	ldr	r3, [r3]
	b	.L210
.L208:
	ldr	r3, .L212+12
	mov	r2, #0
	str	r2, [r3]
	mvn	r3, #0
	b	.L210
.L207:
	sub	r3, fp, #9
	mov	r2, #1
	mov	r1, r3
	mov	r0, #0
	bl	read
	mov	r3, r0
	cmp	r3, #0
	bgt	.L209
	ldr	r3, .L212+8
	mvn	r2, #0
	str	r2, [r3]
	ldr	r3, .L212+8
	ldr	r3, [r3]
	b	.L210
.L209:
	ldrb	r3, [fp, #-9]	@ zero_extendqisi2
	and	r3, r3, #127
	ldr	r2, .L212+8
	str	r3, [r2]
	ldr	r3, .L212+8
	ldr	r3, [r3]
.L210:
	ldr	r2, .L212
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L211
	bl	__stack_chk_fail
.L211:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L213:
	.align	2
.L212:
	.word	.LC3
	.word	peekc
	.word	lastc
	.word	globp
	.size	getchr, .-getchr
	.align	2
	.global	gettty
	.syntax unified
	.arm
	.fpu softvfp
	.type	gettty, %function
gettty:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	bl	gety
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L215
	ldr	r3, [fp, #-8]
	b	.L216
.L215:
	ldr	r3, .L218
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #46
	bne	.L217
	ldr	r3, .L218
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L217
	mvn	r3, #0
	b	.L216
.L217:
	mov	r3, #0
.L216:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L219:
	.align	2
.L218:
	.word	linebuf
	.size	gettty, .-gettty
	.align	2
	.global	gety
	.syntax unified
	.arm
	.fpu softvfp
	.type	gety, %function
gety:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	ldr	r3, .L227
	str	r3, [fp, #-16]
	ldr	r3, .L227+4
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	b	.L221
.L226:
	ldr	r3, [fp, #-8]
	cmn	r3, #1
	bne	.L222
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L223
	ldr	r2, .L227+8
	ldr	r3, [fp, #-8]
	str	r3, [r2]
.L223:
	ldr	r3, [fp, #-8]
	b	.L224
.L222:
	ldr	r3, [fp, #-8]
	and	r3, r3, #127
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L225
	b	.L221
.L225:
	ldr	r3, [fp, #-16]
	add	r2, r3, #1
	str	r2, [fp, #-16]
	ldr	r2, [fp, #-8]
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r2, .L227+12
	cmp	r3, r2
	bcc	.L221
	ldr	r0, .L227+16
	bl	error
.L221:
	bl	getchr
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #10
	bne	.L226
	ldr	r3, [fp, #-16]
	add	r2, r3, #1
	str	r2, [fp, #-16]
	mov	r2, #0
	strb	r2, [r3]
	mov	r3, #0
.L224:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L228:
	.align	2
.L227:
	.word	linebuf
	.word	globp
	.word	peekc
	.word	linebuf+4094
	.word	Q
	.size	gety, .-gety
	.section	.rodata
	.align	2
.LC4:
	.ascii	"'\\n' appended\000"
	.text
	.align	2
	.global	getfile
	.syntax unified
	.arm
	.fpu softvfp
	.type	getfile, %function
getfile:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	ldr	r3, .L244
	str	r3, [fp, #-16]
	ldr	r3, .L244+4
	ldr	r3, [r3]
	str	r3, [fp, #-12]
.L241:
	ldr	r3, .L244+8
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L244+8
	str	r3, [r2]
	ldr	r3, .L244+8
	ldr	r3, [r3]
	cmp	r3, #0
	bge	.L230
	ldr	r3, .L244+12
	ldr	r3, [r3]
	mov	r2, #4096
	ldr	r1, .L244+16
	mov	r0, r3
	bl	read
	mov	r3, r0
	sub	r3, r3, #1
	ldr	r2, .L244+8
	str	r3, [r2]
	ldr	r3, .L244+8
	ldr	r3, [r3]
	cmp	r3, #0
	bge	.L231
	ldr	r3, [fp, #-16]
	ldr	r2, .L244
	cmp	r3, r2
	bls	.L232
	ldr	r0, .L244+20
	bl	puts
	ldr	r3, .L244+16
	mov	r2, #10
	strb	r2, [r3]
	b	.L231
.L232:
	mvn	r3, #0
	b	.L233
.L231:
	ldr	r3, .L244+16
	str	r3, [fp, #-12]
	b	.L234
.L236:
	ldr	r3, [fp, #-12]
	add	r2, r3, #1
	str	r2, [fp, #-12]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	cmp	r3, #0
	blt	.L242
.L234:
	ldr	r3, .L244+8
	ldr	r3, [r3]
	ldr	r2, .L244+16
	add	r3, r3, r2
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	bcc	.L236
	b	.L235
.L242:
	nop
.L235:
	ldr	r3, .L244+16
	str	r3, [fp, #-12]
.L230:
	ldr	r3, [fp, #-12]
	add	r2, r3, #1
	str	r2, [fp, #-12]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L243
	ldr	r3, [fp, #-8]
	and	r3, r3, #128
	cmp	r3, #0
	bne	.L239
	ldr	r3, [fp, #-16]
	ldr	r2, .L244+24
	cmp	r3, r2
	bcc	.L240
.L239:
	ldr	r3, .L244+28
	mov	r2, #10
	str	r2, [r3]
	ldr	r0, .L244+32
	bl	error
.L240:
	ldr	r3, [fp, #-16]
	add	r2, r3, #1
	str	r2, [fp, #-16]
	ldr	r2, [fp, #-8]
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, .L244+36
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L244+36
	str	r3, [r2]
	b	.L238
.L243:
	nop
.L238:
	ldr	r3, [fp, #-8]
	cmp	r3, #10
	bne	.L241
	ldr	r3, [fp, #-16]
	sub	r3, r3, #1
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	mov	r2, #0
	strb	r2, [r3]
	ldr	r2, .L244+4
	ldr	r3, [fp, #-12]
	str	r3, [r2]
	mov	r3, #0
.L233:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L245:
	.align	2
.L244:
	.word	linebuf
	.word	nextip
	.word	ninbuf
	.word	io
	.word	genbuf
	.word	.LC4
	.word	linebuf+4096
	.word	lastc
	.word	Q
	.word	count
	.size	getfile, .-getfile
	.align	2
	.global	putfile
	.syntax unified
	.arm
	.fpu softvfp
	.type	putfile, %function
putfile:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	mov	r3, #4096
	str	r3, [fp, #-12]
	ldr	r3, .L256
	str	r3, [fp, #-20]
	ldr	r3, .L256+4
	ldr	r3, [r3]
	str	r3, [fp, #-24]
.L252:
	ldr	r3, [fp, #-24]
	add	r2, r3, #4
	str	r2, [fp, #-24]
	ldr	r3, [r3]
	mov	r0, r3
	bl	getline
	str	r0, [fp, #-16]
.L251:
	ldr	r3, [fp, #-12]
	sub	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bge	.L247
	ldr	r3, [fp, #-20]
	ldr	r2, .L256
	sub	r3, r3, r2
	str	r3, [fp, #-8]
	ldr	r3, .L256+8
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	ldr	r1, .L256
	mov	r0, r3
	bl	write
	mov	r2, r0
	ldr	r3, [fp, #-8]
	cmp	r3, r2
	beq	.L248
	ldr	r0, .L256+12
	bl	puts
	ldr	r0, .L256+16
	bl	error
.L248:
	ldr	r3, .L256+20
	str	r3, [fp, #-12]
	ldr	r3, .L256
	str	r3, [fp, #-20]
.L247:
	ldr	r3, .L256+24
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L256+24
	str	r3, [r2]
	ldr	r2, [fp, #-16]
	add	r3, r2, #1
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-20]
	add	r1, r3, #1
	str	r1, [fp, #-20]
	ldrb	r2, [r2]	@ zero_extendqisi2
	strb	r2, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L251
	ldr	r3, [fp, #-20]
	sub	r3, r3, #1
	mov	r2, #10
	strb	r2, [r3]
	nop
	ldr	r3, .L256+28
	ldr	r3, [r3]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	bls	.L252
	ldr	r3, [fp, #-20]
	ldr	r2, .L256
	sub	r3, r3, r2
	str	r3, [fp, #-8]
	ldr	r3, .L256+8
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	ldr	r1, .L256
	mov	r0, r3
	bl	write
	mov	r2, r0
	ldr	r3, [fp, #-8]
	cmp	r3, r2
	beq	.L255
	ldr	r0, .L256+12
	bl	puts
	ldr	r0, .L256+16
	bl	error
.L255:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L257:
	.align	2
.L256:
	.word	genbuf
	.word	addr1
	.word	io
	.word	WRERR
	.word	Q
	.word	4095
	.word	count
	.word	addr2
	.size	putfile, .-putfile
	.section	.rodata
	.align	2
.LC5:
	.ascii	"MEM?\000"
	.text
	.align	2
	.global	append
	.syntax unified
	.arm
	.fpu softvfp
	.type	append, %function
append:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	mov	r3, #0
	str	r3, [fp, #-20]
	ldr	r2, .L266
	ldr	r3, [fp, #-36]
	str	r3, [r2]
	b	.L259
.L264:
	ldr	r3, .L266+4
	ldr	r2, [r3]
	ldr	r3, .L266+8
	ldr	r3, [r3]
	sub	r3, r2, r3
	asr	r3, r3, #2
	add	r3, r3, #1
	mov	r2, r3
	ldr	r3, .L266+12
	ldr	r3, [r3]
	cmp	r2, r3
	bcc	.L260
	ldr	r3, .L266+8
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	ldr	r3, .L266+12
	ldr	r3, [r3]
	add	r3, r3, #1024
	ldr	r2, .L266+12
	str	r3, [r2]
	ldr	r3, .L266+8
	ldr	r2, [r3]
	ldr	r3, .L266+12
	ldr	r3, [r3]
	lsl	r3, r3, #2
	mov	r1, r3
	mov	r0, r2
	bl	realloc
	mov	r3, r0
	ldr	r2, .L266+8
	str	r3, [r2]
	ldr	r3, .L266+8
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L261
	ldr	r0, .L266+16
	bl	error
	mov	r0, #0
	bl	onhup
.L261:
	ldr	r3, .L266
	ldr	r3, [r3]
	ldr	r2, .L266+8
	ldr	r1, [r2]
	ldr	r2, [fp, #-16]
	sub	r2, r1, r2
	add	r3, r3, r2
	ldr	r2, .L266
	str	r3, [r2]
	ldr	r3, .L266+4
	ldr	r3, [r3]
	ldr	r2, .L266+8
	ldr	r1, [r2]
	ldr	r2, [fp, #-16]
	sub	r2, r1, r2
	add	r3, r3, r2
	ldr	r2, .L266+4
	str	r3, [r2]
.L260:
	bl	putline
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
	ldr	r3, .L266+4
	ldr	r3, [r3]
	add	r3, r3, #4
	ldr	r2, .L266+4
	str	r3, [r2]
	ldr	r3, .L266+4
	ldr	r3, [r3]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	add	r3, r3, #4
	str	r3, [fp, #-24]
	ldr	r3, .L266
	ldr	r3, [r3]
	add	r3, r3, #4
	ldr	r2, .L266
	str	r3, [r2]
	ldr	r3, .L266
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	b	.L262
.L263:
	ldr	r3, [fp, #-28]
	sub	r3, r3, #4
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-24]
	sub	r3, r3, #4
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-28]
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	str	r2, [r3]
.L262:
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-8]
	cmp	r2, r3
	bhi	.L263
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-8]
	str	r2, [r3]
.L259:
	ldr	r3, [fp, #-32]
	blx	r3
	mov	r3, r0
	cmp	r3, #0
	beq	.L264
	ldr	r3, [fp, #-20]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L267:
	.align	2
.L266:
	.word	dot
	.word	dol
	.word	zero
	.word	nlall
	.word	.LC5
	.size	append, .-append
	.align	2
	.global	add
	.syntax unified
	.arm
	.fpu softvfp
	.type	add, %function
add:
	@ 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, [fp, #-8]
	cmp	r3, #0
	beq	.L269
	ldr	r3, .L271
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L270
	ldr	r3, .L271+4
	ldr	r2, [r3]
	ldr	r3, .L271+8
	ldr	r3, [r3]
	cmp	r2, r3
	bls	.L269
.L270:
	ldr	r3, .L271+12
	ldr	r3, [r3]
	sub	r3, r3, #4
	ldr	r2, .L271+12
	str	r3, [r2]
	ldr	r3, .L271+16
	ldr	r3, [r3]
	sub	r3, r3, #4
	ldr	r2, .L271+16
	str	r3, [r2]
.L269:
	mov	r0, #0
	bl	squeeze
	bl	newline
	ldr	r3, .L271+16
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L271+20
	bl	append
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L272:
	.align	2
.L271:
	.word	given
	.word	dol
	.word	zero
	.word	addr1
	.word	addr2
	.word	gettty
	.size	add, .-add
	.section	.rodata
	.align	2
.LC6:
	.ascii	"-t\000"
	.align	2
.LC7:
	.ascii	"sh\000"
	.align	2
.LC8:
	.ascii	"/bin/sh\000"
	.align	2
.LC9:
	.ascii	"!\000"
	.align	2
.LC10:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	callunix
	.syntax unified
	.arm
	.fpu softvfp
	.type	callunix, %function
callunix:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	ldr	r3, .L280
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	bl	setnoaddr
	bl	fork
	mov	r3, r0
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L274
	ldr	r3, .L280+4
	ldr	r3, [r3]
	mov	r1, r3
	mov	r0, #1
	bl	signal
	ldr	r3, .L280+8
	ldr	r3, [r3]
	mov	r1, r3
	mov	r0, #3
	bl	signal
	mov	r3, #0
	ldr	r2, .L280+12
	ldr	r1, .L280+16
	ldr	r0, .L280+20
	bl	execl
	mov	r0, #64
	bl	exit
.L274:
	mov	r1, #1
	mov	r0, #2
	bl	signal
	str	r0, [fp, #-16]
	nop
.L276:
	sub	r3, fp, #24
	mov	r0, r3
	bl	wait
	str	r0, [fp, #-12]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	beq	.L275
	ldr	r3, [fp, #-12]
	cmn	r3, #1
	bne	.L276
.L275:
	ldr	r1, [fp, #-16]
	mov	r0, #2
	bl	signal
	ldr	r3, .L280+24
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L279
	ldr	r0, .L280+28
	bl	puts
.L279:
	nop
	ldr	r3, .L280
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L278
	bl	__stack_chk_fail
.L278:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L281:
	.align	2
.L280:
	.word	.LC10
	.word	oldhup
	.word	oldquit
	.word	.LC6
	.word	.LC7
	.word	.LC8
	.word	vflag
	.word	.LC9
	.size	callunix, .-callunix
	.align	2
	.global	quit
	.syntax unified
	.arm
	.fpu softvfp
	.type	quit, %function
quit:
	@ 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, .L284
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L283
	ldr	r3, .L284+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L283
	ldr	r3, .L284+8
	ldr	r2, [r3]
	ldr	r3, .L284+12
	ldr	r3, [r3]
	cmp	r2, r3
	beq	.L283
	ldr	r3, .L284+4
	mov	r2, #0
	str	r2, [r3]
	ldr	r0, .L284+16
	bl	error
.L283:
	ldr	r3, .L284+20
	ldr	r3, [r3]
	mov	r0, r3
	bl	unlink
	mov	r0, #0
	bl	exit
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L285:
	.align	2
.L284:
	.word	vflag
	.word	fchange
	.word	dol
	.word	zero
	.word	Q
	.word	tfname
	.size	quit, .-quit
	.align	2
	.global	rdelete
	.syntax unified
	.arm
	.fpu softvfp
	.type	rdelete, %function
rdelete:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #28
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-28]
	add	r3, r3, #4
	str	r3, [fp, #-12]
	ldr	r3, .L289
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, .L289
	ldr	r2, [r3]
	ldr	r1, [fp, #-12]
	ldr	r3, [fp, #-16]
	sub	r3, r1, r3
	rsb	r3, r3, #0
	add	r3, r2, r3
	ldr	r2, .L289
	str	r3, [r2]
.L287:
	ldr	r2, [fp, #-12]
	add	r3, r2, #4
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-16]
	add	r1, r3, #4
	str	r1, [fp, #-16]
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-8]
	cmp	r2, r3
	bls	.L287
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-16]
	ldr	r3, .L289
	ldr	r3, [r3]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	bls	.L288
	ldr	r3, .L289
	ldr	r3, [r3]
	str	r3, [fp, #-16]
.L288:
	ldr	r2, .L289+4
	ldr	r3, [fp, #-16]
	str	r3, [r2]
	ldr	r3, .L289+8
	mov	r2, #1
	str	r2, [r3]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L290:
	.align	2
.L289:
	.word	dol
	.word	dot
	.word	fchange
	.size	rdelete, .-rdelete
	.align	2
	.global	gdelete
	.syntax unified
	.arm
	.fpu softvfp
	.type	gdelete, %function
gdelete:
	@ 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
	ldr	r3, .L301
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, .L301+4
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	b	.L292
.L295:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-8]
	cmp	r2, r3
	bcs	.L300
	ldr	r3, [fp, #-16]
	add	r3, r3, #4
	str	r3, [fp, #-16]
.L292:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L295
	ldr	r3, [fp, #-16]
	add	r3, r3, #4
	str	r3, [fp, #-12]
	b	.L296
.L298:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L297
	ldr	r3, [fp, #-12]
	add	r3, r3, #4
	str	r3, [fp, #-12]
	ldr	r2, .L301+8
	ldr	r3, [fp, #-16]
	str	r3, [r2]
	b	.L296
.L297:
	ldr	r2, [fp, #-12]
	add	r3, r2, #4
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-16]
	add	r1, r3, #4
	str	r1, [fp, #-16]
	ldr	r2, [r2]
	str	r2, [r3]
.L296:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-8]
	cmp	r2, r3
	bls	.L298
	ldr	r3, [fp, #-16]
	sub	r3, r3, #4
	ldr	r2, .L301
	str	r3, [r2]
	ldr	r3, .L301+8
	ldr	r2, [r3]
	ldr	r3, .L301
	ldr	r3, [r3]
	cmp	r2, r3
	bls	.L299
	ldr	r3, .L301
	ldr	r3, [r3]
	ldr	r2, .L301+8
	str	r3, [r2]
.L299:
	ldr	r3, .L301+12
	mov	r2, #1
	str	r2, [r3]
	b	.L291
.L300:
	nop
.L291:
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L302:
	.align	2
.L301:
	.word	dol
	.word	zero
	.word	dot
	.word	fchange
	.size	gdelete, .-gdelete
	.align	2
	.global	getline
	.syntax unified
	.arm
	.fpu softvfp
	.type	getline, %function
getline:
	@ 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]
	ldr	r3, .L307
	str	r3, [fp, #-12]
	mov	r1, #0
	ldr	r0, [fp, #-24]
	bl	getblock
	str	r0, [fp, #-16]
	ldr	r3, .L307+4
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-24]
	bic	r3, r3, #2032
	bic	r3, r3, #15
	str	r3, [fp, #-24]
	b	.L304
.L305:
	ldr	r3, [fp, #-8]
	sub	r3, r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L304
	ldr	r3, [fp, #-24]
	add	r3, r3, #2048
	str	r3, [fp, #-24]
	mov	r1, #0
	ldr	r0, [fp, #-24]
	bl	getblock
	str	r0, [fp, #-16]
	ldr	r3, .L307+4
	ldr	r3, [r3]
	str	r3, [fp, #-8]
.L304:
	ldr	r2, [fp, #-16]
	add	r3, r2, #1
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-12]
	add	r1, r3, #1
	str	r1, [fp, #-12]
	ldrb	r2, [r2]	@ zero_extendqisi2
	strb	r2, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L305
	ldr	r3, .L307
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L308:
	.align	2
.L307:
	.word	linebuf
	.word	nleft
	.size	getline, .-getline
	.align	2
	.global	putline
	.syntax unified
	.arm
	.fpu softvfp
	.type	putline, %function
putline:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	ldr	r3, .L315
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, .L315+4
	str	r3, [fp, #-16]
	ldr	r3, .L315+8
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r1, #1
	ldr	r0, [fp, #-8]
	bl	getblock
	str	r0, [fp, #-20]
	ldr	r3, .L315+12
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-8]
	bic	r3, r3, #2032
	bic	r3, r3, #15
	str	r3, [fp, #-8]
	b	.L310
.L313:
	ldr	r3, [fp, #-20]
	add	r2, r3, #1
	str	r2, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #10
	bne	.L311
	ldr	r3, [fp, #-20]
	sub	r3, r3, #1
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	mov	r2, #0
	strb	r2, [r3]
	ldr	r2, .L315+16
	ldr	r3, [fp, #-16]
	str	r3, [r2]
	b	.L312
.L311:
	ldr	r3, [fp, #-12]
	sub	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L310
	ldr	r3, [fp, #-8]
	add	r3, r3, #2048
	str	r3, [fp, #-8]
	mov	r1, #1
	ldr	r0, [fp, #-8]
	bl	getblock
	str	r0, [fp, #-20]
	ldr	r3, .L315+12
	ldr	r3, [r3]
	str	r3, [fp, #-12]
.L310:
	ldr	r3, [fp, #-16]
	add	r2, r3, #1
	str	r2, [fp, #-16]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-20]
	strb	r2, [r3]
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L313
.L312:
	ldr	r3, .L315+8
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-16]
	ldr	r2, .L315+4
	sub	r3, r3, r2
	add	r3, r3, #3
	asr	r2, r3, #1
	ldr	r3, .L315+20
	and	r3, r3, r2
	ldr	r2, .L315+8
	ldr	r2, [r2]
	add	r3, r3, r2
	ldr	r2, .L315+8
	str	r3, [r2]
	ldr	r3, [fp, #-12]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L316:
	.align	2
.L315:
	.word	fchange
	.word	linebuf
	.word	tline
	.word	nleft
	.word	linebp
	.word	32766
	.size	putline, .-putline
	.align	2
	.global	getblock
	.syntax unified
	.arm
	.fpu softvfp
	.type	getblock, %function
getblock:
	@ 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, [fp, #-16]
	lsr	r3, r3, #11
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #1
	mov	r2, r3
	ldr	r3, .L325
	and	r3, r3, r2
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-12]
	ldr	r2, .L325+4
	cmp	r3, r2
	ble	.L318
	ldr	r3, .L325+8
	mov	r2, #10
	str	r2, [r3]
	ldr	r0, .L325+12
	bl	error
.L318:
	ldr	r3, [fp, #-8]
	rsb	r3, r3, #4096
	ldr	r2, .L325+16
	str	r3, [r2]
	ldr	r3, .L325+20
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	bne	.L319
	ldr	r3, .L325+24
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	orr	r3, r2, r3
	ldr	r2, .L325+24
	str	r3, [r2]
	ldr	r3, [fp, #-8]
	ldr	r2, .L325+28
	add	r3, r3, r2
	b	.L320
.L319:
	ldr	r3, .L325+32
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	bne	.L321
	ldr	r3, [fp, #-8]
	ldr	r2, .L325+36
	add	r3, r3, r2
	b	.L320
.L321:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L322
	ldr	r3, .L325+24
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L323
	ldr	r3, .L325+20
	ldr	r3, [r3]
	ldr	r2, .L325+40
	ldr	r1, .L325+28
	mov	r0, r3
	bl	blkio
.L323:
	ldr	r3, .L325+24
	mov	r2, #0
	str	r2, [r3]
	ldr	r2, .L325+20
	ldr	r3, [fp, #-12]
	str	r3, [r2]
	ldr	r2, .L325+44
	ldr	r1, .L325+28
	ldr	r0, [fp, #-12]
	bl	blkio
	ldr	r3, [fp, #-8]
	ldr	r2, .L325+28
	add	r3, r3, r2
	b	.L320
.L322:
	ldr	r3, .L325+32
	ldr	r3, [r3]
	cmp	r3, #0
	blt	.L324
	ldr	r3, .L325+32
	ldr	r3, [r3]
	ldr	r2, .L325+40
	ldr	r1, .L325+36
	mov	r0, r3
	bl	blkio
.L324:
	ldr	r2, .L325+32
	ldr	r3, [fp, #-12]
	str	r3, [r2]
	ldr	r3, [fp, #-8]
	ldr	r2, .L325+36
	add	r3, r3, r2
.L320:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L326:
	.align	2
.L325:
	.word	4092
	.word	2046
	.word	lastc
	.word	T
	.word	nleft
	.word	iblock
	.word	ichanged
	.word	ibuff
	.word	oblock
	.word	obuff
	.word	write
	.word	read
	.size	getblock, .-getblock
	.align	2
	.global	blkio
	.syntax unified
	.arm
	.fpu softvfp
	.type	blkio, %function
blkio:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	ldr	r3, .L330
	ldr	r0, [r3]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #12
	mov	r2, #0
	mov	r1, r3
	bl	lseek
	ldr	r3, .L330
	ldr	r0, [r3]
	ldr	r3, [fp, #-16]
	mov	r2, #4096
	ldr	r1, [fp, #-12]
	blx	r3
	mov	r3, r0
	cmp	r3, #4096
	beq	.L329
	ldr	r0, .L330+4
	bl	error
.L329:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L331:
	.align	2
.L330:
	.word	tfile
	.word	T
	.size	blkio, .-blkio
	.align	2
	.global	init
	.syntax unified
	.arm
	.fpu softvfp
	.type	init, %function
init:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	ldr	r3, .L335
	ldr	r3, [r3]
	mov	r0, r3
	bl	close
	ldr	r3, .L335+4
	mov	r2, #2
	str	r2, [r3]
	ldr	r3, .L335+8
	str	r3, [fp, #-8]
	b	.L333
.L334:
	ldr	r3, [fp, #-8]
	add	r2, r3, #4
	str	r2, [fp, #-8]
	mov	r2, #0
	str	r2, [r3]
.L333:
	ldr	r3, [fp, #-8]
	ldr	r2, .L335+12
	cmp	r3, r2
	bcc	.L334
	ldr	r3, .L335+16
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L335+20
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L335+24
	mvn	r2, #0
	str	r2, [r3]
	ldr	r3, .L335+28
	mvn	r2, #0
	str	r2, [r3]
	ldr	r3, .L335+32
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L335+36
	ldr	r3, [r3]
	mov	r1, #384
	mov	r0, r3
	bl	creat
	mov	r3, r0
	mov	r0, r3
	bl	close
	ldr	r3, .L335+36
	ldr	r3, [r3]
	mov	r1, #2
	mov	r0, r3
	bl	open
	mov	r3, r0
	ldr	r2, .L335
	str	r3, [r2]
	ldr	r3, .L335+40
	ldr	r3, [r3]
	ldr	r2, .L335+44
	str	r3, [r2]
	ldr	r3, .L335+44
	ldr	r3, [r3]
	ldr	r2, .L335+48
	str	r3, [r2]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L336:
	.align	2
.L335:
	.word	tfile
	.word	tline
	.word	names
	.word	names+104
	.word	subnewa
	.word	anymarks
	.word	iblock
	.word	oblock
	.word	ichanged
	.word	tfname
	.word	zero
	.word	dol
	.word	dot
	.size	init, .-init
	.section	.rodata
	.align	2
.LC11:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	global
	.syntax unified
	.arm
	.fpu softvfp
	.type	global, %function
global:
	@ args = 0, pretend = 0, frame = 280
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #280
	str	r0, [fp, #-280]
	ldr	r3, .L354
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L354+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L338
	ldr	r0, .L354+8
	bl	error
.L338:
	bl	setwide
	ldr	r3, .L354+12
	ldr	r2, [r3]
	ldr	r3, .L354+16
	ldr	r3, [r3]
	cmp	r2, r3
	movhi	r3, #1
	movls	r3, #0
	and	r3, r3, #255
	mov	r0, r3
	bl	squeeze
	bl	getchr
	str	r0, [fp, #-272]
	ldr	r3, [fp, #-272]
	cmp	r3, #10
	bne	.L339
	ldr	r0, .L354+8
	bl	error
.L339:
	ldr	r0, [fp, #-272]
	bl	compile
	sub	r3, fp, #264
	str	r3, [fp, #-276]
	b	.L340
.L343:
	ldr	r3, [fp, #-272]
	cmn	r3, #1
	bne	.L341
	ldr	r0, .L354+8
	bl	error
.L341:
	ldr	r3, [fp, #-272]
	cmp	r3, #92
	bne	.L342
	bl	getchr
	str	r0, [fp, #-272]
	ldr	r3, [fp, #-272]
	cmp	r3, #10
	beq	.L342
	ldr	r3, [fp, #-276]
	add	r2, r3, #1
	str	r2, [fp, #-276]
	mov	r2, #92
	strb	r2, [r3]
.L342:
	ldr	r3, [fp, #-276]
	add	r2, r3, #1
	str	r2, [fp, #-276]
	ldr	r2, [fp, #-272]
	and	r2, r2, #255
	strb	r2, [r3]
	sub	r3, fp, #264
	add	r3, r3, #254
	ldr	r2, [fp, #-276]
	cmp	r2, r3
	bcc	.L340
	ldr	r0, .L354+8
	bl	error
.L340:
	bl	getchr
	str	r0, [fp, #-272]
	ldr	r3, [fp, #-272]
	cmp	r3, #10
	bne	.L343
	sub	r3, fp, #264
	ldr	r2, [fp, #-276]
	cmp	r2, r3
	bne	.L344
	ldr	r3, [fp, #-276]
	add	r2, r3, #1
	str	r2, [fp, #-276]
	mov	r2, #112
	strb	r2, [r3]
.L344:
	ldr	r3, [fp, #-276]
	add	r2, r3, #1
	str	r2, [fp, #-276]
	mov	r2, #10
	strb	r2, [r3]
	ldr	r3, [fp, #-276]
	add	r2, r3, #1
	str	r2, [fp, #-276]
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, .L354+16
	ldr	r3, [r3]
	str	r3, [fp, #-268]
	b	.L345
.L347:
	ldr	r3, [fp, #-268]
	ldr	r3, [r3]
	bic	r2, r3, #1
	ldr	r3, [fp, #-268]
	str	r2, [r3]
	ldr	r3, .L354+20
	ldr	r3, [r3]
	ldr	r2, [fp, #-268]
	cmp	r2, r3
	bcc	.L346
	ldr	r3, .L354+24
	ldr	r3, [r3]
	ldr	r2, [fp, #-268]
	cmp	r2, r3
	bhi	.L346
	ldr	r0, [fp, #-268]
	bl	execute
	mov	r2, r0
	ldr	r3, [fp, #-280]
	cmp	r3, r2
	bne	.L346
	ldr	r3, [fp, #-268]
	ldr	r3, [r3]
	orr	r2, r3, #1
	ldr	r3, [fp, #-268]
	str	r2, [r3]
.L346:
	ldr	r3, [fp, #-268]
	add	r3, r3, #4
	str	r3, [fp, #-268]
.L345:
	ldr	r3, .L354+12
	ldr	r3, [r3]
	ldr	r2, [fp, #-268]
	cmp	r2, r3
	bls	.L347
	ldrb	r3, [fp, #-264]	@ zero_extendqisi2
	cmp	r3, #100
	bne	.L348
	ldrb	r3, [fp, #-263]	@ zero_extendqisi2
	cmp	r3, #10
	bne	.L348
	ldrb	r3, [fp, #-262]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L348
	bl	gdelete
	b	.L337
.L348:
	ldr	r3, .L354+16
	ldr	r3, [r3]
	str	r3, [fp, #-268]
	b	.L350
.L352:
	ldr	r3, [fp, #-268]
	ldr	r3, [r3]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L351
	ldr	r3, [fp, #-268]
	ldr	r3, [r3]
	bic	r2, r3, #1
	ldr	r3, [fp, #-268]
	str	r2, [r3]
	ldr	r2, .L354+28
	ldr	r3, [fp, #-268]
	str	r3, [r2]
	ldr	r2, .L354+4
	sub	r3, fp, #264
	str	r3, [r2]
	bl	commands
	ldr	r3, .L354+16
	ldr	r3, [r3]
	str	r3, [fp, #-268]
.L351:
	ldr	r3, [fp, #-268]
	add	r3, r3, #4
	str	r3, [fp, #-268]
.L350:
	ldr	r3, .L354+12
	ldr	r3, [r3]
	ldr	r2, [fp, #-268]
	cmp	r2, r3
	bls	.L352
.L337:
	ldr	r3, .L354
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L353
	bl	__stack_chk_fail
.L353:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L355:
	.align	2
.L354:
	.word	.LC11
	.word	globp
	.word	Q
	.word	dol
	.word	zero
	.word	addr1
	.word	addr2
	.word	dot
	.size	global, .-global
	.align	2
	.global	join
	.syntax unified
	.arm
	.fpu softvfp
	.type	join, %function
join:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	bl	nonzero
	ldr	r3, .L363
	str	r3, [fp, #-16]
	ldr	r3, .L363+4
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	b	.L357
.L360:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	mov	r0, r3
	bl	getline
	str	r0, [fp, #-12]
	b	.L358
.L359:
	ldr	r3, [fp, #-16]
	add	r2, r3, #1
	str	r2, [fp, #-16]
	ldr	r2, .L363+8
	cmp	r3, r2
	bcc	.L358
	ldr	r0, .L363+12
	bl	error
.L358:
	ldr	r3, [fp, #-12]
	add	r2, r3, #1
	str	r2, [fp, #-12]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-16]
	strb	r2, [r3]
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L359
	ldr	r3, [fp, #-8]
	add	r3, r3, #4
	str	r3, [fp, #-8]
.L357:
	ldr	r3, .L363+16
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	bls	.L360
	ldr	r3, .L363+20
	str	r3, [fp, #-12]
	ldr	r3, .L363
	str	r3, [fp, #-16]
	nop
.L361:
	ldr	r2, [fp, #-16]
	add	r3, r2, #1
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-12]
	add	r1, r3, #1
	str	r1, [fp, #-12]
	ldrb	r2, [r2]	@ zero_extendqisi2
	strb	r2, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L361
	bl	putline
	mov	r2, r0
	ldr	r3, .L363+4
	ldr	r3, [r3]
	str	r2, [r3]
	ldr	r3, .L363+4
	ldr	r2, [r3]
	ldr	r3, .L363+16
	ldr	r3, [r3]
	cmp	r2, r3
	bcs	.L362
	ldr	r3, .L363+4
	ldr	r3, [r3]
	add	r3, r3, #4
	ldr	r2, .L363+16
	ldr	r2, [r2]
	mov	r1, r2
	mov	r0, r3
	bl	rdelete
.L362:
	ldr	r3, .L363+4
	ldr	r3, [r3]
	ldr	r2, .L363+24
	str	r3, [r2]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L364:
	.align	2
.L363:
	.word	genbuf
	.word	addr1
	.word	genbuf+4094
	.word	Q
	.word	addr2
	.word	linebuf
	.word	dot
	.size	join, .-join
	.align	2
	.global	substitute
	.syntax unified
	.arm
	.fpu softvfp
	.type	substitute, %function
substitute:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-40]
	bl	getnum
	str	r0, [fp, #-24]
	bl	compsub
	str	r0, [fp, #-20]
	ldr	r3, .L382
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	b	.L366
.L377:
	ldr	r0, [fp, #-32]
	bl	execute
	mov	r3, r0
	cmp	r3, #0
	beq	.L367
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-28]
.L372:
	ldr	r3, .L382+4
	ldr	r2, [r3]
	ldr	r3, .L382+8
	ldr	r3, [r3]
	sub	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-28]
	sub	r3, r3, #1
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bgt	.L368
	bl	dosub
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L379
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L368
	ldr	r3, .L382+4
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L380
	ldr	r3, .L382+4
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L382+4
	str	r3, [r2]
.L368:
	mov	r0, #0
	bl	execute
	mov	r3, r0
	cmp	r3, #0
	bne	.L372
	b	.L370
.L379:
	nop
	b	.L370
.L380:
	nop
.L370:
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bgt	.L367
	ldr	r3, [fp, #-40]
	orr	r3, r3, #1
	str	r3, [fp, #-40]
	bl	putline
	mov	r3, r0
	ldr	r2, .L382+12
	str	r3, [r2]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	bic	r2, r3, #1
	ldr	r3, [fp, #-32]
	str	r2, [r3]
	ldr	r3, .L382+16
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L373
	ldr	r3, .L382+20
	str	r3, [fp, #-36]
	b	.L374
.L376:
	ldr	r3, [fp, #-36]
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L375
	ldr	r3, .L382+12
	ldr	r2, [r3]
	ldr	r3, [fp, #-36]
	str	r2, [r3]
.L375:
	ldr	r3, [fp, #-36]
	add	r3, r3, #4
	str	r3, [fp, #-36]
.L374:
	ldr	r3, [fp, #-36]
	ldr	r2, .L382+24
	cmp	r3, r2
	bcc	.L376
.L373:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r3, .L382+28
	str	r2, [r3]
	ldr	r3, .L382+12
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r3, [fp, #-32]
	str	r2, [r3]
	ldr	r3, .L382+32
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r1, [fp, #-32]
	ldr	r0, .L382+36
	bl	append
	str	r0, [fp, #-8]
	ldr	r3, .L382+32
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	sub	r3, r2, r3
	asr	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-8]
	add	r3, r3, r2
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-32]
	add	r3, r2, r3
	str	r3, [fp, #-32]
	ldr	r3, .L382+40
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, .L382+40
	str	r3, [r2]
.L367:
	ldr	r3, [fp, #-32]
	add	r3, r3, #4
	str	r3, [fp, #-32]
.L366:
	ldr	r3, .L382+40
	ldr	r3, [r3]
	ldr	r2, [fp, #-32]
	cmp	r2, r3
	bls	.L377
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	bne	.L381
	ldr	r0, .L382+44
	bl	error
.L381:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L383:
	.align	2
.L382:
	.word	addr1
	.word	loc2
	.word	loc1
	.word	subnewa
	.word	anymarks
	.word	names
	.word	names+104
	.word	subolda
	.word	zero
	.word	getsub
	.word	addr2
	.word	Q
	.size	substitute, .-substitute
	.align	2
	.global	compsub
	.syntax unified
	.arm
	.fpu softvfp
	.type	compsub, %function
compsub:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	bl	getchr
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #10
	beq	.L385
	ldr	r3, [fp, #-8]
	cmp	r3, #32
	bne	.L386
.L385:
	ldr	r0, .L397
	bl	error
.L386:
	ldr	r0, [fp, #-8]
	bl	compile
	ldr	r3, .L397+4
	str	r3, [fp, #-12]
.L393:
	bl	getchr
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #92
	bne	.L387
	bl	getchr
	mov	r3, r0
	orr	r3, r3, #128
	str	r3, [fp, #-16]
.L387:
	ldr	r3, [fp, #-16]
	cmp	r3, #10
	bne	.L388
	ldr	r3, .L397+8
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L389
	ldr	r3, .L397+8
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L389
	ldr	r3, [fp, #-16]
	orr	r3, r3, #128
	str	r3, [fp, #-16]
	b	.L388
.L389:
	ldr	r2, .L397+12
	ldr	r3, [fp, #-16]
	str	r3, [r2]
	ldr	r3, .L397+16
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L397+16
	str	r3, [r2]
	b	.L390
.L388:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-8]
	cmp	r2, r3
	beq	.L396
	ldr	r3, [fp, #-12]
	add	r2, r3, #1
	str	r2, [fp, #-12]
	ldr	r2, [fp, #-16]
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-12]
	ldr	r2, .L397+20
	cmp	r3, r2
	bcc	.L393
	ldr	r0, .L397
	bl	error
	b	.L393
.L396:
	nop
.L390:
	ldr	r3, [fp, #-12]
	add	r2, r3, #1
	str	r2, [fp, #-12]
	mov	r2, #0
	strb	r2, [r3]
	bl	getchr
	mov	r3, r0
	ldr	r2, .L397+12
	str	r3, [r2]
	ldr	r3, .L397+12
	ldr	r3, [r3]
	cmp	r3, #103
	bne	.L394
	ldr	r3, .L397+12
	mov	r2, #0
	str	r2, [r3]
	bl	newline
	mov	r3, #1
	b	.L395
.L394:
	bl	newline
	mov	r3, #0
.L395:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L398:
	.align	2
.L397:
	.word	Q
	.word	rhsbuf
	.word	globp
	.word	peekc
	.word	pflag
	.word	rhsbuf+2048
	.size	compsub, .-compsub
	.align	2
	.global	getsub
	.syntax unified
	.arm
	.fpu softvfp
	.type	getsub, %function
getsub:
	@ 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
	ldr	r3, .L404
	str	r3, [fp, #-12]
	ldr	r3, .L404+4
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L403
	mvn	r3, #0
	b	.L401
.L403:
	nop
.L402:
	ldr	r2, [fp, #-8]
	add	r3, r2, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-12]
	add	r1, r3, #1
	str	r1, [fp, #-12]
	ldrb	r2, [r2]	@ zero_extendqisi2
	strb	r2, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L402
	ldr	r3, .L404+4
	mov	r2, #0
	str	r2, [r3]
	mov	r3, #0
.L401:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L405:
	.align	2
.L404:
	.word	linebuf
	.word	linebp
	.size	getsub, .-getsub
	.align	2
	.global	dosub
	.syntax unified
	.arm
	.fpu softvfp
	.type	dosub, %function
dosub:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	ldr	r3, .L416
	str	r3, [fp, #-20]
	ldr	r3, .L416+4
	str	r3, [fp, #-16]
	ldr	r3, .L416+8
	str	r3, [fp, #-12]
	b	.L407
.L408:
	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]
.L407:
	ldr	r3, .L416+12
	ldr	r3, [r3]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	bcc	.L408
	b	.L409
.L412:
	ldr	r3, [fp, #-8]
	cmp	r3, #38
	bne	.L410
	ldr	r3, .L416+12
	ldr	r3, [r3]
	ldr	r2, .L416+16
	ldr	r2, [r2]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	place
	str	r0, [fp, #-16]
	b	.L409
.L410:
	ldr	r3, [fp, #-8]
	and	r3, r3, #128
	cmp	r3, #0
	beq	.L411
	ldr	r3, [fp, #-8]
	and	r3, r3, #127
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #48
	ble	.L411
	ldr	r3, .L416+20
	ldr	r3, [r3]
	add	r3, r3, #48
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	bgt	.L411
	ldr	r3, [fp, #-8]
	sub	r3, r3, #49
	ldr	r2, .L416+24
	ldr	r1, [r2, r3, lsl #2]
	ldr	r3, [fp, #-8]
	sub	r3, r3, #49
	ldr	r2, .L416+28
	ldr	r3, [r2, r3, lsl #2]
	mov	r2, r3
	ldr	r0, [fp, #-16]
	bl	place
	str	r0, [fp, #-16]
	b	.L409
.L411:
	ldr	r3, [fp, #-8]
	and	r2, r3, #255
	ldr	r3, [fp, #-16]
	add	r1, r3, #1
	str	r1, [fp, #-16]
	and	r2, r2, #127
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r2, .L416+32
	cmp	r3, r2
	bcc	.L409
	ldr	r0, .L416+36
	bl	error
.L409:
	ldr	r3, [fp, #-12]
	add	r2, r3, #1
	str	r2, [fp, #-12]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L412
	ldr	r3, .L416+16
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-16]
	ldr	r2, .L416+4
	sub	r3, r3, r2
	mov	r2, r3
	ldr	r3, .L416
	add	r3, r2, r3
	ldr	r2, .L416+16
	str	r3, [r2]
	b	.L413
.L414:
	ldr	r3, [fp, #-16]
	ldr	r2, .L416+32
	cmp	r3, r2
	bcc	.L413
	ldr	r0, .L416+36
	bl	error
.L413:
	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]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L414
	ldr	r3, .L416
	str	r3, [fp, #-20]
	ldr	r3, .L416+4
	str	r3, [fp, #-16]
	nop
.L415:
	ldr	r2, [fp, #-16]
	add	r3, r2, #1
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-20]
	add	r1, r3, #1
	str	r1, [fp, #-20]
	ldrb	r2, [r2]	@ zero_extendqisi2
	strb	r2, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L415
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L417:
	.align	2
.L416:
	.word	linebuf
	.word	genbuf
	.word	rhsbuf
	.word	loc1
	.word	loc2
	.word	nbra
	.word	braslist
	.word	braelist
	.word	genbuf+4096
	.word	Q
	.size	dosub, .-dosub
	.align	2
	.global	place
	.syntax unified
	.arm
	.fpu softvfp
	.type	place, %function
place:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	b	.L419
.L420:
	ldr	r2, [fp, #-12]
	add	r3, r2, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-8]
	add	r1, r3, #1
	str	r1, [fp, #-8]
	ldrb	r2, [r2]	@ zero_extendqisi2
	strb	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r2, .L422
	cmp	r3, r2
	bcc	.L419
	ldr	r0, .L422+4
	bl	error
.L419:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	bcc	.L420
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L423:
	.align	2
.L422:
	.word	genbuf+4096
	.word	Q
	.size	place, .-place
	.align	2
	.global	move
	.syntax unified
	.arm
	.fpu softvfp
	.type	move, %function
move:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-32]
	bl	nonzero
	bl	address
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L425
	ldr	r0, .L436
	bl	error
.L425:
	bl	newline
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	beq	.L426
	ldr	r3, .L436+4
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	ldr	r3, .L436+8
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-20]
	add	r2, r3, #4
	str	r2, [fp, #-20]
	mov	r1, r3
	ldr	r0, .L436+12
	bl	append
	ldr	r3, .L436+4
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	ldr	r3, .L436+8
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	sub	r3, r2, r3
	asr	r3, r3, #2
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	str	r3, [fp, #-24]
	b	.L427
.L426:
	ldr	r3, .L436+16
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	ldr	r3, .L436+20
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	b	.L428
.L429:
	ldr	r3, [fp, #-20]
	add	r2, r3, #4
	str	r2, [fp, #-20]
	ldr	r2, [r3]
	bic	r2, r2, #1
	str	r2, [r3]
.L428:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	bls	.L429
	ldr	r3, .L436+20
	ldr	r3, [r3]
	str	r3, [fp, #-20]
.L427:
	ldr	r3, [fp, #-16]
	add	r3, r3, #4
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	bcs	.L430
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-20]
	sub	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-24]
	add	r3, r3, r2
	ldr	r2, .L436+24
	str	r3, [r2]
	ldr	r3, [fp, #-24]
	add	r3, r3, #4
	str	r3, [fp, #-24]
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	beq	.L435
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-24]
	bl	reverse
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-20]
	bl	reverse
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-24]
	bl	reverse
	b	.L433
.L430:
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	bcc	.L434
	ldr	r3, [fp, #-24]
	add	r2, r3, #4
	str	r2, [fp, #-24]
	ldr	r2, .L436+24
	str	r3, [r2]
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-20]
	bl	reverse
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-16]
	bl	reverse
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-20]
	bl	reverse
	b	.L433
.L434:
	ldr	r0, .L436
	bl	error
.L433:
	ldr	r3, .L436+28
	mov	r2, #1
	str	r2, [r3]
	b	.L424
.L435:
	nop
.L424:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L437:
	.align	2
.L436:
	.word	Q
	.word	dol
	.word	zero
	.word	getcopy
	.word	addr2
	.word	addr1
	.word	dot
	.word	fchange
	.size	move, .-move
	.align	2
	.global	reverse
	.syntax unified
	.arm
	.fpu softvfp
	.type	reverse, %function
reverse:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
.L441:
	ldr	r3, [fp, #-20]
	sub	r3, r3, #4
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	bls	.L443
	ldr	r3, [fp, #-16]
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r2, r3, #4
	str	r2, [fp, #-16]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	b	.L441
.L443:
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	reverse, .-reverse
	.align	2
	.global	getcopy
	.syntax unified
	.arm
	.fpu softvfp
	.type	getcopy, %function
getcopy:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L447
	ldr	r2, [r3]
	ldr	r3, .L447+4
	ldr	r3, [r3]
	cmp	r2, r3
	bls	.L445
	mvn	r3, #0
	b	.L446
.L445:
	ldr	r3, .L447
	ldr	r3, [r3]
	add	r2, r3, #4
	ldr	r1, .L447
	str	r2, [r1]
	ldr	r3, [r3]
	mov	r0, r3
	bl	getline
	mov	r3, #0
.L446:
	mov	r0, r3
	pop	{fp, pc}
.L448:
	.align	2
.L447:
	.word	addr1
	.word	addr2
	.size	getcopy, .-getcopy
	.section	.rodata
	.align	2
.LC12:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	compile
	.syntax unified
	.arm
	.fpu softvfp
	.type	compile, %function
compile:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-40]
	ldr	r3, .L502
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L502+4
	str	r3, [fp, #-32]
	sub	r3, fp, #16
	str	r3, [fp, #-24]
	bl	getchr
	str	r0, [fp, #-36]
	ldr	r3, [fp, #-36]
	cmp	r3, #10
	bne	.L450
	ldr	r2, .L502+8
	ldr	r3, [fp, #-36]
	str	r3, [r2]
	ldr	r3, [fp, #-40]
	str	r3, [fp, #-36]
.L450:
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-40]
	cmp	r2, r3
	bne	.L451
	ldr	r3, [fp, #-32]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L490
	ldr	r0, .L502+12
	bl	error
	b	.L490
.L451:
	ldr	r3, .L502+16
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-36]
	cmp	r3, #94
	bne	.L454
	bl	getchr
	str	r0, [fp, #-36]
	ldr	r3, [fp, #-32]
	add	r2, r3, #1
	str	r2, [fp, #-32]
	mov	r2, #15
	strb	r2, [r3]
.L454:
	ldr	r2, .L502+8
	ldr	r3, [fp, #-36]
	str	r3, [r2]
	mov	r3, #0
	str	r3, [fp, #-28]
.L487:
	ldr	r3, [fp, #-32]
	ldr	r2, .L502+20
	cmp	r3, r2
	bcs	.L491
	bl	getchr
	str	r0, [fp, #-36]
	ldr	r3, [fp, #-36]
	cmp	r3, #10
	bne	.L457
	ldr	r2, .L502+8
	ldr	r3, [fp, #-36]
	str	r3, [r2]
	ldr	r3, [fp, #-40]
	str	r3, [fp, #-36]
.L457:
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-40]
	cmp	r2, r3
	bne	.L458
	sub	r3, fp, #16
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	bne	.L492
	ldr	r3, [fp, #-32]
	add	r2, r3, #1
	str	r2, [fp, #-32]
	mov	r2, #11
	strb	r2, [r3]
	b	.L449
.L458:
	ldr	r3, [fp, #-36]
	cmp	r3, #42
	beq	.L460
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-28]
.L460:
	ldr	r3, [fp, #-36]
	cmp	r3, #92
	beq	.L461
	ldr	r3, [fp, #-36]
	cmp	r3, #92
	bgt	.L462
	ldr	r3, [fp, #-36]
	cmp	r3, #91
	beq	.L463
	ldr	r3, [fp, #-36]
	cmp	r3, #91
	bgt	.L462
	ldr	r3, [fp, #-36]
	cmp	r3, #46
	beq	.L464
	ldr	r3, [fp, #-36]
	cmp	r3, #46
	bgt	.L462
	ldr	r3, [fp, #-36]
	cmp	r3, #42
	beq	.L465
	ldr	r3, [fp, #-36]
	cmp	r3, #42
	bgt	.L462
	ldr	r3, [fp, #-36]
	cmp	r3, #10
	beq	.L493
	ldr	r3, [fp, #-36]
	cmp	r3, #36
	beq	.L467
	b	.L462
.L461:
	bl	getchr
	str	r0, [fp, #-36]
	ldr	r3, [fp, #-36]
	cmp	r3, #40
	bne	.L468
	ldr	r3, .L502+16
	ldr	r3, [r3]
	cmp	r3, #4
	bgt	.L494
	ldr	r3, .L502+16
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	add	r1, r3, #1
	str	r1, [fp, #-24]
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-32]
	add	r2, r3, #1
	str	r2, [fp, #-32]
	mov	r2, #1
	strb	r2, [r3]
	ldr	r3, .L502+16
	ldr	r2, [r3]
	add	r3, r2, #1
	ldr	r1, .L502+16
	str	r3, [r1]
	ldr	r3, [fp, #-32]
	add	r1, r3, #1
	str	r1, [fp, #-32]
	and	r2, r2, #255
	strb	r2, [r3]
	b	.L470
.L468:
	ldr	r3, [fp, #-36]
	cmp	r3, #41
	bne	.L471
	sub	r3, fp, #16
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	bls	.L495
	ldr	r3, [fp, #-32]
	add	r2, r3, #1
	str	r2, [fp, #-32]
	mov	r2, #12
	strb	r2, [r3]
	ldr	r3, [fp, #-24]
	sub	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-32]
	add	r2, r3, #1
	str	r2, [fp, #-32]
	ldr	r2, [fp, #-24]
	ldrb	r2, [r2]	@ zero_extendqisi2
	strb	r2, [r3]
	b	.L470
.L471:
	ldr	r3, [fp, #-36]
	cmp	r3, #48
	ble	.L473
	ldr	r3, [fp, #-36]
	cmp	r3, #53
	bgt	.L473
	ldr	r3, [fp, #-32]
	add	r2, r3, #1
	str	r2, [fp, #-32]
	mov	r2, #14
	strb	r2, [r3]
	ldr	r3, [fp, #-36]
	and	r2, r3, #255
	ldr	r3, [fp, #-32]
	add	r1, r3, #1
	str	r1, [fp, #-32]
	sub	r2, r2, #49
	and	r2, r2, #255
	strb	r2, [r3]
	b	.L470
.L473:
	ldr	r3, [fp, #-32]
	add	r2, r3, #1
	str	r2, [fp, #-32]
	mov	r2, #2
	strb	r2, [r3]
	ldr	r3, [fp, #-36]
	cmp	r3, #10
	beq	.L496
	ldr	r3, [fp, #-32]
	add	r2, r3, #1
	str	r2, [fp, #-32]
	ldr	r2, [fp, #-36]
	and	r2, r2, #255
	strb	r2, [r3]
	b	.L470
.L464:
	ldr	r3, [fp, #-32]
	add	r2, r3, #1
	str	r2, [fp, #-32]
	mov	r2, #4
	strb	r2, [r3]
	b	.L470
.L465:
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	beq	.L497
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #1
	beq	.L497
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #12
	beq	.L497
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	orr	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, [fp, #-28]
	strb	r2, [r3]
	b	.L470
.L467:
	bl	getchr
	mov	r3, r0
	ldr	r2, .L502+8
	str	r3, [r2]
	ldr	r3, .L502+8
	ldr	r3, [r3]
	ldr	r2, [fp, #-40]
	cmp	r2, r3
	beq	.L477
	ldr	r3, .L502+8
	ldr	r3, [r3]
	cmp	r3, #10
	bne	.L498
.L477:
	ldr	r3, [fp, #-32]
	add	r2, r3, #1
	str	r2, [fp, #-32]
	mov	r2, #10
	strb	r2, [r3]
	b	.L470
.L463:
	ldr	r3, [fp, #-32]
	add	r2, r3, #1
	str	r2, [fp, #-32]
	mov	r2, #6
	strb	r2, [r3]
	ldr	r3, [fp, #-32]
	add	r2, r3, #1
	str	r2, [fp, #-32]
	mov	r2, #0
	strb	r2, [r3]
	mov	r3, #1
	str	r3, [fp, #-20]
	bl	getchr
	str	r0, [fp, #-36]
	ldr	r3, [fp, #-36]
	cmp	r3, #94
	bne	.L486
	bl	getchr
	str	r0, [fp, #-36]
	ldr	r3, [fp, #-32]
	sub	r3, r3, #2
	mov	r2, #8
	strb	r2, [r3]
.L486:
	ldr	r3, [fp, #-36]
	cmp	r3, #10
	beq	.L499
	ldr	r3, [fp, #-36]
	cmp	r3, #45
	bne	.L480
	ldr	r3, [fp, #-32]
	sub	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L480
	bl	getchr
	str	r0, [fp, #-36]
	ldr	r3, [fp, #-36]
	cmp	r3, #93
	bne	.L483
	ldr	r3, [fp, #-32]
	add	r2, r3, #1
	str	r2, [fp, #-32]
	mov	r2, #45
	strb	r2, [r3]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
	b	.L482
.L484:
	ldr	r3, [fp, #-32]
	sub	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	add	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, [fp, #-32]
	strb	r2, [r3]
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-32]
	ldr	r2, .L502+20
	cmp	r3, r2
	bcs	.L500
.L483:
	ldr	r3, [fp, #-32]
	sub	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-36]
	cmp	r3, r2
	bgt	.L484
.L480:
	ldr	r3, [fp, #-32]
	add	r2, r3, #1
	str	r2, [fp, #-32]
	ldr	r2, [fp, #-36]
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-32]
	ldr	r2, .L502+20
	cmp	r3, r2
	bcs	.L501
	bl	getchr
	str	r0, [fp, #-36]
	ldr	r3, [fp, #-36]
	cmp	r3, #93
	bne	.L486
.L482:
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	ldr	r2, [fp, #-20]
	and	r2, r2, #255
	strb	r2, [r3]
	b	.L470
.L497:
	nop
	b	.L462
.L498:
	nop
.L462:
	ldr	r3, [fp, #-32]
	add	r2, r3, #1
	str	r2, [fp, #-32]
	mov	r2, #2
	strb	r2, [r3]
	ldr	r3, [fp, #-32]
	add	r2, r3, #1
	str	r2, [fp, #-32]
	ldr	r2, [fp, #-36]
	and	r2, r2, #255
	strb	r2, [r3]
.L470:
	b	.L487
.L491:
	nop
	b	.L456
.L492:
	nop
	b	.L456
.L493:
	nop
	b	.L456
.L494:
	nop
	b	.L456
.L495:
	nop
	b	.L456
.L496:
	nop
	b	.L456
.L499:
	nop
	b	.L456
.L500:
	nop
	b	.L456
.L501:
	nop
.L456:
	ldr	r3, .L502+4
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, .L502+16
	mov	r2, #0
	str	r2, [r3]
	ldr	r0, .L502+12
	bl	error
	b	.L449
.L490:
	nop
.L449:
	ldr	r3, .L502
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L489
	bl	__stack_chk_fail
.L489:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L503:
	.align	2
.L502:
	.word	.LC12
	.word	expbuf
	.word	peekc
	.word	Q
	.word	nbra
	.word	expbuf+256
	.size	compile, .-compile
	.align	2
	.global	execute
	.syntax unified
	.arm
	.fpu softvfp
	.type	execute, %function
execute:
	@ 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, #0
	str	r3, [fp, #-12]
	b	.L505
.L506:
	ldr	r2, .L519
	ldr	r3, [fp, #-12]
	mov	r1, #0
	str	r1, [r2, r3, lsl #2]
	ldr	r2, .L519+4
	ldr	r3, [fp, #-12]
	mov	r1, #0
	str	r1, [r2, r3, lsl #2]
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L505:
	ldr	r3, [fp, #-12]
	cmp	r3, #4
	ble	.L506
	ldr	r3, .L519+8
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L507
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #15
	bne	.L508
	mov	r3, #0
	b	.L509
.L508:
	ldr	r3, .L519+12
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	b	.L510
.L507:
	ldr	r3, .L519+16
	ldr	r3, [r3]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	bne	.L511
	mov	r3, #0
	b	.L509
.L511:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	mov	r0, r3
	bl	getline
	str	r0, [fp, #-16]
.L510:
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #15
	bne	.L512
	ldr	r2, .L519+20
	ldr	r3, [fp, #-16]
	str	r3, [r2]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	advance
	mov	r3, r0
	b	.L509
.L512:
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #2
	bne	.L513
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-12]
.L516:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-12]
	cmp	r3, r2
	bne	.L518
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-16]
	bl	advance
	mov	r3, r0
	cmp	r3, #0
	beq	.L515
	ldr	r2, .L519+20
	ldr	r3, [fp, #-16]
	str	r3, [r2]
	mov	r3, #1
	b	.L509
.L518:
	nop
.L515:
	ldr	r3, [fp, #-16]
	add	r2, r3, #1
	str	r2, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L516
	mov	r3, #0
	b	.L509
.L513:
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-16]
	bl	advance
	mov	r3, r0
	cmp	r3, #0
	beq	.L517
	ldr	r2, .L519+20
	ldr	r3, [fp, #-16]
	str	r3, [r2]
	mov	r3, #1
	b	.L509
.L517:
	ldr	r3, [fp, #-16]
	add	r2, r3, #1
	str	r2, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L513
	mov	r3, #0
.L509:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L520:
	.align	2
.L519:
	.word	braslist
	.word	braelist
	.word	expbuf
	.word	loc2
	.word	zero
	.word	loc1
	.size	execute, .-execute
	.align	2
	.global	advance
	.syntax unified
	.arm
	.fpu softvfp
	.type	advance, %function
advance:
	@ 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]
.L558:
	ldr	r3, [fp, #-20]
	add	r2, r3, #1
	str	r2, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r3, r3, #1
	cmp	r3, #14
	ldrls	pc, [pc, r3, asl #2]
	b	.L522
.L524:
	.word	.L536
	.word	.L535
	.word	.L534
	.word	.L533
	.word	.L532
	.word	.L531
	.word	.L529
	.word	.L530
	.word	.L529
	.word	.L528
	.word	.L527
	.word	.L526
	.word	.L522
	.word	.L525
	.word	.L523
.L535:
	ldr	r3, [fp, #-20]
	add	r2, r3, #1
	str	r2, [fp, #-20]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-16]
	add	r1, r3, #1
	str	r1, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r2, r3
	beq	.L559
	mov	r3, #0
	b	.L539
.L533:
	ldr	r3, [fp, #-16]
	add	r2, r3, #1
	str	r2, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L560
	mov	r3, #0
	b	.L539
.L528:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L561
	mov	r3, #0
	b	.L539
.L527:
	ldr	r2, .L563
	ldr	r3, [fp, #-16]
	str	r3, [r2]
	mov	r3, #1
	b	.L539
.L531:
	ldr	r3, [fp, #-16]
	add	r2, r3, #1
	str	r2, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, #1
	mov	r1, r3
	ldr	r0, [fp, #-20]
	bl	cclass
	mov	r3, r0
	cmp	r3, #0
	beq	.L542
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-20]
	add	r3, r3, r2
	str	r3, [fp, #-20]
	b	.L538
.L542:
	mov	r3, #0
	b	.L539
.L530:
	ldr	r3, [fp, #-16]
	add	r2, r3, #1
	str	r2, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, #0
	mov	r1, r3
	ldr	r0, [fp, #-20]
	bl	cclass
	mov	r3, r0
	cmp	r3, #0
	beq	.L543
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-20]
	add	r3, r3, r2
	str	r3, [fp, #-20]
	b	.L538
.L543:
	mov	r3, #0
	b	.L539
.L536:
	ldr	r3, [fp, #-20]
	add	r2, r3, #1
	str	r2, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r2, .L563+4
	ldr	r3, [fp, #-16]
	str	r3, [r2, r1, lsl #2]
	b	.L538
.L526:
	ldr	r3, [fp, #-20]
	add	r2, r3, #1
	str	r2, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r2, .L563+8
	ldr	r3, [fp, #-16]
	str	r3, [r2, r1, lsl #2]
	b	.L538
.L525:
	ldr	r3, [fp, #-20]
	add	r2, r3, #1
	str	r2, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-8]
	ldr	r2, .L563+8
	ldr	r3, [fp, #-8]
	ldr	r3, [r2, r3, lsl #2]
	cmp	r3, #0
	bne	.L544
	ldr	r0, .L563+12
	bl	error
.L544:
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-8]
	bl	backref
	mov	r3, r0
	cmp	r3, #0
	beq	.L545
	ldr	r2, .L563+8
	ldr	r3, [fp, #-8]
	ldr	r2, [r2, r3, lsl #2]
	ldr	r1, .L563+4
	ldr	r3, [fp, #-8]
	ldr	r3, [r1, r3, lsl #2]
	sub	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-16]
	add	r3, r3, r2
	str	r3, [fp, #-16]
	b	.L538
.L545:
	mov	r3, #0
	b	.L539
.L523:
	ldr	r3, [fp, #-20]
	add	r2, r3, #1
	str	r2, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-8]
	ldr	r2, .L563+8
	ldr	r3, [fp, #-8]
	ldr	r3, [r2, r3, lsl #2]
	cmp	r3, #0
	bne	.L546
	ldr	r0, .L563+12
	bl	error
.L546:
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-12]
	b	.L547
.L548:
	ldr	r2, .L563+8
	ldr	r3, [fp, #-8]
	ldr	r2, [r2, r3, lsl #2]
	ldr	r1, .L563+4
	ldr	r3, [fp, #-8]
	ldr	r3, [r1, r3, lsl #2]
	sub	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-16]
	add	r3, r3, r2
	str	r3, [fp, #-16]
.L547:
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-8]
	bl	backref
	mov	r3, r0
	cmp	r3, #0
	bne	.L548
	b	.L549
.L551:
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	advance
	mov	r3, r0
	cmp	r3, #0
	beq	.L550
	mov	r3, #1
	b	.L539
.L550:
	ldr	r2, .L563+8
	ldr	r3, [fp, #-8]
	ldr	r2, [r2, r3, lsl #2]
	ldr	r1, .L563+4
	ldr	r3, [fp, #-8]
	ldr	r3, [r1, r3, lsl #2]
	sub	r3, r2, r3
	rsb	r3, r3, #0
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	str	r3, [fp, #-16]
.L549:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	cmp	r2, r3
	bcs	.L551
	b	.L538
.L532:
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-12]
	nop
.L552:
	ldr	r3, [fp, #-16]
	add	r2, r3, #1
	str	r2, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L552
	b	.L557
.L534:
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-12]
	nop
.L554:
	ldr	r3, [fp, #-16]
	add	r2, r3, #1
	str	r2, [fp, #-16]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r2, r3
	beq	.L554
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
	b	.L557
.L529:
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-12]
	nop
.L555:
	ldr	r3, [fp, #-16]
	add	r2, r3, #1
	str	r2, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r3, [fp, #-20]
	sub	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #7
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	mov	r2, r3
	ldr	r0, [fp, #-20]
	bl	cclass
	mov	r3, r0
	cmp	r3, #0
	bne	.L555
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-20]
	add	r3, r3, r2
	str	r3, [fp, #-20]
	nop
.L553:
	b	.L557
.L562:
	nop
.L557:
	ldr	r3, [fp, #-16]
	sub	r3, r3, #1
	str	r3, [fp, #-16]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	advance
	mov	r3, r0
	cmp	r3, #0
	beq	.L556
	mov	r3, #1
	b	.L539
.L556:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	cmp	r2, r3
	bhi	.L562
	mov	r3, #0
	b	.L539
.L522:
	ldr	r0, .L563+12
	bl	error
	b	.L558
.L559:
	nop
	b	.L558
.L560:
	nop
	b	.L558
.L561:
	nop
.L538:
	b	.L558
.L539:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L564:
	.align	2
.L563:
	.word	loc2
	.word	braslist
	.word	braelist
	.word	Q
	.size	advance, .-advance
	.align	2
	.global	backref
	.syntax unified
	.arm
	.fpu softvfp
	.type	backref, %function
backref:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r2, .L569
	ldr	r3, [fp, #-16]
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-8]
	b	.L566
.L568:
	ldr	r2, .L569+4
	ldr	r3, [fp, #-16]
	ldr	r3, [r2, r3, lsl #2]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	bcc	.L566
	mov	r3, #1
	b	.L567
.L566:
	ldr	r3, [fp, #-8]
	add	r2, r3, #1
	str	r2, [fp, #-8]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-20]
	add	r1, r3, #1
	str	r1, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r2, r3
	beq	.L568
	mov	r3, #0
.L567:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L570:
	.align	2
.L569:
	.word	braslist
	.word	braelist
	.size	backref, .-backref
	.align	2
	.global	cclass
	.syntax unified
	.arm
	.fpu softvfp
	.type	cclass, %function
cclass:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #28
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L572
	mov	r3, #0
	b	.L573
.L572:
	ldr	r3, [fp, #-16]
	add	r2, r3, #1
	str	r2, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-8]
	b	.L574
.L575:
	ldr	r3, [fp, #-16]
	add	r2, r3, #1
	str	r2, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-20]
	cmp	r3, r2
	bne	.L574
	ldr	r3, [fp, #-24]
	b	.L573
.L574:
	ldr	r3, [fp, #-8]
	sub	r3, r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L575
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
.L573:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	cclass, .-cclass
	.align	2
	.global	putd
	.syntax unified
	.arm
	.fpu softvfp
	.type	putd, %function
putd:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	ldr	r3, .L578
	ldr	r2, [r3]
	ldr	r3, .L578+4
	smull	r1, r3, r2, r3
	asr	r1, r3, #2
	asr	r3, r2, #31
	sub	r1, r1, r3
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #1
	sub	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, .L578
	ldr	r3, [r3]
	ldr	r2, .L578+4
	smull	r1, r2, r3, r2
	asr	r2, r2, #2
	asr	r3, r3, #31
	sub	r3, r2, r3
	ldr	r2, .L578
	str	r3, [r2]
	ldr	r3, .L578
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L577
	bl	putd
.L577:
	ldr	r3, [fp, #-8]
	add	r3, r3, #48
	mov	r0, r3
	bl	putchar
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L579:
	.align	2
.L578:
	.word	count
	.word	1717986919
	.size	putd, .-putd
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
