	.file	"974415.c"
	.intel_syntax noprefix
	.text
	.type	max_int_length, @function
max_int_length:
.LFB6:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	mov	eax, DWORD PTR -4[rbp]
	sal	eax, 3
	sub	eax, 1
	pxor	xmm1, xmm1
	cvtsi2sd	xmm1, eax
	movsd	xmm0, QWORD PTR .LC0[rip]
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR .LC1[rip]
	addsd	xmm0, xmm1
	cvttsd2si	eax, xmm0
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	max_int_length, .-max_int_length
	.section	.rodata
	.align 16
	.type	tokendlist, @object
	.size	tokendlist, 29
tokendlist:
	.string	"\001"
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	"\001\001\001"
	.string	""
	.string	""
	.string	""
	.string	"\001\001\001\001\001\001"
	.string	""
	.string	""
	.string	"\001"
	.string	""
	.string	""
	.ascii	"\001"
.LC2:
	.string	"end of file"
.LC3:
	.string	"newline"
.LC4:
	.string	"\";\""
.LC5:
	.string	"\"&\""
.LC6:
	.string	"\"&&\""
.LC7:
	.string	"\"||\""
.LC8:
	.string	"\"|\""
.LC9:
	.string	"\"(\""
.LC10:
	.string	"\")\""
.LC11:
	.string	"\";;\""
.LC12:
	.string	"\"`\""
.LC13:
	.string	"redirection"
.LC14:
	.string	"word"
.LC15:
	.string	"\"!\""
.LC16:
	.string	"\"case\""
.LC17:
	.string	"\"do\""
.LC18:
	.string	"\"done\""
.LC19:
	.string	"\"elif\""
.LC20:
	.string	"\"else\""
.LC21:
	.string	"\"esac\""
.LC22:
	.string	"\"fi\""
.LC23:
	.string	"\"for\""
.LC24:
	.string	"\"if\""
.LC25:
	.string	"\"in\""
.LC26:
	.string	"\"then\""
.LC27:
	.string	"\"until\""
.LC28:
	.string	"\"while\""
.LC29:
	.string	"\"{\""
.LC30:
	.string	"\"}\""
	.section	.data.rel.ro.local,"aw"
	.align 32
	.type	tokname, @object
	.size	tokname, 232
tokname:
	.quad	.LC2
	.quad	.LC3
	.quad	.LC4
	.quad	.LC5
	.quad	.LC6
	.quad	.LC7
	.quad	.LC8
	.quad	.LC9
	.quad	.LC10
	.quad	.LC11
	.quad	.LC12
	.quad	.LC13
	.quad	.LC14
	.quad	.LC15
	.quad	.LC16
	.quad	.LC17
	.quad	.LC18
	.quad	.LC19
	.quad	.LC20
	.quad	.LC21
	.quad	.LC22
	.quad	.LC23
	.quad	.LC24
	.quad	.LC25
	.quad	.LC26
	.quad	.LC27
	.quad	.LC28
	.quad	.LC29
	.quad	.LC30
	.section	.rodata
.LC31:
	.string	"!"
.LC32:
	.string	"case"
.LC33:
	.string	"do"
.LC34:
	.string	"done"
.LC35:
	.string	"elif"
.LC36:
	.string	"else"
.LC37:
	.string	"esac"
.LC38:
	.string	"fi"
.LC39:
	.string	"for"
.LC40:
	.string	"if"
.LC41:
	.string	"in"
.LC42:
	.string	"then"
.LC43:
	.string	"until"
.LC44:
	.string	"while"
.LC45:
	.string	"{"
.LC46:
	.string	"}"
	.section	.data.rel.ro.local
	.align 32
	.type	parsekwd, @object
	.size	parsekwd, 128
parsekwd:
	.quad	.LC31
	.quad	.LC32
	.quad	.LC33
	.quad	.LC34
	.quad	.LC35
	.quad	.LC36
	.quad	.LC37
	.quad	.LC38
	.quad	.LC39
	.quad	.LC40
	.quad	.LC41
	.quad	.LC42
	.quad	.LC43
	.quad	.LC44
	.quad	.LC45
	.quad	.LC46
	.text
	.type	grabstackblock, @function
grabstackblock:
.LFB7:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	stalloc
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	grabstackblock, .-grabstackblock
	.type	_STPUTC, @function
_STPUTC:
.LFB8:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	DWORD PTR -4[rbp], edi
	mov	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR sstrend[rip]
	cmp	QWORD PTR -16[rbp], rax
	jne	.L5
	call	growstackstr
	mov	QWORD PTR -16[rbp], rax
.L5:
	mov	rax, QWORD PTR -16[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -16[rbp], rdx
	mov	edx, DWORD PTR -4[rbp]
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -16[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	_STPUTC, .-_STPUTC
	.type	freestdout, @function
freestdout:
.LFB9:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	rax, QWORD PTR output[rip+16]
	mov	QWORD PTR output[rip], rax
	mov	DWORD PTR output[rip+36], 0
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	freestdout, .-freestdout
	.type	outc, @function
outc:
.LFB10:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	DWORD PTR -4[rbp], edi
	mov	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	cmp	rdx, rax
	jne	.L9
	mov	rdx, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -4[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	outcslow
	jmp	.L11
.L9:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -4[rbp]
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
.L11:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	outc, .-outc
	.type	goodname, @function
goodname:
.LFB11:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	endofname
	movzx	eax, BYTE PTR [rax]
	test	al, al
	sete	al
	movzx	eax, al
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	goodname, .-goodname
	.type	parser_eof, @function
parser_eof:
.LFB12:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, DWORD PTR tokpushback[rip]
	test	eax, eax
	je	.L15
	mov	eax, DWORD PTR lasttoken[rip]
	test	eax, eax
	jne	.L15
	mov	eax, 1
	jmp	.L17
.L15:
	mov	eax, 0
.L17:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE12:
	.size	parser_eof, .-parser_eof
	.type	sigclearmask, @function
sigclearmask:
.LFB13:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 144
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rax, -144[rbp]
	mov	rdi, rax
	call	sigemptyset@PLT
	lea	rax, -144[rbp]
	mov	edx, 0
	mov	rsi, rax
	mov	edi, 2
	call	sigprocmask@PLT
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L19
	call	__stack_chk_fail@PLT
.L19:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE13:
	.size	sigclearmask, .-sigclearmask
	.type	have_traps, @function
have_traps:
.LFB14:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, DWORD PTR trapcnt[rip]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE14:
	.size	have_traps, .-have_traps
	.type	varequal, @function
varequal:
.LFB15:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	varcmp
	test	eax, eax
	sete	al
	movzx	eax, al
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE15:
	.size	varequal, .-varequal
	.type	bltinlookup, @function
bltinlookup:
.LFB16:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	lookupvar
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE16:
	.size	bltinlookup, .-bltinlookup
	.globl	atab
	.bss
	.align 32
	.type	atab, @object
	.size	atab, 312
atab:
	.zero	312
	.text
	.type	setalias, @function
setalias:
.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
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	__lookupalias
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	mov	eax, DWORD PTR suppressint[rip]
	add	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	cmp	QWORD PTR -8[rbp], 0
	je	.L27
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 24[rax]
	and	eax, 1
	test	eax, eax
	jne	.L28
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdi, rax
	call	free@PLT
.L28:
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	savestr
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rdx], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 24[rax]
	and	eax, -3
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 24[rax], edx
	jmp	.L29
.L27:
	mov	edi, 32
	call	ckmalloc
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	savestr
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rdx], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	savestr
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rdx], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 24[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], 0
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
.L29:
	mov	eax, DWORD PTR suppressint[rip]
	sub	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	eax, DWORD PTR suppressint[rip]
	test	eax, eax
	jne	.L31
	mov	eax, DWORD PTR intpending[rip]
	test	eax, eax
	je	.L31
	call	onint
.L31:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE17:
	.size	setalias, .-setalias
	.globl	unalias
	.type	unalias, @function
unalias:
.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
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	__lookupalias
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L33
	mov	eax, DWORD PTR suppressint[rip]
	add	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	freealias
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rdx], rax
	mov	eax, DWORD PTR suppressint[rip]
	sub	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	eax, DWORD PTR suppressint[rip]
	test	eax, eax
	jne	.L34
	mov	eax, DWORD PTR intpending[rip]
	test	eax, eax
	je	.L34
	call	onint
.L34:
	mov	eax, 0
	jmp	.L35
.L33:
	mov	eax, 1
.L35:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE18:
	.size	unalias, .-unalias
	.globl	rmaliases
	.type	rmaliases, @function
rmaliases:
.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	eax, DWORD PTR suppressint[rip]
	add	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	DWORD PTR -20[rbp], 0
	jmp	.L37
.L41:
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, atab[rip]
	add	rax, rdx
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L38
.L40:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	freealias
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	cmp	QWORD PTR -16[rbp], rax
	jne	.L39
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -8[rbp], rax
.L39:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -16[rbp], rax
.L38:
	cmp	QWORD PTR -16[rbp], 0
	jne	.L40
	add	DWORD PTR -20[rbp], 1
.L37:
	cmp	DWORD PTR -20[rbp], 38
	jle	.L41
	mov	eax, DWORD PTR suppressint[rip]
	sub	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	eax, DWORD PTR suppressint[rip]
	test	eax, eax
	jne	.L43
	mov	eax, DWORD PTR intpending[rip]
	test	eax, eax
	je	.L43
	call	onint
.L43:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE19:
	.size	rmaliases, .-rmaliases
	.globl	lookupalias
	.type	lookupalias, @function
lookupalias:
.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, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	__lookupalias
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	cmp	DWORD PTR -28[rbp], 0
	je	.L45
	cmp	QWORD PTR -8[rbp], 0
	je	.L45
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 24[rax]
	and	eax, 1
	test	eax, eax
	je	.L45
	mov	eax, 0
	jmp	.L46
.L45:
	mov	rax, QWORD PTR -8[rbp]
.L46:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE20:
	.size	lookupalias, .-lookupalias
	.section	.rodata
.LC47:
	.string	"alias"
.LC48:
	.string	"%s: %s not found\n"
	.text
	.globl	aliascmd
	.type	aliascmd, @function
aliascmd:
.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, 48
	mov	DWORD PTR -36[rbp], edi
	mov	QWORD PTR -48[rbp], rsi
	mov	DWORD PTR -32[rbp], 0
	cmp	DWORD PTR -36[rbp], 1
	jne	.L54
	mov	DWORD PTR -28[rbp], 0
	jmp	.L49
.L52:
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, atab[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	QWORD PTR -24[rbp], rax
	jmp	.L50
.L51:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	printalias
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -24[rbp], rax
.L50:
	cmp	QWORD PTR -24[rbp], 0
	jne	.L51
	add	DWORD PTR -28[rbp], 1
.L49:
	cmp	DWORD PTR -28[rbp], 38
	jle	.L52
	mov	eax, 0
	jmp	.L53
.L57:
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 1
	mov	esi, 61
	mov	rdi, rax
	call	strchr@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L55
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	__lookupalias
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], 0
	jne	.L56
	mov	rax, QWORD PTR out2[rip]
	mov	rdx, QWORD PTR -16[rbp]
	mov	rcx, rdx
	lea	rdx, .LC47[rip]
	lea	rsi, .LC48[rip]
	mov	rdi, rax
	mov	eax, 0
	call	outfmt
	mov	DWORD PTR -32[rbp], 1
	jmp	.L54
.L56:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	printalias
	jmp	.L54
.L55:
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	BYTE PTR [rax], 0
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	setalias
.L54:
	add	QWORD PTR -48[rbp], 8
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	jne	.L57
	mov	eax, DWORD PTR -32[rbp]
.L53:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE21:
	.size	aliascmd, .-aliascmd
	.section	.rodata
.LC49:
	.string	"a"
.LC50:
	.string	"unalias"
	.text
	.globl	unaliascmd
	.type	unaliascmd, @function
unaliascmd:
.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	DWORD PTR -20[rbp], edi
	mov	QWORD PTR -32[rbp], rsi
	jmp	.L59
.L61:
	cmp	DWORD PTR -4[rbp], 97
	jne	.L59
	call	rmaliases
	mov	eax, 0
	jmp	.L60
.L59:
	lea	rdi, .LC49[rip]
	call	nextopt
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 0
	jne	.L61
	mov	DWORD PTR -4[rbp], 0
	jmp	.L62
.L64:
	mov	rax, QWORD PTR argptr[rip]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	unalias
	test	eax, eax
	je	.L63
	mov	rax, QWORD PTR argptr[rip]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR out2[rip]
	mov	rcx, rdx
	lea	rdx, .LC50[rip]
	lea	rsi, .LC48[rip]
	mov	rdi, rax
	mov	eax, 0
	call	outfmt
	mov	DWORD PTR -4[rbp], 1
.L63:
	mov	rax, QWORD PTR argptr[rip]
	add	rax, 8
	mov	QWORD PTR argptr[rip], rax
.L62:
	mov	rax, QWORD PTR argptr[rip]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L64
	mov	eax, DWORD PTR -4[rbp]
.L60:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE22:
	.size	unaliascmd, .-unaliascmd
	.type	freealias, @function
freealias:
.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, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 24[rax]
	and	eax, 1
	test	eax, eax
	je	.L66
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 24[rax]
	or	eax, 2
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	jmp	.L67
.L66:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -8[rbp]
.L67:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE23:
	.size	freealias, .-freealias
	.section	.rodata
.LC51:
	.string	"%s=%s\n"
	.text
	.globl	printalias
	.type	printalias, @function
printalias:
.LFB24:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdi, rax
	call	single_quote
	mov	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rsi, rax
	lea	rdi, .LC51[rip]
	mov	eax, 0
	call	out1fmt
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE24:
	.size	printalias, .-printalias
	.type	__lookupalias, @function
__lookupalias:
.LFB25:
	.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	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -20[rbp], eax
	mov	eax, DWORD PTR -20[rbp]
	sal	eax, 4
	mov	DWORD PTR -24[rbp], eax
	jmp	.L70
.L71:
	mov	eax, DWORD PTR -20[rbp]
	add	DWORD PTR -24[rbp], eax
	add	QWORD PTR -8[rbp], 1
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -20[rbp], eax
.L70:
	cmp	DWORD PTR -20[rbp], 0
	jne	.L71
	mov	eax, DWORD PTR -24[rbp]
	mov	ecx, eax
	mov	edx, 2753184165
	imul	rdx, rcx
	mov	rcx, rdx
	shr	rcx, 32
	mov	edx, eax
	sub	edx, ecx
	shr	edx
	add	edx, ecx
	shr	edx, 5
	imul	ecx, edx, 39
	sub	eax, ecx
	mov	edx, eax
	mov	eax, edx
	lea	rdx, 0[0+rax*8]
	lea	rax, atab[rip]
	add	rax, rdx
	mov	QWORD PTR -16[rbp], rax
	jmp	.L72
.L75:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	je	.L77
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -16[rbp], rax
.L72:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L75
	jmp	.L74
.L77:
	nop
.L74:
	mov	rax, QWORD PTR -16[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE25:
	.size	__lookupalias, .-__lookupalias
	.local	arith_startbuf
	.comm	arith_startbuf,8,8
	.globl	arith_buf
	.bss
	.align 8
	.type	arith_buf, @object
	.size	arith_buf, 8
arith_buf:
	.zero	8
	.globl	yylval
	.align 8
	.type	yylval, @object
	.size	yylval, 8
yylval:
	.zero	8
	.local	last_token
	.comm	last_token,4,4
	.section	.rodata
	.align 16
	.type	prec, @object
	.size	prec, 16
prec:
	.string	"\003\003\003\003\004"
	.string	"\005\002\002"
	.string	"\001\007\001\006"
	.ascii	"\004"
	.align 8
.LC52:
	.string	"arithmetic expression: %s: \"%s\""
	.text
	.type	yyerror, @function
yyerror:
.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, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rdx, QWORD PTR arith_startbuf[rip]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rax
	lea	rdi, .LC52[rip]
	mov	eax, 0
	call	sh_error
	.cfi_endproc
.LFE26:
	.size	yyerror, .-yyerror
	.type	arith_prec, @function
arith_prec:
.LFB27:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	mov	eax, DWORD PTR -4[rbp]
	sub	eax, 8
	cdqe
	lea	rdx, prec[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	movsx	eax, al
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE27:
	.size	arith_prec, .-arith_prec
	.type	higher_prec, @function
higher_prec:
.LFB28:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 8
	.cfi_offset 3, -24
	mov	DWORD PTR -12[rbp], edi
	mov	DWORD PTR -16[rbp], esi
	mov	eax, DWORD PTR -12[rbp]
	mov	edi, eax
	call	arith_prec
	mov	ebx, eax
	mov	eax, DWORD PTR -16[rbp]
	mov	edi, eax
	call	arith_prec
	cmp	ebx, eax
	setl	al
	movzx	eax, al
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE28:
	.size	higher_prec, .-higher_prec
	.section	.rodata
.LC53:
	.string	"division by zero"
	.text
	.type	do_binop, @function
do_binop:
.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]
	sub	eax, 8
	cmp	eax, 15
	ja	.L84
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L86[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L86[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L86:
	.long	.L99-.L86
	.long	.L98-.L86
	.long	.L97-.L86
	.long	.L96-.L86
	.long	.L95-.L86
	.long	.L84-.L86
	.long	.L94-.L86
	.long	.L93-.L86
	.long	.L92-.L86
	.long	.L91-.L86
	.long	.L90-.L86
	.long	.L89-.L86
	.long	.L88-.L86
	.long	.L87-.L86
	.long	.L84-.L86
	.long	.L85-.L86
	.text
.L84:
	cmp	QWORD PTR -24[rbp], 0
	jne	.L100
	lea	rdi, .LC53[rip]
	call	yyerror
.L100:
	cmp	DWORD PTR -4[rbp], 13
	jne	.L101
	mov	rax, QWORD PTR -16[rbp]
	cqo
	idiv	QWORD PTR -24[rbp]
	mov	rax, rdx
	jmp	.L103
.L101:
	mov	rax, QWORD PTR -16[rbp]
	cqo
	idiv	QWORD PTR -24[rbp]
	jmp	.L103
.L91:
	mov	rax, QWORD PTR -16[rbp]
	imul	rax, QWORD PTR -24[rbp]
	jmp	.L103
.L90:
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	jmp	.L103
.L88:
	mov	rax, QWORD PTR -16[rbp]
	sub	rax, QWORD PTR -24[rbp]
	jmp	.L103
.L93:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -16[rbp]
	mov	ecx, edx
	sal	rax, cl
	jmp	.L103
.L92:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -16[rbp]
	mov	ecx, edx
	sar	rax, cl
	jmp	.L103
.L97:
	mov	rax, QWORD PTR -16[rbp]
	cmp	rax, QWORD PTR -24[rbp]
	setl	al
	movzx	eax, al
	jmp	.L103
.L99:
	mov	rax, QWORD PTR -16[rbp]
	cmp	rax, QWORD PTR -24[rbp]
	setle	al
	movzx	eax, al
	jmp	.L103
.L96:
	mov	rax, QWORD PTR -16[rbp]
	cmp	rax, QWORD PTR -24[rbp]
	setg	al
	movzx	eax, al
	jmp	.L103
.L98:
	mov	rax, QWORD PTR -16[rbp]
	cmp	rax, QWORD PTR -24[rbp]
	setge	al
	movzx	eax, al
	jmp	.L103
.L95:
	mov	rax, QWORD PTR -16[rbp]
	cmp	rax, QWORD PTR -24[rbp]
	sete	al
	movzx	eax, al
	jmp	.L103
.L85:
	mov	rax, QWORD PTR -16[rbp]
	cmp	rax, QWORD PTR -24[rbp]
	setne	al
	movzx	eax, al
	jmp	.L103
.L94:
	mov	rax, QWORD PTR -16[rbp]
	and	rax, QWORD PTR -24[rbp]
	jmp	.L103
.L87:
	mov	rax, QWORD PTR -16[rbp]
	xor	rax, QWORD PTR -24[rbp]
	jmp	.L103
.L89:
	mov	rax, QWORD PTR -16[rbp]
	or	rax, QWORD PTR -24[rbp]
.L103:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE29:
	.size	do_binop, .-do_binop
	.section	.rodata
.LC54:
	.string	"expecting ')'"
.LC55:
	.string	"expecting primary"
	.text
	.type	primary, @function
primary:
.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, 48
	mov	DWORD PTR -20[rbp], edi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -24[rbp], edx
	mov	DWORD PTR -36[rbp], ecx
.L105:
	mov	eax, DWORD PTR -20[rbp]
	sub	eax, 5
	cmp	eax, 31
	ja	.L106
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L108[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L108[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L108:
	.long	.L114-.L108
	.long	.L113-.L108
	.long	.L112-.L108
	.long	.L106-.L108
	.long	.L106-.L108
	.long	.L106-.L108
	.long	.L106-.L108
	.long	.L106-.L108
	.long	.L106-.L108
	.long	.L106-.L108
	.long	.L106-.L108
	.long	.L106-.L108
	.long	.L106-.L108
	.long	.L111-.L108
	.long	.L106-.L108
	.long	.L110-.L108
	.long	.L106-.L108
	.long	.L106-.L108
	.long	.L106-.L108
	.long	.L106-.L108
	.long	.L106-.L108
	.long	.L106-.L108
	.long	.L106-.L108
	.long	.L106-.L108
	.long	.L106-.L108
	.long	.L106-.L108
	.long	.L106-.L108
	.long	.L106-.L108
	.long	.L106-.L108
	.long	.L109-.L108
	.long	.L106-.L108
	.long	.L107-.L108
	.text
.L109:
	mov	edx, DWORD PTR -36[rbp]
	mov	eax, DWORD PTR -24[rbp]
	mov	esi, edx
	mov	edi, eax
	call	assignment
	mov	QWORD PTR -8[rbp], rax
	mov	eax, DWORD PTR last_token[rip]
	cmp	eax, 35
	je	.L115
	lea	rdi, .LC54[rip]
	call	yyerror
.L115:
	call	yylex
	mov	DWORD PTR last_token[rip], eax
	mov	rax, QWORD PTR -8[rbp]
	jmp	.L116
.L114:
	mov	eax, DWORD PTR -24[rbp]
	mov	DWORD PTR last_token[rip], eax
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR [rax]
	jmp	.L116
.L113:
	mov	eax, DWORD PTR -24[rbp]
	mov	DWORD PTR last_token[rip], eax
	cmp	DWORD PTR -36[rbp], 0
	je	.L117
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR [rax]
	jmp	.L116
.L117:
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	lookupvarint
	jmp	.L116
.L111:
	mov	eax, DWORD PTR -24[rbp]
	mov	DWORD PTR -20[rbp], eax
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR yylval[rip]
	mov	QWORD PTR [rax], rdx
	call	yylex
	mov	DWORD PTR -24[rbp], eax
	jmp	.L105
.L110:
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR yylval[rip]
	mov	QWORD PTR [rax], rdx
	call	yylex
	mov	edi, eax
	mov	edx, DWORD PTR -36[rbp]
	mov	rsi, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -24[rbp]
	mov	ecx, edx
	mov	edx, edi
	mov	edi, eax
	call	primary
	neg	rax
	jmp	.L116
.L112:
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR yylval[rip]
	mov	QWORD PTR [rax], rdx
	call	yylex
	mov	edi, eax
	mov	edx, DWORD PTR -36[rbp]
	mov	rsi, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -24[rbp]
	mov	ecx, edx
	mov	edx, edi
	mov	edi, eax
	call	primary
	test	rax, rax
	sete	al
	movzx	eax, al
	jmp	.L116
.L107:
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR yylval[rip]
	mov	QWORD PTR [rax], rdx
	call	yylex
	mov	edi, eax
	mov	edx, DWORD PTR -36[rbp]
	mov	rsi, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -24[rbp]
	mov	ecx, edx
	mov	edx, edi
	mov	edi, eax
	call	primary
	not	rax
	jmp	.L116
.L106:
	lea	rdi, .LC55[rip]
	call	yyerror
.L116:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE30:
	.size	primary, .-primary
	.type	binop2, @function
binop2:
.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, 64
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	mov	DWORD PTR -48[rbp], edx
	mov	DWORD PTR -52[rbp], ecx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
.L126:
	call	yylex
	mov	DWORD PTR -28[rbp], eax
	mov	rax, QWORD PTR yylval[rip]
	mov	QWORD PTR -24[rbp], rax
	call	yylex
	mov	edi, eax
	mov	edx, DWORD PTR -52[rbp]
	lea	rsi, -24[rbp]
	mov	eax, DWORD PTR -28[rbp]
	mov	ecx, edx
	mov	edx, edi
	mov	edi, eax
	call	primary
	mov	QWORD PTR -16[rbp], rax
	mov	eax, DWORD PTR last_token[rip]
	mov	DWORD PTR -32[rbp], eax
	cmp	DWORD PTR -32[rbp], 7
	jle	.L120
	cmp	DWORD PTR -32[rbp], 23
	jg	.L120
	mov	edx, DWORD PTR -44[rbp]
	mov	eax, DWORD PTR -32[rbp]
	mov	esi, edx
	mov	edi, eax
	call	higher_prec
	test	eax, eax
	je	.L120
	mov	eax, DWORD PTR -44[rbp]
	mov	edi, eax
	call	arith_prec
	mov	edi, eax
	mov	edx, DWORD PTR -52[rbp]
	mov	esi, DWORD PTR -32[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	ecx, edx
	mov	edx, edi
	mov	rdi, rax
	call	binop2
	mov	QWORD PTR -16[rbp], rax
	mov	eax, DWORD PTR last_token[rip]
	mov	DWORD PTR -32[rbp], eax
.L120:
	cmp	DWORD PTR -52[rbp], 0
	jne	.L121
	mov	rdx, QWORD PTR -16[rbp]
	mov	rcx, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR -44[rbp]
	mov	rsi, rcx
	mov	edi, eax
	call	do_binop
	jmp	.L122
.L121:
	mov	rax, QWORD PTR -16[rbp]
.L122:
	mov	QWORD PTR -40[rbp], rax
	cmp	DWORD PTR -32[rbp], 7
	jle	.L123
	cmp	DWORD PTR -32[rbp], 23
	jg	.L123
	mov	eax, DWORD PTR -32[rbp]
	mov	edi, eax
	call	arith_prec
	cmp	DWORD PTR -48[rbp], eax
	jg	.L124
.L123:
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L127
	jmp	.L128
.L124:
	mov	eax, DWORD PTR -32[rbp]
	mov	DWORD PTR -44[rbp], eax
	jmp	.L126
.L128:
	call	__stack_chk_fail@PLT
.L127:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE31:
	.size	binop2, .-binop2
	.type	binop, @function
binop:
.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, 48
	mov	DWORD PTR -20[rbp], edi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -24[rbp], edx
	mov	DWORD PTR -36[rbp], ecx
	mov	ecx, DWORD PTR -36[rbp]
	mov	edx, DWORD PTR -24[rbp]
	mov	rsi, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -20[rbp]
	mov	edi, eax
	call	primary
	mov	QWORD PTR -8[rbp], rax
	mov	eax, DWORD PTR last_token[rip]
	mov	DWORD PTR -24[rbp], eax
	cmp	DWORD PTR -24[rbp], 7
	jle	.L130
	cmp	DWORD PTR -24[rbp], 23
	jle	.L131
.L130:
	mov	rax, QWORD PTR -8[rbp]
	jmp	.L132
.L131:
	mov	edx, DWORD PTR -36[rbp]
	mov	esi, DWORD PTR -24[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	ecx, edx
	mov	edx, 8
	mov	rdi, rax
	call	binop2
.L132:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE32:
	.size	binop, .-binop
	.type	and, @function
and:
.LFB33:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 56
	.cfi_offset 3, -24
	mov	DWORD PTR -36[rbp], edi
	mov	QWORD PTR -48[rbp], rsi
	mov	DWORD PTR -40[rbp], edx
	mov	DWORD PTR -52[rbp], ecx
	mov	ecx, DWORD PTR -52[rbp]
	mov	edx, DWORD PTR -40[rbp]
	mov	rsi, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -36[rbp]
	mov	edi, eax
	call	binop
	mov	QWORD PTR -32[rbp], rax
	mov	eax, DWORD PTR last_token[rip]
	mov	DWORD PTR -40[rbp], eax
	cmp	DWORD PTR -40[rbp], 3
	je	.L134
	mov	rax, QWORD PTR -32[rbp]
	jmp	.L135
.L134:
	call	yylex
	mov	DWORD PTR -36[rbp], eax
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR yylval[rip]
	mov	QWORD PTR [rax], rdx
	cmp	QWORD PTR -32[rbp], 0
	sete	al
	movzx	eax, al
	or	eax, DWORD PTR -52[rbp]
	mov	ebx, eax
	call	yylex
	mov	edx, eax
	mov	rsi, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -36[rbp]
	mov	ecx, ebx
	mov	edi, eax
	call	and
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -32[rbp], 0
	je	.L136
	cmp	QWORD PTR -24[rbp], 0
	je	.L136
	mov	eax, 1
	jmp	.L137
.L136:
	mov	eax, 0
.L137:
	cdqe
.L135:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE33:
	.size	and, .-and
	.type	or, @function
or:
.LFB34:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 56
	.cfi_offset 3, -24
	mov	DWORD PTR -36[rbp], edi
	mov	QWORD PTR -48[rbp], rsi
	mov	DWORD PTR -40[rbp], edx
	mov	DWORD PTR -52[rbp], ecx
	mov	ecx, DWORD PTR -52[rbp]
	mov	edx, DWORD PTR -40[rbp]
	mov	rsi, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -36[rbp]
	mov	edi, eax
	call	and
	mov	QWORD PTR -32[rbp], rax
	mov	eax, DWORD PTR last_token[rip]
	mov	DWORD PTR -40[rbp], eax
	cmp	DWORD PTR -40[rbp], 2
	je	.L139
	mov	rax, QWORD PTR -32[rbp]
	jmp	.L140
.L139:
	call	yylex
	mov	DWORD PTR -36[rbp], eax
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR yylval[rip]
	mov	QWORD PTR [rax], rdx
	cmp	QWORD PTR -32[rbp], 0
	setne	al
	movzx	eax, al
	or	eax, DWORD PTR -52[rbp]
	mov	ebx, eax
	call	yylex
	mov	edx, eax
	mov	rsi, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -36[rbp]
	mov	ecx, ebx
	mov	edi, eax
	call	or
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -32[rbp], 0
	jne	.L141
	cmp	QWORD PTR -24[rbp], 0
	je	.L142
.L141:
	mov	eax, 1
	jmp	.L143
.L142:
	mov	eax, 0
.L143:
	cdqe
.L140:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE34:
	.size	or, .-or
	.section	.rodata
.LC56:
	.string	"expecting ':'"
	.text
	.type	cond, @function
cond:
.LFB35:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 72
	.cfi_offset 3, -24
	mov	DWORD PTR -52[rbp], edi
	mov	QWORD PTR -64[rbp], rsi
	mov	DWORD PTR -56[rbp], edx
	mov	DWORD PTR -68[rbp], ecx
	mov	ecx, DWORD PTR -68[rbp]
	mov	edx, DWORD PTR -56[rbp]
	mov	rsi, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR -52[rbp]
	mov	edi, eax
	call	or
	mov	QWORD PTR -40[rbp], rax
	mov	eax, DWORD PTR last_token[rip]
	cmp	eax, 37
	je	.L145
	mov	rax, QWORD PTR -40[rbp]
	jmp	.L146
.L145:
	cmp	QWORD PTR -40[rbp], 0
	sete	al
	movzx	eax, al
	or	eax, DWORD PTR -68[rbp]
	mov	ebx, eax
	call	yylex
	mov	esi, ebx
	mov	edi, eax
	call	assignment
	mov	QWORD PTR -32[rbp], rax
	mov	eax, DWORD PTR last_token[rip]
	cmp	eax, 38
	je	.L147
	lea	rdi, .LC56[rip]
	call	yyerror
.L147:
	call	yylex
	mov	DWORD PTR -52[rbp], eax
	mov	rax, QWORD PTR -64[rbp]
	mov	rdx, QWORD PTR yylval[rip]
	mov	QWORD PTR [rax], rdx
	cmp	QWORD PTR -40[rbp], 0
	setne	al
	movzx	eax, al
	or	eax, DWORD PTR -68[rbp]
	mov	ebx, eax
	call	yylex
	mov	edx, eax
	mov	rsi, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR -52[rbp]
	mov	ecx, ebx
	mov	edi, eax
	call	cond
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -40[rbp], 0
	je	.L148
	mov	rax, QWORD PTR -32[rbp]
	jmp	.L146
.L148:
	mov	rax, QWORD PTR -24[rbp]
.L146:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE35:
	.size	cond, .-cond
	.type	assignment, @function
assignment:
.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, 48
	mov	DWORD PTR -36[rbp], edi
	mov	DWORD PTR -40[rbp], esi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR yylval[rip]
	mov	QWORD PTR -24[rbp], rax
	call	yylex
	mov	DWORD PTR -28[rbp], eax
	cmp	DWORD PTR -36[rbp], 6
	je	.L151
	mov	ecx, DWORD PTR -40[rbp]
	mov	edx, DWORD PTR -28[rbp]
	lea	rsi, -24[rbp]
	mov	eax, DWORD PTR -36[rbp]
	mov	edi, eax
	call	cond
	jmp	.L158
.L151:
	cmp	DWORD PTR -28[rbp], 1
	je	.L153
	cmp	DWORD PTR -28[rbp], 23
	jle	.L154
	cmp	DWORD PTR -28[rbp], 33
	jle	.L153
.L154:
	mov	ecx, DWORD PTR -40[rbp]
	mov	edx, DWORD PTR -28[rbp]
	lea	rsi, -24[rbp]
	mov	eax, DWORD PTR -36[rbp]
	mov	edi, eax
	call	cond
	jmp	.L158
.L153:
	call	yylex
	mov	edx, eax
	mov	eax, DWORD PTR -40[rbp]
	mov	esi, eax
	mov	edi, edx
	call	assignment
	mov	QWORD PTR -16[rbp], rax
	cmp	DWORD PTR -40[rbp], 0
	je	.L155
	mov	rax, QWORD PTR -16[rbp]
	jmp	.L158
.L155:
	cmp	DWORD PTR -28[rbp], 1
	je	.L156
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	lookupvarint
	mov	rsi, rax
	mov	eax, DWORD PTR -28[rbp]
	lea	ecx, -11[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, rax
	mov	edi, ecx
	call	do_binop
	jmp	.L157
.L156:
	mov	rax, QWORD PTR -16[rbp]
.L157:
	mov	rcx, QWORD PTR -24[rbp]
	mov	edx, 0
	mov	rsi, rax
	mov	rdi, rcx
	call	setvarint
.L158:
	mov	rdi, QWORD PTR -8[rbp]
	sub	rdi, QWORD PTR fs:40
	je	.L159
	call	__stack_chk_fail@PLT
.L159:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE36:
	.size	assignment, .-assignment
	.section	.rodata
.LC57:
	.string	"expecting EOF"
	.text
	.globl	arith
	.type	arith, @function
arith:
.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 -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR arith_startbuf[rip], rax
	mov	rax, QWORD PTR arith_startbuf[rip]
	mov	QWORD PTR arith_buf[rip], rax
	call	yylex
	mov	esi, 0
	mov	edi, eax
	call	assignment
	mov	QWORD PTR -8[rbp], rax
	mov	eax, DWORD PTR last_token[rip]
	test	eax, eax
	je	.L161
	lea	rdi, .LC57[rip]
	call	yyerror
.L161:
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE37:
	.size	arith, .-arith
	.globl	yylex
	.type	yylex, @function
yylex:
.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, 32
	mov	rax, QWORD PTR arith_buf[rip]
	mov	QWORD PTR -16[rbp], rax
.L187:
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], 126
	ja	.L164
	mov	eax, DWORD PTR -20[rbp]
	lea	rdx, 0[0+rax*4]
	lea	rax, .L166[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L166[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L166:
	.long	.L209-.L166
	.long	.L164-.L166
	.long	.L164-.L166
	.long	.L164-.L166
	.long	.L164-.L166
	.long	.L164-.L166
	.long	.L164-.L166
	.long	.L164-.L166
	.long	.L164-.L166
	.long	.L185-.L166
	.long	.L185-.L166
	.long	.L164-.L166
	.long	.L164-.L166
	.long	.L164-.L166
	.long	.L164-.L166
	.long	.L164-.L166
	.long	.L164-.L166
	.long	.L164-.L166
	.long	.L164-.L166
	.long	.L164-.L166
	.long	.L164-.L166
	.long	.L164-.L166
	.long	.L164-.L166
	.long	.L164-.L166
	.long	.L164-.L166
	.long	.L164-.L166
	.long	.L164-.L166
	.long	.L164-.L166
	.long	.L164-.L166
	.long	.L164-.L166
	.long	.L164-.L166
	.long	.L164-.L166
	.long	.L185-.L166
	.long	.L184-.L166
	.long	.L164-.L166
	.long	.L164-.L166
	.long	.L164-.L166
	.long	.L183-.L166
	.long	.L182-.L166
	.long	.L164-.L166
	.long	.L181-.L166
	.long	.L180-.L166
	.long	.L179-.L166
	.long	.L178-.L166
	.long	.L164-.L166
	.long	.L177-.L166
	.long	.L164-.L166
	.long	.L176-.L166
	.long	.L175-.L166
	.long	.L175-.L166
	.long	.L175-.L166
	.long	.L175-.L166
	.long	.L175-.L166
	.long	.L175-.L166
	.long	.L175-.L166
	.long	.L175-.L166
	.long	.L175-.L166
	.long	.L175-.L166
	.long	.L174-.L166
	.long	.L164-.L166
	.long	.L173-.L166
	.long	.L172-.L166
	.long	.L171-.L166
	.long	.L170-.L166
	.long	.L164-.L166
	.long	.L168-.L166
	.long	.L168-.L166
	.long	.L168-.L166
	.long	.L168-.L166
	.long	.L168-.L166
	.long	.L168-.L166
	.long	.L168-.L166
	.long	.L168-.L166
	.long	.L168-.L166
	.long	.L168-.L166
	.long	.L168-.L166
	.long	.L168-.L166
	.long	.L168-.L166
	.long	.L168-.L166
	.long	.L168-.L166
	.long	.L168-.L166
	.long	.L168-.L166
	.long	.L168-.L166
	.long	.L168-.L166
	.long	.L168-.L166
	.long	.L168-.L166
	.long	.L168-.L166
	.long	.L168-.L166
	.long	.L168-.L166
	.long	.L168-.L166
	.long	.L168-.L166
	.long	.L164-.L166
	.long	.L164-.L166
	.long	.L164-.L166
	.long	.L169-.L166
	.long	.L168-.L166
	.long	.L164-.L166
	.long	.L168-.L166
	.long	.L168-.L166
	.long	.L168-.L166
	.long	.L168-.L166
	.long	.L168-.L166
	.long	.L168-.L166
	.long	.L168-.L166
	.long	.L168-.L166
	.long	.L168-.L166
	.long	.L168-.L166
	.long	.L168-.L166
	.long	.L168-.L166
	.long	.L168-.L166
	.long	.L168-.L166
	.long	.L168-.L166
	.long	.L168-.L166
	.long	.L168-.L166
	.long	.L168-.L166
	.long	.L168-.L166
	.long	.L168-.L166
	.long	.L168-.L166
	.long	.L168-.L166
	.long	.L168-.L166
	.long	.L168-.L166
	.long	.L168-.L166
	.long	.L168-.L166
	.long	.L164-.L166
	.long	.L167-.L166
	.long	.L164-.L166
	.long	.L165-.L166
	.text
.L185:
	add	QWORD PTR -16[rbp], 1
	jmp	.L187
.L164:
	mov	eax, 4
	jmp	.L188
.L175:
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, 0
	lea	rsi, arith_buf[rip]
	mov	rdi, rax
	call	strtoimax@PLT
	mov	QWORD PTR yylval[rip], rax
	mov	eax, 5
	jmp	.L188
.L168:
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -8[rbp], rax
	nop
.L192:
	add	QWORD PTR -16[rbp], 1
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 95
	je	.L189
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8
	test	eax, eax
	je	.L190
.L189:
	mov	eax, 1
	jmp	.L191
.L190:
	mov	eax, 0
.L191:
	test	eax, eax
	jne	.L192
	mov	rax, QWORD PTR -16[rbp]
	sub	rax, QWORD PTR -8[rbp]
	add	rax, 1
	mov	rdi, rax
	call	stalloc
	mov	QWORD PTR yylval[rip], rax
	mov	rax, QWORD PTR -16[rbp]
	sub	rax, QWORD PTR -8[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR yylval[rip]
	mov	rcx, QWORD PTR -8[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	mempcpy@PLT
	mov	BYTE PTR [rax], 0
	mov	DWORD PTR -20[rbp], 6
	jmp	.L193
.L172:
	sub	DWORD PTR -20[rbp], 60
.L194:
	add	QWORD PTR -16[rbp], 1
.L195:
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 61
	jne	.L210
	add	DWORD PTR -20[rbp], 11
	jmp	.L197
.L171:
	add	QWORD PTR -16[rbp], 1
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	cmp	eax, 61
	je	.L198
	cmp	eax, 62
	je	.L199
	jmp	.L208
.L198:
	sub	DWORD PTR -20[rbp], 53
	nop
	jmp	.L197
.L199:
	sub	DWORD PTR -20[rbp], 46
	jmp	.L194
.L208:
	sub	DWORD PTR -20[rbp], 51
	jmp	.L193
.L173:
	add	QWORD PTR -16[rbp], 1
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	cmp	eax, 60
	je	.L202
	cmp	eax, 61
	jne	.L203
	sub	DWORD PTR -20[rbp], 52
	nop
	jmp	.L197
.L202:
	sub	DWORD PTR -20[rbp], 45
	jmp	.L194
.L203:
	sub	DWORD PTR -20[rbp], 50
	jmp	.L193
.L167:
	add	QWORD PTR -16[rbp], 1
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 124
	je	.L205
	sub	DWORD PTR -20[rbp], 105
	jmp	.L195
.L205:
	sub	DWORD PTR -20[rbp], 122
	jmp	.L197
.L182:
	add	QWORD PTR -16[rbp], 1
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 38
	je	.L206
	sub	DWORD PTR -20[rbp], 24
	jmp	.L195
.L206:
	sub	DWORD PTR -20[rbp], 35
	jmp	.L197
.L184:
	add	QWORD PTR -16[rbp], 1
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 61
	je	.L207
	sub	DWORD PTR -20[rbp], 26
	jmp	.L193
.L207:
	sub	DWORD PTR -20[rbp], 10
	jmp	.L197
.L181:
	sub	DWORD PTR -20[rbp], 6
	jmp	.L197
.L180:
	sub	DWORD PTR -20[rbp], 6
	jmp	.L197
.L179:
	sub	DWORD PTR -20[rbp], 25
	jmp	.L194
.L176:
	sub	DWORD PTR -20[rbp], 25
	jmp	.L194
.L183:
	sub	DWORD PTR -20[rbp], 24
	jmp	.L194
.L178:
	sub	DWORD PTR -20[rbp], 25
	jmp	.L194
.L177:
	sub	DWORD PTR -20[rbp], 25
	jmp	.L194
.L165:
	sub	DWORD PTR -20[rbp], 90
	jmp	.L197
.L169:
	sub	DWORD PTR -20[rbp], 73
	jmp	.L194
.L170:
	sub	DWORD PTR -20[rbp], 26
	jmp	.L197
.L174:
	sub	DWORD PTR -20[rbp], 20
	nop
.L197:
	nop
	add	QWORD PTR -16[rbp], 1
	jmp	.L193
.L209:
	nop
	jmp	.L193
.L210:
	nop
.L193:
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR arith_buf[rip], rax
	mov	eax, DWORD PTR -20[rbp]
.L188:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE38:
	.size	yylex, .-yylex
	.section	.data.rel.local,"aw"
	.align 8
	.type	curdir, @object
	.size	curdir, 8
curdir:
	.quad	nullstr
	.align 8
	.type	physdir, @object
	.size	physdir, 8
physdir:
	.quad	nullstr
	.section	.rodata
.LC58:
	.string	"LP"
	.text
	.type	cdopt, @function
cdopt:
.LFB39:
	.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 -12[rbp], 0
	mov	DWORD PTR -8[rbp], 76
	jmp	.L212
.L213:
	mov	eax, DWORD PTR -4[rbp]
	cmp	eax, DWORD PTR -8[rbp]
	je	.L212
	xor	DWORD PTR -12[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
	mov	DWORD PTR -8[rbp], eax
.L212:
	lea	rdi, .LC58[rip]
	call	nextopt
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 0
	jne	.L213
	mov	eax, DWORD PTR -12[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE39:
	.size	cdopt, .-cdopt
	.section	.rodata
.LC59:
	.string	"OLDPWD"
.LC60:
	.string	"."
.LC61:
	.string	"CDPATH"
.LC62:
	.string	"can't cd to %s"
	.text
	.globl	cdcmd
	.type	cdcmd, @function
cdcmd:
.LFB40:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 208
	mov	DWORD PTR -196[rbp], edi
	mov	QWORD PTR -208[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	call	cdopt
	mov	DWORD PTR -188[rbp], eax
	mov	rax, QWORD PTR argptr[rip]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -176[rbp], rax
	cmp	QWORD PTR -176[rbp], 0
	jne	.L216
	lea	rdi, homestr[rip]
	call	bltinlookup
	mov	QWORD PTR -176[rbp], rax
	jmp	.L217
.L216:
	mov	rax, QWORD PTR -176[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 45
	jne	.L217
	mov	rax, QWORD PTR -176[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L217
	lea	rdi, .LC59[rip]
	call	bltinlookup
	mov	QWORD PTR -176[rbp], rax
	or	DWORD PTR -188[rbp], 2
.L217:
	cmp	QWORD PTR -176[rbp], 0
	jne	.L218
	lea	rax, nullstr[rip]
	mov	QWORD PTR -176[rbp], rax
.L218:
	mov	rax, QWORD PTR -176[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 47
	je	.L236
	mov	rax, QWORD PTR -176[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 46
	jne	.L221
	mov	rax, QWORD PTR -176[rbp]
	movzx	eax, BYTE PTR 1[rax]
	mov	BYTE PTR -189[rbp], al
.L222:
	movsx	eax, BYTE PTR -189[rbp]
	cmp	eax, 47
	je	.L237
	cmp	eax, 47
	jg	.L221
	test	eax, eax
	je	.L237
	cmp	eax, 46
	jne	.L221
	mov	rax, QWORD PTR -176[rbp]
	movzx	eax, BYTE PTR 2[rax]
	mov	BYTE PTR -189[rbp], al
	cmp	BYTE PTR -189[rbp], 46
	je	.L221
	jmp	.L222
.L221:
	mov	rax, QWORD PTR -176[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L225
	lea	rax, .LC60[rip]
	mov	QWORD PTR -176[rbp], rax
.L225:
	lea	rdi, .LC61[rip]
	call	bltinlookup
	mov	QWORD PTR -184[rbp], rax
	jmp	.L226
.L231:
	mov	rax, QWORD PTR -184[rbp]
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -189[rbp], al
	mov	rdx, QWORD PTR -176[rbp]
	lea	rax, -184[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	padvance
	mov	QWORD PTR -168[rbp], rax
	lea	rdx, -160[rbp]
	mov	rax, QWORD PTR -168[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	stat@PLT
	test	eax, eax
	js	.L226
	mov	eax, DWORD PTR -136[rbp]
	and	eax, 61440
	cmp	eax, 16384
	jne	.L226
	cmp	BYTE PTR -189[rbp], 0
	je	.L238
	cmp	BYTE PTR -189[rbp], 58
	je	.L238
	or	DWORD PTR -188[rbp], 2
	jmp	.L227
.L238:
	nop
.L227:
	mov	edx, DWORD PTR -188[rbp]
	mov	rax, QWORD PTR -168[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	docd
	test	eax, eax
	jne	.L239
	jmp	.L235
.L226:
	mov	rax, QWORD PTR -184[rbp]
	test	rax, rax
	jne	.L231
	jmp	.L220
.L236:
	nop
	jmp	.L220
.L237:
	nop
.L220:
	mov	rax, QWORD PTR -176[rbp]
	mov	QWORD PTR -168[rbp], rax
	jmp	.L227
.L239:
	nop
.L230:
	mov	rax, QWORD PTR -176[rbp]
	mov	rsi, rax
	lea	rdi, .LC62[rip]
	mov	eax, 0
	call	sh_error
.L235:
.L229:
	mov	eax, DWORD PTR -188[rbp]
	and	eax, 2
	test	eax, eax
	je	.L232
	mov	rax, QWORD PTR curdir[rip]
	mov	rsi, rax
	lea	rdi, snlfmt[rip]
	mov	eax, 0
	call	out1fmt
.L232:
	mov	eax, 0
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L234
	call	__stack_chk_fail@PLT
.L234:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE40:
	.size	cdcmd, .-cdcmd
	.type	docd, @function
docd:
.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, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	QWORD PTR -8[rbp], 0
	mov	eax, DWORD PTR suppressint[rip]
	add	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	eax, DWORD PTR -28[rbp]
	and	eax, 1
	test	eax, eax
	jne	.L241
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	updatepwd
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L241
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR -24[rbp], rax
.L241:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	chdir@PLT
	mov	DWORD PTR -12[rbp], eax
	cmp	DWORD PTR -12[rbp], 0
	jne	.L246
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	setpwd
	call	hashcd
	jmp	.L243
.L246:
	nop
.L243:
	mov	eax, DWORD PTR suppressint[rip]
	sub	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	eax, DWORD PTR suppressint[rip]
	test	eax, eax
	jne	.L244
	mov	eax, DWORD PTR intpending[rip]
	test	eax, eax
	je	.L244
	call	onint
.L244:
	mov	eax, DWORD PTR -12[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE41:
	.size	docd, .-docd
	.section	.rodata
.LC63:
	.string	"/"
	.text
	.type	updatepwd, @function
updatepwd:
.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	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	sstrdup
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR stacknxt[rip]
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 47
	je	.L248
	mov	rax, QWORD PTR curdir[rip]
	lea	rdx, nullstr[rip]
	cmp	rax, rdx
	jne	.L249
	mov	eax, 0
	jmp	.L250
.L249:
	mov	rax, QWORD PTR curdir[rip]
	mov	rdx, QWORD PTR -32[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	stputs
	mov	QWORD PTR -32[rbp], rax
.L248:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	strlen@PLT
	lea	rdx, 2[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	call	makestrspace
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR stacknxt[rip]
	add	rax, 1
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 47
	je	.L251
	mov	rax, QWORD PTR -32[rbp]
	sub	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 47
	je	.L252
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -32[rbp], rdx
	mov	BYTE PTR [rax], 47
.L252:
	mov	rax, QWORD PTR -32[rbp]
	cmp	rax, QWORD PTR -8[rbp]
	jbe	.L253
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 47
	jne	.L253
	add	QWORD PTR -8[rbp], 1
	jmp	.L253
.L251:
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -32[rbp], rdx
	mov	BYTE PTR [rax], 47
	add	QWORD PTR -16[rbp], 1
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 47
	jne	.L253
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 2
	movzx	eax, BYTE PTR [rax]
	cmp	al, 47
	je	.L253
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -32[rbp], rdx
	mov	BYTE PTR [rax], 47
	add	QWORD PTR -16[rbp], 1
	add	QWORD PTR -8[rbp], 1
.L253:
	mov	rax, QWORD PTR -16[rbp]
	lea	rsi, .LC63[rip]
	mov	rdi, rax
	call	strtok@PLT
	mov	QWORD PTR -24[rbp], rax
	jmp	.L254
.L261:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	cmp	eax, 46
	jne	.L255
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 46
	jne	.L256
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 2
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L256
	jmp	.L257
.L259:
	sub	QWORD PTR -32[rbp], 1
	mov	rax, QWORD PTR -32[rbp]
	sub	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 47
	je	.L264
.L257:
	mov	rax, QWORD PTR -32[rbp]
	cmp	rax, QWORD PTR -8[rbp]
	ja	.L259
	jmp	.L260
.L264:
	nop
	jmp	.L260
.L256:
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L265
.L255:
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	stputs
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -32[rbp], rdx
	mov	BYTE PTR [rax], 47
	jmp	.L260
.L265:
	nop
.L260:
	lea	rsi, .LC63[rip]
	mov	edi, 0
	call	strtok@PLT
	mov	QWORD PTR -24[rbp], rax
.L254:
	cmp	QWORD PTR -24[rbp], 0
	jne	.L261
	mov	rax, QWORD PTR -32[rbp]
	cmp	rax, QWORD PTR -8[rbp]
	jbe	.L262
	sub	QWORD PTR -32[rbp], 1
.L262:
	mov	rax, QWORD PTR -32[rbp]
	mov	BYTE PTR [rax], 0
	mov	rax, QWORD PTR stacknxt[rip]
.L250:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE42:
	.size	updatepwd, .-updatepwd
	.section	.rodata
.LC64:
	.string	"getcwd() failed: %s"
	.text
	.type	getpwd, @function
getpwd:
.LFB43:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	esi, 0
	mov	edi, 0
	call	getcwd@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L267
	mov	rax, QWORD PTR -8[rbp]
	jmp	.L268
.L267:
	mov	rax, QWORD PTR dash_errno[rip]
	mov	eax, DWORD PTR [rax]
	mov	edi, eax
	call	strerror@PLT
	mov	rsi, rax
	lea	rdi, .LC64[rip]
	mov	eax, 0
	call	sh_warnx
	lea	rax, nullstr[rip]
.L268:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE43:
	.size	getpwd, .-getpwd
	.globl	pwdcmd
	.type	pwdcmd, @function
pwdcmd:
.LFB44:
	.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	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR curdir[rip]
	mov	QWORD PTR -8[rbp], rax
	call	cdopt
	mov	DWORD PTR -12[rbp], eax
	cmp	DWORD PTR -12[rbp], 0
	je	.L270
	mov	rax, QWORD PTR physdir[rip]
	lea	rdx, nullstr[rip]
	cmp	rax, rdx
	jne	.L271
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	setpwd
.L271:
	mov	rax, QWORD PTR physdir[rip]
	mov	QWORD PTR -8[rbp], rax
.L270:
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rax
	lea	rdi, snlfmt[rip]
	mov	eax, 0
	call	out1fmt
	mov	eax, 0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE44:
	.size	pwdcmd, .-pwdcmd
	.section	.rodata
.LC65:
	.string	"PWD"
	.text
	.globl	setpwd
	.type	setpwd, @function
setpwd:
.LFB45:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	mov	rax, QWORD PTR curdir[rip]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -16[rbp], rax
	cmp	DWORD PTR -44[rbp], 0
	je	.L274
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, 1
	mov	rsi, rax
	lea	rdi, .LC59[rip]
	call	setvar
.L274:
	mov	eax, DWORD PTR suppressint[rip]
	add	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	rax, QWORD PTR physdir[rip]
	lea	rdx, nullstr[rip]
	cmp	rax, rdx
	je	.L275
	mov	rax, QWORD PTR physdir[rip]
	cmp	QWORD PTR -16[rbp], rax
	je	.L276
	mov	rax, QWORD PTR physdir[rip]
	mov	rdi, rax
	call	free@PLT
.L276:
	lea	rax, nullstr[rip]
	mov	QWORD PTR physdir[rip], rax
.L275:
	mov	rax, QWORD PTR -16[rbp]
	cmp	rax, QWORD PTR -40[rbp]
	je	.L277
	cmp	QWORD PTR -40[rbp], 0
	jne	.L278
.L277:
	call	getpwd
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR physdir[rip], rax
	cmp	QWORD PTR -40[rbp], 0
	jne	.L283
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR -24[rbp], rax
	jmp	.L283
.L278:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	savestr
	mov	QWORD PTR -24[rbp], rax
	jmp	.L280
.L283:
	nop
.L280:
	mov	rax, QWORD PTR -16[rbp]
	cmp	rax, QWORD PTR -24[rbp]
	je	.L281
	lea	rax, nullstr[rip]
	cmp	QWORD PTR -16[rbp], rax
	je	.L281
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	free@PLT
.L281:
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR curdir[rip], rax
	mov	eax, DWORD PTR suppressint[rip]
	sub	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	eax, DWORD PTR suppressint[rip]
	test	eax, eax
	jne	.L282
	mov	eax, DWORD PTR intpending[rip]
	test	eax, eax
	je	.L282
	call	onint
.L282:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, 1
	mov	rsi, rax
	lea	rdi, .LC65[rip]
	call	setvar
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE45:
	.size	setpwd, .-setpwd
	.globl	handler
	.bss
	.align 8
	.type	handler, @object
	.size	handler, 8
handler:
	.zero	8
	.globl	exception
	.align 4
	.type	exception, @object
	.size	exception, 4
exception:
	.zero	4
	.globl	suppressint
	.align 4
	.type	suppressint, @object
	.size	suppressint, 4
suppressint:
	.zero	4
	.globl	intpending
	.align 4
	.type	intpending, @object
	.size	intpending, 4
intpending:
	.zero	4
	.globl	errlinno
	.align 4
	.type	errlinno, @object
	.size	errlinno, 4
errlinno:
	.zero	4
	.text
	.globl	exraise
	.type	exraise, @function
exraise:
.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	DWORD PTR -4[rbp], edi
	mov	eax, DWORD PTR suppressint[rip]
	add	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	eax, DWORD PTR -4[rbp]
	mov	DWORD PTR exception[rip], eax
	mov	rax, QWORD PTR handler[rip]
	mov	esi, 1
	mov	rdi, rax
	call	longjmp@PLT
	.cfi_endproc
.LFE46:
	.size	exraise, .-exraise
	.globl	onint
	.type	onint, @function
onint:
.LFB47:
	.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 intpending[rip], 0
	call	sigclearmask
	mov	eax, DWORD PTR shlvl[rip]
	test	eax, eax
	jne	.L286
	movzx	eax, BYTE PTR optlist[rip+3]
	test	al, al
	jne	.L287
.L286:
	mov	esi, 0
	mov	edi, 2
	call	signal@PLT
	mov	edi, 2
	call	raise@PLT
.L287:
	mov	edi, 0
	call	exraise
	.cfi_endproc
.LFE47:
	.size	onint, .-onint
	.section	.rodata
.LC66:
	.string	"sh"
.LC67:
	.string	"%s: %d: "
.LC68:
	.string	"%s: %d: %s: "
	.text
	.type	exvwarning2, @function
exvwarning2:
.LFB48:
	.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	QWORD PTR -48[rbp], rsi
	mov	rax, QWORD PTR out2[rip]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR arg0[rip]
	test	rax, rax
	je	.L289
	mov	rax, QWORD PTR arg0[rip]
	jmp	.L290
.L289:
	lea	rax, .LC66[rip]
.L290:
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR commandname[rip]
	test	rax, rax
	jne	.L291
	lea	rax, .LC67[rip]
	mov	QWORD PTR -24[rbp], rax
	jmp	.L292
.L291:
	lea	rax, .LC68[rip]
	mov	QWORD PTR -24[rbp], rax
.L292:
	mov	rdi, QWORD PTR commandname[rip]
	mov	ecx, DWORD PTR errlinno[rip]
	mov	rdx, QWORD PTR -8[rbp]
	mov	rsi, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	r8, rdi
	mov	rdi, rax
	mov	eax, 0
	call	outfmt
	mov	rdx, QWORD PTR -48[rbp]
	mov	rcx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	doformat
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rax
	mov	edi, 10
	call	outcslow
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE48:
	.size	exvwarning2, .-exvwarning2
	.type	exverror, @function
exverror:
.LFB49:
	.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	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	exvwarning2
	call	flushall
	mov	eax, DWORD PTR -4[rbp]
	mov	edi, eax
	call	exraise
	.cfi_endproc
.LFE49:
	.size	exverror, .-exverror
	.globl	sh_error
	.type	sh_error, @function
sh_error:
.LFB50:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 224
	mov	QWORD PTR -216[rbp], rdi
	mov	QWORD PTR -168[rbp], rsi
	mov	QWORD PTR -160[rbp], rdx
	mov	QWORD PTR -152[rbp], rcx
	mov	QWORD PTR -144[rbp], r8
	mov	QWORD PTR -136[rbp], r9
	test	al, al
	je	.L295
	movaps	XMMWORD PTR -128[rbp], xmm0
	movaps	XMMWORD PTR -112[rbp], xmm1
	movaps	XMMWORD PTR -96[rbp], xmm2
	movaps	XMMWORD PTR -80[rbp], xmm3
	movaps	XMMWORD PTR -64[rbp], xmm4
	movaps	XMMWORD PTR -48[rbp], xmm5
	movaps	XMMWORD PTR -32[rbp], xmm6
	movaps	XMMWORD PTR -16[rbp], xmm7
.L295:
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -184[rbp], rax
	xor	eax, eax
	mov	DWORD PTR exitstatus[rip], 2
	mov	DWORD PTR -208[rbp], 8
	mov	DWORD PTR -204[rbp], 48
	lea	rax, 16[rbp]
	mov	QWORD PTR -200[rbp], rax
	lea	rax, -176[rbp]
	mov	QWORD PTR -192[rbp], rax
	lea	rdx, -208[rbp]
	mov	rax, QWORD PTR -216[rbp]
	mov	rsi, rax
	mov	edi, 1
	call	exverror
	.cfi_endproc
.LFE50:
	.size	sh_error, .-sh_error
	.globl	exerror
	.type	exerror, @function
exerror:
.LFB51:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 224
	mov	DWORD PTR -212[rbp], edi
	mov	QWORD PTR -224[rbp], rsi
	mov	QWORD PTR -160[rbp], rdx
	mov	QWORD PTR -152[rbp], rcx
	mov	QWORD PTR -144[rbp], r8
	mov	QWORD PTR -136[rbp], r9
	test	al, al
	je	.L298
	movaps	XMMWORD PTR -128[rbp], xmm0
	movaps	XMMWORD PTR -112[rbp], xmm1
	movaps	XMMWORD PTR -96[rbp], xmm2
	movaps	XMMWORD PTR -80[rbp], xmm3
	movaps	XMMWORD PTR -64[rbp], xmm4
	movaps	XMMWORD PTR -48[rbp], xmm5
	movaps	XMMWORD PTR -32[rbp], xmm6
	movaps	XMMWORD PTR -16[rbp], xmm7
.L298:
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -184[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -208[rbp], 16
	mov	DWORD PTR -204[rbp], 48
	lea	rax, 16[rbp]
	mov	QWORD PTR -200[rbp], rax
	lea	rax, -176[rbp]
	mov	QWORD PTR -192[rbp], rax
	lea	rdx, -208[rbp]
	mov	rcx, QWORD PTR -224[rbp]
	mov	eax, DWORD PTR -212[rbp]
	mov	rsi, rcx
	mov	edi, eax
	call	exverror
	.cfi_endproc
.LFE51:
	.size	exerror, .-exerror
	.globl	sh_warnx
	.type	sh_warnx, @function
sh_warnx:
.LFB52:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 224
	mov	QWORD PTR -216[rbp], rdi
	mov	QWORD PTR -168[rbp], rsi
	mov	QWORD PTR -160[rbp], rdx
	mov	QWORD PTR -152[rbp], rcx
	mov	QWORD PTR -144[rbp], r8
	mov	QWORD PTR -136[rbp], r9
	test	al, al
	je	.L301
	movaps	XMMWORD PTR -128[rbp], xmm0
	movaps	XMMWORD PTR -112[rbp], xmm1
	movaps	XMMWORD PTR -96[rbp], xmm2
	movaps	XMMWORD PTR -80[rbp], xmm3
	movaps	XMMWORD PTR -64[rbp], xmm4
	movaps	XMMWORD PTR -48[rbp], xmm5
	movaps	XMMWORD PTR -32[rbp], xmm6
	movaps	XMMWORD PTR -16[rbp], xmm7
.L301:
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -184[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -208[rbp], 8
	mov	DWORD PTR -204[rbp], 48
	lea	rax, 16[rbp]
	mov	QWORD PTR -200[rbp], rax
	lea	rax, -176[rbp]
	mov	QWORD PTR -192[rbp], rax
	lea	rdx, -208[rbp]
	mov	rax, QWORD PTR -216[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	exvwarning2
	nop
	mov	rax, QWORD PTR -184[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L302
	call	__stack_chk_fail@PLT
.L302:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE52:
	.size	sh_warnx, .-sh_warnx
	.section	.rodata
.LC69:
	.string	"No such file"
.LC70:
	.string	"Directory nonexistent"
.LC71:
	.string	"not found"
	.text
	.globl	errmsg
	.type	errmsg, @function
errmsg:
.LFB53:
	.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	DWORD PTR -8[rbp], esi
	cmp	DWORD PTR -4[rbp], 2
	je	.L304
	cmp	DWORD PTR -4[rbp], 20
	je	.L304
	mov	eax, DWORD PTR -4[rbp]
	mov	edi, eax
	call	strerror@PLT
	jmp	.L305
.L304:
	mov	eax, DWORD PTR -8[rbp]
	and	eax, 1
	test	eax, eax
	je	.L306
	lea	rax, .LC69[rip]
	jmp	.L305
.L306:
	mov	eax, DWORD PTR -8[rbp]
	and	eax, 2
	test	eax, eax
	je	.L307
	lea	rax, .LC70[rip]
	jmp	.L305
.L307:
	lea	rax, .LC71[rip]
.L305:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE53:
	.size	errmsg, .-errmsg
	.globl	evalskip
	.bss
	.align 4
	.type	evalskip, @object
	.size	evalskip, 4
evalskip:
	.zero	4
	.local	skipcount
	.comm	skipcount,4,4
	.globl	loopnest
	.align 4
	.type	loopnest, @object
	.size	loopnest, 4
loopnest:
	.zero	4
	.local	funcline
	.comm	funcline,4,4
	.globl	commandname
	.align 8
	.type	commandname, @object
	.size	commandname, 8
commandname:
	.zero	8
	.globl	exitstatus
	.align 4
	.type	exitstatus, @object
	.size	exitstatus, 4
exitstatus:
	.zero	4
	.globl	back_exitstatus
	.align 4
	.type	back_exitstatus, @object
	.size	back_exitstatus, 4
back_exitstatus:
	.zero	4
	.section	.data.rel.ro.local
	.align 16
	.type	bltin, @object
	.size	bltin, 24
bltin:
	.quad	nullstr
	.quad	bltincmd
	.zero	8
	.text
	.type	doevalcmd, @function
doevalcmd:
.LFB54:
	.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	DWORD PTR -40[rbp], edx
	cmp	DWORD PTR -36[rbp], 1
	jle	.L309
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -24[rbp], rax
	cmp	DWORD PTR -36[rbp], 2
	jle	.L310
	mov	rax, QWORD PTR stacknxt[rip]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 16
	mov	QWORD PTR -8[rbp], rax
.L313:
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	stputs
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 8[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], 0
	je	.L316
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rax
	mov	edi, 32
	call	_STPUTC
	mov	QWORD PTR -16[rbp], rax
	jmp	.L313
.L316:
	nop
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rax
	mov	edi, 0
	call	_STPUTC
	mov	QWORD PTR -16[rbp], rax
	mov	rdx, QWORD PTR stacknxt[rip]
	mov	rax, QWORD PTR -16[rbp]
	sub	rax, rdx
	mov	rdi, rax
	call	stalloc
	mov	QWORD PTR -24[rbp], rax
.L310:
	mov	eax, DWORD PTR -40[rbp]
	and	eax, 2
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	evalstring
	jmp	.L314
.L309:
	mov	eax, 0
.L314:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE54:
	.size	doevalcmd, .-doevalcmd
	.globl	evalstring
	.type	evalstring, @function
evalstring:
.LFB55:
	.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	DWORD PTR -60[rbp], esi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	setinputstring
	lea	rax, -32[rbp]
	mov	rdi, rax
	call	setstackmark
	mov	DWORD PTR -44[rbp], 0
	jmp	.L318
.L320:
	call	parser_eof
	test	eax, eax
	sete	al
	movzx	eax, al
	not	eax
	and	eax, DWORD PTR -60[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	evaltree
	mov	eax, DWORD PTR exitstatus[rip]
	mov	DWORD PTR -44[rbp], eax
	lea	rax, -32[rbp]
	mov	rdi, rax
	call	popstackmark
	mov	eax, DWORD PTR evalskip[rip]
	test	eax, eax
	jne	.L323
.L318:
	mov	edi, 0
	call	parsecmd
	mov	QWORD PTR -40[rbp], rax
	lea	rax, tokpushback[rip]
	cmp	QWORD PTR -40[rbp], rax
	jne	.L320
	jmp	.L319
.L323:
	nop
.L319:
	call	popfile
	mov	eax, DWORD PTR -44[rbp]
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L322
	call	__stack_chk_fail@PLT
.L322:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE55:
	.size	evalstring, .-evalstring
	.globl	evaltree
	.type	evaltree, @function
evaltree:
.LFB56:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	mov	DWORD PTR -20[rbp], 0
	cmp	QWORD PTR -40[rbp], 0
	je	.L357
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 14
	ja	.L327
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L329[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L329[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L329:
	.long	.L338-.L329
	.long	.L337-.L329
	.long	.L336-.L329
	.long	.L335-.L329
	.long	.L335-.L329
	.long	.L334-.L329
	.long	.L334-.L329
	.long	.L334-.L329
	.long	.L333-.L329
	.long	.L332-.L329
	.long	.L332-.L329
	.long	.L331-.L329
	.long	.L330-.L329
	.long	.L327-.L329
	.long	.L328-.L329
	.text
.L327:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	esi, 2
	mov	rdi, rax
	call	evaltree
	mov	eax, DWORD PTR exitstatus[rip]
	test	eax, eax
	sete	al
	movzx	eax, al
	mov	DWORD PTR -16[rbp], eax
	jmp	.L339
.L336:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 4[rax]
	mov	DWORD PTR lineno[rip], eax
	mov	eax, DWORD PTR lineno[rip]
	mov	DWORD PTR errlinno[rip], eax
	mov	eax, DWORD PTR funcline[rip]
	test	eax, eax
	je	.L340
	mov	eax, DWORD PTR lineno[rip]
	mov	edx, DWORD PTR funcline[rip]
	sub	edx, 1
	sub	eax, edx
	mov	DWORD PTR lineno[rip], eax
.L340:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdi, rax
	call	expredir
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdi, rax
	call	pushredir
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	esi, 1
	mov	rdi, rax
	call	redirectsafe
	mov	DWORD PTR -16[rbp], eax
	cmp	DWORD PTR -16[rbp], 0
	jne	.L341
	mov	eax, DWORD PTR -44[rbp]
	and	eax, 2
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	esi, edx
	mov	rdi, rax
	call	evaltree
	mov	eax, DWORD PTR exitstatus[rip]
	mov	DWORD PTR -16[rbp], eax
.L341:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	test	rax, rax
	je	.L358
	mov	edi, 0
	call	popredir
	jmp	.L358
.L338:
	lea	rax, evalcommand[rip]
	mov	QWORD PTR -8[rbp], rax
.L343:
	movzx	eax, BYTE PTR optlist[rip]
	test	al, al
	je	.L359
	mov	eax, DWORD PTR -44[rbp]
	and	eax, 2
	test	eax, eax
	jne	.L359
	mov	DWORD PTR -20[rbp], -1
	jmp	.L359
.L331:
	lea	rax, evalfor[rip]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L345
.L332:
	lea	rax, evalloop[rip]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L345
.L335:
	lea	rax, evalsubshell[rip]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L343
.L337:
	lea	rax, evalpipe[rip]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L343
.L330:
	lea	rax, evalcase[rip]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L345
.L334:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR [rax]
	sub	eax, 5
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
	shr	eax
	lea	edx, -1[rax]
	mov	eax, DWORD PTR -44[rbp]
	or	eax, edx
	and	eax, 2
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	esi, edx
	mov	rdi, rax
	call	evaltree
	mov	eax, DWORD PTR exitstatus[rip]
	test	eax, eax
	sete	al
	movzx	eax, al
	cmp	DWORD PTR -12[rbp], eax
	je	.L360
	mov	eax, DWORD PTR evalskip[rip]
	test	eax, eax
	jne	.L361
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -40[rbp], rax
.L348:
	lea	rax, evaltree[rip]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L345
.L359:
	nop
.L345:
	mov	edx, DWORD PTR -44[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR -8[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	rcx
	jmp	.L326
.L333:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	esi, 2
	mov	rdi, rax
	call	evaltree
	mov	eax, DWORD PTR evalskip[rip]
	test	eax, eax
	jne	.L362
	mov	eax, DWORD PTR exitstatus[rip]
	test	eax, eax
	jne	.L350
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -40[rbp], rax
	jmp	.L348
.L350:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 24[rax]
	test	rax, rax
	je	.L363
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -40[rbp], rax
	jmp	.L348
.L328:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	defun
	jmp	.L352
.L363:
	nop
.L352:
	mov	DWORD PTR -16[rbp], 0
	jmp	.L339
.L358:
	nop
.L339:
	mov	eax, DWORD PTR -16[rbp]
	mov	DWORD PTR exitstatus[rip], eax
	jmp	.L326
.L357:
	nop
	jmp	.L326
.L360:
	nop
	jmp	.L326
.L361:
	nop
	jmp	.L326
.L362:
	nop
.L326:
	mov	eax, DWORD PTR exitstatus[rip]
	and	eax, DWORD PTR -20[rbp]
	test	eax, eax
	jne	.L364
	mov	eax, DWORD PTR pendingsigs[rip]
	test	eax, eax
	je	.L355
	call	dotrap
.L355:
	mov	eax, DWORD PTR -44[rbp]
	and	eax, 1
	test	eax, eax
	je	.L365
	jmp	.L354
.L364:
	nop
.L354:
	mov	edi, 4
	call	exraise
.L365:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE56:
	.size	evaltree, .-evaltree
	.type	evaltreenr, @function
evaltreenr:
.LFB57:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	mov	edx, DWORD PTR -12[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	evaltree
	call	abort@PLT
	.cfi_endproc
.LFE57:
	.size	evaltreenr, .-evaltreenr
	.type	evalloop, @function
evalloop:
.LFB58:
	.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 -28[rbp], esi
	mov	eax, DWORD PTR loopnest[rip]
	add	eax, 1
	mov	DWORD PTR loopnest[rip], eax
	mov	DWORD PTR -8[rbp], 0
	and	DWORD PTR -28[rbp], 2
.L376:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	esi, 2
	mov	rdi, rax
	call	evaltree
	mov	eax, DWORD PTR evalskip[rip]
	test	eax, eax
	je	.L368
	nop
	jmp	.L369
.L379:
	nop
.L369:
	mov	eax, DWORD PTR evalskip[rip]
	cmp	eax, 2
	jne	.L370
	mov	eax, DWORD PTR skipcount[rip]
	sub	eax, 1
	mov	DWORD PTR skipcount[rip], eax
	mov	eax, DWORD PTR skipcount[rip]
	test	eax, eax
	jg	.L370
	mov	DWORD PTR evalskip[rip], 0
	jmp	.L371
.L370:
	mov	eax, DWORD PTR evalskip[rip]
	cmp	eax, 1
	jne	.L377
	mov	eax, DWORD PTR skipcount[rip]
	sub	eax, 1
	mov	DWORD PTR skipcount[rip], eax
	mov	eax, DWORD PTR skipcount[rip]
	test	eax, eax
	jg	.L377
	mov	DWORD PTR evalskip[rip], 0
	jmp	.L377
.L368:
	mov	eax, DWORD PTR exitstatus[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 9
	je	.L374
	cmp	DWORD PTR -4[rbp], 0
	sete	al
	movzx	eax, al
	mov	DWORD PTR -4[rbp], eax
.L374:
	cmp	DWORD PTR -4[rbp], 0
	jne	.L378
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	edx, DWORD PTR -28[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	evaltree
	mov	eax, DWORD PTR exitstatus[rip]
	mov	DWORD PTR -8[rbp], eax
	mov	eax, DWORD PTR evalskip[rip]
	test	eax, eax
	jne	.L379
.L371:
	jmp	.L376
.L377:
	nop
	jmp	.L373
.L378:
	nop
.L373:
	mov	eax, DWORD PTR loopnest[rip]
	sub	eax, 1
	mov	DWORD PTR loopnest[rip], eax
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR exitstatus[rip], eax
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE58:
	.size	evalloop, .-evalloop
	.type	evalfor, @function
evalfor:
.LFB59:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -72[rbp], rdi
	mov	DWORD PTR -76[rbp], esi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 4[rax]
	mov	DWORD PTR lineno[rip], eax
	mov	eax, DWORD PTR lineno[rip]
	mov	DWORD PTR errlinno[rip], eax
	mov	eax, DWORD PTR funcline[rip]
	test	eax, eax
	je	.L381
	mov	eax, DWORD PTR lineno[rip]
	mov	edx, DWORD PTR funcline[rip]
	sub	edx, 1
	sub	eax, edx
	mov	DWORD PTR lineno[rip], eax
.L381:
	lea	rax, -32[rbp]
	mov	rdi, rax
	call	setstackmark
	lea	rax, -48[rbp]
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -64[rbp], rax
	jmp	.L382
.L385:
	lea	rcx, -48[rbp]
	mov	rax, QWORD PTR -64[rbp]
	mov	edx, 3
	mov	rsi, rcx
	mov	rdi, rax
	call	expandarg
	mov	eax, DWORD PTR evalskip[rip]
	test	eax, eax
	jne	.L393
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -64[rbp], rax
.L382:
	cmp	QWORD PTR -64[rbp], 0
	jne	.L385
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR [rax], 0
	mov	DWORD PTR exitstatus[rip], 0
	mov	eax, DWORD PTR loopnest[rip]
	add	eax, 1
	mov	DWORD PTR loopnest[rip], eax
	and	DWORD PTR -76[rbp], 2
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR -56[rbp], rax
	jmp	.L386
.L391:
	mov	rax, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	setvar
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	edx, DWORD PTR -76[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	evaltree
	mov	eax, DWORD PTR evalskip[rip]
	test	eax, eax
	je	.L387
	mov	eax, DWORD PTR evalskip[rip]
	cmp	eax, 2
	jne	.L388
	mov	eax, DWORD PTR skipcount[rip]
	sub	eax, 1
	mov	DWORD PTR skipcount[rip], eax
	mov	eax, DWORD PTR skipcount[rip]
	test	eax, eax
	jg	.L388
	mov	DWORD PTR evalskip[rip], 0
	jmp	.L387
.L388:
	mov	eax, DWORD PTR evalskip[rip]
	cmp	eax, 1
	jne	.L394
	mov	eax, DWORD PTR skipcount[rip]
	sub	eax, 1
	mov	DWORD PTR skipcount[rip], eax
	mov	eax, DWORD PTR skipcount[rip]
	test	eax, eax
	jg	.L394
	mov	DWORD PTR evalskip[rip], 0
	jmp	.L394
.L387:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -56[rbp], rax
.L386:
	cmp	QWORD PTR -56[rbp], 0
	jne	.L391
	jmp	.L390
.L394:
	nop
.L390:
	mov	eax, DWORD PTR loopnest[rip]
	sub	eax, 1
	mov	DWORD PTR loopnest[rip], eax
	jmp	.L384
.L393:
	nop
.L384:
	lea	rax, -32[rbp]
	mov	rdi, rax
	call	popstackmark
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L392
	call	__stack_chk_fail@PLT
.L392:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE59:
	.size	evalfor, .-evalfor
	.type	evalcase, @function
evalcase:
.LFB60:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -72[rbp], rdi
	mov	DWORD PTR -76[rbp], esi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 4[rax]
	mov	DWORD PTR lineno[rip], eax
	mov	eax, DWORD PTR lineno[rip]
	mov	DWORD PTR errlinno[rip], eax
	mov	eax, DWORD PTR funcline[rip]
	test	eax, eax
	je	.L396
	mov	eax, DWORD PTR lineno[rip]
	mov	edx, DWORD PTR funcline[rip]
	sub	edx, 1
	sub	eax, edx
	mov	DWORD PTR lineno[rip], eax
.L396:
	lea	rax, -32[rbp]
	mov	rdi, rax
	call	setstackmark
	lea	rax, -48[rbp]
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 8[rax]
	lea	rcx, -48[rbp]
	mov	edx, 2
	mov	rsi, rcx
	mov	rdi, rax
	call	expandarg
	mov	DWORD PTR exitstatus[rip], 0
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -64[rbp], rax
	jmp	.L397
.L403:
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -56[rbp], rax
	jmp	.L398
.L402:
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	casematch
	test	eax, eax
	je	.L399
	mov	eax, DWORD PTR evalskip[rip]
	test	eax, eax
	jne	.L405
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	edx, DWORD PTR -76[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	evaltree
	jmp	.L405
.L399:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -56[rbp], rax
.L398:
	cmp	QWORD PTR -56[rbp], 0
	jne	.L402
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -64[rbp], rax
.L397:
	cmp	QWORD PTR -64[rbp], 0
	je	.L406
	mov	eax, DWORD PTR evalskip[rip]
	test	eax, eax
	je	.L403
	jmp	.L406
.L405:
	nop
	jmp	.L401
.L406:
	nop
.L401:
	lea	rax, -32[rbp]
	mov	rdi, rax
	call	popstackmark
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L404
	call	__stack_chk_fail@PLT
.L404:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE60:
	.size	evalcase, .-evalcase
	.type	evalsubshell, @function
evalsubshell:
.LFB61:
	.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 -28[rbp], esi
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 3
	sete	al
	movzx	eax, al
	mov	DWORD PTR -12[rbp], eax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 4[rax]
	mov	DWORD PTR lineno[rip], eax
	mov	eax, DWORD PTR lineno[rip]
	mov	DWORD PTR errlinno[rip], eax
	mov	eax, DWORD PTR funcline[rip]
	test	eax, eax
	je	.L408
	mov	eax, DWORD PTR lineno[rip]
	mov	edx, DWORD PTR funcline[rip]
	sub	edx, 1
	sub	eax, edx
	mov	DWORD PTR lineno[rip], eax
.L408:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdi, rax
	call	expredir
	cmp	DWORD PTR -12[rbp], 0
	jne	.L409
	mov	eax, DWORD PTR -28[rbp]
	and	eax, 1
	test	eax, eax
	je	.L409
	call	have_traps
	test	eax, eax
	je	.L415
.L409:
	mov	eax, DWORD PTR suppressint[rip]
	add	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	makejob
	mov	QWORD PTR -8[rbp], rax
	mov	edx, DWORD PTR -12[rbp]
	mov	rcx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	forkshell
	test	eax, eax
	jne	.L411
	mov	eax, DWORD PTR suppressint[rip]
	sub	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	eax, DWORD PTR suppressint[rip]
	test	eax, eax
	jne	.L412
	mov	eax, DWORD PTR intpending[rip]
	test	eax, eax
	je	.L412
	call	onint
.L412:
	or	DWORD PTR -28[rbp], 1
	cmp	DWORD PTR -12[rbp], 0
	je	.L416
	and	DWORD PTR -28[rbp], -3
	jmp	.L410
.L415:
	nop
	jmp	.L410
.L416:
	nop
.L410:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	esi, 0
	mov	rdi, rax
	call	redirect
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	edx, DWORD PTR -28[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	evaltreenr
.L411:
	mov	DWORD PTR -16[rbp], 0
	cmp	DWORD PTR -12[rbp], 0
	jne	.L413
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	waitforjob
	mov	DWORD PTR -16[rbp], eax
.L413:
	mov	eax, DWORD PTR -16[rbp]
	mov	DWORD PTR exitstatus[rip], eax
	mov	eax, DWORD PTR suppressint[rip]
	sub	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	eax, DWORD PTR suppressint[rip]
	test	eax, eax
	jne	.L417
	mov	eax, DWORD PTR intpending[rip]
	test	eax, eax
	je	.L417
	call	onint
.L417:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE61:
	.size	evalsubshell, .-evalsubshell
	.type	expredir, @function
expredir:
.LFB62:
	.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	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR -40[rbp], rax
	jmp	.L419
.L425:
	lea	rax, -32[rbp]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 20
	jg	.L420
	cmp	eax, 16
	jge	.L421
	jmp	.L422
.L420:
	sub	eax, 21
	cmp	eax, 1
	ja	.L422
	jmp	.L427
.L421:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 24[rax]
	lea	rcx, -32[rbp]
	mov	edx, 10
	mov	rsi, rcx
	mov	rdi, rax
	call	expandarg
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR 32[rax], rdx
	jmp	.L422
.L427:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 24[rax]
	test	rax, rax
	je	.L428
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 24[rax]
	lea	rcx, -32[rbp]
	mov	edx, 3
	mov	rsi, rcx
	mov	rdi, rax
	call	expandarg
	mov	rax, QWORD PTR -32[rbp]
	mov	rcx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, 1
	mov	rsi, rcx
	mov	rdi, rax
	call	fixredir
.L428:
	nop
.L422:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -40[rbp], rax
.L419:
	cmp	QWORD PTR -40[rbp], 0
	jne	.L425
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L426
	call	__stack_chk_fail@PLT
.L426:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE62:
	.size	expredir, .-expredir
	.section	.rodata
.LC72:
	.string	"Pipe call failed"
	.text
	.type	evalpipe, @function
evalpipe:
.LFB63:
	.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	DWORD PTR -60[rbp], esi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -40[rbp], 0
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -32[rbp], rax
	jmp	.L430
.L431:
	add	DWORD PTR -40[rbp], 1
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -32[rbp], rax
.L430:
	cmp	QWORD PTR -32[rbp], 0
	jne	.L431
	or	DWORD PTR -60[rbp], 1
	mov	eax, DWORD PTR suppressint[rip]
	add	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	edx, DWORD PTR -40[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	makejob
	mov	QWORD PTR -24[rbp], rax
	mov	DWORD PTR -36[rbp], -1
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -32[rbp], rax
	jmp	.L432
.L440:
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	prehash
	mov	DWORD PTR -12[rbp], -1
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L433
	lea	rax, -16[rbp]
	mov	rdi, rax
	call	pipe@PLT
	test	eax, eax
	jns	.L433
	mov	eax, DWORD PTR -36[rbp]
	mov	edi, eax
	call	close@PLT
	lea	rdi, .LC72[rip]
	mov	eax, 0
	call	sh_error
.L433:
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	rcx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	forkshell
	test	eax, eax
	jne	.L434
	mov	eax, DWORD PTR suppressint[rip]
	sub	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	eax, DWORD PTR suppressint[rip]
	test	eax, eax
	jne	.L435
	mov	eax, DWORD PTR intpending[rip]
	test	eax, eax
	je	.L435
	call	onint
.L435:
	mov	eax, DWORD PTR -12[rbp]
	test	eax, eax
	js	.L436
	mov	eax, DWORD PTR -16[rbp]
	mov	edi, eax
	call	close@PLT
.L436:
	cmp	DWORD PTR -36[rbp], 0
	jle	.L437
	mov	eax, DWORD PTR -36[rbp]
	mov	esi, 0
	mov	edi, eax
	call	dup2@PLT
	mov	eax, DWORD PTR -36[rbp]
	mov	edi, eax
	call	close@PLT
.L437:
	mov	eax, DWORD PTR -12[rbp]
	cmp	eax, 1
	jle	.L438
	mov	eax, DWORD PTR -12[rbp]
	mov	esi, 1
	mov	edi, eax
	call	dup2@PLT
	mov	eax, DWORD PTR -12[rbp]
	mov	edi, eax
	call	close@PLT
.L438:
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	edx, DWORD PTR -60[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	evaltreenr
.L434:
	cmp	DWORD PTR -36[rbp], 0
	js	.L439
	mov	eax, DWORD PTR -36[rbp]
	mov	edi, eax
	call	close@PLT
.L439:
	mov	eax, DWORD PTR -16[rbp]
	mov	DWORD PTR -36[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
	mov	edi, eax
	call	close@PLT
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -32[rbp], rax
.L432:
	cmp	QWORD PTR -32[rbp], 0
	jne	.L440
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 4[rax]
	test	eax, eax
	jne	.L441
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	waitforjob
	mov	DWORD PTR exitstatus[rip], eax
.L441:
	mov	eax, DWORD PTR suppressint[rip]
	sub	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	eax, DWORD PTR suppressint[rip]
	test	eax, eax
	jne	.L442
	mov	eax, DWORD PTR intpending[rip]
	test	eax, eax
	je	.L442
	call	onint
.L442:
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L443
	call	__stack_chk_fail@PLT
.L443:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE63:
	.size	evalpipe, .-evalpipe
	.globl	evalbackcmd
	.type	evalbackcmd, @function
evalbackcmd:
.LFB64:
	.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	QWORD PTR -48[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR [rax], -1
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR 8[rax], 0
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR 16[rax], 0
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR 24[rax], 0
	cmp	QWORD PTR -40[rbp], 0
	je	.L452
	lea	rax, -16[rbp]
	mov	rdi, rax
	call	pipe@PLT
	test	eax, eax
	jns	.L447
	lea	rdi, .LC72[rip]
	mov	eax, 0
	call	sh_error
.L447:
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	makejob
	mov	QWORD PTR -24[rbp], rax
	mov	rcx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, 2
	mov	rsi, rcx
	mov	rdi, rax
	call	forkshell
	test	eax, eax
	jne	.L448
	mov	DWORD PTR suppressint[rip], 0
	mov	eax, DWORD PTR intpending[rip]
	test	eax, eax
	je	.L449
	call	onint
.L449:
	mov	eax, DWORD PTR -16[rbp]
	mov	edi, eax
	call	close@PLT
	mov	eax, DWORD PTR -12[rbp]
	cmp	eax, 1
	je	.L450
	mov	eax, DWORD PTR -12[rbp]
	mov	esi, 1
	mov	edi, eax
	call	dup2@PLT
	mov	eax, DWORD PTR -12[rbp]
	mov	edi, eax
	call	close@PLT
.L450:
	call	ifsfree
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	evaltreenr
.L448:
	mov	eax, DWORD PTR -12[rbp]
	mov	edi, eax
	call	close@PLT
	mov	edx, DWORD PTR -16[rbp]
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 24[rax], rdx
	jmp	.L446
.L452:
	nop
.L446:
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L451
	call	__stack_chk_fail@PLT
.L451:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE64:
	.size	evalbackcmd, .-evalbackcmd
	.type	parse_command_args, @function
parse_command_args:
.LFB65:
	.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
.L464:
	add	QWORD PTR -24[rbp], 8
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L454
	mov	eax, 0
	jmp	.L455
.L454:
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -8[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 45
	jne	.L466
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -8[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -9[rbp], al
	cmp	BYTE PTR -9[rbp], 0
	je	.L467
	cmp	BYTE PTR -9[rbp], 45
	jne	.L463
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L463
	add	QWORD PTR -24[rbp], 8
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L468
	mov	eax, 0
	jmp	.L455
.L463:
	movsx	eax, BYTE PTR -9[rbp]
	cmp	eax, 112
	jne	.L461
	lea	rdx, defpathvar[rip+5]
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L465
.L461:
	mov	eax, 0
	jmp	.L455
.L465:
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -8[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -9[rbp], al
	cmp	BYTE PTR -9[rbp], 0
	jne	.L463
	jmp	.L464
.L466:
	nop
	jmp	.L457
.L467:
	nop
	jmp	.L457
.L468:
	nop
.L457:
	mov	rax, QWORD PTR -24[rbp]
.L455:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE65:
	.size	parse_command_args, .-parse_command_args
	.section	.rodata
.LC73:
	.string	"_"
	.text
	.type	evalcommand, @function
evalcommand:
.LFB66:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 240
	mov	QWORD PTR -232[rbp], rdi
	mov	DWORD PTR -236[rbp], esi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -232[rbp]
	mov	eax, DWORD PTR 4[rax]
	mov	DWORD PTR lineno[rip], eax
	mov	eax, DWORD PTR lineno[rip]
	mov	DWORD PTR errlinno[rip], eax
	mov	eax, DWORD PTR funcline[rip]
	test	eax, eax
	je	.L470
	mov	eax, DWORD PTR lineno[rip]
	mov	edx, DWORD PTR funcline[rip]
	sub	edx, 1
	sub	eax, edx
	mov	DWORD PTR lineno[rip], eax
.L470:
	lea	rax, -32[rbp]
	mov	rdi, rax
	call	setstackmark
	call	pushlocalvars
	mov	QWORD PTR -144[rbp], rax
	mov	DWORD PTR back_exitstatus[rip], 0
	mov	DWORD PTR -48[rbp], 2
	lea	rax, bltin[rip]
	mov	QWORD PTR -40[rbp], rax
	lea	rax, -64[rbp]
	mov	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR [rax], 0
	lea	rax, -80[rbp]
	mov	QWORD PTR -72[rbp], rax
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR [rax], 0
	mov	DWORD PTR -224[rbp], 0
	mov	rax, QWORD PTR -232[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -184[rbp], rax
	jmp	.L471
.L474:
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR -88[rbp], rax
	lea	rcx, -80[rbp]
	mov	rax, QWORD PTR -184[rbp]
	mov	edx, 3
	mov	rsi, rcx
	mov	rdi, rax
	call	expandarg
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -168[rbp], rax
	jmp	.L472
.L473:
	add	DWORD PTR -224[rbp], 1
	mov	rax, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -168[rbp], rax
.L472:
	cmp	QWORD PTR -168[rbp], 0
	jne	.L473
	mov	rax, QWORD PTR -184[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -184[rbp], rax
.L471:
	cmp	QWORD PTR -184[rbp], 0
	jne	.L474
	mov	eax, DWORD PTR -224[rbp]
	add	eax, 2
	cdqe
	sal	rax, 3
	mov	rdi, rax
	call	stalloc
	mov	QWORD PTR -152[rbp], rax
	add	QWORD PTR -152[rbp], 8
	mov	rax, QWORD PTR -152[rbp]
	mov	QWORD PTR -176[rbp], rax
	mov	rax, QWORD PTR -80[rbp]
	mov	QWORD PTR -168[rbp], rax
	jmp	.L475
.L476:
	mov	rax, QWORD PTR -152[rbp]
	lea	rdx, 8[rax]
	mov	QWORD PTR -152[rbp], rdx
	mov	rdx, QWORD PTR -168[rbp]
	mov	rdx, QWORD PTR 8[rdx]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -168[rbp], rax
.L475:
	cmp	QWORD PTR -168[rbp], 0
	jne	.L476
	mov	rax, QWORD PTR -152[rbp]
	mov	QWORD PTR [rax], 0
	mov	QWORD PTR -160[rbp], 0
	movzx	eax, BYTE PTR optlist[rip+3]
	test	al, al
	je	.L477
	mov	eax, DWORD PTR funcline[rip]
	test	eax, eax
	jne	.L477
	cmp	DWORD PTR -224[rbp], 0
	jle	.L477
	mov	rax, QWORD PTR -152[rbp]
	mov	rax, QWORD PTR -8[rax]
	mov	QWORD PTR -160[rbp], rax
.L477:
	mov	DWORD PTR preverrout[rip+32], 2
	mov	rax, QWORD PTR -232[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	rdi, rax
	call	expredir
	mov	rax, QWORD PTR -232[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	rdi, rax
	call	pushredir
	mov	QWORD PTR -136[rbp], rax
	mov	rax, QWORD PTR -232[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	esi, 3
	mov	rdi, rax
	call	redirectsafe
	mov	DWORD PTR -212[rbp], eax
	lea	rax, varinit[rip+96]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -192[rbp], rax
	mov	rax, QWORD PTR -232[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -184[rbp], rax
	jmp	.L478
.L480:
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR -104[rbp], rax
	lea	rcx, -64[rbp]
	mov	rax, QWORD PTR -184[rbp]
	mov	edx, 4
	mov	rsi, rcx
	mov	rdi, rax
	call	expandarg
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	mklocal
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -96[rbp], rax
	mov	rdx, QWORD PTR -192[rbp]
	mov	rax, QWORD PTR -96[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	varequal
	test	eax, eax
	je	.L479
	mov	rax, QWORD PTR -96[rbp]
	mov	QWORD PTR -192[rbp], rax
.L479:
	mov	rax, QWORD PTR -184[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -184[rbp], rax
.L478:
	cmp	QWORD PTR -184[rbp], 0
	jne	.L480
	movzx	eax, BYTE PTR optlist[rip+7]
	test	al, al
	je	.L481
	lea	rax, preverrout[rip]
	mov	QWORD PTR -128[rbp], rax
	lea	rax, varinit[rip+192]
	mov	rax, QWORD PTR 16[rax]
	add	rax, 4
	mov	rdi, rax
	call	expandstr
	mov	rdx, rax
	mov	rax, QWORD PTR -128[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	call	outstr
	mov	DWORD PTR -204[rbp], 0
	mov	rcx, QWORD PTR -64[rbp]
	mov	edx, DWORD PTR -204[rbp]
	mov	rax, QWORD PTR -128[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	eprintlist
	mov	DWORD PTR -204[rbp], eax
	mov	rcx, QWORD PTR -80[rbp]
	mov	edx, DWORD PTR -204[rbp]
	mov	rax, QWORD PTR -128[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	eprintlist
	mov	rax, QWORD PTR -128[rbp]
	mov	rsi, rax
	mov	edi, 10
	call	outcslow
.L481:
	mov	DWORD PTR -216[rbp], 0
	mov	DWORD PTR -220[rbp], -1
	cmp	DWORD PTR -224[rbp], 0
	je	.L482
	mov	DWORD PTR -208[rbp], 1
	mov	rax, QWORD PTR -192[rbp]
	add	rax, 5
	mov	QWORD PTR -192[rbp], rax
	mov	rax, QWORD PTR -192[rbp]
	mov	QWORD PTR -120[rbp], rax
.L490:
	mov	rcx, QWORD PTR -192[rbp]
	mov	rax, QWORD PTR -176[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -208[rbp]
	lea	rsi, -48[rbp]
	mov	rdi, rax
	call	find_command
	mov	eax, DWORD PTR -48[rbp]
	cmp	eax, -1
	jne	.L483
	mov	DWORD PTR -212[rbp], 127
	jmp	.L484
.L483:
	mov	eax, DWORD PTR -48[rbp]
	cmp	eax, 2
	jne	.L514
	cmp	DWORD PTR -220[rbp], 0
	jns	.L486
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 16[rax]
	and	eax, 1
	mov	DWORD PTR -220[rbp], eax
.L486:
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, builtincmd[rip+312]
	cmp	rax, rdx
	jne	.L487
	add	DWORD PTR -216[rbp], 1
.L487:
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, builtincmd[rip+216]
	cmp	rax, rdx
	jne	.L515
	mov	rax, QWORD PTR -120[rbp]
	mov	QWORD PTR -192[rbp], rax
	lea	rdx, -192[rbp]
	mov	rax, QWORD PTR -176[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	parse_command_args
	mov	QWORD PTR -152[rbp], rax
	cmp	QWORD PTR -152[rbp], 0
	je	.L516
	mov	rax, QWORD PTR -152[rbp]
	sub	rax, QWORD PTR -176[rbp]
	sar	rax, 3
	neg	rax
	mov	edx, eax
	mov	eax, DWORD PTR -224[rbp]
	add	eax, edx
	mov	DWORD PTR -224[rbp], eax
	mov	rax, QWORD PTR -152[rbp]
	mov	QWORD PTR -176[rbp], rax
	or	DWORD PTR -208[rbp], 4
	jmp	.L490
.L514:
	nop
	jmp	.L482
.L515:
	nop
	jmp	.L482
.L516:
	nop
.L482:
	cmp	DWORD PTR -212[rbp], 0
	je	.L491
	nop
.L484:
	mov	eax, DWORD PTR -212[rbp]
	mov	DWORD PTR exitstatus[rip], eax
	cmp	DWORD PTR -220[rbp], 0
	jle	.L517
	mov	edi, 1
	call	exraise
.L491:
	mov	eax, DWORD PTR -48[rbp]
	cmp	eax, 1
	je	.L494
	cmp	eax, 2
	je	.L495
	mov	eax, DWORD PTR -236[rbp]
	and	eax, 1
	test	eax, eax
	je	.L496
	call	have_traps
	test	eax, eax
	je	.L497
.L496:
	mov	eax, DWORD PTR suppressint[rip]
	add	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	rax, QWORD PTR -232[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	makejob
	mov	QWORD PTR -112[rbp], rax
	mov	rcx, QWORD PTR -232[rbp]
	mov	rax, QWORD PTR -112[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	forkshell
	test	eax, eax
	je	.L498
	mov	rax, QWORD PTR -112[rbp]
	mov	rdi, rax
	call	waitforjob
	mov	DWORD PTR exitstatus[rip], eax
	mov	eax, DWORD PTR suppressint[rip]
	sub	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	eax, DWORD PTR suppressint[rip]
	test	eax, eax
	jne	.L518
	mov	eax, DWORD PTR intpending[rip]
	test	eax, eax
	je	.L518
	call	onint
	jmp	.L518
.L498:
	mov	DWORD PTR suppressint[rip], 0
	mov	eax, DWORD PTR intpending[rip]
	test	eax, eax
	je	.L497
	call	onint
.L497:
	mov	rax, QWORD PTR -64[rbp]
	mov	esi, 17
	mov	rdi, rax
	call	listsetvar
	mov	edx, DWORD PTR -40[rbp]
	mov	rcx, QWORD PTR -192[rbp]
	mov	rax, QWORD PTR -176[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	shellexec
.L495:
	cmp	DWORD PTR -220[rbp], 0
	jg	.L501
	cmp	DWORD PTR -224[rbp], 0
	jne	.L502
.L501:
	mov	edi, 1
	call	poplocalvars
	cmp	DWORD PTR -216[rbp], 0
	je	.L502
	cmp	DWORD PTR -224[rbp], 1
	jle	.L502
	mov	rax, QWORD PTR -64[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	listsetvar
.L502:
	mov	rax, QWORD PTR -40[rbp]
	mov	ecx, DWORD PTR -236[rbp]
	mov	rdx, QWORD PTR -176[rbp]
	mov	esi, DWORD PTR -224[rbp]
	mov	rdi, rax
	call	evalbltin
	test	eax, eax
	je	.L519
	mov	eax, DWORD PTR exception[rip]
	mov	DWORD PTR -200[rbp], eax
	cmp	DWORD PTR -200[rbp], 4
	je	.L520
	cmp	DWORD PTR -200[rbp], 0
	jne	.L506
	mov	eax, 130
	jmp	.L507
.L506:
	mov	eax, 2
.L507:
	mov	DWORD PTR -196[rbp], eax
	mov	eax, DWORD PTR -196[rbp]
	mov	DWORD PTR exitstatus[rip], eax
	cmp	DWORD PTR -200[rbp], 0
	je	.L521
	cmp	DWORD PTR -220[rbp], 0
	jle	.L508
	jmp	.L521
.L520:
	nop
	jmp	.L505
.L521:
	nop
	jmp	.L505
.L522:
	nop
.L505:
	mov	rax, QWORD PTR handler[rip]
	mov	esi, 1
	mov	rdi, rax
	call	longjmp@PLT
.L508:
	mov	DWORD PTR suppressint[rip], 0
	mov	eax, DWORD PTR intpending[rip]
	test	eax, eax
	je	.L519
	call	onint
	jmp	.L519
.L494:
	mov	edi, 1
	call	poplocalvars
	mov	rax, QWORD PTR -40[rbp]
	mov	ecx, DWORD PTR -236[rbp]
	mov	rdx, QWORD PTR -176[rbp]
	mov	esi, DWORD PTR -224[rbp]
	mov	rdi, rax
	call	evalfun
	test	eax, eax
	jne	.L522
	jmp	.L493
.L517:
	nop
	jmp	.L493
.L518:
	nop
	jmp	.L493
.L519:
	nop
.L493:
	mov	rax, QWORD PTR -232[rbp]
	mov	rax, QWORD PTR 24[rax]
	test	rax, rax
	je	.L511
	mov	eax, DWORD PTR -216[rbp]
	mov	edi, eax
	call	popredir
.L511:
	mov	rax, QWORD PTR -136[rbp]
	mov	rdi, rax
	call	unwindredir
	mov	rax, QWORD PTR -144[rbp]
	mov	rdi, rax
	call	unwindlocalvars
	cmp	QWORD PTR -160[rbp], 0
	je	.L512
	mov	rax, QWORD PTR -160[rbp]
	mov	edx, 0
	mov	rsi, rax
	lea	rdi, .LC73[rip]
	call	setvar
.L512:
	lea	rax, -32[rbp]
	mov	rdi, rax
	call	popstackmark
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L513
	call	__stack_chk_fail@PLT
.L513:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE66:
	.size	evalcommand, .-evalcommand
	.type	evalbltin, @function
evalbltin:
.LFB67:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 272
	mov	QWORD PTR -248[rbp], rdi
	mov	DWORD PTR -252[rbp], esi
	mov	QWORD PTR -264[rbp], rdx
	mov	DWORD PTR -256[rbp], ecx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR commandname[rip]
	mov	QWORD PTR -224[rbp], rax
	mov	rax, QWORD PTR handler[rip]
	mov	QWORD PTR -216[rbp], rax
	lea	rax, -208[rbp]
	mov	rdi, rax
	call	_setjmp@PLT
	endbr64
	mov	DWORD PTR -228[rbp], eax
	cmp	DWORD PTR -228[rbp], 0
	jne	.L531
	lea	rax, -208[rbp]
	mov	QWORD PTR handler[rip], rax
	mov	rax, QWORD PTR -264[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR commandname[rip], rax
	mov	rax, QWORD PTR -264[rbp]
	add	rax, 8
	mov	QWORD PTR argptr[rip], rax
	mov	QWORD PTR optptr[rip], 0
	lea	rax, builtincmd[rip+288]
	cmp	QWORD PTR -248[rbp], rax
	jne	.L527
	mov	edx, DWORD PTR -256[rbp]
	mov	rcx, QWORD PTR -264[rbp]
	mov	eax, DWORD PTR -252[rbp]
	mov	rsi, rcx
	mov	edi, eax
	call	doevalcmd
	mov	DWORD PTR -232[rbp], eax
	jmp	.L528
.L527:
	mov	rax, QWORD PTR -248[rbp]
	mov	rcx, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR -264[rbp]
	mov	eax, DWORD PTR -252[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	rcx
	mov	DWORD PTR -232[rbp], eax
.L528:
	call	flushall
	mov	rax, QWORD PTR out1[rip]
	mov	eax, DWORD PTR 36[rax]
	or	DWORD PTR -232[rbp], eax
	mov	eax, DWORD PTR -232[rbp]
	mov	DWORD PTR exitstatus[rip], eax
	jmp	.L526
.L531:
	nop
.L526:
	mov	eax, 0
	call	freestdout
	mov	rax, QWORD PTR -224[rbp]
	mov	QWORD PTR commandname[rip], rax
	mov	rax, QWORD PTR -216[rbp]
	mov	QWORD PTR handler[rip], rax
	mov	eax, DWORD PTR -228[rbp]
	mov	rsi, QWORD PTR -8[rbp]
	sub	rsi, QWORD PTR fs:40
	je	.L530
	call	__stack_chk_fail@PLT
.L530:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE67:
	.size	evalbltin, .-evalbltin
	.type	evalfun, @function
evalfun:
.LFB68:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 288
	mov	QWORD PTR -264[rbp], rdi
	mov	DWORD PTR -268[rbp], esi
	mov	QWORD PTR -280[rbp], rdx
	mov	DWORD PTR -272[rbp], ecx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR shellparam[rip]
	mov	rdx, QWORD PTR shellparam[rip+8]
	mov	QWORD PTR -240[rbp], rax
	mov	QWORD PTR -232[rbp], rdx
	mov	rax, QWORD PTR shellparam[rip+16]
	mov	QWORD PTR -224[rbp], rax
	mov	eax, DWORD PTR funcline[rip]
	mov	DWORD PTR -256[rbp], eax
	mov	rax, QWORD PTR handler[rip]
	mov	QWORD PTR -248[rbp], rax
	lea	rax, -208[rbp]
	mov	rdi, rax
	call	_setjmp@PLT
	endbr64
	mov	DWORD PTR -252[rbp], eax
	cmp	DWORD PTR -252[rbp], 0
	jne	.L540
	mov	eax, DWORD PTR suppressint[rip]
	add	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	lea	rax, -208[rbp]
	mov	QWORD PTR handler[rip], rax
	mov	BYTE PTR shellparam[rip+4], 0
	mov	rax, QWORD PTR -264[rbp]
	mov	eax, DWORD PTR [rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -264[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -264[rbp]
	mov	eax, DWORD PTR 12[rax]
	mov	DWORD PTR funcline[rip], eax
	mov	eax, DWORD PTR suppressint[rip]
	sub	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	eax, DWORD PTR suppressint[rip]
	test	eax, eax
	jne	.L536
	mov	eax, DWORD PTR intpending[rip]
	test	eax, eax
	je	.L536
	call	onint
.L536:
	mov	eax, DWORD PTR -268[rbp]
	sub	eax, 1
	mov	DWORD PTR shellparam[rip], eax
	mov	rax, QWORD PTR -280[rbp]
	add	rax, 8
	mov	QWORD PTR shellparam[rip+8], rax
	mov	DWORD PTR shellparam[rip+16], 1
	mov	DWORD PTR shellparam[rip+20], -1
	call	pushlocalvars
	mov	eax, DWORD PTR -272[rbp]
	and	eax, 2
	mov	edx, eax
	mov	rax, QWORD PTR -264[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	esi, edx
	mov	rdi, rax
	call	evaltree
	mov	edi, 0
	call	poplocalvars
	jmp	.L535
.L540:
	nop
.L535:
	mov	eax, DWORD PTR suppressint[rip]
	add	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	eax, DWORD PTR -256[rbp]
	mov	DWORD PTR funcline[rip], eax
	mov	rax, QWORD PTR -264[rbp]
	mov	rdi, rax
	call	freefunc
	lea	rdi, shellparam[rip]
	call	freeparam
	mov	rax, QWORD PTR -240[rbp]
	mov	rdx, QWORD PTR -232[rbp]
	mov	QWORD PTR shellparam[rip], rax
	mov	QWORD PTR shellparam[rip+8], rdx
	mov	rax, QWORD PTR -224[rbp]
	mov	QWORD PTR shellparam[rip+16], rax
	mov	rax, QWORD PTR -248[rbp]
	mov	QWORD PTR handler[rip], rax
	mov	eax, DWORD PTR suppressint[rip]
	sub	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	eax, DWORD PTR suppressint[rip]
	test	eax, eax
	jne	.L537
	mov	eax, DWORD PTR intpending[rip]
	test	eax, eax
	je	.L537
	call	onint
.L537:
	mov	eax, DWORD PTR evalskip[rip]
	and	eax, -5
	mov	DWORD PTR evalskip[rip], eax
	mov	eax, DWORD PTR -252[rbp]
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L539
	call	__stack_chk_fail@PLT
.L539:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE68:
	.size	evalfun, .-evalfun
	.type	prehash, @function
prehash:
.LFB69:
	.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	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jne	.L544
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	test	rax, rax
	je	.L544
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rax, QWORD PTR 16[rax]
	mov	rdi, rax
	call	goodname
	test	eax, eax
	je	.L544
	lea	rax, varinit[rip+96]
	mov	rax, QWORD PTR 16[rax]
	lea	rdx, 5[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rax, QWORD PTR 16[rax]
	lea	rsi, -32[rbp]
	mov	rcx, rdx
	mov	edx, 0
	mov	rdi, rax
	call	find_command
.L544:
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L543
	call	__stack_chk_fail@PLT
.L543:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE69:
	.size	prehash, .-prehash
	.type	bltincmd, @function
bltincmd:
.LFB70:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	mov	QWORD PTR -16[rbp], rsi
	mov	eax, DWORD PTR back_exitstatus[rip]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE70:
	.size	bltincmd, .-bltincmd
	.globl	breakcmd
	.type	breakcmd, @function
breakcmd:
.LFB71:
	.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	QWORD PTR -32[rbp], rsi
	cmp	DWORD PTR -20[rbp], 1
	jle	.L548
	mov	rax, QWORD PTR -32[rbp]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	number
	jmp	.L549
.L548:
	mov	eax, 1
.L549:
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 0
	jg	.L550
	mov	rax, QWORD PTR -32[rbp]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	badnum
.L550:
	mov	eax, DWORD PTR loopnest[rip]
	cmp	DWORD PTR -4[rbp], eax
	jle	.L551
	mov	eax, DWORD PTR loopnest[rip]
	mov	DWORD PTR -4[rbp], eax
.L551:
	cmp	DWORD PTR -4[rbp], 0
	jle	.L552
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 99
	jne	.L553
	mov	eax, 2
	jmp	.L554
.L553:
	mov	eax, 1
.L554:
	mov	DWORD PTR evalskip[rip], eax
	mov	eax, DWORD PTR -4[rbp]
	mov	DWORD PTR skipcount[rip], eax
.L552:
	mov	eax, 0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE71:
	.size	breakcmd, .-breakcmd
	.globl	returncmd
	.type	returncmd, @function
returncmd:
.LFB72:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	DWORD PTR -4[rbp], edi
	mov	QWORD PTR -16[rbp], rsi
	mov	DWORD PTR evalskip[rip], 4
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L557
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	number
	jmp	.L559
.L557:
	mov	eax, DWORD PTR exitstatus[rip]
.L559:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE72:
	.size	returncmd, .-returncmd
	.globl	falsecmd
	.type	falsecmd, @function
falsecmd:
.LFB73:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	mov	QWORD PTR -16[rbp], rsi
	mov	eax, 1
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE73:
	.size	falsecmd, .-falsecmd
	.globl	truecmd
	.type	truecmd, @function
truecmd:
.LFB74:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	mov	QWORD PTR -16[rbp], rsi
	mov	eax, 0
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE74:
	.size	truecmd, .-truecmd
	.globl	execcmd
	.type	execcmd, @function
execcmd:
.LFB75:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	DWORD PTR -4[rbp], edi
	mov	QWORD PTR -16[rbp], rsi
	cmp	DWORD PTR -4[rbp], 1
	jle	.L565
	mov	BYTE PTR optlist[rip+3], 0
	mov	BYTE PTR optlist[rip+4], 0
	call	optschanged
	lea	rax, varinit[rip+96]
	mov	rax, QWORD PTR 16[rax]
	lea	rcx, 5[rax]
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 8
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	shellexec
.L565:
	mov	eax, 0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE75:
	.size	execcmd, .-execcmd
	.section	.rodata
.LC74:
	.string	" %s"
	.text
	.type	eprintlist, @function
eprintlist:
.LFB76:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -36[rbp], edx
	jmp	.L568
.L569:
	mov	eax, 1
	sub	eax, DWORD PTR -36[rbp]
	cdqe
	lea	rdx, .LC74[rip]
	add	rax, rdx
	mov	QWORD PTR -8[rbp], rax
	or	DWORD PTR -36[rbp], 1
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rcx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	outfmt
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -32[rbp], rax
.L568:
	cmp	QWORD PTR -32[rbp], 0
	jne	.L569
	mov	eax, DWORD PTR -36[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE76:
	.size	eprintlist, .-eprintlist
	.local	cmdtable
	.comm	cmdtable,248,32
	.data
	.align 4
	.type	builtinloc, @object
	.size	builtinloc, 4
builtinloc:
	.long	-1
	.section	.rodata
.LC75:
	.string	"%s: %s"
	.text
	.globl	shellexec
	.type	shellexec, @function
shellexec:
.LFB77:
	.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 -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	DWORD PTR -52[rbp], edx
	mov	edx, 0
	mov	esi, 32
	mov	edi, 1
	call	listvars
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	esi, 47
	mov	rdi, rax
	call	strchr@PLT
	test	rax, rax
	je	.L572
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -16[rbp]
	mov	rcx, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	tryexec
	mov	rax, QWORD PTR dash_errno[rip]
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -24[rbp], eax
	jmp	.L573
.L572:
	mov	DWORD PTR -24[rbp], 2
	jmp	.L574
.L576:
	sub	DWORD PTR -52[rbp], 1
	cmp	DWORD PTR -52[rbp], 0
	jns	.L575
	mov	rax, QWORD PTR pathopt[rip]
	test	rax, rax
	jne	.L575
	mov	rdx, QWORD PTR -16[rbp]
	mov	rcx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	tryexec
	mov	rax, QWORD PTR dash_errno[rip]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 2
	je	.L575
	mov	rax, QWORD PTR dash_errno[rip]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 20
	je	.L575
	mov	rax, QWORD PTR dash_errno[rip]
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -24[rbp], eax
.L575:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	stunalloc
.L574:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	lea	rax, -48[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	padvance
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L576
.L573:
	cmp	DWORD PTR -24[rbp], 2
	je	.L577
	cmp	DWORD PTR -24[rbp], 13
	jne	.L578
	mov	DWORD PTR -20[rbp], 126
	jmp	.L579
.L577:
	mov	DWORD PTR -20[rbp], 127
	jmp	.L579
.L578:
	mov	DWORD PTR -20[rbp], 2
	nop
.L579:
	mov	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR exitstatus[rip], eax
	mov	eax, DWORD PTR -24[rbp]
	mov	esi, 4
	mov	edi, eax
	call	errmsg
	mov	rdx, rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rcx, rdx
	mov	rdx, rax
	lea	rsi, .LC75[rip]
	mov	edi, 4
	mov	eax, 0
	call	exerror
	.cfi_endproc
.LFE77:
	.size	shellexec, .-shellexec
	.section	.rodata
.LC76:
	.string	"/bin/sh"
	.text
	.type	tryexec, @function
tryexec:
.LFB78:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	lea	rax, .LC76[rip]
	mov	QWORD PTR -8[rbp], rax
.L581:
	mov	rdx, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	execve@PLT
	mov	rax, QWORD PTR -24[rbp]
	cmp	rax, QWORD PTR -8[rbp]
	je	.L583
	mov	rax, QWORD PTR dash_errno[rip]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 8
	jne	.L583
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, -8[rax]
	mov	QWORD PTR -32[rbp], rdx
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L581
.L583:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE78:
	.size	tryexec, .-tryexec
	.globl	pathopt
	.bss
	.align 8
	.type	pathopt, @object
	.size	pathopt, 8
pathopt:
	.zero	8
	.text
	.globl	padvance
	.type	padvance, @function
padvance:
.LFB79:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 56
	.cfi_offset 3, -24
	mov	QWORD PTR -56[rbp], rdi
	mov	QWORD PTR -64[rbp], rsi
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L585
	mov	eax, 0
	jmp	.L586
.L585:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR -48[rbp], rax
	jmp	.L587
.L589:
	add	QWORD PTR -48[rbp], 1
.L587:
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L588
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 58
	je	.L588
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 37
	jne	.L589
.L588:
	mov	rax, QWORD PTR -48[rbp]
	sub	rax, QWORD PTR -32[rbp]
	mov	rbx, rax
	mov	rax, QWORD PTR -64[rbp]
	mov	rdi, rax
	call	strlen@PLT
	add	rax, rbx
	add	rax, 2
	mov	QWORD PTR -24[rbp], rax
	jmp	.L590
.L591:
	call	growstackblock
.L590:
	mov	rax, QWORD PTR stacknleft[rip]
	cmp	QWORD PTR -24[rbp], rax
	ja	.L591
	mov	rax, QWORD PTR stacknxt[rip]
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	cmp	rax, QWORD PTR -32[rbp]
	je	.L592
	mov	rax, QWORD PTR -48[rbp]
	sub	rax, QWORD PTR -32[rbp]
	mov	rdx, rax
	mov	rcx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	memcpy@PLT
	mov	rax, QWORD PTR -48[rbp]
	sub	rax, QWORD PTR -32[rbp]
	add	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -40[rbp], rdx
	mov	BYTE PTR [rax], 47
.L592:
	mov	rdx, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcpy@PLT
	mov	QWORD PTR pathopt[rip], 0
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 37
	jne	.L593
	add	QWORD PTR -48[rbp], 1
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR pathopt[rip], rax
	jmp	.L594
.L595:
	add	QWORD PTR -48[rbp], 1
.L594:
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L593
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 58
	jne	.L595
.L593:
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 58
	jne	.L596
	mov	rax, QWORD PTR -48[rbp]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L597
.L596:
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR [rax], 0
.L597:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	stalloc
.L586:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE79:
	.size	padvance, .-padvance
	.section	.rodata
.LC77:
	.string	"r"
	.text
	.globl	hashcmd
	.type	hashcmd, @function
hashcmd:
.LFB80:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	DWORD PTR -68[rbp], edi
	mov	QWORD PTR -80[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	nop
	lea	rdi, .LC77[rip]
	call	nextopt
	mov	DWORD PTR -60[rbp], eax
	cmp	DWORD PTR -60[rbp], 0
	je	.L615
	mov	edi, 0
	call	clearcmdentry
	mov	eax, 0
	jmp	.L613
.L615:
	mov	rax, QWORD PTR argptr[rip]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L602
	lea	rax, cmdtable[rip]
	mov	QWORD PTR -56[rbp], rax
	jmp	.L603
.L607:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -48[rbp], rax
	jmp	.L604
.L606:
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, WORD PTR 16[rax]
	test	ax, ax
	jne	.L605
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	printentry
.L605:
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -48[rbp], rax
.L604:
	cmp	QWORD PTR -48[rbp], 0
	jne	.L606
	add	QWORD PTR -56[rbp], 8
.L603:
	lea	rax, cmdtable[rip+248]
	cmp	QWORD PTR -56[rbp], rax
	jb	.L607
	mov	eax, 0
	jmp	.L613
.L602:
	mov	DWORD PTR -60[rbp], 0
	jmp	.L608
.L612:
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	cmdlookup
	mov	QWORD PTR -48[rbp], rax
	cmp	QWORD PTR -48[rbp], 0
	je	.L609
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, WORD PTR 16[rax]
	test	ax, ax
	je	.L610
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, WORD PTR 16[rax]
	cmp	ax, 2
	jne	.L609
	mov	eax, DWORD PTR builtinloc[rip]
	test	eax, eax
	js	.L609
.L610:
	call	delete_cmd_entry
.L609:
	lea	rax, varinit[rip+96]
	mov	rax, QWORD PTR 16[rax]
	lea	rdx, 5[rax]
	lea	rsi, -32[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	rdi, rax
	call	find_command
	mov	eax, DWORD PTR -32[rbp]
	cmp	eax, -1
	jne	.L611
	mov	DWORD PTR -60[rbp], 1
.L611:
	mov	rax, QWORD PTR argptr[rip]
	add	rax, 8
	mov	QWORD PTR argptr[rip], rax
.L608:
	mov	rax, QWORD PTR argptr[rip]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -40[rbp], rax
	cmp	QWORD PTR -40[rbp], 0
	jne	.L612
	mov	eax, DWORD PTR -60[rbp]
.L613:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L614
	call	__stack_chk_fail@PLT
.L614:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE80:
	.size	hashcmd, .-hashcmd
	.section	.rodata
.LC78:
	.string	"*"
	.text
	.type	printentry, @function
printentry:
.LFB81:
	.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	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 8[rax]
	mov	DWORD PTR -28[rbp], eax
	lea	rax, varinit[rip+96]
	mov	rax, QWORD PTR 16[rax]
	add	rax, 5
	mov	QWORD PTR -24[rbp], rax
.L617:
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 19[rax]
	lea	rax, -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	padvance
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	stunalloc
	sub	DWORD PTR -28[rbp], 1
	cmp	DWORD PTR -28[rbp], 0
	jns	.L617
	mov	rdx, QWORD PTR out1[rip]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	outstr
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR 18[rax]
	test	al, al
	je	.L618
	lea	rax, .LC78[rip]
	jmp	.L619
.L618:
	lea	rax, nullstr[rip]
.L619:
	mov	rsi, rax
	lea	rdi, snlfmt[rip]
	mov	eax, 0
	call	out1fmt
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L620
	call	__stack_chk_fail@PLT
.L620:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE81:
	.size	printentry, .-printentry
	.section	.rodata
.LC79:
	.string	"%builtin"
.LC80:
	.string	"builtin"
.LC81:
	.string	"func"
.LC82:
	.string	"%s not defined in %s"
	.text
	.globl	find_command
	.type	find_command, @function
find_command:
.LFB82:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 240
	mov	QWORD PTR -216[rbp], rdi
	mov	QWORD PTR -224[rbp], rsi
	mov	DWORD PTR -228[rbp], edx
	mov	QWORD PTR -240[rbp], rcx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -216[rbp]
	mov	esi, 47
	mov	rdi, rax
	call	strchr@PLT
	test	rax, rax
	je	.L622
	mov	rax, QWORD PTR -224[rbp]
	mov	DWORD PTR 8[rax], -1
	mov	eax, DWORD PTR -228[rbp]
	and	eax, 2
	test	eax, eax
	je	.L623
	jmp	.L664
.L626:
	mov	rax, QWORD PTR -224[rbp]
	mov	DWORD PTR [rax], -1
	jmp	.L621
.L664:
	lea	rdx, -160[rbp]
	mov	rax, QWORD PTR -216[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	stat@PLT
	test	eax, eax
	js	.L626
.L623:
	mov	rax, QWORD PTR -224[rbp]
	mov	DWORD PTR [rax], 0
	jmp	.L621
.L622:
	lea	rax, varinit[rip+96]
	mov	rax, QWORD PTR 16[rax]
	lea	rdx, 5[rax]
	mov	rax, QWORD PTR -240[rbp]
	cmp	rdx, rax
	sete	al
	movzx	eax, al
	mov	DWORD PTR -192[rbp], eax
	cmp	DWORD PTR -192[rbp], 0
	jne	.L627
	or	DWORD PTR -228[rbp], 8
	mov	rax, QWORD PTR -240[rbp]
	lea	rsi, .LC79[rip]
	mov	rdi, rax
	call	strstr@PLT
	test	rax, rax
	je	.L627
	or	DWORD PTR -228[rbp], 32
.L627:
	mov	rax, QWORD PTR -216[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	cmdlookup
	mov	QWORD PTR -184[rbp], rax
	cmp	QWORD PTR -184[rbp], 0
	je	.L628
	mov	rax, QWORD PTR -184[rbp]
	movzx	eax, WORD PTR 16[rax]
	cwde
	cmp	eax, 1
	je	.L629
	cmp	eax, 2
	je	.L630
	mov	DWORD PTR -188[rbp], 8
	jmp	.L631
.L629:
	mov	DWORD PTR -188[rbp], 4
	jmp	.L631
.L630:
	mov	DWORD PTR -188[rbp], 32
	nop
.L631:
	mov	eax, DWORD PTR -228[rbp]
	and	eax, DWORD PTR -188[rbp]
	test	eax, eax
	je	.L632
	mov	DWORD PTR -192[rbp], 0
	mov	QWORD PTR -184[rbp], 0
	jmp	.L628
.L632:
	mov	rax, QWORD PTR -184[rbp]
	movzx	eax, BYTE PTR 18[rax]
	test	al, al
	je	.L665
.L628:
	mov	rax, QWORD PTR -216[rbp]
	mov	rdi, rax
	call	find_builtin
	mov	QWORD PTR -176[rbp], rax
	cmp	QWORD PTR -176[rbp], 0
	je	.L634
	mov	rax, QWORD PTR -176[rbp]
	mov	eax, DWORD PTR 16[rax]
	and	eax, 2
	test	eax, eax
	jne	.L666
	mov	eax, DWORD PTR -228[rbp]
	and	eax, 8
	test	eax, eax
	je	.L636
	mov	eax, DWORD PTR -228[rbp]
	and	eax, 32
	test	eax, eax
	je	.L666
	jmp	.L634
.L636:
	mov	eax, DWORD PTR builtinloc[rip]
	test	eax, eax
	jle	.L666
.L634:
	mov	DWORD PTR -200[rbp], -1
	cmp	QWORD PTR -184[rbp], 0
	je	.L638
	mov	rax, QWORD PTR -184[rbp]
	movzx	eax, BYTE PTR 18[rax]
	test	al, al
	je	.L638
	mov	rax, QWORD PTR -184[rbp]
	movzx	eax, WORD PTR 16[rax]
	cmp	ax, 2
	jne	.L639
	mov	eax, DWORD PTR builtinloc[rip]
	mov	DWORD PTR -200[rbp], eax
	jmp	.L638
.L639:
	mov	rax, QWORD PTR -184[rbp]
	mov	eax, DWORD PTR 8[rax]
	mov	DWORD PTR -200[rbp], eax
.L638:
	mov	DWORD PTR -196[rbp], 2
	mov	DWORD PTR -204[rbp], -1
.L640:
	jmp	.L641
.L657:
	mov	rax, QWORD PTR -168[rbp]
	mov	rdi, rax
	call	stunalloc
	add	DWORD PTR -204[rbp], 1
	mov	rax, QWORD PTR pathopt[rip]
	test	rax, rax
	je	.L642
	mov	rax, QWORD PTR pathopt[rip]
	lea	rsi, .LC80[rip]
	mov	rdi, rax
	call	prefix
	test	rax, rax
	je	.L643
	cmp	QWORD PTR -176[rbp], 0
	jne	.L667
	jmp	.L641
.L643:
	mov	eax, DWORD PTR -228[rbp]
	and	eax, 4
	test	eax, eax
	jne	.L641
	mov	rax, QWORD PTR pathopt[rip]
	lea	rsi, .LC81[rip]
	mov	rdi, rax
	call	prefix
	test	rax, rax
	jne	.L642
	jmp	.L641
.L642:
	mov	rax, QWORD PTR -168[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 47
	jne	.L668
	mov	eax, DWORD PTR -204[rbp]
	cmp	eax, DWORD PTR -200[rbp]
	jg	.L668
	mov	eax, DWORD PTR -204[rbp]
	cmp	eax, DWORD PTR -200[rbp]
	jge	.L669
	jmp	.L641
.L650:
	mov	rax, QWORD PTR dash_errno[rip]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 2
	je	.L640
	mov	rax, QWORD PTR dash_errno[rip]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 20
	je	.L640
	mov	rax, QWORD PTR dash_errno[rip]
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -196[rbp], eax
	jmp	.L640
.L668:
	nop
	lea	rdx, -160[rbp]
	mov	rax, QWORD PTR -168[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	stat@PLT
	test	eax, eax
	js	.L650
	mov	DWORD PTR -196[rbp], 13
	mov	eax, DWORD PTR -136[rbp]
	and	eax, 61440
	cmp	eax, 32768
	je	.L651
	jmp	.L641
.L651:
	mov	rax, QWORD PTR pathopt[rip]
	test	rax, rax
	je	.L652
	mov	rax, QWORD PTR -168[rbp]
	mov	rdi, rax
	call	strlen@PLT
	add	rax, 1
	mov	rdi, rax
	call	stalloc
	mov	rax, QWORD PTR -168[rbp]
	mov	rdi, rax
	call	readcmdfile
	mov	rax, QWORD PTR -216[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	cmdlookup
	mov	QWORD PTR -184[rbp], rax
	cmp	QWORD PTR -184[rbp], 0
	je	.L653
	mov	rax, QWORD PTR -184[rbp]
	movzx	eax, WORD PTR 16[rax]
	cmp	ax, 1
	je	.L654
.L653:
	mov	rdx, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR -216[rbp]
	mov	rsi, rax
	lea	rdi, .LC82[rip]
	mov	eax, 0
	call	sh_error
.L654:
	mov	rax, QWORD PTR -168[rbp]
	mov	rdi, rax
	call	stunalloc
	jmp	.L633
.L652:
	cmp	DWORD PTR -192[rbp], 0
	jne	.L655
	mov	rax, QWORD PTR -224[rbp]
	mov	DWORD PTR [rax], 0
	mov	rax, QWORD PTR -224[rbp]
	mov	edx, DWORD PTR -204[rbp]
	mov	DWORD PTR 8[rax], edx
	jmp	.L621
.L655:
	mov	eax, DWORD PTR suppressint[rip]
	add	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	rax, QWORD PTR -216[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	cmdlookup
	mov	QWORD PTR -184[rbp], rax
	mov	rax, QWORD PTR -184[rbp]
	mov	WORD PTR 16[rax], 0
	mov	rax, QWORD PTR -184[rbp]
	mov	edx, DWORD PTR -204[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	eax, DWORD PTR suppressint[rip]
	sub	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	eax, DWORD PTR suppressint[rip]
	test	eax, eax
	jne	.L670
	mov	eax, DWORD PTR intpending[rip]
	test	eax, eax
	je	.L670
	call	onint
	jmp	.L670
.L641:
	mov	rdx, QWORD PTR -216[rbp]
	lea	rax, -240[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	padvance
	mov	QWORD PTR -168[rbp], rax
	cmp	QWORD PTR -168[rbp], 0
	jne	.L657
	cmp	QWORD PTR -184[rbp], 0
	je	.L658
	cmp	DWORD PTR -192[rbp], 0
	je	.L658
	call	delete_cmd_entry
.L658:
	mov	eax, DWORD PTR -228[rbp]
	and	eax, 1
	test	eax, eax
	je	.L659
	mov	eax, DWORD PTR -196[rbp]
	mov	esi, 4
	mov	edi, eax
	call	errmsg
	mov	rdx, rax
	mov	rax, QWORD PTR -216[rbp]
	mov	rsi, rax
	lea	rdi, .LC75[rip]
	mov	eax, 0
	call	sh_warnx
.L659:
	mov	rax, QWORD PTR -224[rbp]
	mov	DWORD PTR [rax], -1
	jmp	.L621
.L666:
	nop
	jmp	.L637
.L667:
	nop
.L637:
	cmp	DWORD PTR -192[rbp], 0
	jne	.L660
	mov	rax, QWORD PTR -224[rbp]
	mov	DWORD PTR [rax], 2
	mov	rax, QWORD PTR -224[rbp]
	mov	rdx, QWORD PTR -176[rbp]
	mov	QWORD PTR 8[rax], rdx
	jmp	.L621
.L660:
	mov	eax, DWORD PTR suppressint[rip]
	add	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	rax, QWORD PTR -216[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	cmdlookup
	mov	QWORD PTR -184[rbp], rax
	mov	rax, QWORD PTR -184[rbp]
	mov	WORD PTR 16[rax], 2
	mov	rax, QWORD PTR -184[rbp]
	mov	rdx, QWORD PTR -176[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	eax, DWORD PTR suppressint[rip]
	sub	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	eax, DWORD PTR suppressint[rip]
	test	eax, eax
	jne	.L633
	mov	eax, DWORD PTR intpending[rip]
	test	eax, eax
	je	.L633
	call	onint
	jmp	.L633
.L665:
	nop
	jmp	.L633
.L669:
	nop
	jmp	.L633
.L670:
	nop
.L633:
	mov	rax, QWORD PTR -184[rbp]
	mov	BYTE PTR 18[rax], 0
	mov	rax, QWORD PTR -184[rbp]
	movzx	eax, WORD PTR 16[rax]
	movsx	edx, ax
	mov	rax, QWORD PTR -224[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -224[rbp]
	mov	rdx, QWORD PTR -184[rbp]
	mov	rdx, QWORD PTR 8[rdx]
	mov	QWORD PTR 8[rax], rdx
.L621:
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L663
	call	__stack_chk_fail@PLT
.L663:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE82:
	.size	find_command, .-find_command
	.globl	find_builtin
	.type	find_builtin, @function
find_builtin:
.LFB83:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	lea	rax, -24[rbp]
	lea	r8, pstrcmp[rip]
	mov	ecx, 24
	mov	edx, 45
	lea	rsi, builtincmd[rip]
	mov	rdi, rax
	call	bsearch@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE83:
	.size	find_builtin, .-find_builtin
	.globl	hashcd
	.type	hashcd, @function
hashcd:
.LFB84:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	lea	rax, cmdtable[rip]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L674
.L679:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L675
.L678:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, WORD PTR 16[rax]
	test	ax, ax
	je	.L676
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, WORD PTR 16[rax]
	cmp	ax, 2
	jne	.L677
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	eax, DWORD PTR 16[rax]
	and	eax, 2
	test	eax, eax
	jne	.L677
	mov	eax, DWORD PTR builtinloc[rip]
	test	eax, eax
	jle	.L677
.L676:
	mov	rax, QWORD PTR -8[rbp]
	mov	BYTE PTR 18[rax], 1
.L677:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
.L675:
	cmp	QWORD PTR -8[rbp], 0
	jne	.L678
	add	QWORD PTR -16[rbp], 8
.L674:
	lea	rax, cmdtable[rip+248]
	cmp	QWORD PTR -16[rbp], rax
	jb	.L679
	nop
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE84:
	.size	hashcd, .-hashcd
	.globl	changepath
	.type	changepath, @function
changepath:
.LFB85:
	.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
	lea	rax, varinit[rip+96]
	mov	rax, QWORD PTR 16[rax]
	add	rax, 5
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	DWORD PTR -24[rbp], 9999
	mov	DWORD PTR -28[rbp], 0
	mov	DWORD PTR -20[rbp], -1
.L689:
	mov	rax, QWORD PTR -16[rbp]
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	dl, al
	je	.L681
	mov	eax, DWORD PTR -28[rbp]
	mov	DWORD PTR -24[rbp], eax
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L682
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 58
	je	.L683
.L682:
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 58
	jne	.L684
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L684
.L683:
	add	DWORD PTR -24[rbp], 1
.L684:
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR -16[rbp], rax
.L681:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L693
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 37
	jne	.L687
	cmp	DWORD PTR -20[rbp], 0
	jns	.L687
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 1
	lea	rsi, .LC80[rip]
	mov	rdi, rax
	call	prefix
	test	rax, rax
	je	.L687
	mov	eax, DWORD PTR -28[rbp]
	mov	DWORD PTR -20[rbp], eax
.L687:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 58
	jne	.L688
	add	DWORD PTR -28[rbp], 1
.L688:
	add	QWORD PTR -8[rbp], 1
	add	QWORD PTR -16[rbp], 1
	jmp	.L689
.L693:
	nop
	mov	eax, DWORD PTR builtinloc[rip]
	test	eax, eax
	jns	.L690
	cmp	DWORD PTR -20[rbp], 0
	js	.L690
	mov	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR builtinloc[rip], eax
.L690:
	mov	eax, DWORD PTR builtinloc[rip]
	test	eax, eax
	js	.L691
	cmp	DWORD PTR -20[rbp], 0
	jns	.L691
	mov	DWORD PTR -24[rbp], 0
.L691:
	mov	eax, DWORD PTR -24[rbp]
	mov	edi, eax
	call	clearcmdentry
	mov	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR builtinloc[rip], eax
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE85:
	.size	changepath, .-changepath
	.type	clearcmdentry, @function
clearcmdentry:
.LFB86:
	.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	eax, DWORD PTR suppressint[rip]
	add	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	lea	rax, cmdtable[rip]
	mov	QWORD PTR -24[rbp], rax
	jmp	.L695
.L701:
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L696
.L700:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, WORD PTR 16[rax]
	test	ax, ax
	jne	.L697
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	DWORD PTR -36[rbp], eax
	jle	.L698
.L697:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, WORD PTR 16[rax]
	cmp	ax, 2
	jne	.L699
	mov	eax, DWORD PTR builtinloc[rip]
	cmp	DWORD PTR -36[rbp], eax
	jg	.L699
.L698:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	free@PLT
	jmp	.L696
.L699:
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR -16[rbp], rax
.L696:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L700
	add	QWORD PTR -24[rbp], 8
.L695:
	lea	rax, cmdtable[rip+248]
	cmp	QWORD PTR -24[rbp], rax
	jb	.L701
	mov	eax, DWORD PTR suppressint[rip]
	sub	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	eax, DWORD PTR suppressint[rip]
	test	eax, eax
	jne	.L703
	mov	eax, DWORD PTR intpending[rip]
	test	eax, eax
	je	.L703
	call	onint
.L703:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE86:
	.size	clearcmdentry, .-clearcmdentry
	.globl	lastcmdentry
	.bss
	.align 8
	.type	lastcmdentry, @object
	.size	lastcmdentry, 8
lastcmdentry:
	.zero	8
	.text
	.type	cmdlookup, @function
cmdlookup:
.LFB87:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 4
	mov	DWORD PTR -28[rbp], eax
	jmp	.L705
.L706:
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -24[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	DWORD PTR -28[rbp], eax
.L705:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L706
	and	DWORD PTR -28[rbp], 32767
	mov	ecx, DWORD PTR -28[rbp]
	mov	eax, ecx
	imul	rax, rax, 138547333
	shr	rax, 32
	mov	rdx, rax
	mov	eax, ecx
	sub	eax, edx
	shr	eax
	add	eax, edx
	shr	eax, 4
	mov	edx, eax
	mov	eax, edx
	sal	eax, 5
	sub	eax, edx
	sub	ecx, eax
	mov	edx, ecx
	mov	eax, edx
	lea	rdx, 0[0+rax*8]
	lea	rax, cmdtable[rip]
	add	rax, rdx
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L707
.L710:
	mov	rax, QWORD PTR -16[rbp]
	lea	rdx, 19[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	call	strcmp@PLT
	test	eax, eax
	je	.L713
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -16[rbp], rax
.L707:
	cmp	QWORD PTR -16[rbp], 0
	jne	.L710
	jmp	.L709
.L713:
	nop
.L709:
	cmp	DWORD PTR -44[rbp], 0
	je	.L711
	cmp	QWORD PTR -16[rbp], 0
	jne	.L711
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	strlen@PLT
	add	rax, 24
	mov	rdi, rax
	call	ckmalloc
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], 0
	mov	rax, QWORD PTR -16[rbp]
	mov	WORD PTR 16[rax], -1
	mov	rax, QWORD PTR -16[rbp]
	lea	rdx, 19[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	call	strcpy@PLT
.L711:
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR lastcmdentry[rip], rax
	mov	rax, QWORD PTR -16[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE87:
	.size	cmdlookup, .-cmdlookup
	.type	delete_cmd_entry, @function
delete_cmd_entry:
.LFB88:
	.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 suppressint[rip]
	add	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	rax, QWORD PTR lastcmdentry[rip]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR lastcmdentry[rip]
	mov	rdx, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR [rdx]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, WORD PTR 16[rax]
	cmp	ax, 1
	jne	.L715
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	freefunc
.L715:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	eax, DWORD PTR suppressint[rip]
	sub	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	eax, DWORD PTR suppressint[rip]
	test	eax, eax
	jne	.L717
	mov	eax, DWORD PTR intpending[rip]
	test	eax, eax
	je	.L717
	call	onint
.L717:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE88:
	.size	delete_cmd_entry, .-delete_cmd_entry
	.type	addcmdentry, @function
addcmdentry:
.LFB89:
	.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
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	cmdlookup
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, WORD PTR 16[rax]
	cmp	ax, 1
	jne	.L719
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	freefunc
.L719:
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR [rax]
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	WORD PTR 16[rax], dx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR 8[rdx]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	BYTE PTR 18[rax], 0
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE89:
	.size	addcmdentry, .-addcmdentry
	.globl	defun
	.type	defun, @function
defun:
.LFB90:
	.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	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	eax, DWORD PTR suppressint[rip]
	add	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	DWORD PTR -32[rbp], 1
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	copyfunc
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	lea	rdx, -32[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	addcmdentry
	mov	eax, DWORD PTR suppressint[rip]
	sub	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	eax, DWORD PTR suppressint[rip]
	test	eax, eax
	jne	.L721
	mov	eax, DWORD PTR intpending[rip]
	test	eax, eax
	je	.L721
	call	onint
.L721:
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L722
	call	__stack_chk_fail@PLT
.L722:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE90:
	.size	defun, .-defun
	.globl	unsetfunc
	.type	unsetfunc, @function
unsetfunc:
.LFB91:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	cmdlookup
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L725
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, WORD PTR 16[rax]
	cmp	ax, 1
	jne	.L725
	call	delete_cmd_entry
.L725:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE91:
	.size	unsetfunc, .-unsetfunc
	.globl	typecmd
	.type	typecmd, @function
typecmd:
.LFB92:
	.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	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -4[rbp], 0
	mov	DWORD PTR -8[rbp], 1
	jmp	.L727
.L728:
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR out1[rip]
	mov	edx, 1
	mov	rsi, rcx
	mov	rdi, rax
	call	describe_command
	or	DWORD PTR -4[rbp], eax
	add	DWORD PTR -8[rbp], 1
.L727:
	mov	eax, DWORD PTR -8[rbp]
	cmp	eax, DWORD PTR -20[rbp]
	jl	.L728
	mov	eax, DWORD PTR -4[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE92:
	.size	typecmd, .-typecmd
	.section	.rodata
.LC83:
	.string	" is a shell keyword"
.LC84:
	.string	" is an alias for %s"
.LC85:
	.string	"alias "
.LC86:
	.string	" a tracked alias for"
.LC87:
	.string	" is%s %s"
.LC88:
	.string	" is a shell function"
.LC89:
	.string	"special "
.LC90:
	.string	" is a %sshell builtin"
.LC91:
	.string	": not found\n"
	.text
	.type	describe_command, @function
describe_command:
.LFB93:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 112
	mov	QWORD PTR -88[rbp], rdi
	mov	QWORD PTR -96[rbp], rsi
	mov	DWORD PTR -100[rbp], edx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rax, varinit[rip+96]
	mov	rax, QWORD PTR 16[rax]
	add	rax, 5
	mov	QWORD PTR -64[rbp], rax
	cmp	DWORD PTR -100[rbp], 0
	je	.L731
	mov	rdx, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR -96[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	outstr
.L731:
	mov	rax, QWORD PTR -96[rbp]
	mov	rdi, rax
	call	findkwd
	test	rax, rax
	je	.L732
	cmp	DWORD PTR -100[rbp], 0
	jne	.L733
	mov	rax, QWORD PTR -96[rbp]
	jmp	.L734
.L733:
	lea	rax, .LC83[rip]
.L734:
	mov	rdx, QWORD PTR -88[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	outstr
	jmp	.L735
.L732:
	mov	rax, QWORD PTR -96[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	lookupalias
	mov	QWORD PTR -48[rbp], rax
	cmp	QWORD PTR -48[rbp], 0
	je	.L736
	cmp	DWORD PTR -100[rbp], 0
	je	.L737
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -88[rbp]
	lea	rsi, .LC84[rip]
	mov	rdi, rax
	mov	eax, 0
	call	outfmt
	jmp	.L735
.L737:
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rax
	lea	rdi, .LC85[rip]
	call	outstr
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	printalias
	mov	eax, 0
	jmp	.L759
.L736:
	mov	rax, QWORD PTR -96[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	cmdlookup
	mov	QWORD PTR -40[rbp], rax
	cmp	QWORD PTR -40[rbp], 0
	je	.L740
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, WORD PTR 16[rax]
	cwde
	mov	DWORD PTR -32[rbp], eax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -24[rbp], rax
	jmp	.L741
.L740:
	mov	rdx, QWORD PTR -64[rbp]
	lea	rsi, -32[rbp]
	mov	rax, QWORD PTR -96[rbp]
	mov	rcx, rdx
	mov	edx, 2
	mov	rdi, rax
	call	find_command
.L741:
	mov	eax, DWORD PTR -32[rbp]
	cmp	eax, 2
	je	.L742
	cmp	eax, 2
	jg	.L743
	test	eax, eax
	je	.L744
	cmp	eax, 1
	je	.L745
	jmp	.L743
.L744:
	mov	eax, DWORD PTR -24[rbp]
	mov	DWORD PTR -68[rbp], eax
	cmp	DWORD PTR -68[rbp], -1
	jne	.L746
	mov	rax, QWORD PTR -96[rbp]
	mov	QWORD PTR -56[rbp], rax
	jmp	.L747
.L746:
	mov	rdx, QWORD PTR -96[rbp]
	lea	rax, -64[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	padvance
	mov	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	stunalloc
	sub	DWORD PTR -68[rbp], 1
	cmp	DWORD PTR -68[rbp], 0
	jns	.L746
.L747:
	cmp	DWORD PTR -100[rbp], 0
	je	.L748
	cmp	QWORD PTR -40[rbp], 0
	je	.L749
	lea	rax, .LC86[rip]
	jmp	.L750
.L749:
	lea	rax, nullstr[rip]
.L750:
	mov	rdx, QWORD PTR -56[rbp]
	mov	rdi, QWORD PTR -88[rbp]
	mov	rcx, rdx
	mov	rdx, rax
	lea	rsi, .LC87[rip]
	mov	eax, 0
	call	outfmt
	jmp	.L735
.L748:
	mov	rdx, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	outstr
	jmp	.L735
.L745:
	cmp	DWORD PTR -100[rbp], 0
	je	.L752
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rax
	lea	rdi, .LC88[rip]
	call	outstr
	jmp	.L735
.L752:
	mov	rdx, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR -96[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	outstr
	jmp	.L735
.L742:
	cmp	DWORD PTR -100[rbp], 0
	je	.L754
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	and	eax, 1
	test	eax, eax
	je	.L755
	lea	rax, .LC89[rip]
	jmp	.L756
.L755:
	lea	rax, nullstr[rip]
.L756:
	mov	rcx, QWORD PTR -88[rbp]
	mov	rdx, rax
	lea	rsi, .LC90[rip]
	mov	rdi, rcx
	mov	eax, 0
	call	outfmt
	jmp	.L735
.L754:
	mov	rdx, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR -96[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	outstr
	jmp	.L735
.L743:
	cmp	DWORD PTR -100[rbp], 0
	je	.L758
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rax
	lea	rdi, .LC91[rip]
	call	outstr
.L758:
	mov	eax, 127
	jmp	.L759
.L735:
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rax
	mov	edi, 10
	call	outc
	mov	eax, 0
.L759:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L760
	call	__stack_chk_fail@PLT
.L760:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE93:
	.size	describe_command, .-describe_command
	.section	.rodata
.LC92:
	.string	"pvV"
	.text
	.globl	commandcmd
	.type	commandcmd, @function
commandcmd:
.LFB94:
	.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	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -16[rbp], 0
	jmp	.L762
.L764:
	cmp	DWORD PTR -12[rbp], 86
	jne	.L763
	or	DWORD PTR -16[rbp], 2
	jmp	.L762
.L763:
	cmp	DWORD PTR -12[rbp], 118
	jne	.L762
	or	DWORD PTR -16[rbp], 1
.L762:
	lea	rdi, .LC92[rip]
	call	nextopt
	mov	DWORD PTR -12[rbp], eax
	cmp	DWORD PTR -12[rbp], 0
	jne	.L764
	mov	rax, QWORD PTR argptr[rip]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	cmp	DWORD PTR -16[rbp], 0
	je	.L765
	cmp	QWORD PTR -8[rbp], 0
	je	.L765
	mov	eax, DWORD PTR -16[rbp]
	sub	eax, 1
	mov	edx, eax
	mov	rax, QWORD PTR out1[rip]
	mov	rcx, QWORD PTR -8[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	describe_command
	jmp	.L766
.L765:
	mov	eax, 0
.L766:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE94:
	.size	commandcmd, .-commandcmd
	.local	expdest
	.comm	expdest,8,8
	.local	argbackq
	.comm	argbackq,8,8
	.local	ifsfirst
	.comm	ifsfirst,24,16
	.local	ifslastp
	.comm	ifslastp,8,8
	.local	exparg
	.comm	exparg,16,16
	.type	preglob, @function
preglob:
.LFB95:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	or	DWORD PTR -12[rbp], 2
	mov	edx, DWORD PTR -12[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	_rmescapes
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE95:
	.size	preglob, .-preglob
	.type	esclen, @function
esclen:
.LFB96:
	.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
	mov	QWORD PTR -8[rbp], 0
	jmp	.L770
.L772:
	add	QWORD PTR -8[rbp], 1
.L770:
	mov	rax, QWORD PTR -32[rbp]
	cmp	rax, QWORD PTR -24[rbp]
	jbe	.L771
	sub	QWORD PTR -32[rbp], 1
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, -127
	je	.L772
.L771:
	mov	rax, QWORD PTR -8[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE96:
	.size	esclen, .-esclen
	.type	getpwhome, @function
getpwhome:
.LFB97:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	getpwnam@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L775
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 32[rax]
	jmp	.L777
.L775:
	mov	eax, 0
.L777:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE97:
	.size	getpwhome, .-getpwhome
	.globl	expandarg
	.type	expandarg, @function
expandarg:
.LFB98:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -36[rbp], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR argbackq[rip], rax
	mov	rax, QWORD PTR stacknxt[rip]
	mov	QWORD PTR expdest[rip], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	edx, DWORD PTR -36[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	argstr
	mov	rax, QWORD PTR expdest[rip]
	mov	rsi, rax
	mov	edi, 0
	call	_STPUTC
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	sub	rax, 1
	mov	QWORD PTR expdest[rip], rax
	cmp	QWORD PTR -32[rbp], 0
	je	.L783
	mov	rdx, QWORD PTR stacknxt[rip]
	mov	rax, QWORD PTR -16[rbp]
	sub	rax, rdx
	mov	rdi, rax
	call	stalloc
	mov	QWORD PTR -16[rbp], rax
	lea	rax, exparg[rip]
	mov	QWORD PTR exparg[rip+8], rax
	mov	eax, DWORD PTR -36[rbp]
	and	eax, 1
	test	eax, eax
	je	.L781
	mov	rax, QWORD PTR -16[rbp]
	lea	rsi, exparg[rip]
	mov	rdi, rax
	call	ifsbreakup
	mov	rax, QWORD PTR exparg[rip+8]
	mov	QWORD PTR [rax], 0
	lea	rax, exparg[rip]
	mov	QWORD PTR exparg[rip+8], rax
	mov	rax, QWORD PTR exparg[rip]
	mov	edx, DWORD PTR -36[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	expandmeta
	jmp	.L782
.L781:
	mov	edi, 16
	call	stalloc
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR exparg[rip+8]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR exparg[rip+8], rax
.L782:
	mov	rax, QWORD PTR exparg[rip+8]
	mov	QWORD PTR [rax], 0
	mov	rax, QWORD PTR exparg[rip]
	test	rax, rax
	je	.L784
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR exparg[rip]
	mov	QWORD PTR [rax], rdx
	mov	rdx, QWORD PTR exparg[rip+8]
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR 8[rax], rdx
	jmp	.L780
.L783:
	nop
	jmp	.L780
.L784:
	nop
.L780:
	call	ifsfree
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE98:
	.size	expandarg, .-expandarg
	.type	argstr, @function
argstr:
.LFB99:
	.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	DWORD PTR -60[rbp], esi
	lea	rax, spclchars.6[rip]
	mov	QWORD PTR -24[rbp], rax
	mov	eax, DWORD PTR -60[rbp]
	and	eax, 384
	cmp	eax, 128
	sete	al
	movzx	eax, al
	mov	DWORD PTR -36[rbp], eax
	mov	eax, DWORD PTR -60[rbp]
	and	eax, 4
	test	eax, eax
	jne	.L786
	add	QWORD PTR -24[rbp], 2
	jmp	.L787
.L786:
	mov	eax, DWORD PTR -60[rbp]
	and	eax, 64
	test	eax, eax
	je	.L787
	add	QWORD PTR -24[rbp], 1
.L787:
	mov	DWORD PTR -44[rbp], 0
	mov	QWORD PTR -16[rbp], 0
	mov	eax, DWORD PTR -60[rbp]
	and	eax, 2
	test	eax, eax
	je	.L814
	and	DWORD PTR -60[rbp], -3
.L789:
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 126
	jne	.L814
	mov	edx, DWORD PTR -60[rbp]
	mov	rcx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	exptilde
	mov	QWORD PTR -56[rbp], rax
	jmp	.L810
.L814:
	nop
.L788:
.L810:
	mov	rax, QWORD PTR expdest[rip]
	mov	rdx, QWORD PTR stacknxt[rip]
	sub	rax, rdx
	mov	DWORD PTR -40[rbp], eax
.L813:
	mov	rdx, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -16[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	call	strcspn@PLT
	add	QWORD PTR -16[rbp], rax
	mov	rdx, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	DWORD PTR -32[rbp], eax
	cmp	DWORD PTR -32[rbp], 0
	je	.L790
	mov	eax, DWORD PTR -32[rbp]
	and	eax, 128
	test	eax, eax
	je	.L791
	cmp	DWORD PTR -32[rbp], -121
	jne	.L790
.L791:
	add	QWORD PTR -16[rbp], 1
.L790:
	cmp	QWORD PTR -16[rbp], 0
	je	.L792
	mov	rdx, QWORD PTR expdest[rip]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	stnputs
	mov	QWORD PTR expdest[rip], rax
	mov	rax, QWORD PTR expdest[rip]
	mov	rdx, QWORD PTR stacknxt[rip]
	sub	rax, rdx
	mov	DWORD PTR -28[rbp], eax
	cmp	DWORD PTR -36[rbp], 0
	je	.L793
	cmp	DWORD PTR -44[rbp], 0
	jne	.L793
	mov	eax, DWORD PTR -28[rbp]
	cmp	eax, DWORD PTR -40[rbp]
	jle	.L793
	mov	ecx, DWORD PTR -28[rbp]
	mov	eax, DWORD PTR -40[rbp]
	mov	edx, 0
	mov	esi, ecx
	mov	edi, eax
	call	recordregion
.L793:
	mov	eax, DWORD PTR -28[rbp]
	mov	DWORD PTR -40[rbp], eax
.L792:
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 1
	add	QWORD PTR -56[rbp], rax
	mov	QWORD PTR -16[rbp], 0
	cmp	DWORD PTR -32[rbp], 61
	je	.L794
	cmp	DWORD PTR -32[rbp], 61
	jg	.L795
	cmp	DWORD PTR -32[rbp], 0
	je	.L815
	cmp	DWORD PTR -32[rbp], 58
	je	.L797
	jmp	.L795
.L794:
	mov	eax, DWORD PTR -60[rbp]
	and	eax, 64
	test	eax, eax
	je	.L799
	sub	QWORD PTR -56[rbp], 1
	jmp	.L800
.L799:
	or	DWORD PTR -60[rbp], 64
	add	QWORD PTR -24[rbp], 1
.L797:
	sub	QWORD PTR -56[rbp], 1
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 126
	jne	.L816
	jmp	.L789
.L795:
	mov	eax, DWORD PTR -32[rbp]
	add	eax, 127
	cmp	eax, 7
	ja	.L813
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L803[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L803[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L803:
	.long	.L808-.L803
	.long	.L807-.L803
	.long	.L817-.L803
	.long	.L805-.L803
	.long	.L813-.L803
	.long	.L813-.L803
	.long	.L804-.L803
	.long	.L802-.L803
	.text
.L802:
	xor	DWORD PTR -44[rbp], 256
	cmp	DWORD PTR -44[rbp], 0
	je	.L818
	lea	rcx, dolatstr[rip+1]
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, 5
	mov	rsi, rcx
	mov	rdi, rax
	call	memcmp@PLT
	test	eax, eax
	jne	.L818
	mov	eax, DWORD PTR -60[rbp]
	or	eax, DWORD PTR -44[rbp]
	mov	rdx, QWORD PTR -56[rbp]
	add	rdx, 1
	mov	esi, eax
	mov	rdi, rdx
	call	evalvar
	add	rax, 1
	mov	QWORD PTR -56[rbp], rax
	jmp	.L810
.L818:
	nop
	jmp	.L809
.L820:
	nop
.L809:
	mov	eax, DWORD PTR -60[rbp]
	and	eax, 49
	test	eax, eax
	je	.L819
	sub	QWORD PTR -56[rbp], 1
	add	QWORD PTR -16[rbp], 1
	add	DWORD PTR -40[rbp], 1
	jmp	.L819
.L808:
	add	DWORD PTR -40[rbp], 1
	add	QWORD PTR -16[rbp], 1
	mov	eax, DWORD PTR -60[rbp]
	or	eax, DWORD PTR -44[rbp]
	and	eax, 288
	cmp	eax, 32
	jne	.L820
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 92
	je	.L820
	jmp	.L800
.L807:
	mov	eax, DWORD PTR -60[rbp]
	or	eax, DWORD PTR -44[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	evalvar
	mov	QWORD PTR -56[rbp], rax
	jmp	.L810
.L805:
	mov	eax, DWORD PTR -60[rbp]
	or	eax, DWORD PTR -44[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR argbackq[rip]
	mov	rax, QWORD PTR 8[rax]
	mov	esi, edx
	mov	rdi, rax
	call	expbackq
	mov	rax, QWORD PTR argbackq[rip]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR argbackq[rip], rax
	jmp	.L810
.L804:
	sub	QWORD PTR -56[rbp], 1
	mov	eax, DWORD PTR -60[rbp]
	or	eax, DWORD PTR -44[rbp]
	mov	edi, eax
	call	expari
	jmp	.L810
.L816:
	nop
	jmp	.L813
.L819:
	nop
.L800:
	jmp	.L813
.L815:
	nop
	jmp	.L821
.L817:
	nop
.L798:
.L821:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE99:
	.size	argstr, .-argstr
	.type	exptilde, @function
exptilde:
.LFB100:
	.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 -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	DWORD PTR -52[rbp], edx
	mov	eax, DWORD PTR -52[rbp]
	and	eax, 49
	mov	DWORD PTR -20[rbp], eax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 1
	mov	QWORD PTR -8[rbp], rax
	jmp	.L823
.L831:
	movsx	eax, BYTE PTR -21[rbp]
	cmp	eax, 58
	je	.L824
	cmp	eax, 58
	jg	.L823
	cmp	eax, 47
	je	.L837
	cmp	eax, 47
	jg	.L823
	cmp	eax, -120
	je	.L826
	cmp	eax, -120
	jg	.L823
	cmp	eax, -127
	je	.L827
	cmp	eax, -125
	je	.L837
	jmp	.L823
.L827:
	mov	rax, QWORD PTR -40[rbp]
	jmp	.L828
.L826:
	mov	rax, QWORD PTR -40[rbp]
	jmp	.L828
.L824:
	mov	eax, DWORD PTR -52[rbp]
	and	eax, 4
	test	eax, eax
	jne	.L838
	nop
.L823:
	add	QWORD PTR -48[rbp], 1
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -21[rbp], al
	cmp	BYTE PTR -21[rbp], 0
	jne	.L831
	jmp	.L830
.L837:
	nop
	jmp	.L830
.L838:
	nop
.L830:
	mov	rax, QWORD PTR -48[rbp]
	mov	BYTE PTR [rax], 0
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L832
	lea	rdi, homestr[rip]
	call	lookupvar
	mov	QWORD PTR -16[rbp], rax
	jmp	.L833
.L832:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	getpwhome
	mov	QWORD PTR -16[rbp], rax
.L833:
	cmp	QWORD PTR -16[rbp], 0
	je	.L839
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L839
	mov	rax, QWORD PTR -48[rbp]
	movzx	edx, BYTE PTR -21[rbp]
	mov	BYTE PTR [rax], dl
	lea	rcx, sqsyntax[rip+130]
	mov	edx, DWORD PTR -20[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	strtodest
	mov	rax, QWORD PTR -48[rbp]
	jmp	.L828
.L839:
	nop
.L836:
	mov	rax, QWORD PTR -48[rbp]
	movzx	edx, BYTE PTR -21[rbp]
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -40[rbp]
.L828:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE100:
	.size	exptilde, .-exptilde
	.globl	removerecordregions
	.type	removerecordregions, @function
removerecordregions:
.LFB101:
	.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	rax, QWORD PTR ifslastp[rip]
	test	rax, rax
	je	.L855
	mov	eax, DWORD PTR ifsfirst[rip+12]
	cmp	DWORD PTR -20[rbp], eax
	jge	.L843
	jmp	.L844
.L846:
	mov	eax, DWORD PTR suppressint[rip]
	add	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	rax, QWORD PTR ifsfirst[rip]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR ifsfirst[rip]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR ifsfirst[rip], rax
	mov	eax, DWORD PTR suppressint[rip]
	sub	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	eax, DWORD PTR suppressint[rip]
	test	eax, eax
	jne	.L844
	mov	eax, DWORD PTR intpending[rip]
	test	eax, eax
	je	.L844
	call	onint
.L844:
	mov	rax, QWORD PTR ifsfirst[rip]
	test	rax, rax
	jne	.L846
	mov	eax, DWORD PTR ifsfirst[rip+8]
	cmp	DWORD PTR -20[rbp], eax
	jge	.L847
	mov	QWORD PTR ifslastp[rip], 0
	jmp	.L840
.L847:
	lea	rax, ifsfirst[rip]
	mov	QWORD PTR ifslastp[rip], rax
	mov	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR ifsfirst[rip+12], eax
	jmp	.L840
.L843:
	lea	rax, ifsfirst[rip]
	mov	QWORD PTR ifslastp[rip], rax
	jmp	.L849
.L851:
	mov	rax, QWORD PTR ifslastp[rip]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR ifslastp[rip], rax
.L849:
	mov	rax, QWORD PTR ifslastp[rip]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L852
	mov	rax, QWORD PTR ifslastp[rip]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 8[rax]
	cmp	DWORD PTR -20[rbp], eax
	jg	.L851
	jmp	.L852
.L854:
	mov	eax, DWORD PTR suppressint[rip]
	add	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	rax, QWORD PTR ifslastp[rip]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR ifslastp[rip]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR ifslastp[rip]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, DWORD PTR suppressint[rip]
	sub	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	eax, DWORD PTR suppressint[rip]
	test	eax, eax
	jne	.L852
	mov	eax, DWORD PTR intpending[rip]
	test	eax, eax
	je	.L852
	call	onint
.L852:
	mov	rax, QWORD PTR ifslastp[rip]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L854
	mov	rax, QWORD PTR ifslastp[rip]
	mov	eax, DWORD PTR 12[rax]
	cmp	DWORD PTR -20[rbp], eax
	jge	.L840
	mov	rax, QWORD PTR ifslastp[rip]
	mov	edx, DWORD PTR -20[rbp]
	mov	DWORD PTR 12[rax], edx
	jmp	.L840
.L855:
	nop
.L840:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE101:
	.size	removerecordregions, .-removerecordregions
	.globl	expari
	.type	expari, @function
expari:
.LFB102:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	DWORD PTR -84[rbp], edi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR stacknxt[rip]
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR expdest[rip]
	mov	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	sub	rax, QWORD PTR -48[rbp]
	mov	rdx, rax
	lea	rax, -32[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	pushstackmark
	sub	QWORD PTR -56[rbp], 1
	mov	rax, QWORD PTR -56[rbp]
	mov	BYTE PTR [rax], 0
	sub	QWORD PTR -56[rbp], 1
.L861:
	jmp	.L857
.L858:
	sub	QWORD PTR -56[rbp], 1
.L857:
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, -122
	jne	.L858
	mov	rdx, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -48[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	esclen
	mov	DWORD PTR -68[rbp], eax
	mov	eax, DWORD PTR -68[rbp]
	and	eax, 1
	test	eax, eax
	je	.L866
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	not	rax
	add	QWORD PTR -56[rbp], rax
	jmp	.L861
.L866:
	nop
	mov	rax, QWORD PTR -56[rbp]
	sub	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR -64[rbp], eax
	mov	eax, DWORD PTR -64[rbp]
	mov	edi, eax
	call	removerecordregions
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR expdest[rip], rax
	mov	eax, DWORD PTR -84[rbp]
	and	eax, 49
	test	eax, eax
	setne	al
	movzx	eax, al
	test	rax, rax
	je	.L862
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 1
	mov	esi, 0
	mov	rdi, rax
	call	_rmescapes
.L862:
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 1
	mov	rdi, rax
	call	arith
	mov	QWORD PTR -40[rbp], rax
	lea	rax, -32[rbp]
	mov	rdi, rax
	call	popstackmark
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	cvtnum
	mov	DWORD PTR -60[rbp], eax
	mov	eax, DWORD PTR -84[rbp]
	and	eax, 256
	test	eax, eax
	sete	al
	movzx	eax, al
	test	rax, rax
	je	.L867
	mov	edx, DWORD PTR -64[rbp]
	mov	eax, DWORD PTR -60[rbp]
	lea	ecx, [rdx+rax]
	mov	eax, DWORD PTR -64[rbp]
	mov	edx, 0
	mov	esi, ecx
	mov	edi, eax
	call	recordregion
.L867:
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L864
	call	__stack_chk_fail@PLT
.L864:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE102:
	.size	expari, .-expari
	.type	expbackq, @function
expbackq:
.LFB103:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 256
	mov	QWORD PTR -248[rbp], rdi
	mov	DWORD PTR -252[rbp], esi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	eax, DWORD PTR -252[rbp]
	and	eax, 256
	test	eax, eax
	je	.L869
	lea	rax, dqsyntax[rip+130]
	jmp	.L870
.L869:
	lea	rax, basesyntax[rip+130]
.L870:
	mov	QWORD PTR -216[rbp], rax
	mov	eax, DWORD PTR suppressint[rip]
	add	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	rax, QWORD PTR expdest[rip]
	mov	rdx, QWORD PTR stacknxt[rip]
	sub	rax, rdx
	mov	DWORD PTR -236[rbp], eax
	mov	eax, DWORD PTR -236[rbp]
	movsx	rdx, eax
	lea	rax, -208[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	pushstackmark
	lea	rdx, -176[rbp]
	mov	rax, QWORD PTR -248[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	evalbackcmd
	lea	rax, -208[rbp]
	mov	rdi, rax
	call	popstackmark
	mov	rax, QWORD PTR -168[rbp]
	mov	QWORD PTR -232[rbp], rax
	mov	eax, DWORD PTR -160[rbp]
	mov	DWORD PTR -240[rbp], eax
	cmp	DWORD PTR -240[rbp], 0
	je	.L885
.L871:
	mov	eax, DWORD PTR -252[rbp]
	and	eax, 49
	mov	ecx, eax
	mov	eax, DWORD PTR -240[rbp]
	movsx	rsi, eax
	mov	rdx, QWORD PTR -216[rbp]
	mov	rax, QWORD PTR -232[rbp]
	mov	rdi, rax
	call	memtodest
	jmp	.L872
.L885:
	nop
.L872:
	mov	eax, DWORD PTR -176[rbp]
	test	eax, eax
	js	.L886
.L873:
	mov	eax, DWORD PTR -176[rbp]
	lea	rcx, -144[rbp]
	mov	edx, 128
	mov	rsi, rcx
	mov	edi, eax
	call	read@PLT
	mov	DWORD PTR -240[rbp], eax
	cmp	DWORD PTR -240[rbp], 0
	jns	.L875
	mov	rax, QWORD PTR dash_errno[rip]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 4
	je	.L873
.L875:
	cmp	DWORD PTR -240[rbp], 0
	jle	.L887
	lea	rax, -144[rbp]
	mov	QWORD PTR -232[rbp], rax
	jmp	.L871
.L886:
	nop
	jmp	.L874
.L887:
	nop
.L874:
	mov	rax, QWORD PTR -168[rbp]
	test	rax, rax
	je	.L877
	mov	rax, QWORD PTR -168[rbp]
	mov	rdi, rax
	call	free@PLT
.L877:
	mov	eax, DWORD PTR -176[rbp]
	test	eax, eax
	js	.L878
	mov	eax, DWORD PTR -176[rbp]
	mov	edi, eax
	call	close@PLT
	mov	rax, QWORD PTR -152[rbp]
	mov	rdi, rax
	call	waitforjob
	mov	DWORD PTR back_exitstatus[rip], eax
.L878:
	mov	eax, DWORD PTR suppressint[rip]
	sub	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	eax, DWORD PTR suppressint[rip]
	test	eax, eax
	jne	.L879
	mov	eax, DWORD PTR intpending[rip]
	test	eax, eax
	je	.L879
	call	onint
.L879:
	mov	rax, QWORD PTR expdest[rip]
	mov	QWORD PTR -224[rbp], rax
	jmp	.L880
.L882:
	sub	QWORD PTR -224[rbp], 1
.L880:
	mov	rax, QWORD PTR stacknxt[rip]
	cmp	QWORD PTR -224[rbp], rax
	jbe	.L881
	mov	rax, QWORD PTR -224[rbp]
	sub	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 10
	je	.L882
.L881:
	mov	rax, QWORD PTR -224[rbp]
	mov	QWORD PTR expdest[rip], rax
	mov	eax, DWORD PTR -252[rbp]
	and	eax, 256
	test	eax, eax
	jne	.L888
	mov	rdx, QWORD PTR stacknxt[rip]
	mov	rax, QWORD PTR -224[rbp]
	sub	rax, rdx
	mov	ecx, eax
	mov	eax, DWORD PTR -236[rbp]
	mov	edx, 0
	mov	esi, ecx
	mov	edi, eax
	call	recordregion
.L888:
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L884
	call	__stack_chk_fail@PLT
.L884:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE103:
	.size	expbackq, .-expbackq
	.type	scanleft, @function
scanleft:
.LFB104:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	QWORD PTR -56[rbp], rdx
	mov	QWORD PTR -64[rbp], rcx
	mov	DWORD PTR -68[rbp], r8d
	mov	DWORD PTR -72[rbp], r9d
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR -16[rbp], rax
.L894:
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -29[rbp], al
	cmp	DWORD PTR -72[rbp], 0
	je	.L890
	mov	rax, QWORD PTR -16[rbp]
	mov	BYTE PTR [rax], 0
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR -8[rbp], rax
.L890:
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -64[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	pmatch
	mov	DWORD PTR -28[rbp], eax
	mov	rax, QWORD PTR -16[rbp]
	movzx	edx, BYTE PTR -29[rbp]
	mov	BYTE PTR [rax], dl
	cmp	DWORD PTR -28[rbp], 0
	je	.L891
	mov	rax, QWORD PTR -24[rbp]
	jmp	.L892
.L891:
	cmp	DWORD PTR -68[rbp], 0
	je	.L893
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, -127
	jne	.L893
	add	QWORD PTR -24[rbp], 1
.L893:
	add	QWORD PTR -24[rbp], 1
	add	QWORD PTR -16[rbp], 1
	cmp	BYTE PTR -29[rbp], 0
	jne	.L894
	mov	eax, 0
.L892:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE104:
	.size	scanleft, .-scanleft
	.type	scanright, @function
scanright:
.LFB105:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	QWORD PTR -56[rbp], rdi
	mov	QWORD PTR -64[rbp], rsi
	mov	QWORD PTR -72[rbp], rdx
	mov	QWORD PTR -80[rbp], rcx
	mov	DWORD PTR -84[rbp], r8d
	mov	DWORD PTR -88[rbp], r9d
	mov	DWORD PTR -32[rbp], 0
	mov	rax, QWORD PTR -80[rbp]
	sub	rax, 1
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L896
.L902:
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -33[rbp], al
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -8[rbp], rax
	cmp	DWORD PTR -88[rbp], 0
	je	.L897
	mov	rax, QWORD PTR -16[rbp]
	mov	BYTE PTR [rax], 0
	mov	rax, QWORD PTR -64[rbp]
	mov	QWORD PTR -8[rbp], rax
.L897:
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -80[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	pmatch
	mov	DWORD PTR -28[rbp], eax
	mov	rax, QWORD PTR -16[rbp]
	movzx	edx, BYTE PTR -33[rbp]
	mov	BYTE PTR [rax], dl
	cmp	DWORD PTR -28[rbp], 0
	je	.L898
	mov	rax, QWORD PTR -24[rbp]
	jmp	.L899
.L898:
	sub	QWORD PTR -24[rbp], 1
	cmp	DWORD PTR -84[rbp], 0
	je	.L900
	sub	DWORD PTR -32[rbp], 1
	cmp	DWORD PTR -32[rbp], 0
	jns	.L901
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	esclen
	mov	DWORD PTR -32[rbp], eax
.L901:
	mov	eax, DWORD PTR -32[rbp]
	and	eax, 1
	test	eax, eax
	je	.L900
	sub	DWORD PTR -32[rbp], 1
	sub	QWORD PTR -24[rbp], 1
.L900:
	sub	QWORD PTR -16[rbp], 1
.L896:
	mov	rax, QWORD PTR -24[rbp]
	cmp	rax, QWORD PTR -56[rbp]
	jnb	.L902
	mov	eax, 0
.L899:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE105:
	.size	scanright, .-scanright
	.type	subevalvar, @function
subevalvar:
.LFB106:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	QWORD PTR -72[rbp], rdi
	mov	QWORD PTR -80[rbp], rsi
	mov	DWORD PTR -84[rbp], edx
	mov	DWORD PTR -88[rbp], ecx
	mov	DWORD PTR -92[rbp], r8d
	mov	DWORD PTR -96[rbp], r9d
	mov	eax, DWORD PTR 16[rbp]
	and	eax, 49
	mov	DWORD PTR -60[rbp], eax
	mov	rax, QWORD PTR argbackq[rip]
	mov	QWORD PTR -16[rbp], rax
	cmp	DWORD PTR -88[rbp], 5
	je	.L904
	cmp	DWORD PTR -88[rbp], 4
	je	.L904
	mov	eax, DWORD PTR 16[rbp]
	and	eax, 256
	test	eax, eax
	je	.L905
	mov	eax, 34
	jmp	.L907
.L905:
	mov	eax, 18
	jmp	.L907
.L904:
	mov	eax, 2
.L907:
	mov	rdx, QWORD PTR -72[rbp]
	mov	esi, eax
	mov	rdi, rdx
	call	argstr
	mov	rax, QWORD PTR expdest[rip]
	mov	rsi, rax
	mov	edi, 0
	call	_STPUTC
	mov	QWORD PTR expdest[rip], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR argbackq[rip], rax
	mov	rdx, QWORD PTR stacknxt[rip]
	mov	eax, DWORD PTR -92[rbp]
	cdqe
	add	rax, rdx
	mov	QWORD PTR -48[rbp], rax
	cmp	DWORD PTR -88[rbp], 4
	je	.L908
	cmp	DWORD PTR -88[rbp], 5
	jne	.L909
	mov	rcx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -80[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	setvar
	mov	rdx, QWORD PTR expdest[rip]
	mov	rax, QWORD PTR -48[rbp]
	sub	rax, rdx
	mov	DWORD PTR -56[rbp], eax
	mov	rdx, QWORD PTR expdest[rip]
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	add	rax, rdx
	mov	QWORD PTR expdest[rip], rax
	mov	rax, QWORD PTR -48[rbp]
	jmp	.L910
.L908:
	mov	ecx, DWORD PTR -96[rbp]
	mov	rdx, QWORD PTR -48[rbp]
	mov	rsi, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	call	varunset
.L909:
	sub	DWORD PTR -88[rbp], 6
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR -32[rbp], rax
	mov	rdx, QWORD PTR stacknxt[rip]
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	add	rax, rdx
	mov	QWORD PTR -24[rbp], rax
	cmp	DWORD PTR -60[rbp], 0
	je	.L911
	mov	rax, QWORD PTR -48[rbp]
	mov	esi, 9
	mov	rdi, rax
	call	_rmescapes
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	cmp	rax, QWORD PTR -48[rbp]
	je	.L911
	mov	rax, QWORD PTR expdest[rip]
	mov	QWORD PTR -24[rbp], rax
	mov	rdx, QWORD PTR stacknxt[rip]
	mov	eax, DWORD PTR -92[rbp]
	cdqe
	add	rax, rdx
	mov	QWORD PTR -48[rbp], rax
.L911:
	sub	QWORD PTR -24[rbp], 1
	mov	rdx, QWORD PTR stacknxt[rip]
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	add	rax, rdx
	mov	QWORD PTR -80[rbp], rax
	mov	rax, QWORD PTR -80[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	preglob
	mov	eax, DWORD PTR -88[rbp]
	sar	eax
	mov	DWORD PTR -52[rbp], eax
	mov	eax, DWORD PTR -88[rbp]
	and	eax, 1
	cmp	DWORD PTR -52[rbp], eax
	je	.L912
	lea	rax, scanleft[rip]
	jmp	.L913
.L912:
	lea	rax, scanright[rip]
.L913:
	mov	QWORD PTR -8[rbp], rax
	mov	r8d, DWORD PTR -52[rbp]
	mov	edi, DWORD PTR -60[rbp]
	mov	rcx, QWORD PTR -80[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	rsi, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -48[rbp]
	mov	r10, QWORD PTR -8[rbp]
	mov	r9d, r8d
	mov	r8d, edi
	mov	rdi, rax
	call	r10
	mov	QWORD PTR -40[rbp], rax
	cmp	QWORD PTR -40[rbp], 0
	je	.L914
	cmp	DWORD PTR -52[rbp], 0
	je	.L915
	mov	rax, QWORD PTR -80[rbp]
	sub	rax, QWORD PTR -40[rbp]
	mov	rdx, rax
	mov	rcx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -48[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	memmove@PLT
	mov	rax, QWORD PTR -80[rbp]
	sub	rax, QWORD PTR -40[rbp]
	lea	rdx, -1[rax]
	mov	rax, QWORD PTR -48[rbp]
	add	rax, rdx
	mov	QWORD PTR -40[rbp], rax
.L915:
	mov	rax, QWORD PTR -40[rbp]
	mov	BYTE PTR [rax], 0
	mov	rdx, QWORD PTR expdest[rip]
	mov	rax, QWORD PTR -40[rbp]
	sub	rax, rdx
	mov	DWORD PTR -56[rbp], eax
	mov	rdx, QWORD PTR expdest[rip]
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	add	rax, rdx
	mov	QWORD PTR expdest[rip], rax
.L914:
	mov	rax, QWORD PTR -40[rbp]
.L910:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE106:
	.size	subevalvar, .-subevalvar
	.section	.rodata
.LC93:
	.string	"Bad substitution"
	.text
	.type	evalvar, @function
evalvar:
.LFB107:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -72[rbp], rdi
	mov	DWORD PTR -76[rbp], esi
	mov	rax, QWORD PTR -72[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -72[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	DWORD PTR -52[rbp], eax
	mov	eax, DWORD PTR -52[rbp]
	and	eax, 15
	mov	DWORD PTR -44[rbp], eax
	cmp	DWORD PTR -44[rbp], 0
	jne	.L917
	lea	rdi, .LC93[rip]
	mov	eax, 0
	call	sh_error
.L917:
	mov	eax, DWORD PTR -76[rbp]
	and	eax, 256
	mov	DWORD PTR -40[rbp], eax
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR -8[rbp], rax
	cmp	DWORD PTR -40[rbp], 0
	je	.L918
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 64
	jne	.L919
	mov	eax, DWORD PTR shellparam[rip]
	test	eax, eax
	je	.L919
.L918:
	mov	eax, 1
	jmp	.L920
.L919:
	mov	eax, 0
.L920:
	mov	DWORD PTR -36[rbp], eax
	mov	rax, QWORD PTR expdest[rip]
	mov	rdx, QWORD PTR stacknxt[rip]
	sub	rax, rdx
	mov	DWORD PTR -32[rbp], eax
	mov	rax, QWORD PTR -72[rbp]
	mov	esi, 61
	mov	rdi, rax
	call	strchr@PLT
	add	rax, 1
	mov	QWORD PTR -72[rbp], rax
.L921:
	mov	edx, DWORD PTR -76[rbp]
	mov	ecx, DWORD PTR -52[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	varvalue
	mov	QWORD PTR -16[rbp], rax
	mov	eax, DWORD PTR -52[rbp]
	and	eax, 16
	test	eax, eax
	je	.L922
	sub	QWORD PTR -16[rbp], 1
.L922:
	cmp	DWORD PTR -44[rbp], 3
	jne	.L923
	not	QWORD PTR -16[rbp]
	jmp	.L924
.L923:
	cmp	DWORD PTR -44[rbp], 2
	jne	.L925
	nop
.L924:
	cmp	QWORD PTR -16[rbp], 0
	jns	.L926
	mov	eax, DWORD PTR -76[rbp]
	or	al, -126
	mov	edx, eax
	mov	rax, QWORD PTR -72[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	argstr
	jmp	.L927
.L926:
	cmp	DWORD PTR -36[rbp], 0
	je	.L946
	jmp	.L929
.L925:
	cmp	DWORD PTR -44[rbp], 5
	je	.L930
	cmp	DWORD PTR -44[rbp], 4
	jne	.L931
.L930:
	cmp	QWORD PTR -16[rbp], 0
	jns	.L932
	mov	eax, DWORD PTR -76[rbp]
	and	eax, -50
	mov	ecx, eax
	mov	r8d, DWORD PTR -52[rbp]
	mov	edi, DWORD PTR -32[rbp]
	mov	edx, DWORD PTR -44[rbp]
	mov	rsi, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -72[rbp]
	sub	rsp, 8
	push	rcx
	mov	r9d, r8d
	mov	r8d, edi
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	subevalvar
	add	rsp, 16
	test	rax, rax
	je	.L947
	and	DWORD PTR -52[rbp], -17
	mov	eax, DWORD PTR -32[rbp]
	mov	edi, eax
	call	removerecordregions
	jmp	.L921
.L932:
	cmp	DWORD PTR -36[rbp], 0
	je	.L948
	jmp	.L929
.L931:
	cmp	QWORD PTR -16[rbp], 0
	jns	.L935
	movzx	eax, BYTE PTR optlist[rip+14]
	test	al, al
	je	.L935
	mov	rsi, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	ecx, 0
	mov	edx, 0
	mov	rdi, rax
	call	varunset
.L935:
	cmp	DWORD PTR -44[rbp], 10
	jne	.L936
	mov	eax, 0
	cmp	QWORD PTR -16[rbp], 0
	cmovns	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	cvtnum
	jmp	.L929
.L936:
	cmp	DWORD PTR -44[rbp], 1
	jne	.L937
	cmp	DWORD PTR -36[rbp], 0
	je	.L949
	nop
.L929:
	mov	rax, QWORD PTR expdest[rip]
	mov	rdx, QWORD PTR stacknxt[rip]
	sub	rax, rdx
	mov	ecx, eax
	mov	edx, DWORD PTR -40[rbp]
	mov	eax, DWORD PTR -32[rbp]
	mov	esi, ecx
	mov	edi, eax
	call	recordregion
	jmp	.L927
.L937:
	cmp	QWORD PTR -16[rbp], 0
	js	.L950
	mov	rax, QWORD PTR expdest[rip]
	mov	rsi, rax
	mov	edi, 0
	call	_STPUTC
	mov	QWORD PTR expdest[rip], rax
	mov	rax, QWORD PTR expdest[rip]
	mov	rdx, QWORD PTR stacknxt[rip]
	sub	rax, rdx
	mov	DWORD PTR -28[rbp], eax
	mov	r8d, DWORD PTR -52[rbp]
	mov	edi, DWORD PTR -32[rbp]
	mov	ecx, DWORD PTR -44[rbp]
	mov	edx, DWORD PTR -28[rbp]
	mov	rax, QWORD PTR -72[rbp]
	sub	rsp, 8
	mov	esi, DWORD PTR -76[rbp]
	push	rsi
	mov	r9d, r8d
	mov	r8d, edi
	mov	esi, 0
	mov	rdi, rax
	call	subevalvar
	add	rsp, 16
	test	rax, rax
	jne	.L938
	mov	rax, QWORD PTR expdest[rip]
	mov	rcx, QWORD PTR stacknxt[rip]
	mov	edx, DWORD PTR -28[rbp]
	movsx	rdx, edx
	sub	rdx, 1
	add	rdx, rcx
	sub	rax, rdx
	mov	DWORD PTR -24[rbp], eax
	mov	rdx, QWORD PTR expdest[rip]
	mov	eax, DWORD PTR -24[rbp]
	neg	eax
	cdqe
	add	rax, rdx
	mov	QWORD PTR expdest[rip], rax
.L938:
	mov	eax, DWORD PTR -32[rbp]
	mov	edi, eax
	call	removerecordregions
	jmp	.L929
.L946:
	nop
	jmp	.L927
.L947:
	nop
	jmp	.L927
.L948:
	nop
	jmp	.L927
.L949:
	nop
	jmp	.L927
.L950:
	nop
.L927:
	cmp	DWORD PTR -44[rbp], 1
	je	.L939
	mov	DWORD PTR -48[rbp], 1
.L944:
	mov	rax, QWORD PTR -72[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -72[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], -127
	jne	.L940
	add	QWORD PTR -72[rbp], 1
	jmp	.L944
.L940:
	cmp	DWORD PTR -20[rbp], -124
	jne	.L942
	cmp	QWORD PTR -16[rbp], 0
	js	.L944
	mov	rax, QWORD PTR argbackq[rip]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR argbackq[rip], rax
	jmp	.L944
.L942:
	cmp	DWORD PTR -20[rbp], -126
	jne	.L943
	mov	rax, QWORD PTR -72[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -72[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	and	eax, 15
	cmp	eax, 1
	je	.L944
	add	DWORD PTR -48[rbp], 1
	jmp	.L944
.L943:
	cmp	DWORD PTR -20[rbp], -125
	jne	.L944
	sub	DWORD PTR -48[rbp], 1
	cmp	DWORD PTR -48[rbp], 0
	je	.L951
	jmp	.L944
.L951:
	nop
.L939:
	mov	rax, QWORD PTR -72[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE107:
	.size	evalvar, .-evalvar
	.type	memtodest, @function
memtodest:
.LFB108:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	DWORD PTR -44[rbp], ecx
	cmp	QWORD PTR -32[rbp], 0
	sete	al
	movzx	eax, al
	test	rax, rax
	jne	.L961
	mov	rax, QWORD PTR expdest[rip]
	mov	rdx, QWORD PTR -32[rbp]
	add	rdx, rdx
	mov	rsi, rax
	mov	rdi, rdx
	call	makestrspace
	mov	QWORD PTR -8[rbp], rax
.L960:
	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 -12[rbp], eax
	cmp	DWORD PTR -12[rbp], 0
	je	.L955
	mov	eax, DWORD PTR -44[rbp]
	and	eax, 49
	test	eax, eax
	je	.L956
	mov	eax, DWORD PTR -12[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 12
	je	.L957
	mov	eax, DWORD PTR -44[rbp]
	and	eax, 1
	test	eax, eax
	jne	.L958
	lea	rax, basesyntax[rip+130]
	cmp	QWORD PTR -40[rbp], rax
	je	.L956
.L958:
	mov	eax, DWORD PTR -12[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 2
	jne	.L956
.L957:
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	BYTE PTR [rax], -127
	jmp	.L956
.L955:
	mov	eax, DWORD PTR -44[rbp]
	and	eax, 2
	test	eax, eax
	je	.L962
.L956:
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	edx, DWORD PTR -12[rbp]
	mov	BYTE PTR [rax], dl
	jmp	.L959
.L962:
	nop
.L959:
	sub	QWORD PTR -32[rbp], 1
	cmp	QWORD PTR -32[rbp], 0
	jne	.L960
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR expdest[rip], rax
	jmp	.L952
.L961:
	nop
.L952:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE108:
	.size	memtodest, .-memtodest
	.type	strtodest, @function
strtodest:
.LFB109:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -36[rbp], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	ecx, DWORD PTR -36[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	rsi, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	memtodest
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE109:
	.size	strtodest, .-strtodest
	.type	varvalue, @function
varvalue:
.LFB110:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	QWORD PTR -88[rbp], rdi
	mov	DWORD PTR -92[rbp], esi
	mov	DWORD PTR -96[rbp], edx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	eax, DWORD PTR -96[rbp]
	and	eax, 256
	mov	DWORD PTR -56[rbp], eax
	mov	eax, DWORD PTR -92[rbp]
	and	eax, 15
	mov	DWORD PTR -52[rbp], eax
	cmp	DWORD PTR -52[rbp], 3
	je	.L966
	cmp	DWORD PTR -52[rbp], 10
	jne	.L967
.L966:
	mov	eax, 1
	jmp	.L968
.L967:
	mov	eax, 0
.L968:
	mov	DWORD PTR -48[rbp], eax
	cmp	DWORD PTR -48[rbp], 0
	jne	.L969
	mov	eax, DWORD PTR -96[rbp]
	and	eax, 49
	or	eax, 2
	jmp	.L970
.L969:
	mov	eax, 2
.L970:
	mov	DWORD PTR -44[rbp], eax
	mov	QWORD PTR -24[rbp], 0
	cmp	DWORD PTR -56[rbp], 0
	je	.L971
	mov	eax, DWORD PTR -96[rbp]
	sal	eax, 8
	and	eax, 256
	jmp	.L972
.L971:
	mov	eax, 0
.L972:
	mov	DWORD PTR -60[rbp], eax
	cmp	DWORD PTR -56[rbp], 0
	je	.L973
	lea	rax, dqsyntax[rip+130]
	jmp	.L974
.L973:
	lea	rax, basesyntax[rip+130]
.L974:
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	sub	eax, 33
	cmp	eax, 31
	ja	.L975
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L977[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L977[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L977:
	.long	.L984-.L977
	.long	.L975-.L977
	.long	.L983-.L977
	.long	.L982-.L977
	.long	.L975-.L977
	.long	.L975-.L977
	.long	.L975-.L977
	.long	.L975-.L977
	.long	.L975-.L977
	.long	.L981-.L977
	.long	.L975-.L977
	.long	.L975-.L977
	.long	.L980-.L977
	.long	.L975-.L977
	.long	.L975-.L977
	.long	.L979-.L977
	.long	.L979-.L977
	.long	.L979-.L977
	.long	.L979-.L977
	.long	.L979-.L977
	.long	.L979-.L977
	.long	.L979-.L977
	.long	.L979-.L977
	.long	.L979-.L977
	.long	.L979-.L977
	.long	.L975-.L977
	.long	.L975-.L977
	.long	.L975-.L977
	.long	.L975-.L977
	.long	.L975-.L977
	.long	.L978-.L977
	.long	.L976-.L977
	.text
.L982:
	mov	eax, DWORD PTR rootpid[rip]
	mov	DWORD PTR -68[rbp], eax
	jmp	.L985
.L978:
	mov	eax, DWORD PTR exitstatus[rip]
	mov	DWORD PTR -68[rbp], eax
	jmp	.L985
.L983:
	mov	eax, DWORD PTR shellparam[rip]
	mov	DWORD PTR -68[rbp], eax
	jmp	.L985
.L984:
	mov	eax, DWORD PTR backgndpid[rip]
	mov	DWORD PTR -68[rbp], eax
	cmp	DWORD PTR -68[rbp], 0
	jne	.L1006
	mov	rax, -1
	jmp	.L1004
.L1006:
	nop
.L985:
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	mov	rdi, rax
	call	cvtnum
	cdqe
	mov	QWORD PTR -24[rbp], rax
	jmp	.L987
.L980:
	mov	rax, QWORD PTR expdest[rip]
	mov	rsi, rax
	mov	edi, 17
	call	makestrspace
	mov	QWORD PTR -40[rbp], rax
	mov	DWORD PTR -64[rbp], 16
	jmp	.L988
.L990:
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	lea	rdx, optlist[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	test	al, al
	je	.L989
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -40[rbp], rdx
	mov	edx, DWORD PTR -64[rbp]
	movsx	rdx, edx
	lea	rcx, optletters[rip]
	movzx	edx, BYTE PTR [rdx+rcx]
	mov	BYTE PTR [rax], dl
	add	QWORD PTR -24[rbp], 1
.L989:
	sub	DWORD PTR -64[rbp], 1
.L988:
	cmp	DWORD PTR -64[rbp], 0
	jns	.L990
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR expdest[rip], rax
	jmp	.L987
.L976:
	cmp	DWORD PTR -60[rbp], 0
	jne	.L1007
.L981:
	mov	eax, DWORD PTR varinit[rip+8]
	and	eax, 32
	test	eax, eax
	jne	.L992
	mov	rax, QWORD PTR varinit[rip+16]
	add	rax, 4
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	jmp	.L993
.L992:
	mov	eax, 32
.L993:
	mov	DWORD PTR -60[rbp], eax
	jmp	.L991
.L1007:
	nop
.L991:
	mov	rax, QWORD PTR shellparam[rip+8]
	mov	QWORD PTR -32[rbp], rax
	cmp	QWORD PTR -32[rbp], 0
	jne	.L994
	mov	rax, -1
	jmp	.L1004
.L994:
	mov	eax, DWORD PTR -60[rbp]
	mov	BYTE PTR -69[rbp], al
	jmp	.L995
.L996:
	mov	edx, DWORD PTR -44[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	strtodest
	mov	rdx, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L995
	cmp	DWORD PTR -60[rbp], 0
	je	.L995
	add	QWORD PTR -24[rbp], 1
	mov	ecx, DWORD PTR -44[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	lea	rax, -69[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	memtodest
.L995:
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, 8[rax]
	mov	QWORD PTR -32[rbp], rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -40[rbp], rax
	cmp	QWORD PTR -40[rbp], 0
	jne	.L996
	jmp	.L987
.L979:
	mov	rax, QWORD PTR -88[rbp]
	mov	rdi, rax
	call	atoi@PLT
	mov	DWORD PTR -68[rbp], eax
	cmp	DWORD PTR -68[rbp], 0
	js	.L997
	mov	eax, DWORD PTR shellparam[rip]
	cmp	DWORD PTR -68[rbp], eax
	jle	.L998
.L997:
	mov	rax, -1
	jmp	.L1004
.L998:
	cmp	DWORD PTR -68[rbp], 0
	je	.L999
	mov	rdx, QWORD PTR shellparam[rip+8]
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	jmp	.L1000
.L999:
	mov	rax, QWORD PTR arg0[rip]
.L1000:
	mov	QWORD PTR -40[rbp], rax
	jmp	.L1001
.L975:
	mov	rax, QWORD PTR -88[rbp]
	mov	rdi, rax
	call	lookupvar
	mov	QWORD PTR -40[rbp], rax
.L1001:
	cmp	QWORD PTR -40[rbp], 0
	jne	.L1002
	mov	rax, -1
	jmp	.L1004
.L1002:
	mov	edx, DWORD PTR -44[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	strtodest
	mov	QWORD PTR -24[rbp], rax
	nop
.L987:
	cmp	DWORD PTR -48[rbp], 0
	je	.L1003
	mov	rdx, QWORD PTR expdest[rip]
	mov	rax, QWORD PTR -24[rbp]
	neg	rax
	add	rax, rdx
	mov	QWORD PTR expdest[rip], rax
.L1003:
	mov	rax, QWORD PTR -24[rbp]
.L1004:
	mov	rsi, QWORD PTR -8[rbp]
	sub	rsi, QWORD PTR fs:40
	je	.L1005
	call	__stack_chk_fail@PLT
.L1005:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE110:
	.size	varvalue, .-varvalue
	.globl	recordregion
	.type	recordregion, @function
recordregion:
.LFB111:
	.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	DWORD PTR -28[rbp], edx
	mov	rax, QWORD PTR ifslastp[rip]
	test	rax, rax
	jne	.L1009
	lea	rax, ifsfirst[rip]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L1010
.L1009:
	mov	eax, DWORD PTR suppressint[rip]
	add	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	edi, 24
	call	ckmalloc
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], 0
	mov	rax, QWORD PTR ifslastp[rip]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, DWORD PTR suppressint[rip]
	sub	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	eax, DWORD PTR suppressint[rip]
	test	eax, eax
	jne	.L1010
	mov	eax, DWORD PTR intpending[rip]
	test	eax, eax
	je	.L1010
	call	onint
.L1010:
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR ifslastp[rip], rax
	mov	rax, QWORD PTR ifslastp[rip]
	mov	edx, DWORD PTR -20[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR ifslastp[rip]
	mov	edx, DWORD PTR -24[rbp]
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR ifslastp[rip]
	mov	edx, DWORD PTR -28[rbp]
	mov	DWORD PTR 16[rax], edx
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE111:
	.size	recordregion, .-recordregion
	.globl	ifsbreakup
	.type	ifsbreakup, @function
ifsbreakup:
.LFB112:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -72[rbp], rdi
	mov	QWORD PTR -80[rbp], rsi
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR ifslastp[rip]
	test	rax, rax
	je	.L1013
	mov	DWORD PTR -64[rbp], 0
	mov	DWORD PTR -60[rbp], 0
	mov	eax, DWORD PTR varinit[rip+8]
	and	eax, 32
	test	eax, eax
	jne	.L1014
	mov	rax, QWORD PTR varinit[rip+16]
	add	rax, 4
	jmp	.L1015
.L1014:
	lea	rax, defifsvar[rip+4]
.L1015:
	mov	QWORD PTR -32[rbp], rax
	lea	rax, ifsfirst[rip]
	mov	QWORD PTR -56[rbp], rax
.L1032:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 8[rax]
	movsx	rdx, eax
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 16[rax]
	mov	DWORD PTR -60[rbp], eax
	cmp	DWORD PTR -60[rbp], 0
	jne	.L1016
	mov	rax, QWORD PTR -32[rbp]
	jmp	.L1017
.L1016:
	lea	rax, nullstr[rip]
.L1017:
	mov	QWORD PTR -24[rbp], rax
	mov	DWORD PTR -64[rbp], 0
	jmp	.L1018
.L1031:
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, -127
	jne	.L1019
	add	QWORD PTR -40[rbp], 1
.L1019:
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	edx, al
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	strchr@PLT
	test	rax, rax
	je	.L1020
	cmp	DWORD PTR -60[rbp], 0
	jne	.L1021
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	lea	rdx, defifsvar[rip+4]
	mov	esi, eax
	mov	rdi, rdx
	call	strchr@PLT
	test	rax, rax
	setne	al
	movzx	eax, al
	mov	DWORD PTR -64[rbp], eax
.L1021:
	mov	rax, QWORD PTR -16[rbp]
	cmp	rax, QWORD PTR -48[rbp]
	jne	.L1022
	cmp	DWORD PTR -64[rbp], 0
	je	.L1022
	add	QWORD PTR -40[rbp], 1
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -48[rbp], rax
	jmp	.L1018
.L1022:
	mov	rax, QWORD PTR -16[rbp]
	mov	BYTE PTR [rax], 0
	mov	edi, 16
	call	stalloc
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -48[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -80[rbp]
	mov	QWORD PTR 8[rax], rdx
	add	QWORD PTR -40[rbp], 1
	cmp	DWORD PTR -60[rbp], 0
	jne	.L1023
.L1030:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 12[rax]
	movsx	rdx, eax
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	cmp	QWORD PTR -40[rbp], rax
	jnb	.L1035
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, -127
	jne	.L1025
	add	QWORD PTR -40[rbp], 1
.L1025:
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	edx, al
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	strchr@PLT
	test	rax, rax
	jne	.L1026
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -40[rbp], rax
	jmp	.L1023
.L1026:
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	lea	rdx, defifsvar[rip+4]
	mov	esi, eax
	mov	rdi, rdx
	call	strchr@PLT
	test	rax, rax
	jne	.L1027
	cmp	DWORD PTR -64[rbp], 0
	je	.L1028
	add	QWORD PTR -40[rbp], 1
	mov	DWORD PTR -64[rbp], 0
	jmp	.L1030
.L1028:
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -40[rbp], rax
	jmp	.L1023
.L1027:
	add	QWORD PTR -40[rbp], 1
	jmp	.L1030
.L1035:
	nop
.L1023:
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -48[rbp], rax
	jmp	.L1018
.L1020:
	add	QWORD PTR -40[rbp], 1
.L1018:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 12[rax]
	movsx	rdx, eax
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	cmp	QWORD PTR -40[rbp], rax
	jb	.L1031
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -56[rbp], rax
	cmp	QWORD PTR -56[rbp], 0
	jne	.L1032
	cmp	DWORD PTR -60[rbp], 0
	jne	.L1036
.L1013:
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L1037
	jmp	.L1033
.L1036:
	nop
.L1033:
	mov	edi, 16
	call	stalloc
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -48[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -80[rbp]
	mov	QWORD PTR 8[rax], rdx
	jmp	.L1012
.L1037:
	nop
.L1012:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE112:
	.size	ifsbreakup, .-ifsbreakup
	.globl	ifsfree
	.type	ifsfree, @function
ifsfree:
.LFB113:
	.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 ifsfirst[rip]
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	je	.L1043
	mov	eax, DWORD PTR suppressint[rip]
	add	eax, 1
	mov	DWORD PTR suppressint[rip], eax
.L1041:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	jne	.L1041
	mov	QWORD PTR ifsfirst[rip], 0
	mov	eax, DWORD PTR suppressint[rip]
	sub	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	eax, DWORD PTR suppressint[rip]
	test	eax, eax
	jne	.L1040
	mov	eax, DWORD PTR intpending[rip]
	test	eax, eax
	je	.L1040
	call	onint
	jmp	.L1040
.L1043:
	nop
.L1040:
	mov	QWORD PTR ifslastp[rip], 0
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE113:
	.size	ifsfree, .-ifsfree
	.local	expdir
	.comm	expdir,8,8
	.type	expandmeta, @function
expandmeta:
.LFB114:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	jmp	.L1045
.L1055:
	movzx	eax, BYTE PTR optlist[rip+1]
	test	al, al
	jne	.L1056
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	lea	rsi, metachars.5[rip]
	mov	rdi, rax
	call	strpbrk@PLT
	test	rax, rax
	je	.L1057
	mov	rax, QWORD PTR exparg[rip+8]
	mov	QWORD PTR -16[rbp], rax
	mov	eax, DWORD PTR suppressint[rip]
	add	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	esi, 17
	mov	rdi, rax
	call	preglob
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	strlen@PLT
	mov	DWORD PTR -28[rbp], eax
	mov	eax, 2048
	cmp	DWORD PTR -28[rbp], 2048
	cmovge	eax, DWORD PTR -28[rbp]
	cdqe
	mov	rdi, rax
	call	ckmalloc
	mov	QWORD PTR expdir[rip], rax
	mov	rax, QWORD PTR expdir[rip]
	mov	rdx, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	expmeta
	mov	rax, QWORD PTR expdir[rip]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	cmp	QWORD PTR -8[rbp], rax
	je	.L1049
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	free@PLT
.L1049:
	mov	eax, DWORD PTR suppressint[rip]
	sub	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	eax, DWORD PTR suppressint[rip]
	test	eax, eax
	jne	.L1050
	mov	eax, DWORD PTR intpending[rip]
	test	eax, eax
	je	.L1050
	call	onint
.L1050:
	mov	rax, QWORD PTR exparg[rip+8]
	cmp	QWORD PTR -16[rbp], rax
	jne	.L1051
	jmp	.L1047
.L1056:
	nop
	jmp	.L1047
.L1057:
	nop
.L1047:
	mov	rax, QWORD PTR exparg[rip+8]
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	esi, 0
	mov	rdi, rax
	call	_rmescapes
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR exparg[rip+8], rax
	jmp	.L1052
.L1051:
	mov	rax, QWORD PTR exparg[rip+8]
	mov	QWORD PTR [rax], 0
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	expsort
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L1053
.L1054:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -24[rbp], rax
.L1053:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L1054
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR exparg[rip+8], rax
.L1052:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -40[rbp], rax
.L1045:
	cmp	QWORD PTR -40[rbp], 0
	jne	.L1055
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE114:
	.size	expandmeta, .-expandmeta
	.type	expmeta, @function
expmeta:
.LFB115:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 256
	mov	QWORD PTR -248[rbp], rdi
	mov	QWORD PTR -256[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -232[rbp], 0
	mov	rax, QWORD PTR -256[rbp]
	mov	QWORD PTR -200[rbp], rax
	mov	rax, QWORD PTR -256[rbp]
	mov	QWORD PTR -216[rbp], rax
	jmp	.L1059
.L1072:
	mov	rax, QWORD PTR -216[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 42
	je	.L1060
	mov	rax, QWORD PTR -216[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 63
	jne	.L1061
.L1060:
	mov	DWORD PTR -232[rbp], 1
	jmp	.L1062
.L1061:
	mov	rax, QWORD PTR -216[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 91
	jne	.L1063
	mov	rax, QWORD PTR -216[rbp]
	add	rax, 1
	mov	QWORD PTR -184[rbp], rax
	mov	rax, QWORD PTR -184[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 33
	jne	.L1068
	add	QWORD PTR -184[rbp], 1
.L1068:
	mov	rax, QWORD PTR -184[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 92
	jne	.L1065
	add	QWORD PTR -184[rbp], 1
.L1065:
	mov	rax, QWORD PTR -184[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 47
	je	.L1062
	mov	rax, QWORD PTR -184[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L1062
	add	QWORD PTR -184[rbp], 1
	mov	rax, QWORD PTR -184[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 93
	jne	.L1068
	mov	DWORD PTR -232[rbp], 1
	jmp	.L1062
.L1063:
	mov	rax, QWORD PTR -216[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 92
	jne	.L1069
	add	DWORD PTR -220[rbp], 1
.L1069:
	mov	eax, DWORD PTR -220[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -216[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 47
	jne	.L1062
	cmp	DWORD PTR -232[rbp], 0
	jne	.L1104
	mov	eax, DWORD PTR -220[rbp]
	cdqe
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -216[rbp]
	add	rax, rdx
	mov	QWORD PTR -200[rbp], rax
.L1062:
	mov	eax, DWORD PTR -220[rbp]
	cdqe
	add	rax, 1
	add	QWORD PTR -216[rbp], rax
.L1059:
	mov	DWORD PTR -220[rbp], 0
	mov	rax, QWORD PTR -216[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L1072
	jmp	.L1071
.L1104:
	nop
.L1071:
	cmp	DWORD PTR -232[rbp], 0
	jne	.L1073
	mov	rax, QWORD PTR expdir[rip]
	cmp	QWORD PTR -248[rbp], rax
	je	.L1074
	add	DWORD PTR -232[rbp], 1
.L1074:
	mov	rax, QWORD PTR -256[rbp]
	mov	QWORD PTR -216[rbp], rax
.L1076:
	mov	rax, QWORD PTR -216[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 92
	jne	.L1075
	add	QWORD PTR -216[rbp], 1
.L1075:
	mov	rax, QWORD PTR -248[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -248[rbp], rdx
	mov	rdx, QWORD PTR -216[rbp]
	movzx	edx, BYTE PTR [rdx]
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -216[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -216[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L1076
	cmp	DWORD PTR -232[rbp], 0
	je	.L1077
	mov	rax, QWORD PTR expdir[rip]
	lea	rdx, -160[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	lstat@PLT
	test	eax, eax
	js	.L1105
.L1077:
	mov	rax, QWORD PTR expdir[rip]
	mov	rdi, rax
	call	addfname
	jmp	.L1105
.L1073:
	mov	rax, QWORD PTR -216[rbp]
	mov	QWORD PTR -192[rbp], rax
	mov	rax, QWORD PTR -256[rbp]
	cmp	rax, QWORD PTR -200[rbp]
	jnb	.L1080
	mov	rax, QWORD PTR -256[rbp]
	mov	QWORD PTR -216[rbp], rax
.L1082:
	mov	rax, QWORD PTR -216[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 92
	jne	.L1081
	add	QWORD PTR -216[rbp], 1
.L1081:
	mov	rdx, QWORD PTR -216[rbp]
	lea	rax, 1[rdx]
	mov	QWORD PTR -216[rbp], rax
	mov	rax, QWORD PTR -248[rbp]
	lea	rcx, 1[rax]
	mov	QWORD PTR -248[rbp], rcx
	movzx	edx, BYTE PTR [rdx]
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -216[rbp]
	cmp	rax, QWORD PTR -200[rbp]
	jb	.L1082
.L1080:
	mov	rax, QWORD PTR expdir[rip]
	cmp	QWORD PTR -248[rbp], rax
	jne	.L1083
	lea	rax, .LC60[rip]
	mov	QWORD PTR -208[rbp], rax
	jmp	.L1084
.L1083:
	mov	rax, QWORD PTR expdir[rip]
	add	rax, 1
	cmp	QWORD PTR -248[rbp], rax
	jne	.L1085
	mov	rax, QWORD PTR expdir[rip]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 47
	jne	.L1085
	lea	rax, .LC63[rip]
	mov	QWORD PTR -208[rbp], rax
	jmp	.L1084
.L1085:
	mov	rax, QWORD PTR expdir[rip]
	mov	QWORD PTR -208[rbp], rax
	mov	rax, QWORD PTR -248[rbp]
	sub	rax, 1
	mov	BYTE PTR [rax], 0
.L1084:
	mov	rax, QWORD PTR -208[rbp]
	mov	rdi, rax
	call	opendir@PLT
	mov	QWORD PTR -176[rbp], rax
	cmp	QWORD PTR -176[rbp], 0
	je	.L1106
	mov	rax, QWORD PTR expdir[rip]
	cmp	QWORD PTR -248[rbp], rax
	je	.L1087
	mov	rax, QWORD PTR -248[rbp]
	sub	rax, 1
	mov	BYTE PTR [rax], 47
.L1087:
	mov	rax, QWORD PTR -192[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L1088
	mov	DWORD PTR -228[rbp], 1
	jmp	.L1089
.L1088:
	mov	DWORD PTR -228[rbp], 0
	mov	rax, QWORD PTR -192[rbp]
	mov	BYTE PTR [rax], 0
	mov	eax, DWORD PTR -220[rbp]
	cdqe
	add	rax, 1
	add	QWORD PTR -192[rbp], rax
.L1089:
	mov	DWORD PTR -224[rbp], 0
	mov	rax, QWORD PTR -200[rbp]
	mov	QWORD PTR -216[rbp], rax
	mov	rax, QWORD PTR -216[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 92
	jne	.L1090
	add	QWORD PTR -216[rbp], 1
.L1090:
	mov	rax, QWORD PTR -216[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 46
	jne	.L1092
	add	DWORD PTR -224[rbp], 1
	jmp	.L1092
.L1098:
	mov	rax, QWORD PTR -168[rbp]
	movzx	eax, BYTE PTR 19[rax]
	cmp	al, 46
	jne	.L1093
	cmp	DWORD PTR -224[rbp], 0
	jne	.L1093
	jmp	.L1092
.L1093:
	mov	rax, QWORD PTR -168[rbp]
	lea	rdx, 19[rax]
	mov	rax, QWORD PTR -200[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	pmatch
	test	eax, eax
	je	.L1092
	cmp	DWORD PTR -228[rbp], 0
	je	.L1094
	mov	rax, QWORD PTR -168[rbp]
	lea	rdx, 19[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcpy@PLT
	mov	rax, QWORD PTR expdir[rip]
	mov	rdi, rax
	call	addfname
	jmp	.L1092
.L1094:
	mov	rax, QWORD PTR -248[rbp]
	mov	QWORD PTR -216[rbp], rax
	mov	rax, QWORD PTR -168[rbp]
	add	rax, 19
	mov	QWORD PTR -208[rbp], rax
	jmp	.L1095
.L1096:
	nop
.L1095:
	mov	rdx, QWORD PTR -208[rbp]
	lea	rax, 1[rdx]
	mov	QWORD PTR -208[rbp], rax
	mov	rax, QWORD PTR -216[rbp]
	lea	rcx, 1[rax]
	mov	QWORD PTR -216[rbp], rcx
	movzx	edx, BYTE PTR [rdx]
	mov	BYTE PTR [rax], dl
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L1096
	mov	rax, QWORD PTR -216[rbp]
	sub	rax, 1
	mov	BYTE PTR [rax], 47
	mov	rdx, QWORD PTR -192[rbp]
	mov	rax, QWORD PTR -216[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	expmeta
.L1092:
	mov	eax, DWORD PTR intpending[rip]
	test	eax, eax
	jne	.L1097
	mov	rax, QWORD PTR -176[rbp]
	mov	rdi, rax
	call	readdir@PLT
	mov	QWORD PTR -168[rbp], rax
	cmp	QWORD PTR -168[rbp], 0
	jne	.L1098
.L1097:
	mov	rax, QWORD PTR -176[rbp]
	mov	rdi, rax
	call	closedir@PLT
	cmp	DWORD PTR -228[rbp], 0
	jne	.L1058
	cmp	DWORD PTR -220[rbp], 0
	je	.L1100
	mov	edx, 92
	jmp	.L1101
.L1100:
	mov	edx, 47
.L1101:
	mov	eax, DWORD PTR -220[rbp]
	neg	eax
	cdqe
	lea	rcx, -1[rax]
	mov	rax, QWORD PTR -192[rbp]
	add	rax, rcx
	mov	BYTE PTR [rax], dl
	jmp	.L1058
.L1105:
	nop
	jmp	.L1058
.L1106:
	nop
.L1058:
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L1103
	call	__stack_chk_fail@PLT
.L1103:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE115:
	.size	expmeta, .-expmeta
	.type	addfname, @function
addfname:
.LFB116:
	.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	edi, 16
	call	stalloc
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	sstrdup
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rdx], rax
	mov	rax, QWORD PTR exparg[rip+8]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR exparg[rip+8], rax
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE116:
	.size	addfname, .-addfname
	.type	expsort, @function
expsort:
.LFB117:
	.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 -12[rbp], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L1109
.L1110:
	add	DWORD PTR -12[rbp], 1
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
.L1109:
	cmp	QWORD PTR -8[rbp], 0
	jne	.L1110
	mov	edx, DWORD PTR -12[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	msort
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE117:
	.size	expsort, .-expsort
	.type	msort, @function
msort:
.LFB118:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	mov	QWORD PTR -16[rbp], 0
	cmp	DWORD PTR -44[rbp], 1
	jg	.L1113
	mov	rax, QWORD PTR -40[rbp]
	jmp	.L1114
.L1113:
	mov	eax, DWORD PTR -44[rbp]
	sar	eax
	mov	DWORD PTR -28[rbp], eax
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -24[rbp], rax
	mov	eax, DWORD PTR -28[rbp]
	mov	DWORD PTR -32[rbp], eax
	jmp	.L1115
.L1116:
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -24[rbp], rax
.L1115:
	sub	DWORD PTR -32[rbp], 1
	cmp	DWORD PTR -32[rbp], 0
	jns	.L1116
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], 0
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR -28[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	msort
	mov	QWORD PTR -16[rbp], rax
	mov	eax, DWORD PTR -44[rbp]
	sub	eax, DWORD PTR -28[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	msort
	mov	QWORD PTR -24[rbp], rax
	lea	rax, -40[rbp]
	mov	QWORD PTR -8[rbp], rax
.L1120:
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jns	.L1117
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], 0
	jne	.L1120
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L1119
.L1117:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	jne	.L1120
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
.L1119:
	mov	rax, QWORD PTR -40[rbp]
.L1114:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE118:
	.size	msort, .-msort
	.type	patmatch, @function
patmatch:
.LFB119:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	preglob
	mov	rdx, rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	call	pmatch
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE119:
	.size	patmatch, .-patmatch
	.type	ccmatch, @function
ccmatch:
.LFB120:
	.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 -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	mov	QWORD PTR -56[rbp], rdx
	lea	rax, classes.4[rip+288]
	mov	QWORD PTR -16[rbp], rax
	lea	rax, classes.4[rip]
	mov	QWORD PTR -24[rbp], rax
	jmp	.L1124
.L1127:
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	prefix
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L1125
	add	QWORD PTR -24[rbp], 24
	jmp	.L1124
.L1125:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -44[rbp]
	mov	edi, eax
	call	rdx
	jmp	.L1126
.L1124:
	mov	rax, QWORD PTR -24[rbp]
	cmp	rax, QWORD PTR -16[rbp]
	jb	.L1127
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR [rax], 0
	mov	eax, 0
.L1126:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE120:
	.size	ccmatch, .-ccmatch
	.type	pmatch, @function
pmatch:
.LFB121:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -72[rbp], rdi
	mov	QWORD PTR -80[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -80[rbp]
	mov	QWORD PTR -24[rbp], rax
.L1162:
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -32[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -50[rbp], al
	movsx	eax, BYTE PTR -50[rbp]
	cmp	eax, 92
	je	.L1129
	cmp	eax, 92
	jg	.L1130
	cmp	eax, 91
	je	.L1131
	cmp	eax, 91
	jg	.L1130
	cmp	eax, 63
	je	.L1132
	cmp	eax, 63
	jg	.L1130
	test	eax, eax
	je	.L1165
	cmp	eax, 42
	je	.L1134
	jmp	.L1130
.L1129:
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L1166
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -32[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -50[rbp], al
	jmp	.L1166
.L1132:
	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	.L1167
	mov	eax, 0
	jmp	.L1139
.L1134:
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -50[rbp], al
	jmp	.L1141
.L1142:
	add	QWORD PTR -32[rbp], 1
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -50[rbp], al
.L1141:
	cmp	BYTE PTR -50[rbp], 42
	je	.L1142
	cmp	BYTE PTR -50[rbp], 92
	je	.L1148
	cmp	BYTE PTR -50[rbp], 63
	je	.L1148
	cmp	BYTE PTR -50[rbp], 42
	je	.L1148
	cmp	BYTE PTR -50[rbp], 91
	je	.L1148
	jmp	.L1144
.L1146:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L1145
	mov	eax, 0
	jmp	.L1139
.L1145:
	add	QWORD PTR -24[rbp], 1
.L1144:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	BYTE PTR -50[rbp], al
	jne	.L1146
.L1148:
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	pmatch
	test	eax, eax
	je	.L1147
	mov	eax, 1
	jmp	.L1139
.L1147:
	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	.L1148
	mov	eax, 0
	jmp	.L1139
.L1131:
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	DWORD PTR -48[rbp], 0
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 33
	jne	.L1149
	add	DWORD PTR -48[rbp], 1
	add	QWORD PTR -32[rbp], 1
.L1149:
	mov	DWORD PTR -44[rbp], 0
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -24[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -49[rbp], al
	cmp	BYTE PTR -49[rbp], 0
	jne	.L1150
	mov	eax, 0
	jmp	.L1139
.L1150:
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -32[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -50[rbp], al
.L1159:
	cmp	BYTE PTR -50[rbp], 0
	jne	.L1151
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -50[rbp], al
	jmp	.L1130
.L1151:
	cmp	BYTE PTR -50[rbp], 91
	jne	.L1152
	movsx	ecx, BYTE PTR -49[rbp]
	lea	rdx, -40[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	ccmatch
	test	eax, eax
	setne	al
	movzx	eax, al
	or	DWORD PTR -44[rbp], eax
	mov	rax, QWORD PTR -40[rbp]
	test	rax, rax
	je	.L1155
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -32[rbp], rax
	jmp	.L1154
.L1152:
	cmp	BYTE PTR -50[rbp], 92
	jne	.L1155
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -32[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -50[rbp], al
.L1155:
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 45
	jne	.L1156
	mov	rax, QWORD PTR -32[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 93
	je	.L1156
	add	QWORD PTR -32[rbp], 1
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 92
	jne	.L1157
	add	QWORD PTR -32[rbp], 1
.L1157:
	movzx	eax, BYTE PTR -49[rbp]
	cmp	al, BYTE PTR -50[rbp]
	jl	.L1158
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	BYTE PTR -49[rbp], al
	jg	.L1158
	mov	DWORD PTR -44[rbp], 1
.L1158:
	add	QWORD PTR -32[rbp], 1
	jmp	.L1154
.L1156:
	movzx	eax, BYTE PTR -49[rbp]
	cmp	al, BYTE PTR -50[rbp]
	jne	.L1154
	mov	DWORD PTR -44[rbp], 1
.L1154:
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -32[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -50[rbp], al
	cmp	BYTE PTR -50[rbp], 93
	jne	.L1159
	mov	eax, DWORD PTR -44[rbp]
	cmp	eax, DWORD PTR -48[rbp]
	jne	.L1168
	mov	eax, 0
	jmp	.L1139
.L1137:
.L1166:
	nop
.L1130:
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -24[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	cmp	BYTE PTR -50[rbp], al
	je	.L1169
	mov	eax, 0
	jmp	.L1139
.L1167:
	nop
	jmp	.L1162
.L1168:
	nop
	jmp	.L1162
.L1169:
	nop
	jmp	.L1162
.L1165:
	nop
.L1135:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L1163
	mov	eax, 0
	jmp	.L1139
.L1163:
	mov	eax, 1
.L1139:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L1164
	call	__stack_chk_fail@PLT
.L1164:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE121:
	.size	pmatch, .-pmatch
	.globl	_rmescapes
	.type	_rmescapes, @function
_rmescapes:
.LFB122:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -72[rbp], rdi
	mov	DWORD PTR -76[rbp], esi
	mov	rax, QWORD PTR -72[rbp]
	lea	rsi, qchars[rip]
	mov	rdi, rax
	call	strpbrk@PLT
	mov	QWORD PTR -40[rbp], rax
	cmp	QWORD PTR -40[rbp], 0
	jne	.L1171
	mov	rax, QWORD PTR -72[rbp]
	jmp	.L1172
.L1171:
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR -24[rbp], rax
	mov	eax, DWORD PTR -76[rbp]
	and	eax, 1
	test	eax, eax
	je	.L1173
	mov	rax, QWORD PTR -40[rbp]
	sub	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	rdx, QWORD PTR -16[rbp]
	add	rax, rdx
	add	rax, 1
	mov	QWORD PTR -8[rbp], rax
	mov	eax, DWORD PTR -76[rbp]
	and	eax, 8
	test	eax, eax
	je	.L1174
	mov	rdx, QWORD PTR stacknxt[rip]
	mov	rax, QWORD PTR -72[rbp]
	sub	rax, rdx
	mov	DWORD PTR -48[rbp], eax
	mov	rdx, QWORD PTR expdest[rip]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	makestrspace
	mov	QWORD PTR -24[rbp], rax
	mov	rdx, QWORD PTR stacknxt[rip]
	mov	eax, DWORD PTR -48[rbp]
	cdqe
	add	rax, rdx
	mov	QWORD PTR -72[rbp], rax
	mov	rdx, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	mov	QWORD PTR -40[rbp], rax
	jmp	.L1175
.L1174:
	mov	eax, DWORD PTR -76[rbp]
	and	eax, 16
	test	eax, eax
	je	.L1176
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	ckmalloc
	mov	QWORD PTR -24[rbp], rax
	jmp	.L1175
.L1176:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	stalloc
	mov	QWORD PTR -24[rbp], rax
.L1175:
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -32[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	je	.L1173
	mov	rdx, QWORD PTR -16[rbp]
	mov	rcx, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	mempcpy@PLT
	mov	QWORD PTR -32[rbp], rax
.L1173:
	mov	DWORD PTR -56[rbp], 0
	mov	eax, DWORD PTR -76[rbp]
	and	eax, 2
	mov	DWORD PTR -44[rbp], eax
	mov	eax, DWORD PTR -44[rbp]
	mov	DWORD PTR -52[rbp], eax
	jmp	.L1177
.L1182:
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, -120
	jne	.L1178
	not	DWORD PTR -56[rbp]
	add	QWORD PTR -40[rbp], 1
	mov	eax, DWORD PTR -44[rbp]
	mov	DWORD PTR -52[rbp], eax
	jmp	.L1177
.L1178:
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, -127
	jne	.L1179
	add	QWORD PTR -40[rbp], 1
	cmp	DWORD PTR -52[rbp], 0
	je	.L1180
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -32[rbp], rdx
	mov	BYTE PTR [rax], 92
	jmp	.L1180
.L1179:
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 92
	jne	.L1180
	cmp	DWORD PTR -56[rbp], 0
	jne	.L1180
	mov	DWORD PTR -52[rbp], 0
	jmp	.L1181
.L1180:
	mov	eax, DWORD PTR -44[rbp]
	mov	DWORD PTR -52[rbp], eax
.L1181:
	mov	rdx, QWORD PTR -40[rbp]
	lea	rax, 1[rdx]
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	lea	rcx, 1[rax]
	mov	QWORD PTR -32[rbp], rcx
	movzx	edx, BYTE PTR [rdx]
	mov	BYTE PTR [rax], dl
.L1177:
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L1182
	mov	rax, QWORD PTR -32[rbp]
	mov	BYTE PTR [rax], 0
	mov	eax, DWORD PTR -76[rbp]
	and	eax, 8
	test	eax, eax
	je	.L1183
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR expdest[rip], rax
	mov	rdx, QWORD PTR expdest[rip]
	mov	rax, QWORD PTR -32[rbp]
	sub	rax, QWORD PTR -24[rbp]
	add	rax, 1
	add	rax, rdx
	mov	QWORD PTR expdest[rip], rax
.L1183:
	mov	rax, QWORD PTR -24[rbp]
.L1172:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE122:
	.size	_rmescapes, .-_rmescapes
	.globl	casematch
	.type	casematch, @function
casematch:
.LFB123:
	.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	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rax, -32[rbp]
	mov	rdi, rax
	call	setstackmark
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR argbackq[rip], rax
	mov	rax, QWORD PTR stacknxt[rip]
	mov	QWORD PTR expdest[rip], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	esi, 18
	mov	rdi, rax
	call	argstr
	mov	rdx, QWORD PTR expdest[rip]
	mov	rax, QWORD PTR sstrend[rip]
	cmp	rdx, rax
	jne	.L1185
	call	growstackstr
	mov	QWORD PTR expdest[rip], rax
	mov	rax, QWORD PTR expdest[rip]
	mov	BYTE PTR [rax], 0
	jmp	.L1186
.L1185:
	mov	rax, QWORD PTR expdest[rip]
	mov	BYTE PTR [rax], 0
.L1186:
	call	ifsfree
	mov	rax, QWORD PTR stacknxt[rip]
	mov	rdx, QWORD PTR -64[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	patmatch
	mov	DWORD PTR -36[rbp], eax
	lea	rax, -32[rbp]
	mov	rdi, rax
	call	popstackmark
	mov	eax, DWORD PTR -36[rbp]
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L1188
	call	__stack_chk_fail@PLT
.L1188:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE123:
	.size	casematch, .-casematch
	.section	.rodata
.LC94:
	.string	"%ld"
	.text
	.type	cvtnum, @function
cvtnum:
.LFB124:
	.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	edi, 8
	call	max_int_length
	mov	DWORD PTR -4[rbp], eax
	mov	rdx, QWORD PTR expdest[rip]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	mov	rsi, rdx
	mov	rdi, rax
	call	makestrspace
	mov	QWORD PTR expdest[rip], rax
	mov	eax, DWORD PTR -4[rbp]
	movsx	rsi, eax
	mov	rax, QWORD PTR expdest[rip]
	mov	rdx, QWORD PTR -24[rbp]
	mov	rcx, rdx
	lea	rdx, .LC94[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fmtstr
	mov	DWORD PTR -4[rbp], eax
	mov	rdx, QWORD PTR expdest[rip]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	add	rax, rdx
	mov	QWORD PTR expdest[rip], rax
	mov	eax, DWORD PTR -4[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE124:
	.size	cvtnum, .-cvtnum
	.section	.rodata
.LC95:
	.string	"parameter not set"
.LC96:
	.string	" or null"
.LC97:
	.string	"%.*s: %s%s"
	.text
	.type	varunset, @function
varunset:
.LFB125:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	DWORD PTR -44[rbp], ecx
	lea	rax, nullstr[rip]
	mov	QWORD PTR -8[rbp], rax
	lea	rax, .LC95[rip]
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -40[rbp], 0
	je	.L1192
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, -125
	jne	.L1193
	mov	eax, DWORD PTR -44[rbp]
	and	eax, 16
	test	eax, eax
	je	.L1192
	lea	rax, .LC96[rip]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L1192
.L1193:
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -16[rbp], rax
.L1192:
	mov	rax, QWORD PTR -24[rbp]
	sub	rax, QWORD PTR -32[rbp]
	lea	rsi, -1[rax]
	mov	rcx, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	r8, rcx
	mov	rcx, rdx
	mov	rdx, rax
	lea	rdi, .LC97[rip]
	mov	eax, 0
	call	sh_error
	.cfi_endproc
.LFE125:
	.size	varunset, .-varunset
	.globl	plinno
	.data
	.align 4
	.type	plinno, @object
	.size	plinno, 4
plinno:
	.long	1
	.globl	parsenleft
	.bss
	.align 4
	.type	parsenleft, @object
	.size	parsenleft, 4
parsenleft:
	.zero	4
	.globl	parselleft
	.align 4
	.type	parselleft, @object
	.size	parselleft, 4
parselleft:
	.zero	4
	.globl	parsenextc
	.align 8
	.type	parsenextc, @object
	.size	parsenextc, 8
parsenextc:
	.zero	8
	.globl	basepf
	.align 32
	.type	basepf, @object
	.size	basepf, 88
basepf:
	.zero	88
	.globl	basebuf
	.align 32
	.type	basebuf, @object
	.size	basebuf, 8193
basebuf:
	.zero	8193
	.globl	parsefile
	.section	.data.rel.local
	.align 8
	.type	parsefile, @object
	.size	parsefile, 8
parsefile:
	.quad	basepf
	.globl	whichprompt
	.bss
	.align 4
	.type	whichprompt, @object
	.size	whichprompt, 4
whichprompt:
	.zero	4
	.text
	.globl	pgetc
	.type	pgetc, @function
pgetc:
.LFB126:
	.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 parsenleft[rip]
	sub	eax, 1
	mov	DWORD PTR parsenleft[rip], eax
	mov	eax, DWORD PTR parsenleft[rip]
	test	eax, eax
	js	.L1195
	mov	rax, QWORD PTR parsenextc[rip]
	lea	rdx, 1[rax]
	mov	QWORD PTR parsenextc[rip], rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	jmp	.L1197
.L1195:
	call	preadbuffer
.L1197:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE126:
	.size	pgetc, .-pgetc
	.globl	pgetc2
	.type	pgetc2, @function
pgetc2:
.LFB127:
	.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
.L1201:
	mov	eax, DWORD PTR parsenleft[rip]
	sub	eax, 1
	mov	DWORD PTR parsenleft[rip], eax
	mov	eax, DWORD PTR parsenleft[rip]
	test	eax, eax
	js	.L1199
	mov	rax, QWORD PTR parsenextc[rip]
	lea	rdx, 1[rax]
	mov	QWORD PTR parsenextc[rip], rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	jmp	.L1200
.L1199:
	call	preadbuffer
.L1200:
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], -129
	je	.L1201
	mov	eax, DWORD PTR -4[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE127:
	.size	pgetc2, .-pgetc2
	.section	.rodata
.LC98:
	.string	"sh: turning off NDELAY mode\n"
	.text
	.type	preadfd, @function
preadfd:
.LFB128:
	.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 parsefile[rip]
	mov	rax, QWORD PTR 32[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR parsenextc[rip], rax
.L1204:
	mov	rax, QWORD PTR parsefile[rip]
	mov	eax, DWORD PTR 12[rax]
	mov	rcx, QWORD PTR -8[rbp]
	mov	edx, 8192
	mov	rsi, rcx
	mov	edi, eax
	call	read@PLT
	mov	DWORD PTR -16[rbp], eax
	cmp	DWORD PTR -16[rbp], 0
	jns	.L1205
	mov	rax, QWORD PTR dash_errno[rip]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 4
	jne	.L1206
	jmp	.L1204
.L1206:
	mov	rax, QWORD PTR parsefile[rip]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	jne	.L1205
	mov	rax, QWORD PTR dash_errno[rip]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 11
	jne	.L1205
	mov	edx, 0
	mov	esi, 3
	mov	edi, 0
	mov	eax, 0
	call	fcntl@PLT
	mov	DWORD PTR -12[rbp], eax
	cmp	DWORD PTR -12[rbp], 0
	js	.L1205
	mov	eax, DWORD PTR -12[rbp]
	and	eax, 2048
	test	eax, eax
	je	.L1205
	and	DWORD PTR -12[rbp], -2049
	mov	eax, DWORD PTR -12[rbp]
	mov	edx, eax
	mov	esi, 4
	mov	edi, 0
	mov	eax, 0
	call	fcntl@PLT
	test	eax, eax
	js	.L1205
	mov	rax, QWORD PTR out2[rip]
	mov	rsi, rax
	lea	rdi, .LC98[rip]
	call	outstr
	jmp	.L1204
.L1205:
	mov	eax, DWORD PTR -16[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE128:
	.size	preadfd, .-preadfd
	.globl	preadbuffer
	.type	preadbuffer, @function
preadbuffer:
.LFB129:
	.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
	jmp	.L1209
.L1212:
	mov	eax, DWORD PTR parsenleft[rip]
	cmp	eax, -1
	jne	.L1210
	mov	rax, QWORD PTR parsefile[rip]
	mov	rax, QWORD PTR 40[rax]
	mov	rax, QWORD PTR 24[rax]
	test	rax, rax
	je	.L1210
	mov	rax, QWORD PTR parsenextc[rip]
	sub	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 32
	je	.L1210
	mov	rax, QWORD PTR parsenextc[rip]
	sub	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 9
	je	.L1210
	mov	eax, -129
	jmp	.L1211
.L1210:
	call	popstring
	mov	eax, DWORD PTR parsenleft[rip]
	sub	eax, 1
	mov	DWORD PTR parsenleft[rip], eax
	mov	eax, DWORD PTR parsenleft[rip]
	test	eax, eax
	js	.L1209
	mov	rax, QWORD PTR parsenextc[rip]
	lea	rdx, 1[rax]
	mov	QWORD PTR parsenextc[rip], rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	jmp	.L1211
.L1209:
	mov	rax, QWORD PTR parsefile[rip]
	mov	rax, QWORD PTR 40[rax]
	test	rax, rax
	setne	al
	movzx	eax, al
	test	rax, rax
	jne	.L1212
	mov	eax, DWORD PTR parsenleft[rip]
	cmp	eax, -99
	sete	al
	movzx	eax, al
	test	rax, rax
	jne	.L1213
	mov	rax, QWORD PTR parsefile[rip]
	mov	rax, QWORD PTR 32[rax]
	test	rax, rax
	sete	al
	movzx	eax, al
	test	rax, rax
	je	.L1214
.L1213:
	mov	eax, -130
	jmp	.L1211
.L1214:
	lea	rdi, output[rip]
	call	flushout
	mov	eax, DWORD PTR parselleft[rip]
	mov	DWORD PTR -16[rbp], eax
	cmp	DWORD PTR -16[rbp], 0
	jg	.L1215
	nop
.L1216:
	call	preadfd
	mov	DWORD PTR -16[rbp], eax
	cmp	DWORD PTR -16[rbp], 0
	jg	.L1215
	mov	DWORD PTR parsenleft[rip], -99
	mov	eax, DWORD PTR parsenleft[rip]
	mov	DWORD PTR parselleft[rip], eax
	mov	eax, -130
	jmp	.L1211
.L1215:
	mov	rax, QWORD PTR parsenextc[rip]
	mov	QWORD PTR -8[rbp], rax
.L1222:
	sub	DWORD PTR -16[rbp], 1
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	DWORD PTR -12[rbp], eax
	cmp	DWORD PTR -12[rbp], 0
	jne	.L1217
	mov	eax, DWORD PTR -16[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -8[rbp]
	lea	rcx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	memmove@PLT
	jmp	.L1218
.L1217:
	add	QWORD PTR -8[rbp], 1
	cmp	DWORD PTR -12[rbp], 10
	jne	.L1218
	mov	rdx, QWORD PTR parsenextc[rip]
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, rdx
	sub	eax, 1
	mov	DWORD PTR parsenleft[rip], eax
	jmp	.L1219
.L1218:
	cmp	DWORD PTR -16[rbp], 0
	jg	.L1222
	mov	rdx, QWORD PTR parsenextc[rip]
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, rdx
	sub	eax, 1
	mov	DWORD PTR parsenleft[rip], eax
	mov	eax, DWORD PTR parsenleft[rip]
	test	eax, eax
	jns	.L1224
	jmp	.L1216
.L1224:
	nop
.L1219:
	mov	eax, DWORD PTR -16[rbp]
	mov	DWORD PTR parselleft[rip], eax
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -17[rbp], al
	mov	rax, QWORD PTR -8[rbp]
	mov	BYTE PTR [rax], 0
	movzx	eax, BYTE PTR optlist[rip+8]
	test	al, al
	je	.L1223
	mov	rdx, QWORD PTR out2[rip]
	mov	rax, QWORD PTR parsenextc[rip]
	mov	rsi, rdx
	mov	rdi, rax
	call	outstr
.L1223:
	mov	rax, QWORD PTR -8[rbp]
	movzx	edx, BYTE PTR -17[rbp]
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR parsenextc[rip]
	lea	rdx, 1[rax]
	mov	QWORD PTR parsenextc[rip], rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
.L1211:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE129:
	.size	preadbuffer, .-preadbuffer
	.globl	pungetc
	.type	pungetc, @function
pungetc:
.LFB130:
	.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 parsenleft[rip]
	add	eax, 1
	mov	DWORD PTR parsenleft[rip], eax
	mov	rax, QWORD PTR parsenextc[rip]
	sub	rax, 1
	mov	QWORD PTR parsenextc[rip], rax
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE130:
	.size	pungetc, .-pungetc
	.globl	pushstring
	.type	pushstring, @function
pushstring:
.LFB131:
	.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
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	eax, DWORD PTR suppressint[rip]
	add	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	rax, QWORD PTR parsefile[rip]
	mov	rax, QWORD PTR 40[rax]
	test	rax, rax
	je	.L1227
	mov	edi, 40
	call	ckmalloc
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR parsefile[rip]
	mov	rdx, QWORD PTR 40[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR parsefile[rip]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 40[rax], rdx
	jmp	.L1228
.L1227:
	mov	rdx, QWORD PTR parsefile[rip]
	mov	rax, QWORD PTR parsefile[rip]
	add	rdx, 48
	mov	QWORD PTR 40[rax], rdx
	mov	rax, QWORD PTR 40[rax]
	mov	QWORD PTR -16[rbp], rax
.L1228:
	mov	rdx, QWORD PTR parsenextc[rip]
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	edx, DWORD PTR parsenleft[rip]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR 24[rax], rdx
	cmp	QWORD PTR -32[rbp], 0
	je	.L1229
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 24[rax]
	or	eax, 1
	mov	edx, eax
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 32[rax], rdx
.L1229:
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR parsenextc[rip], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR parsenleft[rip], eax
	mov	eax, DWORD PTR suppressint[rip]
	sub	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	eax, DWORD PTR suppressint[rip]
	test	eax, eax
	jne	.L1231
	mov	eax, DWORD PTR intpending[rip]
	test	eax, eax
	je	.L1231
	call	onint
.L1231:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE131:
	.size	pushstring, .-pushstring
	.globl	popstring
	.type	popstring, @function
popstring:
.LFB132:
	.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 parsefile[rip]
	mov	rax, QWORD PTR 40[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	eax, DWORD PTR suppressint[rip]
	add	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 24[rax]
	test	rax, rax
	je	.L1233
	mov	rax, QWORD PTR parsenextc[rip]
	sub	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 32
	je	.L1234
	mov	rax, QWORD PTR parsenextc[rip]
	sub	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 9
	jne	.L1235
.L1234:
	mov	eax, DWORD PTR checkkwd[rip]
	or	eax, 1
	mov	DWORD PTR checkkwd[rip], eax
.L1235:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	rax, QWORD PTR 16[rax]
	cmp	rdx, rax
	je	.L1236
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	rdi, rax
	call	free@PLT
.L1236:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 24[rax]
	and	edx, -2
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	eax, DWORD PTR 24[rax]
	and	eax, 2
	test	eax, eax
	je	.L1233
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	unalias
.L1233:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR parsenextc[rip], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	mov	DWORD PTR parsenleft[rip], eax
	mov	rax, QWORD PTR parsefile[rip]
	mov	rdx, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR [rdx]
	mov	QWORD PTR 40[rax], rdx
	mov	rax, QWORD PTR parsefile[rip]
	add	rax, 48
	cmp	QWORD PTR -8[rbp], rax
	je	.L1237
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	free@PLT
.L1237:
	mov	eax, DWORD PTR suppressint[rip]
	sub	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	eax, DWORD PTR suppressint[rip]
	test	eax, eax
	jne	.L1239
	mov	eax, DWORD PTR intpending[rip]
	test	eax, eax
	je	.L1239
	call	onint
.L1239:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE132:
	.size	popstring, .-popstring
	.section	.rodata
.LC99:
	.string	"Can't open %s"
	.text
	.globl	setinputfile
	.type	setinputfile, @function
setinputfile:
.LFB133:
	.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 -28[rbp], esi
	mov	eax, DWORD PTR suppressint[rip]
	add	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, 0
	mov	rdi, rax
	mov	eax, 0
	call	open@PLT
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 0
	jns	.L1241
	mov	eax, DWORD PTR -28[rbp]
	and	eax, 2
	test	eax, eax
	jne	.L1247
	mov	DWORD PTR exitstatus[rip], 127
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, rax
	lea	rsi, .LC99[rip]
	mov	edi, 1
	mov	eax, 0
	call	exerror
.L1241:
	cmp	DWORD PTR -4[rbp], 9
	jg	.L1244
	mov	edx, DWORD PTR -4[rbp]
	mov	eax, DWORD PTR -4[rbp]
	mov	esi, edx
	mov	edi, eax
	call	savefd
	mov	DWORD PTR -4[rbp], eax
.L1244:
	mov	eax, DWORD PTR -28[rbp]
	and	eax, 1
	mov	edx, eax
	mov	eax, DWORD PTR -4[rbp]
	mov	esi, edx
	mov	edi, eax
	call	setinputfd
	jmp	.L1243
.L1247:
	nop
.L1243:
	mov	eax, DWORD PTR suppressint[rip]
	sub	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	eax, DWORD PTR suppressint[rip]
	test	eax, eax
	jne	.L1245
	mov	eax, DWORD PTR intpending[rip]
	test	eax, eax
	je	.L1245
	call	onint
.L1245:
	mov	eax, DWORD PTR -4[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE133:
	.size	setinputfile, .-setinputfile
	.type	setinputfd, @function
setinputfd:
.LFB134:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 24
	.cfi_offset 3, -24
	mov	DWORD PTR -20[rbp], edi
	mov	DWORD PTR -24[rbp], esi
	cmp	DWORD PTR -24[rbp], 0
	je	.L1249
	call	pushfile
	mov	rax, QWORD PTR parsefile[rip]
	mov	QWORD PTR 32[rax], 0
.L1249:
	mov	rax, QWORD PTR parsefile[rip]
	mov	edx, DWORD PTR -20[rbp]
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR parsefile[rip]
	mov	rax, QWORD PTR 32[rax]
	test	rax, rax
	jne	.L1250
	mov	rbx, QWORD PTR parsefile[rip]
	mov	edi, 8193
	call	ckmalloc
	mov	QWORD PTR 32[rbx], rax
.L1250:
	mov	DWORD PTR parsenleft[rip], 0
	mov	eax, DWORD PTR parsenleft[rip]
	mov	DWORD PTR parselleft[rip], eax
	mov	DWORD PTR plinno[rip], 1
	nop
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE134:
	.size	setinputfd, .-setinputfd
	.globl	setinputstring
	.type	setinputstring, @function
setinputstring:
.LFB135:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	eax, DWORD PTR suppressint[rip]
	add	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	call	pushfile
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR parsenextc[rip], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	DWORD PTR parsenleft[rip], eax
	mov	rax, QWORD PTR parsefile[rip]
	mov	QWORD PTR 32[rax], 0
	mov	DWORD PTR plinno[rip], 1
	mov	eax, DWORD PTR suppressint[rip]
	sub	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	eax, DWORD PTR suppressint[rip]
	test	eax, eax
	jne	.L1253
	mov	eax, DWORD PTR intpending[rip]
	test	eax, eax
	je	.L1253
	call	onint
.L1253:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE135:
	.size	setinputstring, .-setinputstring
	.type	pushfile, @function
pushfile:
.LFB136:
	.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 parsefile[rip]
	mov	edx, DWORD PTR parsenleft[rip]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR parsefile[rip]
	mov	edx, DWORD PTR parselleft[rip]
	mov	DWORD PTR 20[rax], edx
	mov	rax, QWORD PTR parsefile[rip]
	mov	rdx, QWORD PTR parsenextc[rip]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR parsefile[rip]
	mov	edx, DWORD PTR plinno[rip]
	mov	DWORD PTR 8[rax], edx
	mov	edi, 88
	call	ckmalloc
	mov	QWORD PTR -8[rbp], rax
	mov	rdx, QWORD PTR parsefile[rip]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 12[rax], -1
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 40[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 48[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR parsefile[rip], rax
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE136:
	.size	pushfile, .-pushfile
	.globl	popfile
	.type	popfile, @function
popfile:
.LFB137:
	.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 parsefile[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	eax, DWORD PTR suppressint[rip]
	add	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	js	.L1256
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 12[rax]
	mov	edi, eax
	call	close@PLT
.L1256:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 32[rax]
	test	rax, rax
	je	.L1258
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	rdi, rax
	call	free@PLT
	jmp	.L1258
.L1259:
	call	popstring
.L1258:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 40[rax]
	test	rax, rax
	jne	.L1259
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR parsefile[rip], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR parsefile[rip]
	mov	eax, DWORD PTR 16[rax]
	mov	DWORD PTR parsenleft[rip], eax
	mov	rax, QWORD PTR parsefile[rip]
	mov	eax, DWORD PTR 20[rax]
	mov	DWORD PTR parselleft[rip], eax
	mov	rax, QWORD PTR parsefile[rip]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR parsenextc[rip], rax
	mov	rax, QWORD PTR parsefile[rip]
	mov	eax, DWORD PTR 8[rax]
	mov	DWORD PTR plinno[rip], eax
	mov	eax, DWORD PTR suppressint[rip]
	sub	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	eax, DWORD PTR suppressint[rip]
	test	eax, eax
	jne	.L1261
	mov	eax, DWORD PTR intpending[rip]
	test	eax, eax
	je	.L1261
	call	onint
.L1261:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE137:
	.size	popfile, .-popfile
	.globl	popallfiles
	.type	popallfiles, @function
popallfiles:
.LFB138:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	jmp	.L1263
.L1264:
	call	popfile
.L1263:
	mov	rax, QWORD PTR parsefile[rip]
	lea	rdx, basepf[rip]
	cmp	rax, rdx
	jne	.L1264
	nop
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE138:
	.size	popallfiles, .-popallfiles
	.globl	closescript
	.type	closescript, @function
closescript:
.LFB139:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	call	popallfiles
	mov	rax, QWORD PTR parsefile[rip]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	jle	.L1267
	mov	rax, QWORD PTR parsefile[rip]
	mov	eax, DWORD PTR 12[rax]
	mov	edi, eax
	call	close@PLT
	mov	rax, QWORD PTR parsefile[rip]
	mov	DWORD PTR 12[rax], 0
.L1267:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE139:
	.size	closescript, .-closescript
	.local	jobtab
	.comm	jobtab,8,8
	.local	njobs
	.comm	njobs,4,4
	.globl	backgndpid
	.bss
	.align 4
	.type	backgndpid, @object
	.size	backgndpid, 4
backgndpid:
	.zero	4
	.local	initialpgrp
	.comm	initialpgrp,4,4
	.data
	.align 4
	.type	ttyfd, @object
	.size	ttyfd, 4
ttyfd:
	.long	-1
	.local	curjob
	.comm	curjob,8,8
	.local	jobless
	.comm	jobless,4,4
	.text
	.type	set_curjob, @function
set_curjob:
.LFB140:
	.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	DWORD PTR -44[rbp], esi
	lea	rax, curjob[rip]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -24[rbp], rax
.L1271:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	cmp	rax, QWORD PTR -40[rbp]
	je	.L1276
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 32
	mov	QWORD PTR -24[rbp], rax
	jmp	.L1271
.L1276:
	nop
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -24[rbp], rax
	cmp	DWORD PTR -44[rbp], 0
	je	.L1272
	cmp	DWORD PTR -44[rbp], 1
	jne	.L1277
.L1273:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L1272
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR 30[rax]
	cmp	al, 1
	jne	.L1272
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 32
	mov	QWORD PTR -24[rbp], rax
	jmp	.L1273
.L1272:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR 32[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L1274
.L1277:
	nop
.L1274:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE140:
	.size	set_curjob, .-set_curjob
	.globl	jobctl
	.bss
	.align 4
	.type	jobctl, @object
	.size	jobctl, 4
jobctl:
	.zero	4
	.section	.rodata
.LC100:
	.string	"/dev/tty"
	.align 8
.LC101:
	.string	"can't access tty; job control turned off"
	.text
	.globl	setjobctl
	.type	setjobctl, @function
setjobctl:
.LFB141:
	.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	eax, DWORD PTR jobctl[rip]
	cmp	DWORD PTR -20[rbp], eax
	je	.L1294
	mov	eax, DWORD PTR shlvl[rip]
	test	eax, eax
	jne	.L1294
	cmp	DWORD PTR -20[rbp], 0
	je	.L1282
	mov	esi, 2
	lea	rdi, .LC100[rip]
	mov	eax, 0
	call	open@PLT
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -12[rbp], 0
	jns	.L1283
	add	DWORD PTR -12[rbp], 3
	jmp	.L1284
.L1286:
	sub	DWORD PTR -12[rbp], 1
	cmp	DWORD PTR -12[rbp], 0
	js	.L1295
.L1284:
	mov	eax, DWORD PTR -12[rbp]
	mov	edi, eax
	call	isatty@PLT
	test	eax, eax
	je	.L1286
.L1283:
	mov	edx, DWORD PTR -4[rbp]
	mov	eax, DWORD PTR -12[rbp]
	mov	esi, edx
	mov	edi, eax
	call	savefd
	mov	DWORD PTR -12[rbp], eax
.L1291:
	mov	eax, DWORD PTR -12[rbp]
	mov	edi, eax
	call	tcgetpgrp@PLT
	mov	DWORD PTR -8[rbp], eax
	cmp	DWORD PTR -8[rbp], 0
	jns	.L1287
	jmp	.L1285
.L1295:
	nop
.L1285:
	lea	rdi, .LC101[rip]
	mov	eax, 0
	call	sh_warnx
	mov	DWORD PTR -20[rbp], 0
	mov	BYTE PTR optlist[rip+4], 0
	jmp	.L1288
.L1287:
	call	getpgrp@PLT
	cmp	DWORD PTR -8[rbp], eax
	je	.L1296
	mov	esi, 21
	mov	edi, 0
	call	killpg@PLT
	jmp	.L1291
.L1296:
	nop
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR initialpgrp[rip], eax
	mov	edi, 20
	call	setsignal
	mov	edi, 22
	call	setsignal
	mov	edi, 21
	call	setsignal
	mov	eax, DWORD PTR rootpid[rip]
	mov	DWORD PTR -8[rbp], eax
	mov	eax, DWORD PTR -8[rbp]
	mov	esi, eax
	mov	edi, 0
	call	setpgid@PLT
	mov	edx, DWORD PTR -8[rbp]
	mov	eax, DWORD PTR -12[rbp]
	mov	esi, edx
	mov	edi, eax
	call	xtcsetpgrp
	jmp	.L1292
.L1282:
	mov	eax, DWORD PTR ttyfd[rip]
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR initialpgrp[rip]
	mov	DWORD PTR -8[rbp], eax
	mov	edx, DWORD PTR -8[rbp]
	mov	eax, DWORD PTR -12[rbp]
	mov	esi, edx
	mov	edi, eax
	call	xtcsetpgrp
	mov	eax, DWORD PTR -8[rbp]
	mov	esi, eax
	mov	edi, 0
	call	setpgid@PLT
	mov	edi, 20
	call	setsignal
	mov	edi, 22
	call	setsignal
	mov	edi, 21
	call	setsignal
.L1288:
	mov	eax, DWORD PTR -12[rbp]
	mov	edi, eax
	call	close@PLT
	mov	DWORD PTR -12[rbp], -1
.L1292:
	mov	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR ttyfd[rip], eax
	mov	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR jobctl[rip], eax
	jmp	.L1278
.L1294:
	nop
.L1278:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE141:
	.size	setjobctl, .-setjobctl
	.section	.rodata
	.align 8
.LC102:
	.string	"Usage: kill [-s sigspec | -signum | -sigspec] [pid | job]... or\nkill -l [exitstatus]"
	.align 8
.LC103:
	.string	"invalid signal number or name: %s"
.LC104:
	.string	"ls:"
.LC105:
	.string	"0\n"
	.align 8
.LC106:
	.string	"invalid signal number or exit status: %s"
.LC107:
	.string	"%s\n"
	.text
	.globl	killcmd
	.type	killcmd, @function
killcmd:
.LFB142:
	.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	QWORD PTR -64[rbp], rsi
	mov	DWORD PTR -36[rbp], -1
	mov	DWORD PTR -32[rbp], 0
	cmp	DWORD PTR -52[rbp], 1
	jg	.L1298
	nop
	jmp	.L1299
.L1324:
	nop
.L1299:
	lea	rdi, .LC102[rip]
	mov	eax, 0
	call	sh_error
.L1298:
	add	QWORD PTR -64[rbp], 8
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 45
	jne	.L1300
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR [rax]
	add	rax, 1
	mov	esi, 1
	mov	rdi, rax
	call	decode_signal
	mov	DWORD PTR -36[rbp], eax
	cmp	DWORD PTR -36[rbp], 0
	jns	.L1301
	jmp	.L1302
.L1305:
	cmp	DWORD PTR -20[rbp], 115
	je	.L1303
	mov	DWORD PTR -32[rbp], 1
	jmp	.L1302
.L1303:
	mov	rax, QWORD PTR optionarg[rip]
	mov	esi, 1
	mov	rdi, rax
	call	decode_signal
	mov	DWORD PTR -36[rbp], eax
	cmp	DWORD PTR -36[rbp], 0
	jns	.L1325
	mov	rax, QWORD PTR optionarg[rip]
	mov	rsi, rax
	lea	rdi, .LC103[rip]
	mov	eax, 0
	call	sh_error
.L1325:
	nop
.L1302:
	lea	rdi, .LC104[rip]
	call	nextopt
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], 0
	jne	.L1305
	mov	rax, QWORD PTR argptr[rip]
	mov	QWORD PTR -64[rbp], rax
	jmp	.L1300
.L1301:
	add	QWORD PTR -64[rbp], 8
.L1300:
	cmp	DWORD PTR -32[rbp], 0
	jne	.L1306
	cmp	DWORD PTR -36[rbp], 0
	jns	.L1306
	mov	DWORD PTR -36[rbp], 15
.L1306:
	cmp	DWORD PTR -36[rbp], 0
	js	.L1307
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L1308
.L1307:
	mov	eax, 1
	jmp	.L1309
.L1308:
	mov	eax, 0
.L1309:
	cmp	eax, DWORD PTR -32[rbp]
	jne	.L1324
	cmp	DWORD PTR -32[rbp], 0
	je	.L1311
	mov	rax, QWORD PTR out1[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L1312
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rax
	lea	rdi, .LC105[rip]
	call	outstr
	mov	DWORD PTR -28[rbp], 1
	jmp	.L1313
.L1314:
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, signal_names[rip]
	mov	rdx, QWORD PTR [rdx+rax]
	mov	rax, QWORD PTR -8[rbp]
	lea	rsi, snlfmt[rip]
	mov	rdi, rax
	mov	eax, 0
	call	outfmt
	add	DWORD PTR -28[rbp], 1
.L1313:
	cmp	DWORD PTR -28[rbp], 64
	jle	.L1314
	mov	eax, 0
	jmp	.L1315
.L1312:
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	number
	mov	DWORD PTR -36[rbp], eax
	cmp	DWORD PTR -36[rbp], 128
	jle	.L1316
	add	DWORD PTR -36[rbp], -128
.L1316:
	cmp	DWORD PTR -36[rbp], 0
	jle	.L1317
	cmp	DWORD PTR -36[rbp], 64
	jg	.L1317
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, signal_names[rip]
	mov	rdx, QWORD PTR [rdx+rax]
	mov	rax, QWORD PTR -8[rbp]
	lea	rsi, snlfmt[rip]
	mov	rdi, rax
	mov	eax, 0
	call	outfmt
	mov	eax, 0
	jmp	.L1315
.L1317:
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rsi, rax
	lea	rdi, .LC106[rip]
	mov	eax, 0
	call	sh_error
.L1311:
	mov	DWORD PTR -28[rbp], 0
.L1323:
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 37
	jne	.L1318
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR [rax]
	mov	esi, 0
	mov	rdi, rax
	call	getjob
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	eax, DWORD PTR [rax]
	neg	eax
	mov	DWORD PTR -24[rbp], eax
	jmp	.L1319
.L1318:
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 45
	jne	.L1320
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR [rax]
	add	rax, 1
	mov	rdi, rax
	call	number
	neg	eax
	jmp	.L1321
.L1320:
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	number
.L1321:
	mov	DWORD PTR -24[rbp], eax
.L1319:
	mov	edx, DWORD PTR -36[rbp]
	mov	eax, DWORD PTR -24[rbp]
	mov	esi, edx
	mov	edi, eax
	call	kill@PLT
	test	eax, eax
	je	.L1322
	mov	rax, QWORD PTR dash_errno[rip]
	mov	eax, DWORD PTR [rax]
	mov	edi, eax
	call	strerror@PLT
	mov	rsi, rax
	lea	rdi, .LC107[rip]
	mov	eax, 0
	call	sh_warnx
	mov	DWORD PTR -28[rbp], 1
.L1322:
	add	QWORD PTR -64[rbp], 8
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L1323
	mov	eax, DWORD PTR -28[rbp]
.L1315:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE142:
	.size	killcmd, .-killcmd
	.type	jobno, @function
jobno:
.LFB143:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	rdx, QWORD PTR jobtab[rip]
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, rdx
	sar	rax, 3
	mov	rdx, rax
	movabs	rax, -3689348814741910323
	imul	rax, rdx
	add	eax, 1
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE143:
	.size	jobno, .-jobno
	.section	.rodata
.LC108:
	.string	"[%d] "
	.text
	.globl	fgcmd
	.type	fgcmd, @function
fgcmd:
.LFB144:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	DWORD PTR -36[rbp], edi
	mov	QWORD PTR -48[rbp], rsi
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 102
	setne	al
	movzx	eax, al
	mov	DWORD PTR -24[rbp], eax
	lea	rdi, nullstr[rip]
	call	nextopt
	mov	rax, QWORD PTR argptr[rip]
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR out1[rip]
	mov	QWORD PTR -16[rbp], rax
.L1331:
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR [rax]
	mov	esi, 1
	mov	rdi, rax
	call	getjob
	mov	QWORD PTR -8[rbp], rax
	cmp	DWORD PTR -24[rbp], 1
	jne	.L1329
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	set_curjob
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	jobno
	mov	edx, eax
	mov	rax, QWORD PTR -16[rbp]
	lea	rsi, .LC108[rip]
	mov	rdi, rax
	mov	eax, 0
	call	outfmt
.L1329:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rax, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR -16[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	outstr
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	showpipe
	mov	edx, DWORD PTR -24[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	restartjob
	mov	DWORD PTR -20[rbp], eax
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L1330
	add	QWORD PTR -48[rbp], 8
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L1331
.L1330:
	mov	eax, DWORD PTR -20[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE144:
	.size	fgcmd, .-fgcmd
	.globl	bgcmd
	.type	bgcmd, @function
bgcmd:
.LFB145:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	DWORD PTR -4[rbp], edi
	mov	QWORD PTR -16[rbp], rsi
	mov	rdx, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -4[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	fgcmd
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE145:
	.size	bgcmd, .-bgcmd
	.type	restartjob, @function
restartjob:
.LFB146:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	mov	eax, DWORD PTR suppressint[rip]
	add	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR 30[rax]
	cmp	al, 2
	je	.L1345
	mov	rax, QWORD PTR -40[rbp]
	mov	BYTE PTR 30[rax], 0
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -16[rbp], eax
	cmp	DWORD PTR -44[rbp], 0
	jne	.L1338
	mov	eax, DWORD PTR ttyfd[rip]
	mov	edx, DWORD PTR -16[rbp]
	mov	esi, edx
	mov	edi, eax
	call	xtcsetpgrp
.L1338:
	mov	eax, DWORD PTR -16[rbp]
	mov	esi, 18
	mov	edi, eax
	call	killpg@PLT
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, WORD PTR 28[rax]
	movzx	eax, ax
	mov	DWORD PTR -20[rbp], eax
.L1340:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 4[rax]
	movzx	eax, al
	cmp	eax, 127
	jne	.L1339
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 4[rax], -1
.L1339:
	add	QWORD PTR -8[rbp], 16
	sub	DWORD PTR -20[rbp], 1
	cmp	DWORD PTR -20[rbp], 0
	jne	.L1340
	jmp	.L1337
.L1345:
	nop
.L1337:
	cmp	DWORD PTR -44[rbp], 0
	jne	.L1341
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	waitforjob
	jmp	.L1342
.L1341:
	mov	eax, 0
.L1342:
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR suppressint[rip]
	sub	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	eax, DWORD PTR suppressint[rip]
	test	eax, eax
	jne	.L1343
	mov	eax, DWORD PTR intpending[rip]
	test	eax, eax
	je	.L1343
	call	onint
.L1343:
	mov	eax, DWORD PTR -12[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE146:
	.size	restartjob, .-restartjob
	.section	.rodata
.LC109:
	.string	"%s"
.LC110:
	.string	" (core dumped)"
.LC111:
	.string	"Done(%d)"
.LC112:
	.string	"Done"
	.text
	.type	sprint_status, @function
sprint_status:
.LFB147:
	.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 -28[rbp], esi
	mov	DWORD PTR -32[rbp], edx
	mov	DWORD PTR -8[rbp], 0
	mov	eax, DWORD PTR -28[rbp]
	sar	eax, 8
	and	eax, 255
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -28[rbp]
	and	eax, 127
	test	eax, eax
	je	.L1347
	mov	eax, DWORD PTR -28[rbp]
	sar	eax, 8
	and	eax, 255
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -28[rbp]
	movzx	eax, al
	cmp	eax, 127
	je	.L1348
	mov	eax, DWORD PTR -28[rbp]
	and	eax, 127
	mov	DWORD PTR -4[rbp], eax
.L1348:
	cmp	DWORD PTR -32[rbp], 0
	je	.L1349
	cmp	DWORD PTR -4[rbp], 2
	je	.L1355
	cmp	DWORD PTR -4[rbp], 13
	je	.L1355
	mov	eax, DWORD PTR -28[rbp]
	movzx	eax, al
	cmp	eax, 127
	je	.L1356
.L1349:
	mov	eax, DWORD PTR -4[rbp]
	mov	edi, eax
	call	strsignal@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, rdx
	lea	rdx, .LC109[rip]
	mov	esi, 32
	mov	rdi, rax
	mov	eax, 0
	call	fmtstr
	mov	DWORD PTR -8[rbp], eax
	mov	eax, DWORD PTR -28[rbp]
	and	eax, 128
	test	eax, eax
	je	.L1352
	mov	eax, DWORD PTR -8[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	lea	rdx, .LC110[rip]
	mov	esi, 16
	mov	rdi, rax
	mov	eax, 0
	call	fmtstr
	add	DWORD PTR -8[rbp], eax
	jmp	.L1352
.L1347:
	cmp	DWORD PTR -32[rbp], 0
	jne	.L1357
	cmp	DWORD PTR -4[rbp], 0
	je	.L1353
	mov	edx, DWORD PTR -4[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	ecx, edx
	lea	rdx, .LC111[rip]
	mov	esi, 16
	mov	rdi, rax
	mov	eax, 0
	call	fmtstr
	mov	DWORD PTR -8[rbp], eax
	jmp	.L1352
.L1353:
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, .LC112[rip]
	mov	esi, 16
	mov	rdi, rax
	mov	eax, 0
	call	fmtstr
	mov	DWORD PTR -8[rbp], eax
	jmp	.L1352
.L1355:
	nop
	jmp	.L1352
.L1356:
	nop
	jmp	.L1352
.L1357:
	nop
.L1352:
	mov	eax, DWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE147:
	.size	sprint_status, .-sprint_status
	.section	.rodata
.LC113:
	.string	"%d\n"
.LC114:
	.string	"%d "
.LC115:
	.string	" |\n%*c%d "
.LC116:
	.string	"%s%*c%s"
	.text
	.type	showjob, @function
showjob:
.LFB148:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 160
	mov	QWORD PTR -136[rbp], rdi
	mov	QWORD PTR -144[rbp], rsi
	mov	DWORD PTR -148[rbp], edx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -144[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -112[rbp], rax
	mov	eax, DWORD PTR -148[rbp]
	and	eax, 1
	test	eax, eax
	je	.L1359
	mov	rax, QWORD PTR -112[rbp]
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -136[rbp]
	lea	rsi, .LC113[rip]
	mov	rdi, rax
	mov	eax, 0
	call	outfmt
	jmp	.L1358
.L1359:
	mov	rax, QWORD PTR -144[rbp]
	mov	rdi, rax
	call	jobno
	mov	edx, eax
	lea	rax, -96[rbp]
	mov	ecx, edx
	lea	rdx, .LC108[rip]
	mov	esi, 16
	mov	rdi, rax
	mov	eax, 0
	call	fmtstr
	mov	DWORD PTR -124[rbp], eax
	mov	eax, DWORD PTR -124[rbp]
	mov	DWORD PTR -116[rbp], eax
	mov	rax, QWORD PTR curjob[rip]
	cmp	QWORD PTR -144[rbp], rax
	jne	.L1361
	mov	eax, DWORD PTR -124[rbp]
	sub	eax, 2
	cdqe
	mov	BYTE PTR -96[rbp+rax], 43
	jmp	.L1362
.L1361:
	mov	rax, QWORD PTR curjob[rip]
	test	rax, rax
	je	.L1362
	mov	rax, QWORD PTR curjob[rip]
	mov	rax, QWORD PTR 32[rax]
	cmp	QWORD PTR -144[rbp], rax
	jne	.L1362
	mov	eax, DWORD PTR -124[rbp]
	sub	eax, 2
	cdqe
	mov	BYTE PTR -96[rbp+rax], 45
.L1362:
	mov	eax, DWORD PTR -148[rbp]
	and	eax, 4
	test	eax, eax
	je	.L1363
	mov	rax, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR [rax]
	mov	edx, DWORD PTR -124[rbp]
	movsx	rdx, edx
	lea	rcx, -96[rbp]
	lea	rdi, [rcx+rdx]
	mov	ecx, eax
	lea	rdx, .LC114[rip]
	mov	esi, 16
	mov	eax, 0
	call	fmtstr
	add	DWORD PTR -124[rbp], eax
.L1363:
	mov	rax, QWORD PTR -144[rbp]
	movzx	eax, WORD PTR 28[rax]
	movzx	eax, ax
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	QWORD PTR -104[rbp], rax
	mov	rax, QWORD PTR -144[rbp]
	movzx	eax, BYTE PTR 30[rax]
	test	al, al
	jne	.L1364
	mov	eax, DWORD PTR -124[rbp]
	cdqe
	lea	rdx, -96[rbp]
	add	rax, rdx
	movabs	rsi, 29113321704551762
	mov	QWORD PTR [rax], rsi
	mov	eax, DWORD PTR -124[rbp]
	add	eax, 7
	mov	DWORD PTR -124[rbp], eax
	jmp	.L1367
.L1364:
	mov	rax, QWORD PTR -104[rbp]
	sub	rax, 16
	mov	eax, DWORD PTR 4[rax]
	mov	DWORD PTR -120[rbp], eax
	mov	rax, QWORD PTR -144[rbp]
	movzx	eax, BYTE PTR 30[rax]
	cmp	al, 1
	jne	.L1366
	mov	rax, QWORD PTR -144[rbp]
	mov	eax, DWORD PTR 24[rax]
	mov	DWORD PTR -120[rbp], eax
.L1366:
	mov	eax, DWORD PTR -124[rbp]
	cdqe
	lea	rdx, -96[rbp]
	lea	rcx, [rdx+rax]
	mov	eax, DWORD PTR -120[rbp]
	mov	edx, 0
	mov	esi, eax
	mov	rdi, rcx
	call	sprint_status
	add	DWORD PTR -124[rbp], eax
	jmp	.L1367
.L1374:
	nop
	mov	rax, QWORD PTR -112[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -116[rbp]
	lea	rax, -96[rbp]
	mov	r9d, ecx
	mov	r8d, 32
	mov	ecx, edx
	lea	rdx, .LC115[rip]
	mov	esi, 48
	mov	rdi, rax
	mov	eax, 0
	call	fmtstr
	sub	eax, 3
	mov	DWORD PTR -124[rbp], eax
.L1367:
	mov	rax, QWORD PTR -112[rbp]
	mov	rsi, QWORD PTR 8[rax]
	mov	eax, 33
	sub	eax, DWORD PTR -124[rbp]
	mov	edx, 0
	test	eax, eax
	mov	ecx, edx
	cmovns	ecx, eax
	lea	rdx, -96[rbp]
	mov	rax, QWORD PTR -136[rbp]
	mov	r9, rsi
	mov	r8d, 32
	lea	rsi, .LC116[rip]
	mov	rdi, rax
	mov	eax, 0
	call	outfmt
	mov	eax, DWORD PTR -148[rbp]
	and	eax, 4
	test	eax, eax
	jne	.L1368
	mov	rdx, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR -144[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	showpipe
	jmp	.L1369
.L1368:
	add	QWORD PTR -112[rbp], 16
	mov	rax, QWORD PTR -112[rbp]
	cmp	rax, QWORD PTR -104[rbp]
	jne	.L1374
	mov	rax, QWORD PTR -136[rbp]
	mov	rsi, rax
	mov	edi, 10
	call	outcslow
	nop
.L1369:
	mov	rax, QWORD PTR -144[rbp]
	movzx	edx, BYTE PTR 31[rax]
	and	edx, -17
	mov	BYTE PTR 31[rax], dl
	mov	rax, QWORD PTR -144[rbp]
	movzx	eax, BYTE PTR 30[rax]
	cmp	al, 2
	jne	.L1358
	mov	rax, QWORD PTR -144[rbp]
	mov	rdi, rax
	call	freejob
.L1358:
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L1373
	call	__stack_chk_fail@PLT
.L1373:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE148:
	.size	showjob, .-showjob
	.section	.rodata
.LC117:
	.string	"lp"
	.text
	.globl	jobscmd
	.type	jobscmd, @function
jobscmd:
.LFB149:
	.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	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -16[rbp], 0
	jmp	.L1376
.L1378:
	cmp	DWORD PTR -12[rbp], 108
	jne	.L1377
	mov	DWORD PTR -16[rbp], 4
	jmp	.L1376
.L1377:
	mov	DWORD PTR -16[rbp], 1
.L1376:
	lea	rdi, .LC117[rip]
	call	nextopt
	mov	DWORD PTR -12[rbp], eax
	cmp	DWORD PTR -12[rbp], 0
	jne	.L1378
	mov	rax, QWORD PTR out1[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR argptr[rip]
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L1379
.L1380:
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR [rax]
	mov	esi, 0
	mov	rdi, rax
	call	getjob
	mov	rcx, rax
	mov	edx, DWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	showjob
	add	QWORD PTR -32[rbp], 8
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L1380
	jmp	.L1381
.L1379:
	mov	edx, DWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	showjobs
.L1381:
	mov	eax, 0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE149:
	.size	jobscmd, .-jobscmd
	.globl	showjobs
	.type	showjobs, @function
showjobs:
.LFB150:
	.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 -28[rbp], esi
	jmp	.L1384
.L1385:
	nop
.L1384:
	mov	esi, 0
	mov	edi, 0
	call	dowait
	test	eax, eax
	jg	.L1385
	mov	rax, QWORD PTR curjob[rip]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L1386
.L1389:
	mov	eax, DWORD PTR -28[rbp]
	and	eax, 8
	test	eax, eax
	je	.L1387
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR 31[rax]
	and	eax, 16
	test	al, al
	je	.L1388
.L1387:
	mov	edx, DWORD PTR -28[rbp]
	mov	rcx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	showjob
.L1388:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	QWORD PTR -8[rbp], rax
.L1386:
	cmp	QWORD PTR -8[rbp], 0
	jne	.L1389
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE150:
	.size	showjobs, .-showjobs
	.type	freejob, @function
freejob:
.LFB151:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	eax, DWORD PTR suppressint[rip]
	add	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, WORD PTR 28[rax]
	movzx	eax, ax
	mov	DWORD PTR -12[rbp], eax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L1391
.L1393:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	lea	rdx, nullstr[rip]
	cmp	rax, rdx
	je	.L1392
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	free@PLT
.L1392:
	add	QWORD PTR -8[rbp], 16
.L1391:
	sub	DWORD PTR -12[rbp], 1
	cmp	DWORD PTR -12[rbp], 0
	jns	.L1393
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -24[rbp]
	cmp	rdx, rax
	je	.L1394
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdi, rax
	call	free@PLT
.L1394:
	mov	rax, QWORD PTR -24[rbp]
	movzx	edx, BYTE PTR 31[rax]
	and	edx, -9
	mov	BYTE PTR 31[rax], dl
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, 2
	mov	rdi, rax
	call	set_curjob
	mov	eax, DWORD PTR suppressint[rip]
	sub	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	eax, DWORD PTR suppressint[rip]
	test	eax, eax
	jne	.L1396
	mov	eax, DWORD PTR intpending[rip]
	test	eax, eax
	je	.L1396
	call	onint
.L1396:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE151:
	.size	freejob, .-freejob
	.globl	waitcmd
	.type	waitcmd, @function
waitcmd:
.LFB152:
	.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
	lea	rdi, nullstr[rip]
	call	nextopt
	mov	DWORD PTR -24[rbp], 0
	mov	rax, QWORD PTR argptr[rip]
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L1398
.L1406:
	mov	rax, QWORD PTR curjob[rip]
	mov	QWORD PTR -8[rbp], rax
.L1403:
	cmp	QWORD PTR -8[rbp], 0
	je	.L1421
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR 30[rax]
	test	al, al
	je	.L1422
	mov	rax, QWORD PTR -8[rbp]
	movzx	edx, BYTE PTR 31[rax]
	or	edx, 4
	mov	BYTE PTR 31[rax], dl
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L1403
.L1422:
	nop
	mov	esi, 0
	mov	edi, 2
	call	dowait
	test	eax, eax
	jle	.L1423
	jmp	.L1406
.L1398:
	mov	DWORD PTR -24[rbp], 127
.L1417:
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 37
	je	.L1407
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	number
	mov	DWORD PTR -20[rbp], eax
	mov	rax, QWORD PTR curjob[rip]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L1408
.L1425:
	nop
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, WORD PTR 28[rax]
	movzx	eax, ax
	sal	rax, 4
	sub	rax, 16
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -20[rbp], eax
	je	.L1424
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	QWORD PTR -16[rbp], rax
.L1408:
	cmp	QWORD PTR -16[rbp], 0
	jne	.L1425
	jmp	.L1412
.L1407:
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR [rax]
	mov	esi, 0
	mov	rdi, rax
	call	getjob
	mov	QWORD PTR -16[rbp], rax
	jmp	.L1415
.L1424:
	nop
	jmp	.L1415
.L1416:
	mov	esi, 0
	mov	edi, 2
	call	dowait
	test	eax, eax
	jle	.L1426
.L1415:
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR 30[rax]
	test	al, al
	je	.L1416
	mov	rax, QWORD PTR -16[rbp]
	movzx	edx, BYTE PTR 31[rax]
	or	edx, 4
	mov	BYTE PTR 31[rax], dl
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	getstatus
	mov	DWORD PTR -24[rbp], eax
.L1412:
	add	QWORD PTR -48[rbp], 8
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L1417
	jmp	.L1400
.L1421:
	nop
.L1400:
	mov	eax, DWORD PTR -24[rbp]
	jmp	.L1420
.L1423:
	nop
	jmp	.L1405
.L1426:
	nop
.L1405:
	mov	eax, DWORD PTR pendingsigs[rip]
	sub	eax, -128
	mov	DWORD PTR -24[rbp], eax
	jmp	.L1400
.L1420:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE152:
	.size	waitcmd, .-waitcmd
	.section	.rodata
.LC118:
	.string	"No such job: %s"
.LC119:
	.string	"No current job"
.LC120:
	.string	"No previous job"
.LC121:
	.string	"%s: ambiguous"
	.align 8
.LC122:
	.string	"job %s not created under job control"
	.text
	.type	getjob, @function
getjob:
.LFB153:
	.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	DWORD PTR -60[rbp], esi
	lea	rax, .LC118[rip]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR curjob[rip]
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	je	.L1449
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 37
	jne	.L1450
	add	QWORD PTR -16[rbp], 1
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	DWORD PTR -48[rbp], eax
	cmp	DWORD PTR -48[rbp], 0
	je	.L1451
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L1433
	cmp	DWORD PTR -48[rbp], 43
	je	.L1452
	cmp	DWORD PTR -48[rbp], 37
	jne	.L1434
	jmp	.L1452
.L1449:
	nop
	jmp	.L1429
.L1451:
	nop
	jmp	.L1429
.L1452:
	nop
.L1429:
	lea	rax, .LC119[rip]
	mov	QWORD PTR -24[rbp], rax
	jmp	.L1435
.L1434:
	cmp	DWORD PTR -48[rbp], 45
	jne	.L1433
	cmp	QWORD PTR -40[rbp], 0
	je	.L1436
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	QWORD PTR -40[rbp], rax
.L1436:
	lea	rax, .LC120[rip]
	mov	QWORD PTR -24[rbp], rax
.L1435:
	cmp	QWORD PTR -40[rbp], 0
	jne	.L1453
	jmp	.L1431
.L1433:
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	is_number
	test	eax, eax
	je	.L1439
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	atoi@PLT
	mov	DWORD PTR -44[rbp], eax
	mov	eax, DWORD PTR njobs[rip]
	cmp	DWORD PTR -44[rbp], eax
	jnb	.L1439
	mov	rcx, QWORD PTR jobtab[rip]
	mov	edx, DWORD PTR -44[rbp]
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	sub	rax, 40
	add	rax, rcx
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR 31[rax]
	and	eax, 8
	test	al, al
	je	.L1454
	jmp	.L1438
.L1439:
	lea	rax, prefix[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 63
	jne	.L1441
	mov	rax, QWORD PTR strstr@GOTPCREL[rip]
	mov	QWORD PTR -8[rbp], rax
	add	QWORD PTR -16[rbp], 1
.L1441:
	mov	QWORD PTR -32[rbp], 0
.L1445:
	cmp	QWORD PTR -40[rbp], 0
	je	.L1455
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rax, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR -16[rbp]
	mov	rcx, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	test	rax, rax
	je	.L1443
	cmp	QWORD PTR -32[rbp], 0
	jne	.L1456
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -32[rbp], rax
	lea	rax, .LC121[rip]
	mov	QWORD PTR -24[rbp], rax
.L1443:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	QWORD PTR -40[rbp], rax
	jmp	.L1445
.L1453:
	nop
.L1438:
	lea	rax, .LC122[rip]
	mov	QWORD PTR -24[rbp], rax
	cmp	DWORD PTR -60[rbp], 0
	je	.L1446
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR 31[rax]
	and	eax, 2
	test	al, al
	je	.L1457
.L1446:
	mov	rax, QWORD PTR -40[rbp]
	jmp	.L1448
.L1450:
	nop
	jmp	.L1431
.L1454:
	nop
	jmp	.L1431
.L1455:
	nop
	jmp	.L1431
.L1456:
	nop
	jmp	.L1431
.L1457:
	nop
.L1431:
	mov	rdx, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	sh_error
.L1448:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE153:
	.size	getjob, .-getjob
	.globl	makejob
	.type	makejob, @function
makejob:
.LFB154:
	.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 -28[rbp], esi
	mov	eax, DWORD PTR njobs[rip]
	mov	DWORD PTR -12[rbp], eax
	mov	rax, QWORD PTR jobtab[rip]
	mov	QWORD PTR -8[rbp], rax
.L1466:
	sub	DWORD PTR -12[rbp], 1
	cmp	DWORD PTR -12[rbp], 0
	jns	.L1459
	call	growjobtab
	mov	QWORD PTR -8[rbp], rax
	jmp	.L1460
.L1459:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR 31[rax]
	and	eax, 8
	test	al, al
	je	.L1470
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR 30[rax]
	cmp	al, 2
	jne	.L1471
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR 31[rax]
	and	eax, 4
	test	al, al
	je	.L1471
	mov	eax, DWORD PTR jobctl[rip]
	test	eax, eax
	jne	.L1472
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	freejob
	jmp	.L1460
.L1471:
	nop
	jmp	.L1464
.L1472:
	nop
.L1464:
	add	QWORD PTR -8[rbp], 40
	jmp	.L1466
.L1470:
	nop
.L1460:
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, 40
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	eax, DWORD PTR jobctl[rip]
	test	eax, eax
	je	.L1467
	mov	rax, QWORD PTR -8[rbp]
	movzx	edx, BYTE PTR 31[rax]
	or	edx, 2
	mov	BYTE PTR 31[rax], dl
.L1467:
	mov	rdx, QWORD PTR curjob[rip]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 32[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR curjob[rip], rax
	mov	rax, QWORD PTR -8[rbp]
	movzx	edx, BYTE PTR 31[rax]
	or	edx, 8
	mov	BYTE PTR 31[rax], dl
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rax], rdx
	cmp	DWORD PTR -28[rbp], 1
	jle	.L1468
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	sal	rax, 4
	mov	rdi, rax
	call	ckmalloc
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rdx], rax
.L1468:
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE154:
	.size	makejob, .-makejob
	.type	growjobtab, @function
growjobtab:
.LFB155:
	.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	eax, DWORD PTR njobs[rip]
	mov	edx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR jobtab[rip]
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 160[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	ckrealloc
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	sub	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L1474
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	add	QWORD PTR -40[rbp], rax
	jmp	.L1475
.L1477:
	sub	QWORD PTR -32[rbp], 40
	sub	QWORD PTR -40[rbp], 40
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -40[rbp]
	cmp	rdx, rax
	sete	al
	movzx	eax, al
	test	rax, rax
	je	.L1476
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	rcx, QWORD PTR 16[rax]
	mov	rdx, QWORD PTR -8[rbp]
	mov	rsi, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rsi
	add	rdx, rcx
	mov	QWORD PTR 16[rax], rdx
.L1476:
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR 32[rax]
	test	rax, rax
	je	.L1475
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	rcx, QWORD PTR 32[rax]
	mov	rdx, QWORD PTR -8[rbp]
	mov	rsi, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rsi
	add	rdx, rcx
	mov	QWORD PTR 32[rax], rdx
.L1475:
	cmp	QWORD PTR -32[rbp], 0
	jne	.L1477
	mov	rax, QWORD PTR curjob[rip]
	test	rax, rax
	je	.L1474
	mov	rdx, QWORD PTR curjob[rip]
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	mov	QWORD PTR curjob[rip], rax
.L1474:
	mov	eax, DWORD PTR njobs[rip]
	add	eax, 4
	mov	DWORD PTR njobs[rip], eax
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR jobtab[rip], rax
	mov	rax, QWORD PTR -24[rbp]
	add	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 120
	mov	QWORD PTR -40[rbp], rax
.L1478:
	mov	rax, QWORD PTR -40[rbp]
	movzx	edx, BYTE PTR 31[rax]
	and	edx, -9
	mov	BYTE PTR 31[rax], dl
	sub	QWORD PTR -40[rbp], 40
	mov	rax, QWORD PTR -40[rbp]
	cmp	rax, QWORD PTR -16[rbp]
	jnb	.L1478
	mov	rax, QWORD PTR -16[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE155:
	.size	growjobtab, .-growjobtab
	.section	.rodata
.LC123:
	.string	"/dev/null"
	.text
	.type	forkchild, @function
forkchild:
.LFB156:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -36[rbp], edx
	mov	eax, DWORD PTR shlvl[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR shlvl[rip]
	add	eax, 1
	mov	DWORD PTR shlvl[rip], eax
	call	closescript
	call	clear_traps
	mov	DWORD PTR jobctl[rip], 0
	cmp	DWORD PTR -36[rbp], 2
	je	.L1481
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 31[rax]
	and	eax, 2
	test	al, al
	je	.L1481
	cmp	DWORD PTR -4[rbp], 0
	jne	.L1481
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, WORD PTR 28[rax]
	test	ax, ax
	jne	.L1482
	call	getpid@PLT
	mov	DWORD PTR -8[rbp], eax
	jmp	.L1483
.L1482:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -8[rbp], eax
.L1483:
	mov	eax, DWORD PTR -8[rbp]
	mov	esi, eax
	mov	edi, 0
	call	setpgid@PLT
	cmp	DWORD PTR -36[rbp], 0
	jne	.L1484
	mov	eax, DWORD PTR ttyfd[rip]
	mov	edx, DWORD PTR -8[rbp]
	mov	esi, edx
	mov	edi, eax
	call	xtcsetpgrp
.L1484:
	mov	edi, 20
	call	setsignal
	mov	edi, 22
	call	setsignal
	jmp	.L1485
.L1481:
	cmp	DWORD PTR -36[rbp], 1
	jne	.L1485
	mov	edi, 2
	call	ignoresig
	mov	edi, 3
	call	ignoresig
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, WORD PTR 28[rax]
	test	ax, ax
	jne	.L1485
	mov	edi, 0
	call	close@PLT
	mov	esi, 0
	lea	rdi, .LC123[rip]
	mov	eax, 0
	call	open@PLT
	test	eax, eax
	je	.L1485
	lea	rsi, .LC123[rip]
	lea	rdi, .LC99[rip]
	mov	eax, 0
	call	sh_error
.L1485:
	cmp	DWORD PTR -4[rbp], 0
	jne	.L1486
	movzx	eax, BYTE PTR optlist[rip+3]
	test	al, al
	je	.L1486
	mov	edi, 2
	call	setsignal
	mov	edi, 3
	call	setsignal
	mov	edi, 15
	call	setsignal
.L1486:
	mov	rax, QWORD PTR curjob[rip]
	mov	QWORD PTR -24[rbp], rax
	jmp	.L1487
.L1488:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	freejob
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	QWORD PTR -24[rbp], rax
.L1487:
	cmp	QWORD PTR -24[rbp], 0
	jne	.L1488
	mov	DWORD PTR jobless[rip], 0
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE156:
	.size	forkchild, .-forkchild
	.type	forkparent, @function
forkparent:
.LFB157:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -36[rbp], edx
	mov	DWORD PTR -40[rbp], ecx
	cmp	QWORD PTR -24[rbp], 0
	jne	.L1490
	nop
.L1492:
	mov	eax, DWORD PTR jobless[rip]
	test	eax, eax
	je	.L1491
	mov	esi, 0
	mov	edi, 0
	call	dowait
	test	eax, eax
	jg	.L1492
.L1491:
	mov	eax, DWORD PTR jobless[rip]
	add	eax, 1
	mov	DWORD PTR jobless[rip], eax
	jmp	.L1489
.L1490:
	cmp	DWORD PTR -36[rbp], 2
	je	.L1494
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 31[rax]
	and	eax, 2
	test	al, al
	je	.L1494
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, WORD PTR 28[rax]
	test	ax, ax
	jne	.L1495
	mov	eax, DWORD PTR -40[rbp]
	mov	DWORD PTR -12[rbp], eax
	jmp	.L1496
.L1495:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -12[rbp], eax
.L1496:
	mov	edx, DWORD PTR -12[rbp]
	mov	eax, DWORD PTR -40[rbp]
	mov	esi, edx
	mov	edi, eax
	call	setpgid@PLT
.L1494:
	cmp	DWORD PTR -36[rbp], 1
	jne	.L1497
	mov	eax, DWORD PTR -40[rbp]
	mov	DWORD PTR backgndpid[rip], eax
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	set_curjob
.L1497:
	cmp	QWORD PTR -24[rbp], 0
	je	.L1489
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, WORD PTR 28[rax]
	lea	ecx, 1[rax]
	mov	rdx, QWORD PTR -24[rbp]
	mov	WORD PTR 28[rdx], cx
	movzx	eax, ax
	sal	rax, 4
	add	rax, rsi
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -40[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 4[rax], -1
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, nullstr[rip]
	mov	QWORD PTR 8[rax], rdx
	mov	eax, DWORD PTR jobctl[rip]
	test	eax, eax
	je	.L1489
	cmp	QWORD PTR -32[rbp], 0
	je	.L1489
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	commandtext
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rdx], rax
.L1489:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE157:
	.size	forkparent, .-forkparent
	.section	.rodata
.LC124:
	.string	"Cannot fork"
	.text
	.globl	forkshell
	.type	forkshell, @function
forkshell:
.LFB158:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -36[rbp], edx
	call	fork@PLT
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 0
	jns	.L1499
	cmp	QWORD PTR -24[rbp], 0
	je	.L1500
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	freejob
.L1500:
	lea	rdi, .LC124[rip]
	mov	eax, 0
	call	sh_error
.L1499:
	cmp	DWORD PTR -4[rbp], 0
	jne	.L1501
	mov	edx, DWORD PTR -36[rbp]
	mov	rcx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	forkchild
	jmp	.L1502
.L1501:
	mov	ecx, DWORD PTR -4[rbp]
	mov	edx, DWORD PTR -36[rbp]
	mov	rsi, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	forkparent
.L1502:
	mov	eax, DWORD PTR -4[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE158:
	.size	forkshell, .-forkshell
	.globl	waitforjob
	.type	waitforjob, @function
waitforjob:
.LFB159:
	.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
	jmp	.L1505
.L1506:
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rax
	mov	edi, 1
	call	dowait
.L1505:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 30[rax]
	test	al, al
	je	.L1506
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	getstatus
	mov	DWORD PTR -4[rbp], eax
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 31[rax]
	and	eax, 2
	test	al, al
	je	.L1507
	mov	edx, DWORD PTR rootpid[rip]
	mov	eax, DWORD PTR ttyfd[rip]
	mov	esi, edx
	mov	edi, eax
	call	xtcsetpgrp
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 31[rax]
	and	eax, 1
	test	al, al
	je	.L1507
	mov	edi, 2
	call	raise@PLT
.L1507:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 30[rax]
	cmp	al, 2
	jne	.L1508
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	freejob
.L1508:
	mov	eax, DWORD PTR -4[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE159:
	.size	waitforjob, .-waitforjob
	.type	dowait, @function
dowait:
.LFB160:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	add	rsp, -128
	mov	DWORD PTR -116[rbp], edi
	mov	QWORD PTR -128[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	QWORD PTR -88[rbp], 0
	mov	eax, DWORD PTR suppressint[rip]
	add	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	lea	rdx, -112[rbp]
	mov	eax, DWORD PTR -116[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	waitproc
	mov	DWORD PTR -104[rbp], eax
	cmp	DWORD PTR -104[rbp], 0
	jle	.L1530
	mov	rax, QWORD PTR curjob[rip]
	mov	QWORD PTR -96[rbp], rax
	jmp	.L1513
.L1522:
	mov	rax, QWORD PTR -96[rbp]
	movzx	eax, BYTE PTR 30[rax]
	cmp	al, 2
	je	.L1531
	mov	DWORD PTR -108[rbp], 2
	mov	rax, QWORD PTR -96[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -96[rbp]
	movzx	eax, WORD PTR 28[rax]
	movzx	eax, ax
	sal	rax, 4
	add	rax, rdx
	mov	QWORD PTR -72[rbp], rax
	mov	rax, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -80[rbp], rax
.L1520:
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -104[rbp], eax
	jne	.L1516
	mov	edx, DWORD PTR -112[rbp]
	mov	rax, QWORD PTR -80[rbp]
	mov	DWORD PTR 4[rax], edx
	mov	rax, QWORD PTR -96[rbp]
	mov	QWORD PTR -88[rbp], rax
.L1516:
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	eax, -1
	jne	.L1517
	mov	DWORD PTR -108[rbp], 0
.L1517:
	cmp	DWORD PTR -108[rbp], 0
	je	.L1532
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR 4[rax]
	movzx	eax, al
	cmp	eax, 127
	jne	.L1519
	mov	rax, QWORD PTR -80[rbp]
	mov	edx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR -96[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	DWORD PTR -108[rbp], 1
	jmp	.L1519
.L1532:
	nop
.L1519:
	add	QWORD PTR -80[rbp], 16
	mov	rax, QWORD PTR -80[rbp]
	cmp	rax, QWORD PTR -72[rbp]
	jb	.L1520
	cmp	QWORD PTR -88[rbp], 0
	jne	.L1533
	jmp	.L1515
.L1531:
	nop
.L1515:
	mov	rax, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	QWORD PTR -96[rbp], rax
.L1513:
	cmp	QWORD PTR -96[rbp], 0
	jne	.L1522
	mov	eax, DWORD PTR -112[rbp]
	movzx	eax, al
	cmp	eax, 127
	je	.L1534
	mov	eax, DWORD PTR jobless[rip]
	sub	eax, 1
	mov	DWORD PTR jobless[rip], eax
	jmp	.L1534
.L1533:
	nop
.L1521:
	cmp	DWORD PTR -108[rbp], 0
	je	.L1535
	mov	rax, QWORD PTR -88[rbp]
	movzx	edx, BYTE PTR 31[rax]
	or	edx, 16
	mov	BYTE PTR 31[rax], dl
	mov	rax, QWORD PTR -88[rbp]
	movzx	eax, BYTE PTR 30[rax]
	movzx	eax, al
	cmp	DWORD PTR -108[rbp], eax
	je	.L1535
	mov	eax, DWORD PTR -108[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -88[rbp]
	mov	BYTE PTR 30[rax], dl
	cmp	DWORD PTR -108[rbp], 1
	jne	.L1535
	mov	rax, QWORD PTR -88[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	set_curjob
	jmp	.L1512
.L1530:
	nop
	jmp	.L1512
.L1534:
	nop
	jmp	.L1512
.L1535:
	nop
.L1512:
	mov	eax, DWORD PTR suppressint[rip]
	sub	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	eax, DWORD PTR suppressint[rip]
	test	eax, eax
	jne	.L1524
	mov	eax, DWORD PTR intpending[rip]
	test	eax, eax
	je	.L1524
	call	onint
.L1524:
	cmp	QWORD PTR -88[rbp], 0
	je	.L1525
	mov	rax, QWORD PTR -88[rbp]
	cmp	rax, QWORD PTR -128[rbp]
	jne	.L1525
	mov	ecx, DWORD PTR -112[rbp]
	lea	rax, -64[rbp]
	mov	edx, 1
	mov	esi, ecx
	mov	rdi, rax
	call	sprint_status
	mov	DWORD PTR -100[rbp], eax
	cmp	DWORD PTR -100[rbp], 0
	je	.L1525
	mov	eax, DWORD PTR -100[rbp]
	cdqe
	mov	BYTE PTR -64[rbp+rax], 10
	mov	eax, DWORD PTR -100[rbp]
	add	eax, 1
	cdqe
	mov	BYTE PTR -64[rbp+rax], 0
	mov	rdx, QWORD PTR out2[rip]
	lea	rax, -64[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	outstr
.L1525:
	mov	eax, DWORD PTR -104[rbp]
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L1528
	call	__stack_chk_fail@PLT
.L1528:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE160:
	.size	dowait, .-dowait
	.type	waitproc, @function
waitproc:
.LFB161:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 304
	mov	DWORD PTR -292[rbp], edi
	mov	QWORD PTR -304[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	cmp	DWORD PTR -292[rbp], 1
	setne	al
	movzx	eax, al
	mov	DWORD PTR -280[rbp], eax
	mov	eax, DWORD PTR jobctl[rip]
	test	eax, eax
	je	.L1542
	or	DWORD PTR -280[rbp], 2
.L1542:
	mov	DWORD PTR gotsigchld[rip], 0
	mov	ecx, DWORD PTR -280[rbp]
	mov	rax, QWORD PTR -304[rbp]
	mov	edx, 0
	mov	esi, ecx
	mov	rdi, rax
	call	wait3@PLT
	mov	DWORD PTR -276[rbp], eax
	cmp	DWORD PTR -276[rbp], 0
	jne	.L1538
	cmp	DWORD PTR -292[rbp], 0
	je	.L1538
	mov	DWORD PTR -292[rbp], 0
	lea	rax, -272[rbp]
	mov	rdi, rax
	call	sigfillset@PLT
	lea	rdx, -144[rbp]
	lea	rax, -272[rbp]
	mov	rsi, rax
	mov	edi, 2
	call	sigprocmask@PLT
	jmp	.L1539
.L1541:
	lea	rax, -144[rbp]
	mov	rdi, rax
	call	sigsuspend@PLT
.L1539:
	mov	eax, DWORD PTR gotsigchld[rip]
	test	eax, eax
	jne	.L1540
	mov	eax, DWORD PTR pendingsigs[rip]
	test	eax, eax
	je	.L1541
.L1540:
	call	sigclearmask
	mov	eax, DWORD PTR gotsigchld[rip]
	test	eax, eax
	jne	.L1542
.L1538:
	mov	eax, DWORD PTR -276[rbp]
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L1544
	call	__stack_chk_fail@PLT
.L1544:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE161:
	.size	waitproc, .-waitproc
	.globl	job_warning
	.bss
	.align 4
	.type	job_warning, @object
	.size	job_warning, 4
job_warning:
	.zero	4
	.section	.rodata
.LC125:
	.string	"You have stopped jobs.\n"
	.text
	.globl	stoppedjobs
	.type	stoppedjobs, @function
stoppedjobs:
.LFB162:
	.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 -12[rbp], 0
	mov	eax, DWORD PTR job_warning[rip]
	test	eax, eax
	jne	.L1549
	mov	rax, QWORD PTR curjob[rip]
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L1550
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR 30[rax]
	cmp	al, 1
	jne	.L1550
	mov	rax, QWORD PTR out2[rip]
	mov	rsi, rax
	lea	rdi, .LC125[rip]
	call	outstr
	mov	DWORD PTR job_warning[rip], 2
	add	DWORD PTR -12[rbp], 1
	jmp	.L1547
.L1549:
	nop
	jmp	.L1547
.L1550:
	nop
.L1547:
	mov	eax, DWORD PTR -12[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE162:
	.size	stoppedjobs, .-stoppedjobs
	.local	cmdnextc
	.comm	cmdnextc,8,8
	.type	commandtext, @function
commandtext:
.LFB163:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR stacknxt[rip]
	mov	QWORD PTR cmdnextc[rip], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	cmdtxt
	mov	rax, QWORD PTR stacknxt[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	savestr
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE163:
	.size	commandtext, .-commandtext
	.section	.rodata
.LC126:
	.string	" | "
.LC127:
	.string	"; "
.LC128:
	.string	" && "
.LC129:
	.string	" || "
.LC130:
	.string	"if "
.LC131:
	.string	"; then "
.LC132:
	.string	"; else "
.LC133:
	.string	"; fi"
.LC134:
	.string	"("
.LC135:
	.string	")"
.LC136:
	.string	"while "
.LC137:
	.string	"until "
.LC138:
	.string	"; done"
.LC139:
	.string	"; do "
.LC140:
	.string	"for "
.LC141:
	.string	" in "
.LC142:
	.string	"() { ... }"
.LC143:
	.string	"<<..."
.LC144:
	.string	"case "
.LC145:
	.string	") "
.LC146:
	.string	";; "
.LC147:
	.string	">"
.LC148:
	.string	">|"
.LC149:
	.string	">>"
.LC150:
	.string	">&"
.LC151:
	.string	"<"
.LC152:
	.string	"<&"
.LC153:
	.string	"<>"
	.text
	.type	cmdtxt, @function
cmdtxt:
.LFB164:
	.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	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	cmp	QWORD PTR -56[rbp], 0
	je	.L1599
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 25
	ja	.L1556
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L1558[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L1558[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L1558:
	.long	.L1579-.L1558
	.long	.L1556-.L1558
	.long	.L1578-.L1558
	.long	.L1578-.L1558
	.long	.L1577-.L1558
	.long	.L1576-.L1558
	.long	.L1575-.L1558
	.long	.L1574-.L1558
	.long	.L1573-.L1558
	.long	.L1572-.L1558
	.long	.L1571-.L1558
	.long	.L1570-.L1558
	.long	.L1569-.L1558
	.long	.L1556-.L1558
	.long	.L1568-.L1558
	.long	.L1567-.L1558
	.long	.L1566-.L1558
	.long	.L1565-.L1558
	.long	.L1564-.L1558
	.long	.L1563-.L1558
	.long	.L1562-.L1558
	.long	.L1561-.L1558
	.long	.L1560-.L1558
	.long	.L1559-.L1558
	.long	.L1559-.L1558
	.long	.L1557-.L1558
	.text
.L1556:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -32[rbp], rax
.L1582:
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	cmdtxt
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -32[rbp], rax
	cmp	QWORD PTR -32[rbp], 0
	je	.L1600
	lea	rdi, .LC126[rip]
	call	cmdputs
	jmp	.L1582
.L1600:
	nop
	jmp	.L1553
.L1574:
	lea	rax, .LC127[rip]
	mov	QWORD PTR -24[rbp], rax
	jmp	.L1584
.L1576:
	lea	rax, .LC128[rip]
	mov	QWORD PTR -24[rbp], rax
	jmp	.L1584
.L1575:
	lea	rax, .LC129[rip]
	mov	QWORD PTR -24[rbp], rax
.L1584:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	cmdtxt
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	cmdputs
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -56[rbp], rax
	jmp	.L1585
.L1578:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -56[rbp], rax
	jmp	.L1585
.L1557:
	lea	rdi, .LC31[rip]
	call	cmdputs
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -56[rbp], rax
.L1585:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	cmdtxt
	jmp	.L1553
.L1573:
	lea	rdi, .LC130[rip]
	call	cmdputs
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	cmdtxt
	lea	rdi, .LC131[rip]
	call	cmdputs
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 24[rax]
	test	rax, rax
	je	.L1586
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdi, rax
	call	cmdtxt
	lea	rdi, .LC132[rip]
	call	cmdputs
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -56[rbp], rax
	jmp	.L1587
.L1586:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -56[rbp], rax
.L1587:
	lea	rax, .LC133[rip]
	mov	QWORD PTR -24[rbp], rax
	jmp	.L1588
.L1577:
	lea	rdi, .LC134[rip]
	call	cmdputs
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -56[rbp], rax
	lea	rax, .LC135[rip]
	mov	QWORD PTR -24[rbp], rax
	jmp	.L1588
.L1572:
	lea	rax, .LC136[rip]
	mov	QWORD PTR -24[rbp], rax
	jmp	.L1589
.L1571:
	lea	rax, .LC137[rip]
	mov	QWORD PTR -24[rbp], rax
.L1589:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	cmdputs
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	cmdtxt
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -56[rbp], rax
	lea	rax, .LC138[rip]
	mov	QWORD PTR -24[rbp], rax
.L1590:
	lea	rdi, .LC139[rip]
	call	cmdputs
.L1588:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	cmdtxt
	jmp	.L1591
.L1570:
	lea	rdi, .LC140[rip]
	call	cmdputs
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	rdi, rax
	call	cmdputs
	lea	rdi, .LC141[rip]
	call	cmdputs
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	esi, 1
	mov	rdi, rax
	call	cmdlist
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -56[rbp], rax
	lea	rax, .LC138[rip]
	mov	QWORD PTR -24[rbp], rax
	jmp	.L1590
.L1568:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	cmdputs
	lea	rax, .LC142[rip]
	mov	QWORD PTR -24[rbp], rax
	jmp	.L1591
.L1579:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	esi, 1
	mov	rdi, rax
	call	cmdlist
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	esi, 0
	mov	rdi, rax
	call	cmdlist
	jmp	.L1553
.L1567:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -24[rbp], rax
.L1591:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	cmdputs
	jmp	.L1553
.L1559:
	lea	rax, .LC143[rip]
	mov	QWORD PTR -24[rbp], rax
	jmp	.L1591
.L1569:
	lea	rdi, .LC144[rip]
	call	cmdputs
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rax, QWORD PTR 16[rax]
	mov	rdi, rax
	call	cmdputs
	lea	rdi, .LC141[rip]
	call	cmdputs
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -40[rbp], rax
	jmp	.L1592
.L1593:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdi, rax
	call	cmdtxt
	lea	rdi, .LC145[rip]
	call	cmdputs
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	rdi, rax
	call	cmdtxt
	lea	rdi, .LC146[rip]
	call	cmdputs
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -40[rbp], rax
.L1592:
	cmp	QWORD PTR -40[rbp], 0
	jne	.L1593
	lea	rax, .LC37[rip]
	mov	QWORD PTR -24[rbp], rax
	jmp	.L1591
.L1566:
	lea	rax, .LC147[rip]
	mov	QWORD PTR -24[rbp], rax
	jmp	.L1594
.L1565:
	lea	rax, .LC148[rip]
	mov	QWORD PTR -24[rbp], rax
	jmp	.L1594
.L1562:
	lea	rax, .LC149[rip]
	mov	QWORD PTR -24[rbp], rax
	jmp	.L1594
.L1561:
	lea	rax, .LC150[rip]
	mov	QWORD PTR -24[rbp], rax
	jmp	.L1594
.L1564:
	lea	rax, .LC151[rip]
	mov	QWORD PTR -24[rbp], rax
	jmp	.L1594
.L1560:
	lea	rax, .LC152[rip]
	mov	QWORD PTR -24[rbp], rax
	jmp	.L1594
.L1563:
	lea	rax, .LC153[rip]
	mov	QWORD PTR -24[rbp], rax
.L1594:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 16[rax]
	add	eax, 48
	mov	BYTE PTR -10[rbp], al
	mov	BYTE PTR -9[rbp], 0
	lea	rax, -10[rbp]
	mov	rdi, rax
	call	cmdputs
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	cmdputs
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 21
	je	.L1595
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 22
	jne	.L1596
.L1595:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 20[rax]
	add	eax, 48
	mov	BYTE PTR -10[rbp], al
	lea	rax, -10[rbp]
	mov	QWORD PTR -24[rbp], rax
	jmp	.L1591
.L1596:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -56[rbp], rax
	jmp	.L1585
.L1599:
	nop
.L1553:
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L1597
	call	__stack_chk_fail@PLT
.L1597:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE164:
	.size	cmdtxt, .-cmdtxt
	.type	cmdlist, @function
cmdlist:
.LFB165:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	jmp	.L1602
.L1605:
	cmp	DWORD PTR -12[rbp], 0
	jne	.L1603
	lea	rdi, spcstr[rip]
	call	cmdputs
.L1603:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	cmdtxt
	cmp	DWORD PTR -12[rbp], 0
	je	.L1604
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L1604
	lea	rdi, spcstr[rip]
	call	cmdputs
.L1604:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -8[rbp], rax
.L1602:
	cmp	QWORD PTR -8[rbp], 0
	jne	.L1605
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE165:
	.size	cmdlist, .-cmdlist
	.section	.rodata
.LC154:
	.string	"${#"
.LC155:
	.string	"${"
.LC156:
	.string	"\"}"
.LC157:
	.string	"$(...)"
.LC158:
	.string	"$(("
.LC159:
	.string	"))"
	.text
	.type	cmdputs, @function
cmdputs:
.LFB166:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 88
	.cfi_offset 3, -24
	mov	QWORD PTR -88[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -24[rbp], rax
	xor	eax, eax
	mov	WORD PTR -26[rbp], 32
	mov	DWORD PTR -64[rbp], 0
	mov	DWORD PTR -60[rbp], 0
	mov	rbx, QWORD PTR cmdnextc[rip]
	mov	rax, QWORD PTR -88[rbp]
	mov	rdi, rax
	call	strlen@PLT
	add	rax, 1
	sal	rax, 3
	mov	rsi, rbx
	mov	rdi, rax
	call	makestrspace
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR -56[rbp], rax
	jmp	.L1607
.L1635:
	mov	QWORD PTR -48[rbp], 0
	movsx	eax, BYTE PTR -65[rbp]
	cmp	eax, -120
	jg	.L1608
	cmp	eax, -127
	jge	.L1609
	jmp	.L1638
.L1621:
	sub	eax, 34
	cmp	eax, 58
	seta	dl
	test	dl, dl
	jne	.L1638
	mov	edx, 1
	mov	ecx, eax
	sal	rdx, cl
	mov	rax, rdx
	movabs	rdx, 288230376151711781
	and	rdx, rax
	test	rdx, rdx
	setne	dl
	test	dl, dl
	jne	.L1611
	and	eax, 134217728
	test	rax, rax
	setne	al
	test	al, al
	jne	.L1612
	jmp	.L1638
.L1609:
	add	eax, 127
	cmp	eax, 7
	ja	.L1638
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L1614[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L1614[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L1614:
	.long	.L1620-.L1614
	.long	.L1619-.L1614
	.long	.L1618-.L1614
	.long	.L1617-.L1614
	.long	.L1638-.L1614
	.long	.L1616-.L1614
	.long	.L1615-.L1614
	.long	.L1613-.L1614
	.text
.L1608:
	cmp	eax, 92
	jg	.L1638
	cmp	eax, 34
	jge	.L1621
	jmp	.L1638
.L1620:
	mov	rax, QWORD PTR -56[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -56[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -65[rbp], al
	jmp	.L1622
.L1619:
	mov	rax, QWORD PTR -56[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -56[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	DWORD PTR -64[rbp], eax
	mov	eax, DWORD PTR -64[rbp]
	and	eax, 15
	cmp	eax, 10
	jne	.L1623
	lea	rax, .LC154[rip]
	mov	QWORD PTR -48[rbp], rax
	jmp	.L1625
.L1623:
	lea	rax, .LC155[rip]
	mov	QWORD PTR -48[rbp], rax
	jmp	.L1625
.L1618:
	mov	eax, DWORD PTR -60[rbp]
	and	eax, 1
	test	eax, eax
	jne	.L1626
	lea	rax, .LC156[rip+1]
	jmp	.L1627
.L1626:
	lea	rax, .LC156[rip]
.L1627:
	mov	QWORD PTR -48[rbp], rax
	sar	DWORD PTR -60[rbp]
	mov	DWORD PTR -64[rbp], 0
	jmp	.L1625
.L1617:
	lea	rax, .LC157[rip]
	mov	QWORD PTR -48[rbp], rax
	jmp	.L1625
.L1616:
	lea	rax, .LC158[rip]
	mov	QWORD PTR -48[rbp], rax
	jmp	.L1625
.L1615:
	lea	rax, .LC159[rip]
	mov	QWORD PTR -48[rbp], rax
	jmp	.L1625
.L1613:
	xor	DWORD PTR -60[rbp], 1
	mov	BYTE PTR -65[rbp], 34
	jmp	.L1622
.L1612:
	cmp	DWORD PTR -64[rbp], 0
	je	.L1639
	mov	eax, DWORD PTR -64[rbp]
	and	eax, 15
	cmp	eax, 1
	je	.L1629
	sal	DWORD PTR -60[rbp]
.L1629:
	mov	eax, DWORD PTR -64[rbp]
	and	eax, 15
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, vstype.3[rip]
	add	rax, rdx
	mov	QWORD PTR -48[rbp], rax
	mov	eax, DWORD PTR -64[rbp]
	and	eax, 16
	test	eax, eax
	je	.L1640
	mov	BYTE PTR -65[rbp], 58
	jmp	.L1622
.L1611:
	movzx	eax, BYTE PTR -65[rbp]
	mov	BYTE PTR -26[rbp], al
	lea	rax, -26[rbp]
	mov	QWORD PTR -48[rbp], rax
	mov	BYTE PTR -65[rbp], 92
	jmp	.L1622
.L1638:
	nop
	jmp	.L1622
.L1639:
	nop
.L1622:
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -40[rbp], rdx
	movzx	edx, BYTE PTR -65[rbp]
	mov	BYTE PTR [rax], dl
	jmp	.L1632
.L1640:
	nop
.L1632:
	cmp	QWORD PTR -48[rbp], 0
	jne	.L1641
	jmp	.L1607
.L1641:
	nop
.L1625:
	jmp	.L1633
.L1634:
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -40[rbp], rdx
	movzx	edx, BYTE PTR -65[rbp]
	mov	BYTE PTR [rax], dl
.L1633:
	mov	rax, QWORD PTR -48[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -48[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -65[rbp], al
	cmp	BYTE PTR -65[rbp], 0
	jne	.L1634
.L1607:
	mov	rax, QWORD PTR -56[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -56[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -65[rbp], al
	cmp	BYTE PTR -65[rbp], 0
	jne	.L1635
	mov	eax, DWORD PTR -60[rbp]
	and	eax, 1
	test	eax, eax
	je	.L1636
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -40[rbp], rdx
	mov	BYTE PTR [rax], 34
.L1636:
	mov	rax, QWORD PTR -40[rbp]
	mov	BYTE PTR [rax], 0
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR cmdnextc[rip], rax
	nop
	mov	rax, QWORD PTR -24[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L1637
	call	__stack_chk_fail@PLT
.L1637:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE166:
	.size	cmdputs, .-cmdputs
	.section	.rodata
.LC160:
	.string	" | %s"
	.text
	.type	showpipe, @function
showpipe:
.LFB167:
	.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
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, WORD PTR 28[rax]
	movzx	eax, ax
	sal	rax, 4
	add	rax, rdx
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	add	rax, 16
	mov	QWORD PTR -16[rbp], rax
	jmp	.L1643
.L1644:
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -32[rbp]
	lea	rsi, .LC160[rip]
	mov	rdi, rax
	mov	eax, 0
	call	outfmt
	add	QWORD PTR -16[rbp], 16
.L1643:
	mov	rax, QWORD PTR -16[rbp]
	cmp	rax, QWORD PTR -8[rbp]
	jb	.L1644
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rax
	mov	edi, 10
	call	outcslow
	call	flushall
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE167:
	.size	showpipe, .-showpipe
	.section	.rodata
	.align 8
.LC161:
	.string	"Cannot set tty process group (%s)"
	.text
	.type	xtcsetpgrp, @function
xtcsetpgrp:
.LFB168:
	.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	DWORD PTR -8[rbp], esi
	mov	edx, DWORD PTR -8[rbp]
	mov	eax, DWORD PTR -4[rbp]
	mov	esi, edx
	mov	edi, eax
	call	tcsetpgrp@PLT
	test	eax, eax
	je	.L1647
	mov	rax, QWORD PTR dash_errno[rip]
	mov	eax, DWORD PTR [rax]
	mov	edi, eax
	call	strerror@PLT
	mov	rsi, rax
	lea	rdi, .LC161[rip]
	mov	eax, 0
	call	sh_error
.L1647:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE168:
	.size	xtcsetpgrp, .-xtcsetpgrp
	.type	getstatus, @function
getstatus:
.LFB169:
	.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	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, WORD PTR 28[rax]
	movzx	eax, ax
	sal	rax, 4
	sub	rax, 16
	add	rax, rdx
	mov	eax, DWORD PTR 4[rax]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	sar	eax, 8
	and	eax, 255
	mov	DWORD PTR -8[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	and	eax, 127
	test	eax, eax
	je	.L1649
	mov	eax, DWORD PTR -4[rbp]
	sar	eax, 8
	and	eax, 255
	mov	DWORD PTR -8[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	movzx	eax, al
	cmp	eax, 127
	je	.L1650
	mov	eax, DWORD PTR -4[rbp]
	and	eax, 127
	mov	DWORD PTR -8[rbp], eax
	cmp	DWORD PTR -8[rbp], 2
	jne	.L1650
	mov	rax, QWORD PTR -24[rbp]
	movzx	edx, BYTE PTR 31[rax]
	or	edx, 1
	mov	BYTE PTR 31[rax], dl
.L1650:
	sub	DWORD PTR -8[rbp], -128
.L1649:
	mov	eax, DWORD PTR -8[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE169:
	.size	getstatus, .-getstatus
	.local	mailtime
	.comm	mailtime,80,32
	.local	changed
	.comm	changed,4,4
	.section	.rodata
.LC162:
	.string	"you have mail"
	.text
	.globl	chkmail
	.type	chkmail, @function
chkmail:
.LFB170:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 224
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rax, -192[rbp]
	mov	rdi, rax
	call	setstackmark
	lea	rax, varinit[rip+64]
	mov	eax, DWORD PTR 8[rax]
	and	eax, 32
	test	eax, eax
	jne	.L1653
	lea	rax, varinit[rip+64]
	mov	rax, QWORD PTR 16[rax]
	add	rax, 9
	jmp	.L1654
.L1653:
	lea	rax, varinit[rip+32]
	mov	rax, QWORD PTR 16[rax]
	add	rax, 5
.L1654:
	mov	QWORD PTR -224[rbp], rax
	lea	rax, mailtime[rip]
	mov	QWORD PTR -208[rbp], rax
	jmp	.L1655
.L1666:
	lea	rax, -224[rbp]
	lea	rsi, nullstr[rip]
	mov	rdi, rax
	call	padvance
	mov	QWORD PTR -200[rbp], rax
	cmp	QWORD PTR -200[rbp], 0
	je	.L1668
	mov	rax, QWORD PTR -200[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L1669
	mov	rax, QWORD PTR -200[rbp]
	mov	QWORD PTR -216[rbp], rax
	jmp	.L1660
.L1661:
	add	QWORD PTR -216[rbp], 1
.L1660:
	mov	rax, QWORD PTR -216[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L1661
	mov	rax, QWORD PTR -216[rbp]
	sub	rax, 1
	mov	BYTE PTR [rax], 0
	lea	rdx, -160[rbp]
	mov	rax, QWORD PTR -200[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	stat@PLT
	test	eax, eax
	jns	.L1662
	mov	rax, QWORD PTR -208[rbp]
	mov	QWORD PTR [rax], 0
	jmp	.L1659
.L1662:
	mov	eax, DWORD PTR changed[rip]
	test	eax, eax
	jne	.L1663
	mov	rdx, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR -208[rbp]
	mov	rax, QWORD PTR [rax]
	cmp	rdx, rax
	je	.L1663
	mov	rax, QWORD PTR pathopt[rip]
	test	rax, rax
	je	.L1664
	mov	rax, QWORD PTR pathopt[rip]
	jmp	.L1665
.L1664:
	lea	rax, .LC162[rip]
.L1665:
	mov	rdx, rax
	lea	rsi, snlfmt[rip]
	lea	rdi, errout[rip]
	mov	eax, 0
	call	outfmt
.L1663:
	mov	rdx, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR -208[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L1659
.L1669:
	nop
.L1659:
	add	QWORD PTR -208[rbp], 8
.L1655:
	lea	rax, mailtime[rip+80]
	cmp	QWORD PTR -208[rbp], rax
	jb	.L1666
	jmp	.L1657
.L1668:
	nop
.L1657:
	mov	DWORD PTR changed[rip], 0
	lea	rax, -192[rbp]
	mov	rdi, rax
	call	popstackmark
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L1667
	call	__stack_chk_fail@PLT
.L1667:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE170:
	.size	chkmail, .-chkmail
	.globl	changemail
	.type	changemail, @function
changemail:
.LFB171:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	eax, DWORD PTR changed[rip]
	add	eax, 1
	mov	DWORD PTR changed[rip], eax
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE171:
	.size	changemail, .-changemail
	.globl	rootpid
	.bss
	.align 4
	.type	rootpid, @object
	.size	rootpid, 4
rootpid:
	.zero	4
	.globl	shlvl
	.align 4
	.type	shlvl, @object
	.size	shlvl, 4
shlvl:
	.zero	4
	.globl	dash_errno
	.align 8
	.type	dash_errno, @object
	.size	dash_errno, 8
dash_errno:
	.zero	8
	.section	.rodata
.LC163:
	.string	"/etc/profile"
.LC164:
	.string	"$HOME/.profile"
.LC165:
	.string	"ENV"
	.text
	.globl	main
	.type	main, @function
main:
.LFB172:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 288
	mov	DWORD PTR -276[rbp], edi
	mov	QWORD PTR -288[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	call	__errno_location@PLT
	mov	QWORD PTR dash_errno[rip], rax
	mov	DWORD PTR -264[rbp], 0
	lea	rax, -208[rbp]
	mov	rdi, rax
	call	_setjmp@PLT
	endbr64
	test	eax, eax
	setne	al
	movzx	eax, al
	test	rax, rax
	je	.L1673
	call	reset
	mov	eax, DWORD PTR exception[rip]
	mov	DWORD PTR -256[rbp], eax
	mov	eax, DWORD PTR -264[rbp]
	mov	DWORD PTR -252[rbp], eax
	cmp	DWORD PTR -256[rbp], 4
	je	.L1674
	cmp	DWORD PTR -252[rbp], 0
	je	.L1674
	movzx	eax, BYTE PTR optlist[rip+3]
	test	al, al
	je	.L1674
	mov	eax, DWORD PTR shlvl[rip]
	test	eax, eax
	je	.L1675
.L1674:
	call	exitshell
.L1675:
	cmp	DWORD PTR -256[rbp], 0
	jne	.L1676
	mov	rax, QWORD PTR out2[rip]
	mov	rsi, rax
	mov	edi, 10
	call	outcslow
.L1676:
	lea	rax, -240[rbp]
	mov	rdi, rax
	call	popstackmark
	mov	DWORD PTR suppressint[rip], 0
	mov	eax, DWORD PTR intpending[rip]
	test	eax, eax
	je	.L1677
	call	onint
.L1677:
	cmp	DWORD PTR -252[rbp], 1
	je	.L1689
	cmp	DWORD PTR -252[rbp], 2
	je	.L1690
	cmp	DWORD PTR -252[rbp], 3
	jne	.L1691
	jmp	.L1683
.L1673:
	lea	rax, -208[rbp]
	mov	QWORD PTR handler[rip], rax
	call	getpid@PLT
	mov	DWORD PTR rootpid[rip], eax
	call	init
	lea	rax, -240[rbp]
	mov	rdi, rax
	call	setstackmark
	mov	rdx, QWORD PTR -288[rbp]
	mov	eax, DWORD PTR -276[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	procargs
	mov	DWORD PTR -260[rbp], eax
	cmp	DWORD PTR -260[rbp], 0
	je	.L1692
	mov	DWORD PTR -264[rbp], 1
	lea	rdi, .LC163[rip]
	call	read_profile
	jmp	.L1679
.L1689:
	nop
.L1679:
	mov	DWORD PTR -264[rbp], 2
	lea	rdi, .LC164[rip]
	call	read_profile
	jmp	.L1681
.L1690:
	nop
	jmp	.L1681
.L1692:
	nop
.L1681:
	mov	DWORD PTR -264[rbp], 3
	movzx	eax, BYTE PTR optlist[rip+3]
	test	al, al
	je	.L1685
	lea	rdi, .LC165[rip]
	call	lookupvar
	mov	QWORD PTR -248[rbp], rax
	cmp	QWORD PTR -248[rbp], 0
	je	.L1685
	mov	rax, QWORD PTR -248[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L1685
	mov	rax, QWORD PTR -248[rbp]
	mov	rdi, rax
	call	read_profile
.L1685:
	lea	rax, -240[rbp]
	mov	rdi, rax
	call	popstackmark
.L1683:
	mov	DWORD PTR -264[rbp], 4
	mov	rax, QWORD PTR minusc[rip]
	test	rax, rax
	je	.L1686
	movzx	eax, BYTE PTR optlist[rip+6]
	test	al, al
	sete	al
	movzx	edx, al
	mov	rax, QWORD PTR minusc[rip]
	mov	esi, edx
	mov	rdi, rax
	call	evalstring
.L1686:
	movzx	eax, BYTE PTR optlist[rip+6]
	test	al, al
	jne	.L1693
	mov	rax, QWORD PTR minusc[rip]
	test	rax, rax
	jne	.L1687
	jmp	.L1693
.L1691:
	nop
	jmp	.L1684
.L1693:
	nop
.L1684:
	mov	edi, 1
	call	cmdloop
.L1687:
	call	exitshell
	.cfi_endproc
.LFE172:
	.size	main, .-main
	.section	.rodata
.LC166:
	.string	"\nUse \"exit\" to leave shell.\n"
	.text
	.type	cmdloop, @function
cmdloop:
.LFB173:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	DWORD PTR -68[rbp], edi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -52[rbp], 0
	mov	DWORD PTR -48[rbp], 0
.L1703:
	lea	rax, -32[rbp]
	mov	rdi, rax
	call	setstackmark
	mov	eax, DWORD PTR jobctl[rip]
	test	eax, eax
	je	.L1695
	mov	rax, QWORD PTR out2[rip]
	mov	esi, 8
	mov	rdi, rax
	call	showjobs
.L1695:
	mov	DWORD PTR -56[rbp], 0
	movzx	eax, BYTE PTR optlist[rip+3]
	test	al, al
	je	.L1696
	cmp	DWORD PTR -68[rbp], 0
	je	.L1696
	add	DWORD PTR -56[rbp], 1
	call	chkmail
.L1696:
	mov	eax, DWORD PTR -56[rbp]
	mov	edi, eax
	call	parsecmd
	mov	QWORD PTR -40[rbp], rax
	lea	rax, tokpushback[rip]
	cmp	QWORD PTR -40[rbp], rax
	jne	.L1697
	cmp	DWORD PTR -68[rbp], 0
	je	.L1698
	cmp	DWORD PTR -48[rbp], 49
	jg	.L1698
	call	stoppedjobs
	test	eax, eax
	jne	.L1699
	movzx	eax, BYTE PTR optlist[rip+2]
	test	al, al
	je	.L1706
	mov	rax, QWORD PTR out2[rip]
	mov	rsi, rax
	lea	rdi, .LC166[rip]
	call	outstr
.L1699:
	add	DWORD PTR -48[rbp], 1
	jmp	.L1701
.L1697:
	movzx	eax, BYTE PTR optlist[rip+5]
	test	al, al
	jne	.L1701
	mov	eax, DWORD PTR job_warning[rip]
	cmp	eax, 2
	sete	al
	movzx	eax, al
	mov	DWORD PTR job_warning[rip], eax
	mov	DWORD PTR -48[rbp], 0
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	evaltree
	mov	eax, DWORD PTR exitstatus[rip]
	mov	DWORD PTR -52[rbp], eax
.L1701:
	lea	rax, -32[rbp]
	mov	rdi, rax
	call	popstackmark
	mov	eax, DWORD PTR evalskip[rip]
	mov	DWORD PTR -44[rbp], eax
	cmp	DWORD PTR -44[rbp], 0
	je	.L1703
	mov	eax, DWORD PTR evalskip[rip]
	and	eax, -5
	mov	DWORD PTR evalskip[rip], eax
	jmp	.L1698
.L1706:
	nop
.L1698:
	mov	eax, DWORD PTR -52[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	sub	rdx, QWORD PTR fs:40
	je	.L1705
	call	__stack_chk_fail@PLT
.L1705:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE173:
	.size	cmdloop, .-cmdloop
	.type	read_profile, @function
read_profile:
.LFB174:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	expandstr
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 3
	mov	rdi, rax
	call	setinputfile
	test	eax, eax
	js	.L1710
	mov	edi, 0
	call	cmdloop
	call	popfile
	jmp	.L1707
.L1710:
	nop
.L1707:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE174:
	.size	read_profile, .-read_profile
	.globl	readcmdfile
	.type	readcmdfile, @function
readcmdfile:
.LFB175:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	setinputfile
	mov	edi, 0
	call	cmdloop
	call	popfile
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE175:
	.size	readcmdfile, .-readcmdfile
	.section	.rodata
.LC167:
	.string	"%s: not found"
	.text
	.type	find_dot_file, @function
find_dot_file:
.LFB176:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 192
	mov	QWORD PTR -184[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rax, varinit[rip+96]
	mov	rax, QWORD PTR 16[rax]
	add	rax, 5
	mov	QWORD PTR -176[rbp], rax
	mov	rax, QWORD PTR -184[rbp]
	mov	esi, 47
	mov	rdi, rax
	call	strchr@PLT
	test	rax, rax
	je	.L1715
	mov	rax, QWORD PTR -184[rbp]
	jmp	.L1718
.L1717:
	lea	rdx, -160[rbp]
	mov	rax, QWORD PTR -168[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	stat@PLT
	test	eax, eax
	jne	.L1716
	mov	eax, DWORD PTR -136[rbp]
	and	eax, 61440
	cmp	eax, 32768
	jne	.L1716
	mov	rax, QWORD PTR -168[rbp]
	jmp	.L1718
.L1716:
	mov	rax, QWORD PTR -168[rbp]
	mov	rdi, rax
	call	stunalloc
.L1715:
	mov	rdx, QWORD PTR -184[rbp]
	lea	rax, -176[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	padvance
	mov	QWORD PTR -168[rbp], rax
	cmp	QWORD PTR -168[rbp], 0
	jne	.L1717
	mov	rax, QWORD PTR -184[rbp]
	mov	rsi, rax
	lea	rdi, .LC167[rip]
	mov	eax, 0
	call	sh_error
.L1718:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L1719
	call	__stack_chk_fail@PLT
.L1719:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE176:
	.size	find_dot_file, .-find_dot_file
	.globl	dotcmd
	.type	dotcmd, @function
dotcmd:
.LFB177:
	.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	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -12[rbp], 0
	cmp	DWORD PTR -20[rbp], 1
	jle	.L1721
	mov	rax, QWORD PTR -32[rbp]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	find_dot_file
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	setinputfile
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR commandname[rip], rax
	mov	edi, 0
	call	cmdloop
	mov	DWORD PTR -12[rbp], eax
	call	popfile
.L1721:
	mov	eax, DWORD PTR -12[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE177:
	.size	dotcmd, .-dotcmd
	.globl	exitcmd
	.type	exitcmd, @function
exitcmd:
.LFB178:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	DWORD PTR -4[rbp], edi
	mov	QWORD PTR -16[rbp], rsi
	call	stoppedjobs
	test	eax, eax
	je	.L1724
	mov	eax, 0
	jmp	.L1727
.L1724:
	cmp	DWORD PTR -4[rbp], 1
	jle	.L1726
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	number
	mov	DWORD PTR exitstatus[rip], eax
.L1726:
	mov	edi, 4
	call	exraise
.L1727:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE178:
	.size	exitcmd, .-exitcmd
	.section	.rodata
.LC168:
	.string	"Out of space"
	.text
	.globl	ckmalloc
	.type	ckmalloc, @function
ckmalloc:
.LFB179:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L1729
	lea	rdi, .LC168[rip]
	mov	eax, 0
	call	sh_error
.L1729:
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE179:
	.size	ckmalloc, .-ckmalloc
	.globl	ckrealloc
	.type	ckrealloc, @function
ckrealloc:
.LFB180:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	realloc@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L1732
	lea	rdi, .LC168[rip]
	mov	eax, 0
	call	sh_error
.L1732:
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE180:
	.size	ckrealloc, .-ckrealloc
	.globl	savestr
	.type	savestr, @function
savestr:
.LFB181:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	strdup@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L1735
	lea	rdi, .LC168[rip]
	mov	eax, 0
	call	sh_error
.L1735:
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE181:
	.size	savestr, .-savestr
	.globl	stackbase
	.bss
	.align 32
	.type	stackbase, @object
	.size	stackbase, 512
stackbase:
	.zero	512
	.globl	stackp
	.section	.data.rel.local
	.align 8
	.type	stackp, @object
	.size	stackp, 8
stackp:
	.quad	stackbase
	.globl	stacknxt
	.align 8
	.type	stacknxt, @object
	.size	stacknxt, 8
stacknxt:
	.quad	stackbase+8
	.globl	stacknleft
	.data
	.align 8
	.type	stacknleft, @object
	.size	stacknleft, 8
stacknleft:
	.quad	504
	.globl	sstrend
	.section	.data.rel.local
	.align 8
	.type	sstrend, @object
	.size	sstrend, 8
sstrend:
	.quad	stackbase+512
	.text
	.globl	stalloc
	.type	stalloc, @function
stalloc:
.LFB182:
	.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	rax, QWORD PTR -56[rbp]
	add	rax, 7
	and	rax, -8
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR stacknleft[rip]
	cmp	QWORD PTR -32[rbp], rax
	jbe	.L1738
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR -40[rbp], rax
	cmp	QWORD PTR -40[rbp], 503
	ja	.L1739
	mov	QWORD PTR -40[rbp], 504
.L1739:
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 8
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	cmp	rax, QWORD PTR -40[rbp]
	jnb	.L1740
	lea	rdi, .LC168[rip]
	mov	eax, 0
	call	sh_error
.L1740:
	mov	eax, DWORD PTR suppressint[rip]
	add	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	ckmalloc
	mov	QWORD PTR -16[rbp], rax
	mov	rdx, QWORD PTR stackp[rip]
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 8
	mov	QWORD PTR stacknxt[rip], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR stacknleft[rip], rax
	mov	rdx, QWORD PTR stacknxt[rip]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	QWORD PTR sstrend[rip], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR stackp[rip], rax
	mov	eax, DWORD PTR suppressint[rip]
	sub	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	eax, DWORD PTR suppressint[rip]
	test	eax, eax
	jne	.L1738
	mov	eax, DWORD PTR intpending[rip]
	test	eax, eax
	je	.L1738
	call	onint
.L1738:
	mov	rax, QWORD PTR stacknxt[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	rdx, QWORD PTR stacknxt[rip]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	QWORD PTR stacknxt[rip], rax
	mov	rax, QWORD PTR stacknleft[rip]
	sub	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR stacknleft[rip], rax
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE182:
	.size	stalloc, .-stalloc
	.globl	stunalloc
	.type	stunalloc, @function
stunalloc:
.LFB183:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR stacknxt[rip]
	sub	rax, QWORD PTR -8[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR stacknleft[rip]
	add	rax, rdx
	mov	QWORD PTR stacknleft[rip], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR stacknxt[rip], rax
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE183:
	.size	stunalloc, .-stunalloc
	.globl	pushstackmark
	.type	pushstackmark, @function
pushstackmark:
.LFB184:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rdx, QWORD PTR stackp[rip]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rdx, QWORD PTR stacknxt[rip]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rdx, QWORD PTR stacknleft[rip]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	grabstackblock
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE184:
	.size	pushstackmark, .-pushstackmark
	.globl	setstackmark
	.type	setstackmark, @function
setstackmark:
.LFB185:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR stackp[rip]
	lea	rdx, 8[rax]
	mov	rax, QWORD PTR stacknxt[rip]
	cmp	rdx, rax
	jne	.L1746
	mov	rax, QWORD PTR stackp[rip]
	lea	rdx, stackbase[rip]
	cmp	rax, rdx
	je	.L1746
	mov	eax, 1
	jmp	.L1747
.L1746:
	mov	eax, 0
.L1747:
	movsx	rdx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	pushstackmark
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE185:
	.size	setstackmark, .-setstackmark
	.globl	popstackmark
	.type	popstackmark, @function
popstackmark:
.LFB186:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	eax, DWORD PTR suppressint[rip]
	add	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	jmp	.L1749
.L1750:
	mov	rax, QWORD PTR stackp[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR stackp[rip], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	free@PLT
.L1749:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR stackp[rip]
	cmp	rdx, rax
	jne	.L1750
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR stacknxt[rip], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR stacknleft[rip], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	add	rax, rdx
	mov	QWORD PTR sstrend[rip], rax
	mov	eax, DWORD PTR suppressint[rip]
	sub	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	eax, DWORD PTR suppressint[rip]
	test	eax, eax
	jne	.L1752
	mov	eax, DWORD PTR intpending[rip]
	test	eax, eax
	je	.L1752
	call	onint
.L1752:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE186:
	.size	popstackmark, .-popstackmark
	.globl	growstackblock
	.type	growstackblock, @function
growstackblock:
.LFB187:
	.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	rax, QWORD PTR stacknleft[rip]
	add	rax, rax
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR stacknleft[rip]
	cmp	QWORD PTR -48[rbp], rax
	jnb	.L1754
	lea	rdi, .LC168[rip]
	mov	eax, 0
	call	sh_error
.L1754:
	cmp	QWORD PTR -48[rbp], 127
	ja	.L1755
	sub	QWORD PTR -48[rbp], -128
.L1755:
	mov	rax, QWORD PTR stackp[rip]
	lea	rdx, 8[rax]
	mov	rax, QWORD PTR stacknxt[rip]
	cmp	rdx, rax
	jne	.L1756
	mov	rax, QWORD PTR stackp[rip]
	lea	rdx, stackbase[rip]
	cmp	rax, rdx
	je	.L1756
	mov	eax, DWORD PTR suppressint[rip]
	add	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	rax, QWORD PTR stackp[rip]
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 8
	mov	QWORD PTR -24[rbp], rax
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	ckrealloc
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR stackp[rip], rax
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 8
	mov	QWORD PTR stacknxt[rip], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR stacknleft[rip], rax
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 8[rax]
	mov	rax, QWORD PTR -48[rbp]
	add	rax, rdx
	mov	QWORD PTR sstrend[rip], rax
	mov	eax, DWORD PTR suppressint[rip]
	sub	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	eax, DWORD PTR suppressint[rip]
	test	eax, eax
	jne	.L1759
	mov	eax, DWORD PTR intpending[rip]
	test	eax, eax
	je	.L1759
	call	onint
	jmp	.L1759
.L1756:
	mov	rax, QWORD PTR stacknxt[rip]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR stacknleft[rip]
	mov	DWORD PTR -52[rbp], eax
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	stalloc
	mov	QWORD PTR -8[rbp], rax
	mov	eax, DWORD PTR -52[rbp]
	movsx	rdx, eax
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	memcpy@PLT
	mov	QWORD PTR stacknxt[rip], rax
	mov	rdx, QWORD PTR stacknleft[rip]
	mov	rax, QWORD PTR -48[rbp]
	add	rax, rdx
	mov	QWORD PTR stacknleft[rip], rax
	jmp	.L1760
.L1759:
	nop
.L1760:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE187:
	.size	growstackblock, .-growstackblock
	.globl	growstackstr
	.type	growstackstr, @function
growstackstr:
.LFB188:
	.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 stacknleft[rip]
	mov	QWORD PTR -8[rbp], rax
	call	growstackblock
	mov	rdx, QWORD PTR stacknxt[rip]
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE188:
	.size	growstackstr, .-growstackstr
	.globl	makestrspace
	.type	makestrspace, @function
makestrspace:
.LFB189:
	.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	QWORD PTR -48[rbp], rsi
	mov	rdx, QWORD PTR stacknxt[rip]
	mov	rax, QWORD PTR -48[rbp]
	sub	rax, rdx
	mov	QWORD PTR -24[rbp], rax
.L1766:
	mov	rax, QWORD PTR stacknleft[rip]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	sub	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	cmp	rax, QWORD PTR -40[rbp]
	jnb	.L1769
	call	growstackblock
	jmp	.L1766
.L1769:
	nop
	mov	rdx, QWORD PTR stacknxt[rip]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE189:
	.size	makestrspace, .-makestrspace
	.globl	stnputs
	.type	stnputs, @function
stnputs:
.LFB190:
	.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
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	makestrspace
	mov	QWORD PTR -24[rbp], rax
	mov	rdx, QWORD PTR -16[rbp]
	mov	rcx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	mempcpy@PLT
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE190:
	.size	stnputs, .-stnputs
	.globl	stputs
	.type	stputs, @function
stputs:
.LFB191:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	rcx, rax
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	stnputs
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE191:
	.size	stputs, .-stputs
	.type	readcmd_handle_line, @function
readcmd_handle_line:
.LFB192:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	QWORD PTR -88[rbp], rdi
	mov	QWORD PTR -96[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR stacknxt[rip]
	mov	QWORD PTR -64[rbp], rax
	mov	rdx, QWORD PTR stacknxt[rip]
	mov	rax, QWORD PTR -88[rbp]
	sub	rax, rdx
	mov	rdi, rax
	call	stalloc
	mov	QWORD PTR -88[rbp], rax
	mov	rax, QWORD PTR -64[rbp]
	mov	rdi, rax
	call	sstrdup
	mov	QWORD PTR -56[rbp], rax
	lea	rax, -32[rbp]
	mov	QWORD PTR -24[rbp], rax
	lea	rdx, -32[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	ifsbreakup
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], 0
	call	ifsfree
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR -72[rbp], rax
.L1779:
	cmp	QWORD PTR -72[rbp], 0
	jne	.L1775
.L1776:
	mov	rax, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, 0
	lea	rsi, nullstr[rip]
	mov	rdi, rax
	call	setvar
	add	QWORD PTR -96[rbp], 8
	mov	rax, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L1776
	jmp	.L1774
.L1775:
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L1778
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L1778
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 8[rax]
	sub	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR -48[rbp], rax
	mov	rdx, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -48[rbp]
	add	rax, rdx
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	_rmescapes
	mov	rax, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rcx, QWORD PTR -40[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	setvar
	jmp	.L1774
.L1778:
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	esi, 0
	mov	rdi, rax
	call	_rmescapes
	mov	rax, QWORD PTR -72[rbp]
	mov	rcx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	setvar
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -72[rbp], rax
	add	QWORD PTR -96[rbp], 8
	mov	rax, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L1779
.L1774:
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L1781
	call	__stack_chk_fail@PLT
.L1781:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE192:
	.size	readcmd_handle_line, .-readcmd_handle_line
	.section	.rodata
.LC169:
	.string	"p:r"
.LC170:
	.string	"arg count"
	.text
	.globl	readcmd
	.type	readcmd, @function
readcmd:
.LFB193:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	DWORD PTR -84[rbp], edi
	mov	QWORD PTR -96[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -76[rbp], 0
	mov	QWORD PTR -56[rbp], 0
	jmp	.L1783
.L1785:
	cmp	DWORD PTR -64[rbp], 112
	jne	.L1784
	mov	rax, QWORD PTR optionarg[rip]
	mov	QWORD PTR -56[rbp], rax
	jmp	.L1783
.L1784:
	mov	DWORD PTR -76[rbp], 1
.L1783:
	lea	rdi, .LC169[rip]
	call	nextopt
	mov	DWORD PTR -64[rbp], eax
	cmp	DWORD PTR -64[rbp], 0
	jne	.L1785
	cmp	QWORD PTR -56[rbp], 0
	je	.L1786
	mov	edi, 0
	call	isatty@PLT
	test	eax, eax
	je	.L1786
	mov	rdx, QWORD PTR out2[rip]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	outstr
.L1786:
	mov	rax, QWORD PTR argptr[rip]
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L1787
	lea	rdi, .LC170[rip]
	mov	eax, 0
	call	sh_error
.L1787:
	mov	DWORD PTR -68[rbp], 0
	mov	rax, QWORD PTR stacknxt[rip]
	mov	QWORD PTR -48[rbp], rax
	jmp	.L1788
.L1808:
	cmp	rax, 1
	je	.L1809
	mov	rax, QWORD PTR dash_errno[rip]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 4
	jne	.L1789
	mov	eax, DWORD PTR pendingsigs[rip]
	test	eax, eax
	jne	.L1789
	jmp	.L1792
.L1789:
	mov	DWORD PTR -68[rbp], 1
	jmp	.L1793
.L1809:
	nop
	movzx	eax, BYTE PTR -77[rbp]
	test	al, al
	jne	.L1794
	jmp	.L1792
.L1794:
	mov	eax, DWORD PTR -72[rbp]
	cmp	eax, DWORD PTR -60[rbp]
	jl	.L1795
	movzx	eax, BYTE PTR -77[rbp]
	cmp	al, 10
	jne	.L1810
	jmp	.L1797
.L1795:
	cmp	DWORD PTR -76[rbp], 0
	jne	.L1799
	movzx	eax, BYTE PTR -77[rbp]
	cmp	al, 92
	jne	.L1799
	mov	rdx, QWORD PTR stacknxt[rip]
	mov	rax, QWORD PTR -48[rbp]
	sub	rax, rdx
	mov	DWORD PTR -72[rbp], eax
	jmp	.L1792
.L1799:
	movzx	eax, BYTE PTR -77[rbp]
	cmp	al, 10
	je	.L1811
	jmp	.L1798
.L1810:
	nop
.L1798:
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR -32[rbp], rax
	mov	QWORD PTR -24[rbp], 2
	mov	rax, QWORD PTR sstrend[rip]
	sub	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	cmp	rax, QWORD PTR -16[rbp]
	jbe	.L1800
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	makestrspace
	mov	QWORD PTR -48[rbp], rax
.L1800:
	movzx	eax, BYTE PTR -77[rbp]
	movsx	eax, al
	mov	esi, eax
	lea	rdi, qchars[rip]
	call	strchr@PLT
	test	rax, rax
	je	.L1801
	mov	rax, QWORD PTR -48[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -48[rbp], rdx
	mov	BYTE PTR [rax], -127
.L1801:
	mov	rax, QWORD PTR -48[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -48[rbp], rdx
	movzx	edx, BYTE PTR -77[rbp]
	mov	BYTE PTR [rax], dl
	mov	eax, DWORD PTR -72[rbp]
	cmp	eax, DWORD PTR -60[rbp]
	jl	.L1792
	nop
.L1797:
	mov	ecx, DWORD PTR -72[rbp]
	mov	eax, DWORD PTR -60[rbp]
	mov	edx, 0
	mov	esi, ecx
	mov	edi, eax
	call	recordregion
.L1788:
	mov	rdx, QWORD PTR stacknxt[rip]
	mov	rax, QWORD PTR -48[rbp]
	sub	rax, rdx
	mov	DWORD PTR -60[rbp], eax
	mov	eax, DWORD PTR -60[rbp]
	sub	eax, 1
	mov	DWORD PTR -72[rbp], eax
.L1792:
	nop
	lea	rax, -77[rbp]
	mov	edx, 1
	mov	rsi, rax
	mov	edi, 0
	call	read@PLT
	test	rax, rax
	je	.L1789
	jmp	.L1808
.L1811:
	nop
.L1793:
	mov	rdx, QWORD PTR stacknxt[rip]
	mov	rax, QWORD PTR -48[rbp]
	sub	rax, rdx
	mov	ecx, eax
	mov	eax, DWORD PTR -60[rbp]
	mov	edx, 0
	mov	esi, ecx
	mov	edi, eax
	call	recordregion
	mov	rax, QWORD PTR sstrend[rip]
	cmp	QWORD PTR -48[rbp], rax
	jne	.L1803
	call	growstackstr
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	BYTE PTR [rax], 0
	jmp	.L1804
.L1803:
	mov	rax, QWORD PTR -48[rbp]
	mov	BYTE PTR [rax], 0
.L1804:
	mov	rax, QWORD PTR -48[rbp]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	call	readcmd_handle_line
	mov	eax, DWORD PTR -68[rbp]
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L1806
	call	__stack_chk_fail@PLT
.L1806:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE193:
	.size	readcmd, .-readcmd
	.section	.rodata
.LC171:
	.string	"S"
.LC174:
	.string	"%.4o\n"
.LC175:
	.string	"augo"
.LC176:
	.string	"=+-"
.LC177:
	.string	"rwxugoXs"
.LC178:
	.string	"Illegal mode: %s"
.LC172:
	.string	"ugo"
.LC173:
	.string	"rwx"
	.text
	.globl	umaskcmd
	.type	umaskcmd, @function
umaskcmd:
.LFB194:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	DWORD PTR -84[rbp], edi
	mov	QWORD PTR -96[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -64[rbp], 0
	jmp	.L1813
.L1814:
	mov	DWORD PTR -64[rbp], 1
.L1813:
	lea	rdi, .LC171[rip]
	call	nextopt
	mov	DWORD PTR -68[rbp], eax
	cmp	DWORD PTR -68[rbp], 0
	jne	.L1814
	mov	eax, DWORD PTR suppressint[rip]
	add	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	edi, 0
	call	umask@PLT
	mov	DWORD PTR -44[rbp], eax
	mov	eax, DWORD PTR -44[rbp]
	mov	edi, eax
	call	umask@PLT
	mov	eax, DWORD PTR suppressint[rip]
	sub	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	eax, DWORD PTR suppressint[rip]
	test	eax, eax
	jne	.L1815
	mov	eax, DWORD PTR intpending[rip]
	test	eax, eax
	je	.L1815
	call	onint
.L1815:
	mov	rax, QWORD PTR argptr[rip]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -40[rbp], rax
	cmp	QWORD PTR -40[rbp], 0
	jne	.L1816
	cmp	DWORD PTR -64[rbp], 0
	je	.L1817
	not	DWORD PTR -44[rbp]
	lea	rax, -32[rbp]
	mov	QWORD PTR -40[rbp], rax
	mov	DWORD PTR -68[rbp], 0
	jmp	.L1818
.L1822:
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -40[rbp], rdx
	mov	edx, DWORD PTR -68[rbp]
	movsx	rdx, edx
	lea	rcx, .LC172[rip]
	movzx	edx, BYTE PTR [rdx+rcx]
	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], 61
	mov	DWORD PTR -60[rbp], 0
	jmp	.L1819
.L1821:
	mov	edx, DWORD PTR -68[rbp]
	mov	eax, edx
	add	eax, eax
	add	edx, eax
	mov	eax, DWORD PTR -60[rbp]
	add	edx, eax
	mov	eax, 8
	sub	eax, edx
	mov	edx, DWORD PTR -44[rbp]
	mov	ecx, eax
	sar	edx, cl
	mov	eax, edx
	and	eax, 1
	test	eax, eax
	je	.L1820
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -40[rbp], rdx
	mov	edx, DWORD PTR -60[rbp]
	movsx	rdx, edx
	lea	rcx, .LC173[rip]
	movzx	edx, BYTE PTR [rdx+rcx]
	mov	BYTE PTR [rax], dl
.L1820:
	add	DWORD PTR -60[rbp], 1
.L1819:
	cmp	DWORD PTR -60[rbp], 2
	jle	.L1821
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -40[rbp], rdx
	mov	BYTE PTR [rax], 44
	add	DWORD PTR -68[rbp], 1
.L1818:
	cmp	DWORD PTR -68[rbp], 2
	jle	.L1822
	mov	rax, QWORD PTR -40[rbp]
	sub	rax, 1
	mov	BYTE PTR [rax], 0
	lea	rax, -32[rbp]
	mov	rsi, rax
	lea	rdi, .LC107[rip]
	mov	eax, 0
	call	out1fmt
	jmp	.L1823
.L1817:
	mov	eax, DWORD PTR -44[rbp]
	mov	esi, eax
	lea	rdi, .LC174[rip]
	mov	eax, 0
	call	out1fmt
	jmp	.L1823
.L1816:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 2048
	test	eax, eax
	je	.L1824
	mov	DWORD PTR -56[rbp], 0
.L1827:
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 55
	jg	.L1825
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 47
	jg	.L1826
.L1825:
	mov	rax, QWORD PTR argptr[rip]
	mov	rax, QWORD PTR [rax]
	mov	rsi, rax
	lea	rdi, illnum[rip]
	mov	eax, 0
	call	sh_error
.L1826:
	mov	eax, DWORD PTR -56[rbp]
	lea	edx, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	sub	eax, 48
	add	eax, edx
	mov	DWORD PTR -56[rbp], eax
	add	QWORD PTR -40[rbp], 1
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L1827
	jmp	.L1828
.L1824:
	not	DWORD PTR -44[rbp]
	mov	eax, DWORD PTR -44[rbp]
	mov	DWORD PTR -56[rbp], eax
	mov	DWORD PTR -52[rbp], 0
	jmp	.L1829
.L1836:
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -40[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	cmp	eax, 117
	je	.L1831
	cmp	eax, 117
	jg	.L1830
	cmp	eax, 111
	je	.L1832
	cmp	eax, 111
	jg	.L1830
	cmp	eax, 97
	je	.L1833
	cmp	eax, 103
	je	.L1834
	jmp	.L1830
.L1833:
	or	DWORD PTR -52[rbp], 73
	jmp	.L1830
.L1831:
	or	DWORD PTR -52[rbp], 64
	jmp	.L1830
.L1834:
	or	DWORD PTR -52[rbp], 8
	jmp	.L1830
.L1832:
	or	DWORD PTR -52[rbp], 1
	nop
.L1830:
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L1835
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	esi, eax
	lea	rdi, .LC175[rip]
	call	strchr@PLT
	test	rax, rax
	jne	.L1836
.L1835:
	cmp	DWORD PTR -52[rbp], 0
	jne	.L1837
	mov	DWORD PTR -52[rbp], 73
.L1837:
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -69[rbp], al
	movsx	eax, BYTE PTR -69[rbp]
	mov	esi, eax
	lea	rdi, .LC176[rip]
	call	strchr@PLT
	test	rax, rax
	je	.L1861
	add	QWORD PTR -40[rbp], 1
	mov	DWORD PTR -48[rbp], 0
	jmp	.L1840
.L1852:
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -40[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	sub	eax, 88
	cmp	eax, 32
	ja	.L1840
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L1842[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L1842[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L1842:
	.long	.L1849-.L1842
	.long	.L1840-.L1842
	.long	.L1840-.L1842
	.long	.L1840-.L1842
	.long	.L1840-.L1842
	.long	.L1840-.L1842
	.long	.L1840-.L1842
	.long	.L1840-.L1842
	.long	.L1840-.L1842
	.long	.L1840-.L1842
	.long	.L1840-.L1842
	.long	.L1840-.L1842
	.long	.L1840-.L1842
	.long	.L1840-.L1842
	.long	.L1840-.L1842
	.long	.L1848-.L1842
	.long	.L1840-.L1842
	.long	.L1840-.L1842
	.long	.L1840-.L1842
	.long	.L1840-.L1842
	.long	.L1840-.L1842
	.long	.L1840-.L1842
	.long	.L1840-.L1842
	.long	.L1847-.L1842
	.long	.L1840-.L1842
	.long	.L1840-.L1842
	.long	.L1846-.L1842
	.long	.L1863-.L1842
	.long	.L1840-.L1842
	.long	.L1844-.L1842
	.long	.L1840-.L1842
	.long	.L1843-.L1842
	.long	.L1841-.L1842
	.text
.L1846:
	or	DWORD PTR -48[rbp], 4
	jmp	.L1840
.L1843:
	or	DWORD PTR -48[rbp], 2
	jmp	.L1840
.L1841:
	or	DWORD PTR -48[rbp], 1
	jmp	.L1840
.L1844:
	mov	eax, DWORD PTR -44[rbp]
	sar	eax, 6
	or	DWORD PTR -48[rbp], eax
	jmp	.L1840
.L1848:
	mov	eax, DWORD PTR -44[rbp]
	sar	eax, 3
	or	DWORD PTR -48[rbp], eax
	jmp	.L1840
.L1847:
	mov	eax, DWORD PTR -44[rbp]
	or	DWORD PTR -48[rbp], eax
	jmp	.L1840
.L1849:
	mov	eax, DWORD PTR -44[rbp]
	and	eax, 73
	test	eax, eax
	je	.L1840
	or	DWORD PTR -48[rbp], 1
	jmp	.L1840
.L1863:
	nop
.L1840:
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L1851
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	esi, eax
	lea	rdi, .LC177[rip]
	call	strchr@PLT
	test	rax, rax
	jne	.L1852
.L1851:
	mov	eax, DWORD PTR -48[rbp]
	and	eax, 7
	mov	edx, eax
	mov	eax, DWORD PTR -52[rbp]
	imul	eax, edx
	mov	DWORD PTR -48[rbp], eax
	movsx	eax, BYTE PTR -69[rbp]
	cmp	eax, 61
	je	.L1853
	cmp	eax, 61
	jg	.L1854
	cmp	eax, 43
	je	.L1855
	cmp	eax, 45
	jne	.L1854
	mov	eax, DWORD PTR -48[rbp]
	not	eax
	and	DWORD PTR -56[rbp], eax
	jmp	.L1854
.L1853:
	mov	edx, DWORD PTR -52[rbp]
	mov	eax, edx
	sal	eax, 3
	sub	eax, edx
	not	eax
	and	eax, DWORD PTR -56[rbp]
	or	eax, DWORD PTR -48[rbp]
	mov	DWORD PTR -56[rbp], eax
	jmp	.L1854
.L1855:
	mov	eax, DWORD PTR -48[rbp]
	or	DWORD PTR -56[rbp], eax
.L1854:
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 44
	jne	.L1856
	mov	DWORD PTR -52[rbp], 0
	add	QWORD PTR -40[rbp], 1
	jmp	.L1829
.L1856:
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	esi, eax
	lea	rdi, .LC176[rip]
	call	strchr@PLT
	test	rax, rax
	je	.L1862
.L1829:
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L1830
	jmp	.L1839
.L1861:
	nop
	jmp	.L1839
.L1862:
	nop
.L1839:
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L1858
	mov	rax, QWORD PTR argptr[rip]
	mov	rax, QWORD PTR [rax]
	mov	rsi, rax
	lea	rdi, .LC178[rip]
	mov	eax, 0
	call	sh_error
.L1858:
	not	DWORD PTR -56[rbp]
.L1828:
	mov	eax, DWORD PTR -56[rbp]
	mov	edi, eax
	call	umask@PLT
.L1823:
	mov	eax, 0
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L1860
	call	__stack_chk_fail@PLT
.L1860:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE194:
	.size	umaskcmd, .-umaskcmd
	.section	.rodata
.LC179:
	.string	"time(seconds)"
.LC180:
	.string	"file(blocks)"
.LC181:
	.string	"data(kbytes)"
.LC182:
	.string	"stack(kbytes)"
.LC183:
	.string	"coredump(blocks)"
.LC184:
	.string	"memory(kbytes)"
.LC185:
	.string	"locked memory(kbytes)"
.LC186:
	.string	"process"
.LC187:
	.string	"nofiles"
.LC188:
	.string	"vmemory(kbytes)"
.LC189:
	.string	"locks"
	.section	.data.rel.ro.local
	.align 32
	.type	limits, @object
	.size	limits, 288
limits:
	.quad	.LC179
	.long	0
	.long	1
	.byte	116
	.zero	7
	.quad	.LC180
	.long	1
	.long	512
	.byte	102
	.zero	7
	.quad	.LC181
	.long	2
	.long	1024
	.byte	100
	.zero	7
	.quad	.LC182
	.long	3
	.long	1024
	.byte	115
	.zero	7
	.quad	.LC183
	.long	4
	.long	512
	.byte	99
	.zero	7
	.quad	.LC184
	.long	5
	.long	1024
	.byte	109
	.zero	7
	.quad	.LC185
	.long	8
	.long	1024
	.byte	108
	.zero	7
	.quad	.LC186
	.long	6
	.long	1
	.byte	112
	.zero	7
	.quad	.LC187
	.long	7
	.long	1
	.byte	110
	.zero	7
	.quad	.LC188
	.long	9
	.long	1024
	.byte	118
	.zero	7
	.quad	.LC189
	.long	10
	.long	1
	.byte	119
	.zero	7
	.quad	0
	.long	0
	.long	0
	.byte	0
	.zero	7
	.section	.rodata
.LC190:
	.string	"unlimited\n"
.LC191:
	.string	"%ld\n"
	.text
	.type	printlim, @function
printlim:
.LFB195:
	.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 -20[rbp], edi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	eax, DWORD PTR -20[rbp]
	and	eax, 1
	test	eax, eax
	je	.L1865
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
.L1865:
	cmp	QWORD PTR -8[rbp], -1
	jne	.L1866
	lea	rdi, .LC190[rip]
	mov	eax, 0
	call	out1fmt
	jmp	.L1868
.L1866:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 12[rax]
	movsx	rcx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, 0
	div	rcx
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rax
	lea	rdi, .LC191[rip]
	mov	eax, 0
	call	out1fmt
.L1868:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE195:
	.size	printlim, .-printlim
	.section	.rodata
.LC192:
	.string	"HSatfdscmlpnvw"
.LC193:
	.string	"too many arguments"
.LC194:
	.string	"unlimited"
.LC195:
	.string	"bad number"
.LC196:
	.string	"%-20s "
.LC197:
	.string	"error setting limit (%s)"
	.text
	.globl	ulimitcmd
	.type	ulimitcmd, @function
ulimitcmd:
.LFB196:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	DWORD PTR -84[rbp], edi
	mov	QWORD PTR -96[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	QWORD PTR -56[rbp], 0
	mov	DWORD PTR -80[rbp], 3
	mov	DWORD PTR -76[rbp], 0
	mov	DWORD PTR -72[rbp], 102
	jmp	.L1870
.L1875:
	cmp	DWORD PTR -68[rbp], 97
	je	.L1871
	cmp	DWORD PTR -68[rbp], 97
	jg	.L1872
	cmp	DWORD PTR -68[rbp], 72
	je	.L1873
	cmp	DWORD PTR -68[rbp], 83
	je	.L1874
	jmp	.L1872
.L1873:
	mov	DWORD PTR -80[rbp], 2
	jmp	.L1870
.L1874:
	mov	DWORD PTR -80[rbp], 1
	jmp	.L1870
.L1871:
	mov	DWORD PTR -76[rbp], 1
	jmp	.L1870
.L1872:
	mov	eax, DWORD PTR -68[rbp]
	mov	DWORD PTR -72[rbp], eax
.L1870:
	lea	rdi, .LC192[rip]
	call	nextopt
	mov	DWORD PTR -68[rbp], eax
	cmp	DWORD PTR -68[rbp], 0
	jne	.L1875
	lea	rax, limits[rip]
	mov	QWORD PTR -48[rbp], rax
	jmp	.L1876
.L1877:
	add	QWORD PTR -48[rbp], 24
.L1876:
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR 16[rax]
	movsx	eax, al
	cmp	DWORD PTR -72[rbp], eax
	jne	.L1877
	mov	rax, QWORD PTR argptr[rip]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	setne	al
	movzx	eax, al
	mov	DWORD PTR -64[rbp], eax
	cmp	DWORD PTR -64[rbp], 0
	je	.L1878
	mov	rax, QWORD PTR argptr[rip]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -40[rbp], rax
	cmp	DWORD PTR -76[rbp], 0
	jne	.L1879
	mov	rax, QWORD PTR argptr[rip]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L1880
.L1879:
	lea	rdi, .LC193[rip]
	mov	eax, 0
	call	sh_error
.L1880:
	mov	rax, QWORD PTR -40[rbp]
	lea	rsi, .LC194[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L1881
	mov	QWORD PTR -56[rbp], -1
	jmp	.L1878
.L1881:
	mov	QWORD PTR -56[rbp], 0
	jmp	.L1882
.L1884:
	mov	rdx, QWORD PTR -56[rbp]
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	add	rax, rax
	mov	rdx, rax
	mov	eax, DWORD PTR -60[rbp]
	sub	eax, 48
	cdqe
	add	rax, rdx
	mov	QWORD PTR -56[rbp], rax
.L1882:
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -40[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	DWORD PTR -60[rbp], eax
	cmp	DWORD PTR -60[rbp], 47
	jle	.L1883
	cmp	DWORD PTR -60[rbp], 57
	jle	.L1884
.L1883:
	cmp	DWORD PTR -60[rbp], 0
	je	.L1885
	lea	rdi, .LC195[rip]
	mov	eax, 0
	call	sh_error
.L1885:
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 12[rax]
	cdqe
	mov	rdx, QWORD PTR -56[rbp]
	imul	rax, rdx
	mov	QWORD PTR -56[rbp], rax
.L1878:
	cmp	DWORD PTR -76[rbp], 0
	je	.L1886
	lea	rax, limits[rip]
	mov	QWORD PTR -48[rbp], rax
	jmp	.L1887
.L1888:
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 8[rax]
	mov	edx, eax
	lea	rax, -32[rbp]
	mov	rsi, rax
	mov	edi, edx
	call	getrlimit@PLT
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rsi, rax
	lea	rdi, .LC196[rip]
	mov	eax, 0
	call	out1fmt
	mov	rdx, QWORD PTR -48[rbp]
	lea	rcx, -32[rbp]
	mov	eax, DWORD PTR -80[rbp]
	mov	rsi, rcx
	mov	edi, eax
	call	printlim
	add	QWORD PTR -48[rbp], 24
.L1887:
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L1888
	mov	eax, 0
	jmp	.L1894
.L1886:
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 8[rax]
	mov	edx, eax
	lea	rax, -32[rbp]
	mov	rsi, rax
	mov	edi, edx
	call	getrlimit@PLT
	cmp	DWORD PTR -64[rbp], 0
	je	.L1890
	mov	eax, DWORD PTR -80[rbp]
	and	eax, 2
	test	eax, eax
	je	.L1891
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR -24[rbp], rax
.L1891:
	mov	eax, DWORD PTR -80[rbp]
	and	eax, 1
	test	eax, eax
	je	.L1892
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR -32[rbp], rax
.L1892:
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 8[rax]
	mov	edx, eax
	lea	rax, -32[rbp]
	mov	rsi, rax
	mov	edi, edx
	call	setrlimit@PLT
	test	eax, eax
	jns	.L1893
	mov	rax, QWORD PTR dash_errno[rip]
	mov	eax, DWORD PTR [rax]
	mov	edi, eax
	call	strerror@PLT
	mov	rsi, rax
	lea	rdi, .LC197[rip]
	mov	eax, 0
	call	sh_error
.L1890:
	mov	rdx, QWORD PTR -48[rbp]
	lea	rcx, -32[rbp]
	mov	eax, DWORD PTR -80[rbp]
	mov	rsi, rcx
	mov	edi, eax
	call	printlim
.L1893:
	mov	eax, 0
.L1894:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L1895
	call	__stack_chk_fail@PLT
.L1895:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE196:
	.size	ulimitcmd, .-ulimitcmd
	.globl	nullstr
	.bss
	.type	nullstr, @object
	.size	nullstr, 1
nullstr:
	.zero	1
	.globl	spcstr
	.section	.rodata
	.type	spcstr, @object
	.size	spcstr, 2
spcstr:
	.string	" "
	.globl	snlfmt
	.type	snlfmt, @object
	.size	snlfmt, 4
snlfmt:
	.string	"%s\n"
	.globl	dolatstr
	.type	dolatstr, @object
	.size	dolatstr, 7
dolatstr:
	.string	"\210\202\001@=\210"
	.globl	qchars
	.type	qchars, @object
	.size	qchars, 3
qchars:
	.string	"\201\210"
	.globl	illnum
	.align 16
	.type	illnum, @object
	.size	illnum, 19
illnum:
	.string	"Illegal number: %s"
	.globl	homestr
	.type	homestr, @object
	.size	homestr, 5
homestr:
	.string	"HOME"
	.text
	.globl	prefix
	.type	prefix, @function
prefix:
.LFB197:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	jmp	.L1897
.L1899:
	mov	rax, QWORD PTR -16[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -16[rbp], rdx
	movzx	ecx, BYTE PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -8[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	cmp	cl, al
	je	.L1897
	mov	eax, 0
	jmp	.L1898
.L1897:
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L1899
	mov	rax, QWORD PTR -8[rbp]
.L1898:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE197:
	.size	prefix, .-prefix
	.globl	badnum
	.type	badnum, @function
badnum:
.LFB198:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rax
	lea	rdi, illnum[rip]
	mov	eax, 0
	call	sh_error
	.cfi_endproc
.LFE198:
	.size	badnum, .-badnum
	.globl	atomax
	.type	atomax, @function
atomax:
.LFB199:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR dash_errno[rip]
	mov	DWORD PTR [rax], 0
	mov	edx, DWORD PTR -44[rbp]
	lea	rcx, -24[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	strtoimax@PLT
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR dash_errno[rip]
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	je	.L1902
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	badnum
.L1902:
	mov	rax, QWORD PTR -24[rbp]
	cmp	QWORD PTR -40[rbp], rax
	jne	.L1904
	cmp	DWORD PTR -44[rbp], 0
	je	.L1904
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	badnum
.L1905:
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 1
	mov	QWORD PTR -24[rbp], rax
.L1904:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8192
	test	eax, eax
	jne	.L1905
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L1906
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	badnum
.L1906:
	mov	rax, QWORD PTR -16[rbp]
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L1908
	call	__stack_chk_fail@PLT
.L1908:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE199:
	.size	atomax, .-atomax
	.globl	atomax10
	.type	atomax10, @function
atomax10:
.LFB200:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 10
	mov	rdi, rax
	call	atomax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE200:
	.size	atomax10, .-atomax10
	.globl	number
	.type	number, @function
number:
.LFB201:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	atomax10
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	js	.L1912
	mov	eax, 2147483648
	cmp	QWORD PTR -8[rbp], rax
	jl	.L1913
.L1912:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	badnum
.L1913:
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE201:
	.size	number, .-number
	.globl	is_number
	.type	is_number, @function
is_number:
.LFB202:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
.L1918:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	sub	eax, 48
	cmp	eax, 9
	jbe	.L1916
	mov	eax, 0
	jmp	.L1917
.L1916:
	add	QWORD PTR -8[rbp], 1
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L1918
	mov	eax, 1
.L1917:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE202:
	.size	is_number, .-is_number
	.section	.rodata
.LC198:
	.string	"'"
	.text
	.globl	single_quote
	.type	single_quote, @function
single_quote:
.LFB203:
	.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	rax, QWORD PTR stacknxt[rip]
	mov	QWORD PTR -24[rbp], rax
.L1922:
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, 39
	mov	rdi, rax
	call	strchrnul
	sub	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	lea	rdx, 3[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	call	makestrspace
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	BYTE PTR [rax], 39
	mov	rdx, QWORD PTR -16[rbp]
	mov	rcx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	mempcpy@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	BYTE PTR [rax], 39
	mov	rax, QWORD PTR -16[rbp]
	add	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	lea	rsi, .LC198[rip]
	mov	rdi, rax
	call	strspn@PLT
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	je	.L1924
	mov	rax, QWORD PTR -16[rbp]
	lea	rdx, 3[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	call	makestrspace
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	BYTE PTR [rax], 34
	mov	rdx, QWORD PTR -16[rbp]
	mov	rcx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	mempcpy@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	BYTE PTR [rax], 34
	mov	rax, QWORD PTR -16[rbp]
	add	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L1922
	jmp	.L1921
.L1924:
	nop
.L1921:
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -24[rbp], rdx
	mov	BYTE PTR [rax], 0
	mov	rax, QWORD PTR stacknxt[rip]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE203:
	.size	single_quote, .-single_quote
	.globl	sstrdup
	.type	sstrdup, @function
sstrdup:
.LFB204:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	strlen@PLT
	add	rax, 1
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	stalloc
	mov	rcx, rax
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rax
	mov	rdi, rcx
	call	memcpy@PLT
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE204:
	.size	sstrdup, .-sstrdup
	.globl	pstrcmp
	.type	pstrcmp, @function
pstrcmp:
.LFB205:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcmp@PLT
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE205:
	.size	pstrcmp, .-pstrcmp
	.globl	findstring
	.type	findstring, @function
findstring:
.LFB206:
	.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
	mov	rdx, QWORD PTR -24[rbp]
	mov	rsi, QWORD PTR -16[rbp]
	lea	rax, -8[rbp]
	lea	r8, pstrcmp[rip]
	mov	ecx, 8
	mov	rdi, rax
	call	bsearch@PLT
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE206:
	.size	findstring, .-findstring
	.globl	arg0
	.bss
	.align 8
	.type	arg0, @object
	.size	arg0, 8
arg0:
	.zero	8
	.globl	shellparam
	.align 16
	.type	shellparam, @object
	.size	shellparam, 24
shellparam:
	.zero	24
	.globl	argptr
	.align 8
	.type	argptr, @object
	.size	argptr, 8
argptr:
	.zero	8
	.globl	optionarg
	.align 8
	.type	optionarg, @object
	.size	optionarg, 8
optionarg:
	.zero	8
	.globl	optptr
	.align 8
	.type	optptr, @object
	.size	optptr, 8
optptr:
	.zero	8
	.globl	minusc
	.align 8
	.type	minusc, @object
	.size	minusc, 8
minusc:
	.zero	8
	.section	.rodata
.LC199:
	.string	"errexit"
.LC200:
	.string	"noglob"
.LC201:
	.string	"ignoreeof"
.LC202:
	.string	"interactive"
.LC203:
	.string	"monitor"
.LC204:
	.string	"noexec"
.LC205:
	.string	"stdin"
.LC206:
	.string	"xtrace"
.LC207:
	.string	"verbose"
.LC208:
	.string	"vi"
.LC209:
	.string	"emacs"
.LC210:
	.string	"noclobber"
.LC211:
	.string	"allexport"
.LC212:
	.string	"notify"
.LC213:
	.string	"nounset"
.LC214:
	.string	"nolog"
.LC215:
	.string	"debug"
	.section	.data.rel.ro.local
	.align 32
	.type	optnames, @object
	.size	optnames, 136
optnames:
	.quad	.LC199
	.quad	.LC200
	.quad	.LC201
	.quad	.LC202
	.quad	.LC203
	.quad	.LC204
	.quad	.LC205
	.quad	.LC206
	.quad	.LC207
	.quad	.LC208
	.quad	.LC209
	.quad	.LC210
	.quad	.LC211
	.quad	.LC212
	.quad	.LC213
	.quad	.LC214
	.quad	.LC215
	.globl	optletters
	.section	.rodata
	.align 16
	.type	optletters, @object
	.size	optletters, 17
optletters:
	.string	"efIimnsxvVECabu"
	.string	""
	.globl	optlist
	.bss
	.align 16
	.type	optlist, @object
	.size	optlist, 17
optlist:
	.zero	17
	.section	.rodata
.LC216:
	.string	"-c requires an argument"
	.text
	.globl	procargs
	.type	procargs, @function
procargs:
.LFB207:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	DWORD PTR -36[rbp], edi
	mov	QWORD PTR -48[rbp], rsi
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L1932
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 45
	jne	.L1932
	mov	eax, 1
	jmp	.L1933
.L1932:
	mov	eax, 0
.L1933:
	mov	DWORD PTR -20[rbp], eax
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR arg0[rip], rax
	cmp	DWORD PTR -36[rbp], 0
	jle	.L1934
	add	QWORD PTR -16[rbp], 8
.L1934:
	mov	DWORD PTR -24[rbp], 0
	jmp	.L1935
.L1936:
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, optlist[rip]
	mov	BYTE PTR [rax+rdx], 2
	add	DWORD PTR -24[rbp], 1
.L1935:
	cmp	DWORD PTR -24[rbp], 16
	jle	.L1936
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR argptr[rip], rax
	mov	edi, 1
	call	options
	or	DWORD PTR -20[rbp], eax
	mov	rax, QWORD PTR argptr[rip]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR minusc[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L1937
	cmp	QWORD PTR -8[rbp], 0
	je	.L1938
	lea	rdi, .LC216[rip]
	mov	eax, 0
	call	sh_error
.L1938:
	mov	BYTE PTR optlist[rip+6], 1
.L1937:
	movzx	eax, BYTE PTR optlist[rip+3]
	cmp	al, 2
	jne	.L1939
	movzx	eax, BYTE PTR optlist[rip+6]
	cmp	al, 1
	jne	.L1939
	mov	edi, 0
	call	isatty@PLT
	test	eax, eax
	je	.L1939
	mov	edi, 1
	call	isatty@PLT
	test	eax, eax
	je	.L1939
	mov	BYTE PTR optlist[rip+3], 1
.L1939:
	movzx	eax, BYTE PTR optlist[rip+4]
	cmp	al, 2
	jne	.L1940
	movzx	eax, BYTE PTR optlist[rip+3]
	mov	BYTE PTR optlist[rip+4], al
.L1940:
	mov	DWORD PTR -24[rbp], 0
	jmp	.L1941
.L1943:
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, optlist[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	cmp	al, 2
	jne	.L1942
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, optlist[rip]
	mov	BYTE PTR [rax+rdx], 0
.L1942:
	add	DWORD PTR -24[rbp], 1
.L1941:
	cmp	DWORD PTR -24[rbp], 16
	jle	.L1943
	cmp	QWORD PTR -8[rbp], 0
	je	.L1944
	mov	rax, QWORD PTR -16[rbp]
	lea	rdx, 8[rax]
	mov	QWORD PTR -16[rbp], rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR minusc[rip], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L1945
	jmp	.L1946
.L1944:
	movzx	eax, BYTE PTR optlist[rip+6]
	test	al, al
	jne	.L1945
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	mov	esi, 0
	mov	rdi, rax
	call	setinputfile
.L1946:
	mov	rax, QWORD PTR -16[rbp]
	lea	rdx, 8[rax]
	mov	QWORD PTR -16[rbp], rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR arg0[rip], rax
	mov	rax, QWORD PTR arg0[rip]
	mov	QWORD PTR commandname[rip], rax
.L1945:
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR shellparam[rip+8], rax
	mov	DWORD PTR shellparam[rip+16], 1
	mov	DWORD PTR shellparam[rip+20], -1
	jmp	.L1947
.L1948:
	mov	eax, DWORD PTR shellparam[rip]
	add	eax, 1
	mov	DWORD PTR shellparam[rip], eax
	add	QWORD PTR -16[rbp], 8
.L1947:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L1948
	call	optschanged
	mov	eax, DWORD PTR -20[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE207:
	.size	procargs, .-procargs
	.globl	optschanged
	.type	optschanged, @function
optschanged:
.LFB208:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	movzx	eax, BYTE PTR optlist[rip+3]
	movsx	eax, al
	mov	edi, eax
	call	setinteractive
	movzx	eax, BYTE PTR optlist[rip+4]
	movsx	eax, al
	mov	edi, eax
	call	setjobctl
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE208:
	.size	optschanged, .-optschanged
	.type	options, @function
options:
.LFB209:
	.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	DWORD PTR -16[rbp], 0
	cmp	DWORD PTR -36[rbp], 0
	je	.L1953
	mov	QWORD PTR minusc[rip], 0
	jmp	.L1953
.L1966:
	mov	rax, QWORD PTR argptr[rip]
	add	rax, 8
	mov	QWORD PTR argptr[rip], rax
	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 -12[rbp], eax
	cmp	DWORD PTR -12[rbp], 45
	jne	.L1954
	mov	DWORD PTR -20[rbp], 1
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L1955
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 45
	jne	.L1961
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L1961
.L1955:
	cmp	DWORD PTR -36[rbp], 0
	jne	.L1968
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L1958
	mov	BYTE PTR optlist[rip+8], 0
	movzx	eax, BYTE PTR optlist[rip+8]
	mov	BYTE PTR optlist[rip+7], al
	jmp	.L1968
.L1958:
	mov	rax, QWORD PTR argptr[rip]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L1968
	mov	rax, QWORD PTR argptr[rip]
	mov	rdi, rax
	call	setparam
	jmp	.L1968
.L1954:
	cmp	DWORD PTR -12[rbp], 43
	jne	.L1960
	mov	DWORD PTR -20[rbp], 0
	jmp	.L1961
.L1960:
	mov	rax, QWORD PTR argptr[rip]
	sub	rax, 8
	mov	QWORD PTR argptr[rip], rax
	jmp	.L1959
.L1965:
	cmp	DWORD PTR -12[rbp], 99
	jne	.L1962
	cmp	DWORD PTR -36[rbp], 0
	je	.L1962
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR minusc[rip], rax
	jmp	.L1961
.L1962:
	cmp	DWORD PTR -12[rbp], 108
	jne	.L1963
	cmp	DWORD PTR -36[rbp], 0
	je	.L1963
	mov	DWORD PTR -16[rbp], 1
	jmp	.L1961
.L1963:
	cmp	DWORD PTR -12[rbp], 111
	jne	.L1964
	mov	rax, QWORD PTR argptr[rip]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -20[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	minus_o
	mov	rax, QWORD PTR argptr[rip]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L1961
	mov	rax, QWORD PTR argptr[rip]
	add	rax, 8
	mov	QWORD PTR argptr[rip], rax
	jmp	.L1961
.L1964:
	mov	edx, DWORD PTR -20[rbp]
	mov	eax, DWORD PTR -12[rbp]
	mov	esi, edx
	mov	edi, eax
	call	setoption
.L1961:
	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 -12[rbp], eax
	cmp	DWORD PTR -12[rbp], 0
	jne	.L1965
.L1953:
	mov	rax, QWORD PTR argptr[rip]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L1966
	jmp	.L1959
.L1968:
	nop
.L1959:
	mov	eax, DWORD PTR -16[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE209:
	.size	options, .-options
	.section	.rodata
.LC217:
	.string	"Current option settings\n"
.LC218:
	.string	"on"
.LC219:
	.string	"off"
.LC220:
	.string	"%-16s%s\n"
.LC221:
	.string	"-o"
.LC222:
	.string	"+o"
.LC223:
	.string	"set %s %s\n"
.LC224:
	.string	"Illegal option -o %s"
	.text
	.type	minus_o, @function
minus_o:
.LFB210:
	.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 -28[rbp], esi
	cmp	QWORD PTR -24[rbp], 0
	jne	.L1970
	cmp	DWORD PTR -28[rbp], 0
	je	.L1971
	mov	rax, QWORD PTR out1[rip]
	mov	rsi, rax
	lea	rdi, .LC217[rip]
	call	outstr
	mov	DWORD PTR -4[rbp], 0
	jmp	.L1972
.L1975:
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, optlist[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	test	al, al
	je	.L1973
	lea	rax, .LC218[rip]
	jmp	.L1974
.L1973:
	lea	rax, .LC219[rip]
.L1974:
	mov	edx, DWORD PTR -4[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*8]
	lea	rdx, optnames[rip]
	mov	rcx, QWORD PTR [rcx+rdx]
	mov	rdx, rax
	mov	rsi, rcx
	lea	rdi, .LC220[rip]
	mov	eax, 0
	call	out1fmt
	add	DWORD PTR -4[rbp], 1
.L1972:
	cmp	DWORD PTR -4[rbp], 16
	jle	.L1975
	jmp	.L1969
.L1971:
	mov	DWORD PTR -4[rbp], 0
	jmp	.L1977
.L1980:
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, optnames[rip]
	mov	rdx, QWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rcx, optlist[rip]
	movzx	eax, BYTE PTR [rax+rcx]
	test	al, al
	je	.L1978
	lea	rax, .LC221[rip]
	jmp	.L1979
.L1978:
	lea	rax, .LC222[rip]
.L1979:
	mov	rsi, rax
	lea	rdi, .LC223[rip]
	mov	eax, 0
	call	out1fmt
	add	DWORD PTR -4[rbp], 1
.L1977:
	cmp	DWORD PTR -4[rbp], 16
	jle	.L1980
	jmp	.L1969
.L1970:
	mov	DWORD PTR -4[rbp], 0
	jmp	.L1981
.L1983:
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, optnames[rip]
	mov	rdx, QWORD PTR [rdx+rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L1982
	mov	eax, DWORD PTR -28[rbp]
	mov	ecx, eax
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, optlist[rip]
	mov	BYTE PTR [rax+rdx], cl
	jmp	.L1969
.L1982:
	add	DWORD PTR -4[rbp], 1
.L1981:
	cmp	DWORD PTR -4[rbp], 16
	jle	.L1983
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rax
	lea	rdi, .LC224[rip]
	mov	eax, 0
	call	sh_error
.L1969:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE210:
	.size	minus_o, .-minus_o
	.section	.rodata
.LC225:
	.string	"Illegal option -%c"
	.text
	.type	setoption, @function
setoption:
.LFB211:
	.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	DWORD PTR -4[rbp], 0
	jmp	.L1985
.L1990:
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, optletters[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	movsx	eax, al
	cmp	DWORD PTR -20[rbp], eax
	jne	.L1986
	mov	eax, DWORD PTR -24[rbp]
	mov	ecx, eax
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, optlist[rip]
	mov	BYTE PTR [rax+rdx], cl
	cmp	DWORD PTR -24[rbp], 0
	je	.L1991
	cmp	DWORD PTR -20[rbp], 86
	jne	.L1988
	mov	BYTE PTR optlist[rip+10], 0
	jmp	.L1991
.L1988:
	cmp	DWORD PTR -20[rbp], 69
	jne	.L1991
	mov	BYTE PTR optlist[rip+9], 0
	jmp	.L1991
.L1986:
	add	DWORD PTR -4[rbp], 1
.L1985:
	cmp	DWORD PTR -4[rbp], 16
	jle	.L1990
	mov	eax, DWORD PTR -20[rbp]
	mov	esi, eax
	lea	rdi, .LC225[rip]
	mov	eax, 0
	call	sh_error
.L1991:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE211:
	.size	setoption, .-setoption
	.globl	setparam
	.type	setparam, @function
setparam:
.LFB212:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 56
	.cfi_offset 3, -24
	mov	QWORD PTR -56[rbp], rdi
	mov	DWORD PTR -36[rbp], 0
	jmp	.L1993
.L1994:
	add	DWORD PTR -36[rbp], 1
.L1993:
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L1994
	mov	eax, DWORD PTR -36[rbp]
	add	eax, 1
	cdqe
	sal	rax, 3
	mov	rdi, rax
	call	ckmalloc
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -32[rbp], rax
	jmp	.L1995
.L1996:
	mov	rax, QWORD PTR -56[rbp]
	lea	rdx, 8[rax]
	mov	QWORD PTR -56[rbp], rdx
	mov	rax, QWORD PTR [rax]
	mov	rbx, QWORD PTR -32[rbp]
	lea	rdx, 8[rbx]
	mov	QWORD PTR -32[rbp], rdx
	mov	rdi, rax
	call	savestr
	mov	QWORD PTR [rbx], rax
.L1995:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L1996
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR [rax], 0
	lea	rdi, shellparam[rip]
	call	freeparam
	mov	BYTE PTR shellparam[rip+4], 1
	mov	eax, DWORD PTR -36[rbp]
	mov	DWORD PTR shellparam[rip], eax
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR shellparam[rip+8], rax
	mov	DWORD PTR shellparam[rip+16], 1
	mov	DWORD PTR shellparam[rip+20], -1
	nop
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE212:
	.size	setparam, .-setparam
	.globl	freeparam
	.type	freeparam, @function
freeparam:
.LFB213:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 4[rax]
	test	al, al
	je	.L2001
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L1999
.L2000:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	free@PLT
	add	QWORD PTR -8[rbp], 8
.L1999:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L2000
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	free@PLT
.L2001:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE213:
	.size	freeparam, .-freeparam
	.section	.rodata
.LC226:
	.string	"can't shift that many"
	.text
	.globl	shiftcmd
	.type	shiftcmd, @function
shiftcmd:
.LFB214:
	.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	DWORD PTR -20[rbp], 1
	cmp	DWORD PTR -36[rbp], 1
	jle	.L2003
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	number
	mov	DWORD PTR -20[rbp], eax
.L2003:
	mov	eax, DWORD PTR shellparam[rip]
	cmp	DWORD PTR -20[rbp], eax
	jle	.L2004
	lea	rdi, .LC226[rip]
	mov	eax, 0
	call	sh_error
.L2004:
	mov	eax, DWORD PTR suppressint[rip]
	add	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	eax, DWORD PTR shellparam[rip]
	sub	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR shellparam[rip], eax
	mov	rax, QWORD PTR shellparam[rip+8]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L2005
.L2007:
	movzx	eax, BYTE PTR shellparam[rip+4]
	test	al, al
	je	.L2006
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	free@PLT
.L2006:
	add	QWORD PTR -16[rbp], 8
.L2005:
	sub	DWORD PTR -20[rbp], 1
	cmp	DWORD PTR -20[rbp], 0
	jns	.L2007
	mov	rax, QWORD PTR shellparam[rip+8]
	mov	QWORD PTR -8[rbp], rax
	nop
.L2008:
	mov	rdx, QWORD PTR -16[rbp]
	lea	rax, 8[rdx]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	lea	rcx, 8[rax]
	mov	QWORD PTR -8[rbp], rcx
	mov	rdx, QWORD PTR [rdx]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L2008
	mov	DWORD PTR shellparam[rip+16], 1
	mov	DWORD PTR shellparam[rip+20], -1
	mov	eax, DWORD PTR suppressint[rip]
	sub	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	eax, DWORD PTR suppressint[rip]
	test	eax, eax
	jne	.L2009
	mov	eax, DWORD PTR intpending[rip]
	test	eax, eax
	je	.L2009
	call	onint
.L2009:
	mov	eax, 0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE214:
	.size	shiftcmd, .-shiftcmd
	.globl	setcmd
	.type	setcmd, @function
setcmd:
.LFB215:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	DWORD PTR -4[rbp], edi
	mov	QWORD PTR -16[rbp], rsi
	cmp	DWORD PTR -4[rbp], 1
	jne	.L2012
	mov	edx, 32
	mov	esi, 0
	lea	rdi, nullstr[rip]
	call	showvars
	jmp	.L2013
.L2012:
	mov	eax, DWORD PTR suppressint[rip]
	add	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	edi, 0
	call	options
	call	optschanged
	mov	rax, QWORD PTR argptr[rip]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L2014
	mov	rax, QWORD PTR argptr[rip]
	mov	rdi, rax
	call	setparam
.L2014:
	mov	eax, DWORD PTR suppressint[rip]
	sub	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	eax, DWORD PTR suppressint[rip]
	test	eax, eax
	jne	.L2015
	mov	eax, DWORD PTR intpending[rip]
	test	eax, eax
	je	.L2015
	call	onint
.L2015:
	mov	eax, 0
.L2013:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE215:
	.size	setcmd, .-setcmd
	.globl	getoptsreset
	.type	getoptsreset, @function
getoptsreset:
.LFB216:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	number
	test	eax, eax
	jne	.L2018
	mov	eax, 1
.L2018:
	mov	DWORD PTR shellparam[rip+16], eax
	mov	DWORD PTR shellparam[rip+20], -1
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE216:
	.size	getoptsreset, .-getoptsreset
	.section	.rodata
	.align 8
.LC227:
	.string	"Usage: getopts optstring var [arg]"
	.text
	.globl	getoptscmd
	.type	getoptscmd, @function
getoptscmd:
.LFB217:
	.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	QWORD PTR -32[rbp], rsi
	cmp	DWORD PTR -20[rbp], 2
	jg	.L2020
	lea	rdi, .LC227[rip]
	mov	eax, 0
	call	sh_error
.L2020:
	cmp	DWORD PTR -20[rbp], 3
	jne	.L2021
	mov	rax, QWORD PTR shellparam[rip+8]
	mov	QWORD PTR -8[rbp], rax
	mov	eax, DWORD PTR shellparam[rip+16]
	mov	edx, eax
	mov	eax, DWORD PTR shellparam[rip]
	add	eax, 1
	cmp	edx, eax
	jbe	.L2022
	mov	DWORD PTR shellparam[rip+16], 1
	mov	DWORD PTR shellparam[rip+20], -1
	jmp	.L2022
.L2021:
	mov	rax, QWORD PTR -32[rbp]
	add	rax, 24
	mov	QWORD PTR -8[rbp], rax
	mov	eax, DWORD PTR shellparam[rip+16]
	mov	edx, eax
	mov	eax, DWORD PTR -20[rbp]
	sub	eax, 2
	cmp	edx, eax
	jbe	.L2022
	mov	DWORD PTR shellparam[rip+16], 1
	mov	DWORD PTR shellparam[rip+20], -1
.L2022:
	mov	rax, QWORD PTR -32[rbp]
	add	rax, 16
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -8[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	getopts
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE217:
	.size	getoptscmd, .-getoptscmd
	.section	.rodata
.LC228:
	.string	"OPTARG"
.LC229:
	.string	"Illegal option -%c\n"
.LC230:
	.string	"No arg for -%c option\n"
.LC231:
	.string	"OPTIND"
	.text
	.type	getopts, @function
getopts:
.LFB218:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	QWORD PTR -72[rbp], rdi
	mov	QWORD PTR -80[rbp], rsi
	mov	QWORD PTR -88[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	BYTE PTR -53[rbp], 63
	mov	DWORD PTR -52[rbp], 0
	mov	eax, DWORD PTR shellparam[rip+16]
	mov	DWORD PTR -48[rbp], eax
	mov	eax, DWORD PTR shellparam[rip+20]
	mov	DWORD PTR -44[rbp], eax
	mov	DWORD PTR shellparam[rip+16], -1
	mov	eax, DWORD PTR -48[rbp]
	cdqe
	sal	rax, 3
	lea	rdx, -8[rax]
	mov	rax, QWORD PTR -88[rbp]
	add	rax, rdx
	mov	QWORD PTR -24[rbp], rax
	cmp	DWORD PTR -48[rbp], 1
	jle	.L2025
	cmp	DWORD PTR -44[rbp], 0
	js	.L2025
	mov	rax, QWORD PTR -24[rbp]
	sub	rax, 8
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	strlen@PLT
	mov	edx, DWORD PTR -44[rbp]
	movsx	rdx, edx
	cmp	rax, rdx
	jnb	.L2026
.L2025:
	mov	QWORD PTR -40[rbp], 0
	jmp	.L2027
.L2026:
	mov	rax, QWORD PTR -24[rbp]
	sub	rax, 8
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	add	rax, rdx
	mov	QWORD PTR -40[rbp], rax
.L2027:
	cmp	QWORD PTR -40[rbp], 0
	je	.L2028
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L2029
.L2028:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -40[rbp], rax
	cmp	QWORD PTR -40[rbp], 0
	je	.L2047
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 45
	jne	.L2047
	add	QWORD PTR -40[rbp], 1
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L2031
.L2047:
	nop
	jmp	.L2030
.L2048:
	nop
.L2030:
	mov	QWORD PTR -40[rbp], 0
	mov	DWORD PTR -52[rbp], 1
	jmp	.L2032
.L2031:
	add	QWORD PTR -24[rbp], 8
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 45
	jne	.L2029
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L2048
.L2029:
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -40[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -53[rbp], al
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR -32[rbp], rax
	jmp	.L2033
.L2037:
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L2034
	mov	rax, QWORD PTR -72[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 58
	jne	.L2035
	movzx	eax, BYTE PTR -53[rbp]
	mov	BYTE PTR -10[rbp], al
	mov	BYTE PTR -9[rbp], 0
	lea	rax, -10[rbp]
	mov	edx, 0
	mov	rsi, rax
	lea	rdi, .LC228[rip]
	call	setvar
	jmp	.L2036
.L2035:
	movsx	eax, BYTE PTR -53[rbp]
	mov	edx, eax
	lea	rsi, .LC229[rip]
	lea	rdi, errout[rip]
	mov	eax, 0
	call	outfmt
	lea	rdi, .LC228[rip]
	call	unsetvar
.L2036:
	mov	BYTE PTR -53[rbp], 63
	jmp	.L2032
.L2034:
	add	QWORD PTR -32[rbp], 1
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 58
	jne	.L2033
	add	QWORD PTR -32[rbp], 1
.L2033:
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	BYTE PTR -53[rbp], al
	jne	.L2037
	add	QWORD PTR -32[rbp], 1
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 58
	jne	.L2038
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L2039
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -40[rbp], rax
	cmp	QWORD PTR -40[rbp], 0
	jne	.L2039
	mov	rax, QWORD PTR -72[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 58
	jne	.L2040
	movzx	eax, BYTE PTR -53[rbp]
	mov	BYTE PTR -10[rbp], al
	mov	BYTE PTR -9[rbp], 0
	lea	rax, -10[rbp]
	mov	edx, 0
	mov	rsi, rax
	lea	rdi, .LC228[rip]
	call	setvar
	mov	BYTE PTR -53[rbp], 58
	jmp	.L2032
.L2040:
	movsx	eax, BYTE PTR -53[rbp]
	mov	edx, eax
	lea	rsi, .LC230[rip]
	lea	rdi, errout[rip]
	mov	eax, 0
	call	outfmt
	lea	rdi, .LC228[rip]
	call	unsetvar
	mov	BYTE PTR -53[rbp], 63
	jmp	.L2032
.L2039:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	cmp	QWORD PTR -40[rbp], rax
	jne	.L2042
	add	QWORD PTR -24[rbp], 8
.L2042:
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, 0
	mov	rsi, rax
	lea	rdi, .LC228[rip]
	call	setvar
	mov	QWORD PTR -40[rbp], 0
	jmp	.L2032
.L2038:
	mov	edx, 0
	lea	rsi, nullstr[rip]
	lea	rdi, .LC228[rip]
	call	setvar
.L2032:
	mov	rax, QWORD PTR -24[rbp]
	sub	rax, QWORD PTR -88[rbp]
	sar	rax, 3
	add	eax, 1
	mov	DWORD PTR -48[rbp], eax
	mov	eax, DWORD PTR -48[rbp]
	cdqe
	mov	edx, 64
	mov	rsi, rax
	lea	rdi, .LC231[rip]
	call	setvarint
	movzx	eax, BYTE PTR -53[rbp]
	mov	BYTE PTR -10[rbp], al
	mov	BYTE PTR -9[rbp], 0
	lea	rcx, -10[rbp]
	mov	rax, QWORD PTR -80[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	setvar
	cmp	QWORD PTR -40[rbp], 0
	je	.L2043
	mov	rax, QWORD PTR -24[rbp]
	sub	rax, 8
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	sub	rax, rdx
	jmp	.L2044
.L2043:
	mov	eax, -1
.L2044:
	mov	DWORD PTR shellparam[rip+20], eax
	mov	eax, DWORD PTR -48[rbp]
	mov	DWORD PTR shellparam[rip+16], eax
	mov	eax, DWORD PTR -52[rbp]
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L2046
	call	__stack_chk_fail@PLT
.L2046:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE218:
	.size	getopts, .-getopts
	.section	.rodata
.LC232:
	.string	"No arg for -%c option"
	.text
	.globl	nextopt
	.type	nextopt, @function
nextopt:
.LFB219:
	.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	rax, QWORD PTR optptr[rip]
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	je	.L2050
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L2051
.L2050:
	mov	rax, QWORD PTR argptr[rip]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	je	.L2052
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 45
	jne	.L2052
	add	QWORD PTR -16[rbp], 1
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L2053
.L2052:
	mov	eax, 0
	jmp	.L2054
.L2053:
	mov	rax, QWORD PTR argptr[rip]
	add	rax, 8
	mov	QWORD PTR argptr[rip], rax
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 45
	jne	.L2051
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L2051
	mov	eax, 0
	jmp	.L2054
.L2051:
	mov	rax, QWORD PTR -16[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -16[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -17[rbp], al
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L2055
.L2057:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L2056
	movsx	eax, BYTE PTR -17[rbp]
	mov	esi, eax
	lea	rdi, .LC225[rip]
	mov	eax, 0
	call	sh_error
.L2056:
	add	QWORD PTR -8[rbp], 1
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 58
	jne	.L2055
	add	QWORD PTR -8[rbp], 1
.L2055:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	BYTE PTR -17[rbp], al
	jne	.L2057
	add	QWORD PTR -8[rbp], 1
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 58
	jne	.L2058
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L2059
	mov	rax, QWORD PTR argptr[rip]
	lea	rdx, 8[rax]
	mov	QWORD PTR argptr[rip], rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	jne	.L2059
	movsx	eax, BYTE PTR -17[rbp]
	mov	esi, eax
	lea	rdi, .LC232[rip]
	mov	eax, 0
	call	sh_error
.L2059:
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR optionarg[rip], rax
	mov	QWORD PTR -16[rbp], 0
.L2058:
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR optptr[rip], rax
	movsx	eax, BYTE PTR -17[rbp]
.L2054:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE219:
	.size	nextopt, .-nextopt
	.globl	heredoclist
	.bss
	.align 8
	.type	heredoclist, @object
	.size	heredoclist, 8
heredoclist:
	.zero	8
	.globl	doprompt
	.align 4
	.type	doprompt, @object
	.size	doprompt, 4
doprompt:
	.zero	4
	.globl	needprompt
	.align 4
	.type	needprompt, @object
	.size	needprompt, 4
needprompt:
	.zero	4
	.globl	lasttoken
	.align 4
	.type	lasttoken, @object
	.size	lasttoken, 4
lasttoken:
	.zero	4
	.globl	tokpushback
	.align 4
	.type	tokpushback, @object
	.size	tokpushback, 4
tokpushback:
	.zero	4
	.globl	wordtext
	.align 8
	.type	wordtext, @object
	.size	wordtext, 8
wordtext:
	.zero	8
	.globl	checkkwd
	.align 4
	.type	checkkwd, @object
	.size	checkkwd, 4
checkkwd:
	.zero	4
	.globl	backquotelist
	.align 8
	.type	backquotelist, @object
	.size	backquotelist, 8
backquotelist:
	.zero	8
	.globl	redirnode
	.align 8
	.type	redirnode, @object
	.size	redirnode, 8
redirnode:
	.zero	8
	.globl	heredoc
	.align 8
	.type	heredoc, @object
	.size	heredoc, 8
heredoc:
	.zero	8
	.globl	quoteflag
	.align 4
	.type	quoteflag, @object
	.size	quoteflag, 4
quoteflag:
	.zero	4
	.text
	.type	isassignment, @function
isassignment:
.LFB220:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	endofname
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	cmp	rax, QWORD PTR -8[rbp]
	jne	.L2061
	mov	eax, 0
	jmp	.L2062
.L2061:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 61
	sete	al
	movzx	eax, al
.L2062:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE220:
	.size	isassignment, .-isassignment
	.type	realeofmark, @function
realeofmark:
.LFB221:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	cmp	QWORD PTR -8[rbp], 0
	je	.L2064
	cmp	QWORD PTR -8[rbp], 1
	je	.L2064
	mov	eax, 1
	jmp	.L2066
.L2064:
	mov	eax, 0
.L2066:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE221:
	.size	realeofmark, .-realeofmark
	.globl	parsecmd
	.type	parsecmd, @function
parsecmd:
.LFB222:
	.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 tokpushback[rip], 0
	mov	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR doprompt[rip], eax
	mov	eax, DWORD PTR doprompt[rip]
	test	eax, eax
	je	.L2068
	mov	eax, DWORD PTR doprompt[rip]
	mov	edi, eax
	call	setprompt
.L2068:
	mov	DWORD PTR needprompt[rip], 0
	call	readtoken
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 0
	jne	.L2069
	lea	rax, tokpushback[rip]
	jmp	.L2070
.L2069:
	cmp	DWORD PTR -4[rbp], 1
	jne	.L2071
	mov	eax, 0
	jmp	.L2070
.L2071:
	mov	eax, DWORD PTR tokpushback[rip]
	add	eax, 1
	mov	DWORD PTR tokpushback[rip], eax
	mov	edi, 1
	call	list
.L2070:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE222:
	.size	parsecmd, .-parsecmd
	.type	list, @function
list:
.LFB223:
	.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	DWORD PTR checkkwd[rip], 7
	cmp	DWORD PTR -36[rbp], 2
	jne	.L2073
	call	peektoken
	cdqe
	lea	rdx, tokendlist[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	test	al, al
	je	.L2073
	mov	eax, 0
	jmp	.L2074
.L2073:
	mov	QWORD PTR -24[rbp], 0
.L2091:
	call	andor
	mov	QWORD PTR -16[rbp], rax
	call	readtoken
	mov	DWORD PTR -28[rbp], eax
	cmp	DWORD PTR -28[rbp], 3
	jne	.L2075
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 1
	jne	.L2076
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 4[rax], 1
	jmp	.L2075
.L2076:
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 2
	je	.L2077
	mov	edi, 24
	call	stalloc
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR -16[rbp], rax
.L2077:
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR [rax], 3
.L2075:
	cmp	QWORD PTR -24[rbp], 0
	jne	.L2078
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -24[rbp], rax
	jmp	.L2079
.L2078:
	mov	edi, 24
	call	stalloc
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], 7
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR -24[rbp], rax
.L2079:
	cmp	DWORD PTR -28[rbp], 3
	jg	.L2080
	cmp	DWORD PTR -28[rbp], 2
	jge	.L2081
	cmp	DWORD PTR -28[rbp], 0
	je	.L2082
	cmp	DWORD PTR -28[rbp], 1
	je	.L2083
	jmp	.L2080
.L2081:
	call	readtoken
	mov	DWORD PTR -28[rbp], eax
.L2083:
	cmp	DWORD PTR -28[rbp], 1
	jne	.L2084
	call	parseheredoc
	cmp	DWORD PTR -36[rbp], 1
	jne	.L2085
	mov	rax, QWORD PTR -24[rbp]
	jmp	.L2074
.L2084:
	mov	eax, DWORD PTR tokpushback[rip]
	add	eax, 1
	mov	DWORD PTR tokpushback[rip], eax
.L2085:
	mov	DWORD PTR checkkwd[rip], 7
	call	peektoken
	cdqe
	lea	rdx, tokendlist[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	test	al, al
	je	.L2092
	mov	rax, QWORD PTR -24[rbp]
	jmp	.L2074
.L2082:
	mov	rax, QWORD PTR heredoclist[rip]
	test	rax, rax
	je	.L2088
	call	parseheredoc
	jmp	.L2089
.L2088:
	call	pungetc
.L2089:
	mov	eax, DWORD PTR tokpushback[rip]
	add	eax, 1
	mov	DWORD PTR tokpushback[rip], eax
	mov	rax, QWORD PTR -24[rbp]
	jmp	.L2074
.L2080:
	cmp	DWORD PTR -36[rbp], 1
	jne	.L2090
	mov	edi, -1
	call	synexpect
.L2090:
	mov	eax, DWORD PTR tokpushback[rip]
	add	eax, 1
	mov	DWORD PTR tokpushback[rip], eax
	mov	rax, QWORD PTR -24[rbp]
	jmp	.L2074
.L2092:
	nop
	jmp	.L2091
.L2074:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE223:
	.size	list, .-list
	.type	andor, @function
andor:
.LFB224:
	.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	pipeline
	mov	QWORD PTR -24[rbp], rax
.L2098:
	call	readtoken
	mov	DWORD PTR -28[rbp], eax
	cmp	DWORD PTR -28[rbp], 4
	jne	.L2094
	mov	DWORD PTR -28[rbp], 5
	jmp	.L2095
.L2094:
	cmp	DWORD PTR -28[rbp], 5
	jne	.L2096
	mov	DWORD PTR -28[rbp], 6
	jmp	.L2095
.L2096:
	mov	eax, DWORD PTR tokpushback[rip]
	add	eax, 1
	mov	DWORD PTR tokpushback[rip], eax
	mov	rax, QWORD PTR -24[rbp]
	jmp	.L2099
.L2095:
	mov	DWORD PTR checkkwd[rip], 7
	call	pipeline
	mov	QWORD PTR -16[rbp], rax
	mov	edi, 24
	call	stalloc
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -28[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR -24[rbp], rax
	jmp	.L2098
.L2099:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE224:
	.size	andor, .-andor
	.type	pipeline, @function
pipeline:
.LFB225:
	.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 -44[rbp], 0
	call	readtoken
	cmp	eax, 13
	jne	.L2101
	cmp	DWORD PTR -44[rbp], 0
	sete	al
	movzx	eax, al
	mov	DWORD PTR -44[rbp], eax
	mov	DWORD PTR checkkwd[rip], 3
	jmp	.L2102
.L2101:
	mov	eax, DWORD PTR tokpushback[rip]
	add	eax, 1
	mov	DWORD PTR tokpushback[rip], eax
.L2102:
	call	command
	mov	QWORD PTR -40[rbp], rax
	call	readtoken
	cmp	eax, 6
	jne	.L2103
	mov	edi, 16
	call	stalloc
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR [rax], 1
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 4[rax], 0
	mov	edi, 16
	call	stalloc
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR 8[rax], rdx
.L2104:
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	edi, 16
	call	stalloc
	mov	QWORD PTR -32[rbp], rax
	mov	DWORD PTR checkkwd[rip], 7
	call	command
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR 8[rdx], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR [rax], rdx
	call	readtoken
	cmp	eax, 6
	je	.L2104
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR [rax], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -40[rbp], rax
.L2103:
	mov	eax, DWORD PTR tokpushback[rip]
	add	eax, 1
	mov	DWORD PTR tokpushback[rip], eax
	cmp	DWORD PTR -44[rbp], 0
	je	.L2105
	mov	edi, 16
	call	stalloc
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], 25
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	jmp	.L2106
.L2105:
	mov	rax, QWORD PTR -40[rbp]
.L2106:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE225:
	.size	pipeline, .-pipeline
	.section	.rodata
.LC233:
	.string	"Bad for loop variable"
	.text
	.type	command, @function
command:
.LFB226:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	QWORD PTR -72[rbp], 0
	lea	rax, -72[rbp]
	mov	QWORD PTR -24[rbp], rax
	mov	eax, DWORD PTR plinno[rip]
	mov	DWORD PTR -88[rbp], eax
	call	readtoken
	sub	eax, 7
	cmp	eax, 20
	ja	.L2108
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L2110[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L2110[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L2110:
	.long	.L2116-.L2110
	.long	.L2108-.L2110
	.long	.L2108-.L2110
	.long	.L2108-.L2110
	.long	.L2115-.L2110
	.long	.L2115-.L2110
	.long	.L2108-.L2110
	.long	.L2114-.L2110
	.long	.L2108-.L2110
	.long	.L2108-.L2110
	.long	.L2108-.L2110
	.long	.L2108-.L2110
	.long	.L2108-.L2110
	.long	.L2108-.L2110
	.long	.L2113-.L2110
	.long	.L2112-.L2110
	.long	.L2108-.L2110
	.long	.L2108-.L2110
	.long	.L2111-.L2110
	.long	.L2111-.L2110
	.long	.L2109-.L2110
	.text
.L2108:
	mov	edi, -1
	call	synexpect
.L2112:
	mov	edi, 32
	call	stalloc
	mov	QWORD PTR -64[rbp], rax
	mov	rax, QWORD PTR -64[rbp]
	mov	DWORD PTR [rax], 8
	mov	edi, 0
	call	list
	mov	rdx, QWORD PTR -64[rbp]
	mov	QWORD PTR 8[rdx], rax
	call	readtoken
	cmp	eax, 24
	je	.L2117
	mov	edi, 24
	call	synexpect
.L2117:
	mov	edi, 0
	call	list
	mov	rdx, QWORD PTR -64[rbp]
	mov	QWORD PTR 16[rdx], rax
	mov	rax, QWORD PTR -64[rbp]
	mov	QWORD PTR -56[rbp], rax
	jmp	.L2118
.L2120:
	mov	edi, 32
	call	stalloc
	mov	rdx, QWORD PTR -56[rbp]
	mov	QWORD PTR 24[rdx], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR [rax], 8
	mov	edi, 0
	call	list
	mov	rdx, QWORD PTR -56[rbp]
	mov	QWORD PTR 8[rdx], rax
	call	readtoken
	cmp	eax, 24
	je	.L2119
	mov	edi, 24
	call	synexpect
.L2119:
	mov	edi, 0
	call	list
	mov	rdx, QWORD PTR -56[rbp]
	mov	QWORD PTR 16[rdx], rax
.L2118:
	call	readtoken
	cmp	eax, 17
	je	.L2120
	mov	eax, DWORD PTR lasttoken[rip]
	cmp	eax, 18
	jne	.L2121
	mov	edi, 0
	call	list
	mov	rdx, QWORD PTR -56[rbp]
	mov	QWORD PTR 24[rdx], rax
	jmp	.L2122
.L2121:
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR 24[rax], 0
	mov	eax, DWORD PTR tokpushback[rip]
	add	eax, 1
	mov	DWORD PTR tokpushback[rip], eax
.L2122:
	mov	DWORD PTR -92[rbp], 20
	jmp	.L2123
.L2111:
	mov	edi, 24
	call	stalloc
	mov	QWORD PTR -64[rbp], rax
	mov	eax, DWORD PTR lasttoken[rip]
	cmp	eax, 26
	jne	.L2124
	mov	edx, 9
	jmp	.L2125
.L2124:
	mov	edx, 10
.L2125:
	mov	rax, QWORD PTR -64[rbp]
	mov	DWORD PTR [rax], edx
	mov	edi, 0
	call	list
	mov	rdx, QWORD PTR -64[rbp]
	mov	QWORD PTR 8[rdx], rax
	call	readtoken
	mov	DWORD PTR -84[rbp], eax
	cmp	DWORD PTR -84[rbp], 15
	je	.L2126
	mov	edi, 15
	call	synexpect
.L2126:
	mov	edi, 0
	call	list
	mov	rdx, QWORD PTR -64[rbp]
	mov	QWORD PTR 16[rdx], rax
	mov	DWORD PTR -92[rbp], 16
	jmp	.L2123
.L2113:
	call	readtoken
	cmp	eax, 12
	jne	.L2127
	mov	eax, DWORD PTR quoteflag[rip]
	test	eax, eax
	jne	.L2127
	mov	rax, QWORD PTR wordtext[rip]
	mov	rdi, rax
	call	goodname
	test	eax, eax
	jne	.L2128
.L2127:
	lea	rdi, .LC233[rip]
	call	synerror
.L2128:
	mov	edi, 32
	call	stalloc
	mov	QWORD PTR -64[rbp], rax
	mov	rax, QWORD PTR -64[rbp]
	mov	DWORD PTR [rax], 11
	mov	rax, QWORD PTR -64[rbp]
	mov	edx, DWORD PTR -88[rbp]
	mov	DWORD PTR 4[rax], edx
	mov	rdx, QWORD PTR wordtext[rip]
	mov	rax, QWORD PTR -64[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	DWORD PTR checkkwd[rip], 7
	call	readtoken
	cmp	eax, 23
	jne	.L2129
	lea	rax, -80[rbp]
	mov	QWORD PTR -48[rbp], rax
	jmp	.L2130
.L2131:
	mov	edi, 32
	call	stalloc
	mov	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR [rax], 15
	mov	rdx, QWORD PTR wordtext[rip]
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rdx, QWORD PTR backquotelist[rip]
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR -56[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 8
	mov	QWORD PTR -48[rbp], rax
.L2130:
	call	readtoken
	cmp	eax, 12
	je	.L2131
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR [rax], 0
	mov	rdx, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -64[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	eax, DWORD PTR lasttoken[rip]
	cmp	eax, 1
	je	.L2132
	mov	eax, DWORD PTR lasttoken[rip]
	cmp	eax, 2
	je	.L2132
	mov	edi, -1
	call	synexpect
.L2129:
	mov	edi, 32
	call	stalloc
	mov	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR [rax], 15
	mov	rax, QWORD PTR -56[rbp]
	lea	rdx, dolatstr[rip]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR 24[rax], 0
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR 8[rax], 0
	mov	rax, QWORD PTR -64[rbp]
	mov	rdx, QWORD PTR -56[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	eax, DWORD PTR lasttoken[rip]
	cmp	eax, 2
	je	.L2132
	mov	eax, DWORD PTR tokpushback[rip]
	add	eax, 1
	mov	DWORD PTR tokpushback[rip], eax
.L2132:
	mov	DWORD PTR checkkwd[rip], 7
	call	readtoken
	cmp	eax, 15
	je	.L2133
	mov	edi, 15
	call	synexpect
.L2133:
	mov	edi, 0
	call	list
	mov	rdx, QWORD PTR -64[rbp]
	mov	QWORD PTR 16[rdx], rax
	mov	DWORD PTR -92[rbp], 16
	jmp	.L2123
.L2114:
	mov	edi, 24
	call	stalloc
	mov	QWORD PTR -64[rbp], rax
	mov	rax, QWORD PTR -64[rbp]
	mov	DWORD PTR [rax], 12
	mov	rax, QWORD PTR -64[rbp]
	mov	edx, DWORD PTR -88[rbp]
	mov	DWORD PTR 4[rax], edx
	call	readtoken
	cmp	eax, 12
	je	.L2134
	mov	edi, 12
	call	synexpect
.L2134:
	mov	edi, 32
	call	stalloc
	mov	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -64[rbp]
	mov	rdx, QWORD PTR -56[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR [rax], 15
	mov	rdx, QWORD PTR wordtext[rip]
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rdx, QWORD PTR backquotelist[rip]
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR 8[rax], 0
	mov	DWORD PTR checkkwd[rip], 7
	call	readtoken
	cmp	eax, 23
	je	.L2135
	mov	edi, 23
	call	synexpect
.L2135:
	mov	rax, QWORD PTR -64[rbp]
	add	rax, 16
	mov	QWORD PTR -40[rbp], rax
.L2136:
	mov	DWORD PTR checkkwd[rip], 6
	call	readtoken
	mov	DWORD PTR -92[rbp], eax
	jmp	.L2137
.L2144:
	mov	eax, DWORD PTR lasttoken[rip]
	cmp	eax, 7
	jne	.L2138
	call	readtoken
.L2138:
	mov	edi, 32
	call	stalloc
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR [rax], 13
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 16
	mov	QWORD PTR -48[rbp], rax
.L2141:
	mov	edi, 32
	call	stalloc
	mov	QWORD PTR -80[rbp], rax
	mov	rdx, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -80[rbp]
	mov	DWORD PTR [rax], 15
	mov	rax, QWORD PTR -80[rbp]
	mov	rdx, QWORD PTR wordtext[rip]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -80[rbp]
	mov	rdx, QWORD PTR backquotelist[rip]
	mov	QWORD PTR 24[rax], rdx
	call	readtoken
	cmp	eax, 6
	jne	.L2154
	mov	rax, QWORD PTR -80[rbp]
	add	rax, 8
	mov	QWORD PTR -48[rbp], rax
	call	readtoken
	jmp	.L2141
.L2154:
	nop
	mov	rax, QWORD PTR -80[rbp]
	mov	QWORD PTR 8[rax], 0
	mov	eax, DWORD PTR lasttoken[rip]
	cmp	eax, 8
	je	.L2142
	mov	edi, 8
	call	synexpect
.L2142:
	mov	edi, 2
	call	list
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 24[rdx], rax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 8
	mov	QWORD PTR -40[rbp], rax
	mov	DWORD PTR checkkwd[rip], 6
	call	readtoken
	mov	DWORD PTR -92[rbp], eax
	cmp	DWORD PTR -92[rbp], 19
	je	.L2137
	cmp	DWORD PTR -92[rbp], 9
	je	.L2136
	mov	edi, 9
	call	synexpect
.L2137:
	cmp	DWORD PTR -92[rbp], 19
	jne	.L2144
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR [rax], 0
	jmp	.L2145
.L2116:
	mov	edi, 24
	call	stalloc
	mov	QWORD PTR -64[rbp], rax
	mov	rax, QWORD PTR -64[rbp]
	mov	DWORD PTR [rax], 4
	mov	rax, QWORD PTR -64[rbp]
	mov	edx, DWORD PTR -88[rbp]
	mov	DWORD PTR 4[rax], edx
	mov	edi, 0
	call	list
	mov	rdx, QWORD PTR -64[rbp]
	mov	QWORD PTR 8[rdx], rax
	mov	rax, QWORD PTR -64[rbp]
	mov	QWORD PTR 16[rax], 0
	mov	DWORD PTR -92[rbp], 8
	jmp	.L2123
.L2109:
	mov	edi, 0
	call	list
	mov	QWORD PTR -64[rbp], rax
	mov	DWORD PTR -92[rbp], 28
	jmp	.L2123
.L2115:
	mov	eax, DWORD PTR tokpushback[rip]
	add	eax, 1
	mov	DWORD PTR tokpushback[rip], eax
	call	simplecmd
	jmp	.L2151
.L2123:
	call	readtoken
	cmp	DWORD PTR -92[rbp], eax
	je	.L2155
	mov	eax, DWORD PTR -92[rbp]
	mov	edi, eax
	call	synexpect
.L2155:
	nop
.L2145:
	mov	DWORD PTR checkkwd[rip], 3
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -32[rbp], rax
	jmp	.L2147
.L2148:
	mov	rax, QWORD PTR redirnode[rip]
	mov	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR -56[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 8
	mov	QWORD PTR -32[rbp], rax
	call	parsefname
.L2147:
	call	readtoken
	cmp	eax, 11
	je	.L2148
	mov	eax, DWORD PTR tokpushback[rip]
	add	eax, 1
	mov	DWORD PTR tokpushback[rip], eax
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR [rax], 0
	mov	rax, QWORD PTR -72[rbp]
	test	rax, rax
	je	.L2149
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 4
	je	.L2150
	mov	edi, 24
	call	stalloc
	mov	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR [rax], 2
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR -88[rbp]
	mov	DWORD PTR 4[rax], edx
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR -64[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR -64[rbp], rax
.L2150:
	mov	rdx, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR -64[rbp]
	mov	QWORD PTR 16[rax], rdx
.L2149:
	mov	rax, QWORD PTR -64[rbp]
.L2151:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L2152
	call	__stack_chk_fail@PLT
.L2152:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE226:
	.size	command, .-command
	.section	.rodata
.LC234:
	.string	"Bad function name"
	.text
	.type	simplecmd, @function
simplecmd:
.LFB227:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	QWORD PTR -48[rbp], 0
	mov	QWORD PTR -80[rbp], 0
	lea	rax, -80[rbp]
	mov	QWORD PTR -56[rbp], rax
	mov	QWORD PTR -72[rbp], 0
	lea	rax, -72[rbp]
	mov	QWORD PTR -40[rbp], rax
	mov	QWORD PTR -64[rbp], 0
	lea	rax, -64[rbp]
	mov	QWORD PTR -32[rbp], rax
	mov	DWORD PTR -88[rbp], 1
	mov	eax, DWORD PTR plinno[rip]
	mov	DWORD PTR -84[rbp], eax
.L2169:
	mov	eax, DWORD PTR -88[rbp]
	mov	DWORD PTR checkkwd[rip], eax
	call	readtoken
	cmp	eax, 12
	je	.L2157
	cmp	eax, 12
	jg	.L2158
	cmp	eax, 7
	je	.L2159
	cmp	eax, 11
	je	.L2160
	jmp	.L2158
.L2157:
	mov	edi, 32
	call	stalloc
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR [rax], 15
	mov	rdx, QWORD PTR wordtext[rip]
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rdx, QWORD PTR backquotelist[rip]
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR 24[rax], rdx
	cmp	DWORD PTR -88[rbp], 0
	je	.L2161
	mov	rax, QWORD PTR wordtext[rip]
	mov	rdi, rax
	call	isassignment
	test	eax, eax
	je	.L2161
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -48[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 8
	mov	QWORD PTR -40[rbp], rax
	jmp	.L2163
.L2161:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR -48[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 8
	mov	QWORD PTR -56[rbp], rax
	mov	DWORD PTR -88[rbp], 0
	jmp	.L2163
.L2160:
	mov	rax, QWORD PTR redirnode[rip]
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR -48[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 8
	mov	QWORD PTR -32[rbp], rax
	call	parsefname
	jmp	.L2163
.L2159:
	mov	rax, QWORD PTR -80[rbp]
	test	rax, rax
	je	.L2158
	mov	rax, QWORD PTR -80[rbp]
	add	rax, 8
	cmp	QWORD PTR -56[rbp], rax
	jne	.L2158
	mov	rax, QWORD PTR -72[rbp]
	test	rax, rax
	jne	.L2158
	mov	rax, QWORD PTR -64[rbp]
	test	rax, rax
	jne	.L2158
	call	readtoken
	cmp	eax, 8
	je	.L2164
	mov	edi, 8
	call	synexpect
.L2164:
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	goodname
	test	eax, eax
	je	.L2165
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	find_builtin
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	je	.L2166
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	and	eax, 1
	test	eax, eax
	je	.L2166
.L2165:
	lea	rdi, .LC234[rip]
	call	synerror
.L2166:
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR [rax], 14
	mov	DWORD PTR checkkwd[rip], 7
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	edx, DWORD PTR plinno[rip]
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR 4[rax], edx
	call	command
	mov	rdx, QWORD PTR -48[rbp]
	mov	QWORD PTR 16[rdx], rax
	mov	rax, QWORD PTR -48[rbp]
	jmp	.L2170
.L2158:
	mov	eax, DWORD PTR tokpushback[rip]
	add	eax, 1
	mov	DWORD PTR tokpushback[rip], eax
	nop
.L2168:
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR [rax], 0
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR [rax], 0
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR [rax], 0
	mov	edi, 32
	call	stalloc
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR [rax], 0
	mov	rax, QWORD PTR -48[rbp]
	mov	edx, DWORD PTR -84[rbp]
	mov	DWORD PTR 4[rax], edx
	mov	rdx, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rdx, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rdx, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -48[rbp]
	jmp	.L2170
.L2163:
	jmp	.L2169
.L2170:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L2171
	call	__stack_chk_fail@PLT
.L2171:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE227:
	.size	simplecmd, .-simplecmd
	.type	makename, @function
makename:
.LFB228:
	.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	edi, 32
	call	stalloc
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], 15
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], 0
	mov	rdx, QWORD PTR wordtext[rip]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rdx, QWORD PTR backquotelist[rip]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE228:
	.size	makename, .-makename
	.section	.rodata
.LC235:
	.string	"Bad fd number"
	.text
	.globl	fixredir
	.type	fixredir, @function
fixredir:
.LFB229:
	.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	DWORD PTR -20[rbp], edx
	cmp	DWORD PTR -20[rbp], 0
	jne	.L2175
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 24[rax], 0
.L2175:
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	sub	eax, 48
	cmp	eax, 9
	ja	.L2176
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L2176
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	lea	edx, -48[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 20[rax], edx
	jmp	.L2177
.L2176:
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 45
	jne	.L2178
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L2178
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 20[rax], -1
	jmp	.L2177
.L2178:
	cmp	DWORD PTR -20[rbp], 0
	je	.L2179
	lea	rdi, .LC235[rip]
	call	synerror
.L2179:
	call	makename
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 24[rdx], rax
	nop
.L2177:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE229:
	.size	fixredir, .-fixredir
	.type	parsefname, @function
parsefname:
.LFB230:
	.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 redirnode[rip]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 23
	jne	.L2181
	mov	DWORD PTR checkkwd[rip], 8
.L2181:
	call	readtoken
	cmp	eax, 12
	je	.L2182
	mov	edi, -1
	call	synexpect
.L2182:
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 23
	jne	.L2183
	mov	rax, QWORD PTR heredoc[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	eax, DWORD PTR quoteflag[rip]
	test	eax, eax
	jne	.L2184
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR [rax], 24
.L2184:
	mov	rax, QWORD PTR wordtext[rip]
	mov	esi, 0
	mov	rdi, rax
	call	_rmescapes
	mov	rdx, QWORD PTR wordtext[rip]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], 0
	mov	rax, QWORD PTR heredoclist[rip]
	test	rax, rax
	jne	.L2185
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR heredoclist[rip], rax
	jmp	.L2191
.L2185:
	mov	rax, QWORD PTR heredoclist[rip]
	mov	QWORD PTR -24[rbp], rax
	jmp	.L2187
.L2188:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -24[rbp], rax
.L2187:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L2188
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L2191
.L2183:
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 21
	je	.L2189
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 22
	jne	.L2190
.L2189:
	mov	rcx, QWORD PTR wordtext[rip]
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	fixredir
	jmp	.L2191
.L2190:
	call	makename
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 24[rdx], rax
.L2191:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE230:
	.size	parsefname, .-parsefname
	.type	parseheredoc, @function
parseheredoc:
.LFB231:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	r13
	push	r12
	push	rbx
	sub	rsp, 24
	.cfi_offset 13, -24
	.cfi_offset 12, -32
	.cfi_offset 3, -40
	mov	rax, QWORD PTR heredoclist[rip]
	mov	QWORD PTR -48[rbp], rax
	mov	QWORD PTR heredoclist[rip], 0
	jmp	.L2193
.L2197:
	mov	eax, DWORD PTR needprompt[rip]
	test	eax, eax
	je	.L2194
	mov	edi, 2
	call	setprompt
.L2194:
	mov	rax, QWORD PTR -48[rbp]
	mov	r13d, DWORD PTR 24[rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	r12, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 23
	jne	.L2195
	lea	rbx, sqsyntax[rip+130]
	jmp	.L2196
.L2195:
	lea	rbx, dqsyntax[rip+130]
.L2196:
	call	pgetc
	mov	ecx, r13d
	mov	rdx, r12
	mov	rsi, rbx
	mov	edi, eax
	call	readtoken1
	mov	edi, 32
	call	stalloc
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR [rax], 15
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR 8[rax], 0
	mov	rdx, QWORD PTR wordtext[rip]
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rdx, QWORD PTR backquotelist[rip]
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -48[rbp], rax
.L2193:
	cmp	QWORD PTR -48[rbp], 0
	jne	.L2197
	nop
	nop
	add	rsp, 24
	pop	rbx
	pop	r12
	pop	r13
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE231:
	.size	parseheredoc, .-parseheredoc
	.type	peektoken, @function
peektoken:
.LFB232:
	.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	readtoken
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR tokpushback[rip]
	add	eax, 1
	mov	DWORD PTR tokpushback[rip], eax
	mov	eax, DWORD PTR -4[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE232:
	.size	peektoken, .-peektoken
	.type	readtoken, @function
readtoken:
.LFB233:
	.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	eax, DWORD PTR checkkwd[rip]
	mov	DWORD PTR -20[rbp], eax
.L2201:
	call	xxreadtoken
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR -20[rbp]
	and	eax, 4
	test	eax, eax
	je	.L2202
	jmp	.L2203
.L2204:
	call	parseheredoc
	call	xxreadtoken
	mov	DWORD PTR -24[rbp], eax
.L2203:
	cmp	DWORD PTR -24[rbp], 1
	je	.L2204
.L2202:
	cmp	DWORD PTR -24[rbp], 12
	jne	.L2211
	mov	eax, DWORD PTR quoteflag[rip]
	test	eax, eax
	jne	.L2211
	mov	eax, DWORD PTR -20[rbp]
	and	eax, 2
	test	eax, eax
	je	.L2208
	mov	rax, QWORD PTR wordtext[rip]
	mov	rdi, rax
	call	findkwd
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	je	.L2208
	lea	rdx, parsekwd[rip]
	mov	rax, QWORD PTR -16[rbp]
	sub	rax, rdx
	sar	rax, 3
	add	eax, 13
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR -24[rbp]
	mov	DWORD PTR lasttoken[rip], eax
	jmp	.L2207
.L2208:
	mov	eax, DWORD PTR checkkwd[rip]
	and	eax, 1
	test	eax, eax
	je	.L2212
	mov	rax, QWORD PTR wordtext[rip]
	mov	esi, 1
	mov	rdi, rax
	call	lookupalias
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L2212
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L2201
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdx, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	pushstring
	jmp	.L2201
.L2211:
	nop
	jmp	.L2207
.L2212:
	nop
.L2207:
	mov	DWORD PTR checkkwd[rip], 0
	mov	eax, DWORD PTR -24[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE233:
	.size	readtoken, .-readtoken
	.type	xxreadtoken, @function
xxreadtoken:
.LFB234:
	.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 tokpushback[rip]
	test	eax, eax
	je	.L2214
	mov	DWORD PTR tokpushback[rip], 0
	mov	eax, DWORD PTR lasttoken[rip]
	jmp	.L2215
.L2214:
	mov	eax, DWORD PTR needprompt[rip]
	test	eax, eax
	je	.L2241
	mov	edi, 2
	call	setprompt
.L2241:
	mov	eax, DWORD PTR parsenleft[rip]
	sub	eax, 1
	mov	DWORD PTR parsenleft[rip], eax
	mov	eax, DWORD PTR parsenleft[rip]
	test	eax, eax
	js	.L2217
	mov	rax, QWORD PTR parsenextc[rip]
	lea	rdx, 1[rax]
	mov	QWORD PTR parsenextc[rip], rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	jmp	.L2218
.L2217:
	call	preadbuffer
.L2218:
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 124
	je	.L2219
	cmp	DWORD PTR -4[rbp], 124
	jg	.L2242
	cmp	DWORD PTR -4[rbp], 92
	je	.L2221
	cmp	DWORD PTR -4[rbp], 92
	jg	.L2242
	cmp	DWORD PTR -4[rbp], 59
	jg	.L2242
	cmp	DWORD PTR -4[rbp], 9
	jge	.L2222
	cmp	DWORD PTR -4[rbp], -130
	je	.L2223
	cmp	DWORD PTR -4[rbp], -129
	je	.L2243
	jmp	.L2242
.L2222:
	mov	eax, DWORD PTR -4[rbp]
	sub	eax, 9
	cmp	eax, 50
	ja	.L2242
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L2226[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L2226[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L2226:
	.long	.L2243-.L2226
	.long	.L2231-.L2226
	.long	.L2242-.L2226
	.long	.L2242-.L2226
	.long	.L2242-.L2226
	.long	.L2242-.L2226
	.long	.L2242-.L2226
	.long	.L2242-.L2226
	.long	.L2242-.L2226
	.long	.L2242-.L2226
	.long	.L2242-.L2226
	.long	.L2242-.L2226
	.long	.L2242-.L2226
	.long	.L2242-.L2226
	.long	.L2242-.L2226
	.long	.L2242-.L2226
	.long	.L2242-.L2226
	.long	.L2242-.L2226
	.long	.L2242-.L2226
	.long	.L2242-.L2226
	.long	.L2242-.L2226
	.long	.L2242-.L2226
	.long	.L2242-.L2226
	.long	.L2243-.L2226
	.long	.L2242-.L2226
	.long	.L2242-.L2226
	.long	.L2245-.L2226
	.long	.L2242-.L2226
	.long	.L2242-.L2226
	.long	.L2229-.L2226
	.long	.L2242-.L2226
	.long	.L2228-.L2226
	.long	.L2227-.L2226
	.long	.L2242-.L2226
	.long	.L2242-.L2226
	.long	.L2242-.L2226
	.long	.L2242-.L2226
	.long	.L2242-.L2226
	.long	.L2242-.L2226
	.long	.L2242-.L2226
	.long	.L2242-.L2226
	.long	.L2242-.L2226
	.long	.L2242-.L2226
	.long	.L2242-.L2226
	.long	.L2242-.L2226
	.long	.L2242-.L2226
	.long	.L2242-.L2226
	.long	.L2242-.L2226
	.long	.L2242-.L2226
	.long	.L2242-.L2226
	.long	.L2225-.L2226
	.text
.L2245:
	nop
.L2234:
	call	pgetc
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 10
	je	.L2233
	cmp	DWORD PTR -4[rbp], -130
	jne	.L2234
.L2233:
	call	pungetc
	jmp	.L2232
.L2221:
	call	pgetc
	cmp	eax, 10
	jne	.L2235
	mov	eax, DWORD PTR plinno[rip]
	add	eax, 1
	mov	DWORD PTR plinno[rip], eax
	mov	eax, DWORD PTR doprompt[rip]
	test	eax, eax
	je	.L2244
	mov	edi, 2
	call	setprompt
	jmp	.L2244
.L2235:
	call	pungetc
	jmp	.L2237
.L2231:
	mov	eax, DWORD PTR plinno[rip]
	add	eax, 1
	mov	DWORD PTR plinno[rip], eax
	mov	eax, DWORD PTR doprompt[rip]
	mov	DWORD PTR needprompt[rip], eax
	mov	DWORD PTR lasttoken[rip], 1
	mov	eax, DWORD PTR lasttoken[rip]
	jmp	.L2215
.L2223:
	mov	DWORD PTR lasttoken[rip], 0
	mov	eax, DWORD PTR lasttoken[rip]
	jmp	.L2215
.L2229:
	call	pgetc
	cmp	eax, 38
	jne	.L2238
	mov	DWORD PTR lasttoken[rip], 4
	mov	eax, DWORD PTR lasttoken[rip]
	jmp	.L2215
.L2238:
	call	pungetc
	mov	DWORD PTR lasttoken[rip], 3
	mov	eax, DWORD PTR lasttoken[rip]
	jmp	.L2215
.L2219:
	call	pgetc
	cmp	eax, 124
	jne	.L2239
	mov	DWORD PTR lasttoken[rip], 5
	mov	eax, DWORD PTR lasttoken[rip]
	jmp	.L2215
.L2239:
	call	pungetc
	mov	DWORD PTR lasttoken[rip], 6
	mov	eax, DWORD PTR lasttoken[rip]
	jmp	.L2215
.L2225:
	call	pgetc
	cmp	eax, 59
	jne	.L2240
	mov	DWORD PTR lasttoken[rip], 9
	mov	eax, DWORD PTR lasttoken[rip]
	jmp	.L2215
.L2240:
	call	pungetc
	mov	DWORD PTR lasttoken[rip], 2
	mov	eax, DWORD PTR lasttoken[rip]
	jmp	.L2215
.L2228:
	mov	DWORD PTR lasttoken[rip], 7
	mov	eax, DWORD PTR lasttoken[rip]
	jmp	.L2215
.L2227:
	mov	DWORD PTR lasttoken[rip], 8
	mov	eax, DWORD PTR lasttoken[rip]
	jmp	.L2215
.L2243:
	nop
	jmp	.L2241
.L2244:
	nop
.L2232:
	jmp	.L2241
.L2242:
	nop
.L2237:
	lea	rsi, basesyntax[rip+130]
	mov	eax, DWORD PTR -4[rbp]
	mov	ecx, 0
	mov	edx, 0
	mov	edi, eax
	call	readtoken1
.L2215:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE234:
	.size	xxreadtoken, .-xxreadtoken
	.section	.rodata
.LC236:
	.string	"Missing '))'"
.LC237:
	.string	"Unterminated quoted string"
.LC238:
	.string	"Missing '}'"
.LC239:
	.string	"EOF in backquote substitution"
	.text
	.type	readtoken1, @function
readtoken1:
.LFB235:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 256
	mov	DWORD PTR -228[rbp], edi
	mov	QWORD PTR -240[rbp], rsi
	mov	QWORD PTR -248[rbp], rdx
	mov	DWORD PTR -232[rbp], ecx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	eax, DWORD PTR -228[rbp]
	mov	DWORD PTR -212[rbp], eax
	mov	DWORD PTR -204[rbp], 0
	lea	rax, dqsyntax[rip+130]
	cmp	QWORD PTR -240[rbp], rax
	jne	.L2247
	mov	DWORD PTR -204[rbp], 1
.L2247:
	mov	DWORD PTR -208[rbp], 0
	mov	QWORD PTR -144[rbp], 0
	mov	DWORD PTR -200[rbp], 0
	mov	DWORD PTR -196[rbp], 0
	mov	DWORD PTR -192[rbp], 0
	mov	DWORD PTR -188[rbp], 0
	mov	rax, QWORD PTR stacknxt[rip]
	mov	QWORD PTR -136[rbp], rax
.L2248:
	nop
.L2249:
	mov	rax, QWORD PTR -248[rbp]
	mov	rdi, rax
	call	realeofmark
	test	eax, eax
	jne	.L2398
.L2401:
	nop
.L2250:
.L2296:
	mov	rax, QWORD PTR -136[rbp]
	mov	QWORD PTR -72[rbp], rax
	mov	QWORD PTR -64[rbp], 4
	mov	rax, QWORD PTR sstrend[rip]
	sub	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -64[rbp]
	cmp	rax, QWORD PTR -56[rbp]
	jbe	.L2251
	mov	rdx, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR -64[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	makestrspace
	mov	QWORD PTR -136[rbp], rax
.L2251:
	mov	eax, DWORD PTR -212[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -240[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	cmp	eax, 14
	ja	.L2252
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L2254[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L2254[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L2254:
	.long	.L2267-.L2254
	.long	.L2266-.L2254
	.long	.L2265-.L2254
	.long	.L2264-.L2254
	.long	.L2263-.L2254
	.long	.L2262-.L2254
	.long	.L2261-.L2254
	.long	.L2402-.L2254
	.long	.L2259-.L2254
	.long	.L2258-.L2254
	.long	.L2257-.L2254
	.long	.L2403-.L2254
	.long	.L2255-.L2254
	.long	.L2252-.L2254
	.long	.L2404-.L2254
	.text
.L2266:
	lea	rax, basesyntax[rip+130]
	cmp	QWORD PTR -240[rbp], rax
	je	.L2405
	mov	rax, QWORD PTR -136[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -136[rbp], rdx
	mov	edx, DWORD PTR -212[rbp]
	mov	BYTE PTR [rax], dl
	mov	eax, DWORD PTR plinno[rip]
	add	eax, 1
	mov	DWORD PTR plinno[rip], eax
	mov	eax, DWORD PTR doprompt[rip]
	test	eax, eax
	je	.L2270
	mov	edi, 2
	call	setprompt
.L2270:
	call	pgetc
	mov	DWORD PTR -212[rbp], eax
	jmp	.L2248
.L2267:
	mov	rax, QWORD PTR -136[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -136[rbp], rdx
	mov	edx, DWORD PTR -212[rbp]
	mov	BYTE PTR [rax], dl
	jmp	.L2271
.L2255:
	cmp	QWORD PTR -248[rbp], 0
	je	.L2272
	cmp	DWORD PTR -204[rbp], 0
	je	.L2273
.L2272:
	mov	rax, QWORD PTR -136[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -136[rbp], rdx
	mov	BYTE PTR [rax], -127
.L2273:
	mov	rax, QWORD PTR -136[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -136[rbp], rdx
	mov	edx, DWORD PTR -212[rbp]
	mov	BYTE PTR [rax], dl
	jmp	.L2271
.L2265:
	call	pgetc2
	mov	DWORD PTR -212[rbp], eax
	cmp	DWORD PTR -212[rbp], -130
	jne	.L2274
	mov	rax, QWORD PTR -136[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -136[rbp], rdx
	mov	BYTE PTR [rax], -127
	mov	rax, QWORD PTR -136[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -136[rbp], rdx
	mov	BYTE PTR [rax], 92
	call	pungetc
	jmp	.L2406
.L2274:
	cmp	DWORD PTR -212[rbp], 10
	jne	.L2276
	mov	eax, DWORD PTR plinno[rip]
	add	eax, 1
	mov	DWORD PTR plinno[rip], eax
	mov	eax, DWORD PTR doprompt[rip]
	test	eax, eax
	je	.L2406
	mov	edi, 2
	call	setprompt
	jmp	.L2406
.L2276:
	cmp	DWORD PTR -204[rbp], 0
	je	.L2277
	cmp	DWORD PTR -212[rbp], 92
	je	.L2277
	cmp	DWORD PTR -212[rbp], 96
	je	.L2277
	cmp	DWORD PTR -212[rbp], 36
	je	.L2277
	cmp	DWORD PTR -212[rbp], 34
	jne	.L2278
	cmp	QWORD PTR -248[rbp], 0
	je	.L2277
.L2278:
	mov	rax, QWORD PTR -136[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -136[rbp], rdx
	mov	BYTE PTR [rax], 92
.L2277:
	mov	rax, QWORD PTR -136[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -136[rbp], rdx
	mov	BYTE PTR [rax], -127
	mov	rax, QWORD PTR -136[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -136[rbp], rdx
	mov	edx, DWORD PTR -212[rbp]
	mov	BYTE PTR [rax], dl
	add	DWORD PTR -208[rbp], 1
	jmp	.L2406
.L2264:
	lea	rax, sqsyntax[rip+130]
	mov	QWORD PTR -240[rbp], rax
.L2279:
	cmp	QWORD PTR -248[rbp], 0
	jne	.L2407
	mov	rax, QWORD PTR -136[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -136[rbp], rdx
	mov	BYTE PTR [rax], -120
	jmp	.L2407
.L2263:
	lea	rax, dqsyntax[rip+130]
	mov	QWORD PTR -240[rbp], rax
	mov	DWORD PTR -204[rbp], 1
	jmp	.L2279
.L2262:
	cmp	QWORD PTR -248[rbp], 0
	je	.L2281
	cmp	DWORD PTR -200[rbp], 0
	jne	.L2281
	mov	rax, QWORD PTR -136[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -136[rbp], rdx
	mov	edx, DWORD PTR -212[rbp]
	mov	BYTE PTR [rax], dl
	jmp	.L2271
.L2281:
	cmp	DWORD PTR -188[rbp], 0
	jne	.L2282
	lea	rax, basesyntax[rip+130]
	mov	QWORD PTR -240[rbp], rax
	mov	DWORD PTR -204[rbp], 0
.L2282:
	add	DWORD PTR -208[rbp], 1
	jmp	.L2279
.L2284:
	jmp	.L2271
.L2259:
	cmp	DWORD PTR -200[rbp], 0
	jle	.L2285
	sub	DWORD PTR -200[rbp], 1
	cmp	DWORD PTR -188[rbp], 0
	jle	.L2286
	sub	DWORD PTR -188[rbp], 1
.L2286:
	mov	rax, QWORD PTR -136[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -136[rbp], rdx
	mov	BYTE PTR [rax], -125
	jmp	.L2271
.L2285:
	mov	rax, QWORD PTR -136[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -136[rbp], rdx
	mov	edx, DWORD PTR -212[rbp]
	mov	BYTE PTR [rax], dl
	jmp	.L2271
.L2258:
	add	DWORD PTR -192[rbp], 1
	mov	rax, QWORD PTR -136[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -136[rbp], rdx
	mov	edx, DWORD PTR -212[rbp]
	mov	BYTE PTR [rax], dl
	jmp	.L2271
.L2257:
	cmp	DWORD PTR -192[rbp], 0
	jle	.L2288
	mov	rax, QWORD PTR -136[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -136[rbp], rdx
	mov	edx, DWORD PTR -212[rbp]
	mov	BYTE PTR [rax], dl
	sub	DWORD PTR -192[rbp], 1
	jmp	.L2408
.L2288:
	call	pgetc
	cmp	eax, 41
	jne	.L2290
	mov	rax, QWORD PTR -136[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -136[rbp], rdx
	mov	BYTE PTR [rax], -121
	sub	DWORD PTR -196[rbp], 1
	cmp	DWORD PTR -196[rbp], 0
	jne	.L2408
	mov	rax, QWORD PTR -128[rbp]
	mov	QWORD PTR -240[rbp], rax
	jmp	.L2408
.L2290:
	call	pungetc
	mov	rax, QWORD PTR -136[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -136[rbp], rdx
	mov	BYTE PTR [rax], 41
	jmp	.L2408
.L2261:
	mov	DWORD PTR -184[rbp], 1
	jmp	.L2291
.L2400:
.L2292:
	jmp	.L2271
.L2252:
	cmp	DWORD PTR -200[rbp], 0
	je	.L2409
	cmp	DWORD PTR -212[rbp], -129
	je	.L2271
	mov	rax, QWORD PTR -136[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -136[rbp], rdx
	mov	edx, DWORD PTR -212[rbp]
	mov	BYTE PTR [rax], dl
	jmp	.L2271
.L2404:
	nop
	jmp	.L2271
.L2406:
	nop
	jmp	.L2271
.L2407:
	nop
	jmp	.L2271
.L2408:
	nop
.L2271:
	mov	eax, DWORD PTR parsenleft[rip]
	sub	eax, 1
	mov	DWORD PTR parsenleft[rip], eax
	mov	eax, DWORD PTR parsenleft[rip]
	test	eax, eax
	js	.L2294
	mov	rax, QWORD PTR parsenextc[rip]
	lea	rdx, 1[rax]
	mov	QWORD PTR parsenextc[rip], rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	jmp	.L2295
.L2294:
	call	preadbuffer
.L2295:
	mov	DWORD PTR -212[rbp], eax
	jmp	.L2296
.L2403:
	nop
	jmp	.L2269
.L2405:
	nop
	jmp	.L2269
.L2409:
	nop
.L2269:
	lea	rax, arisyntax[rip+130]
	cmp	QWORD PTR -240[rbp], rax
	jne	.L2297
	lea	rdi, .LC236[rip]
	call	synerror
.L2297:
	lea	rax, basesyntax[rip+130]
	cmp	QWORD PTR -240[rbp], rax
	je	.L2298
	cmp	QWORD PTR -248[rbp], 0
	jne	.L2298
	lea	rdi, .LC237[rip]
	call	synerror
.L2298:
	cmp	DWORD PTR -200[rbp], 0
	je	.L2299
	lea	rdi, .LC238[rip]
	call	synerror
.L2299:
	mov	rax, QWORD PTR -136[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -136[rbp], rdx
	mov	BYTE PTR [rax], 0
	mov	rdx, QWORD PTR stacknxt[rip]
	mov	rax, QWORD PTR -136[rbp]
	sub	rax, rdx
	mov	DWORD PTR -148[rbp], eax
	mov	rax, QWORD PTR stacknxt[rip]
	mov	QWORD PTR -136[rbp], rax
	cmp	QWORD PTR -248[rbp], 0
	jne	.L2300
	cmp	DWORD PTR -212[rbp], 62
	je	.L2301
	cmp	DWORD PTR -212[rbp], 60
	jne	.L2302
.L2301:
	cmp	DWORD PTR -208[rbp], 0
	jne	.L2302
	cmp	DWORD PTR -148[rbp], 2
	jg	.L2302
	mov	rax, QWORD PTR -136[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L2410
	mov	rax, QWORD PTR -136[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	sub	eax, 48
	cmp	eax, 9
	jbe	.L2410
.L2302:
	call	pungetc
.L2300:
	mov	eax, DWORD PTR -208[rbp]
	mov	DWORD PTR quoteflag[rip], eax
	mov	rax, QWORD PTR -144[rbp]
	mov	QWORD PTR backquotelist[rip], rax
	mov	eax, DWORD PTR -148[rbp]
	cdqe
	mov	rdi, rax
	call	grabstackblock
	mov	rax, QWORD PTR -136[rbp]
	mov	QWORD PTR wordtext[rip], rax
	mov	DWORD PTR lasttoken[rip], 12
	mov	eax, DWORD PTR lasttoken[rip]
	jmp	.L2396
.L2398:
	cmp	DWORD PTR -212[rbp], -129
	jne	.L2308
	call	pgetc2
	mov	DWORD PTR -212[rbp], eax
.L2308:
	cmp	DWORD PTR -232[rbp], 0
	je	.L2309
	jmp	.L2310
.L2311:
	call	pgetc2
	mov	DWORD PTR -212[rbp], eax
.L2310:
	cmp	DWORD PTR -212[rbp], 9
	je	.L2311
.L2309:
	mov	rdx, QWORD PTR stacknxt[rip]
	mov	rax, QWORD PTR -136[rbp]
	sub	rax, rdx
	mov	DWORD PTR -164[rbp], eax
	mov	rax, QWORD PTR -248[rbp]
	mov	QWORD PTR -120[rbp], rax
	jmp	.L2312
.L2315:
	mov	rax, QWORD PTR -120[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	cmp	DWORD PTR -212[rbp], eax
	jne	.L2411
	call	pgetc2
	mov	DWORD PTR -212[rbp], eax
	add	QWORD PTR -120[rbp], 1
.L2312:
	mov	rdx, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR -212[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	_STPUTC
	mov	QWORD PTR -136[rbp], rax
	mov	rax, QWORD PTR -120[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L2315
	cmp	DWORD PTR -212[rbp], 10
	je	.L2316
	cmp	DWORD PTR -212[rbp], -130
	jne	.L2412
.L2316:
	mov	DWORD PTR -212[rbp], -130
	mov	eax, DWORD PTR plinno[rip]
	add	eax, 1
	mov	DWORD PTR plinno[rip], eax
	mov	eax, DWORD PTR doprompt[rip]
	mov	DWORD PTR needprompt[rip], eax
	jmp	.L2317
.L2411:
	nop
	jmp	.L2314
.L2412:
	nop
.L2314:
	mov	rdx, QWORD PTR stacknxt[rip]
	mov	eax, DWORD PTR -164[rbp]
	cdqe
	add	rax, 1
	add	rax, rdx
	mov	QWORD PTR -120[rbp], rax
	mov	rax, QWORD PTR -136[rbp]
	sub	rax, QWORD PTR -120[rbp]
	mov	DWORD PTR -160[rbp], eax
	cmp	DWORD PTR -160[rbp], 0
	je	.L2317
	mov	eax, DWORD PTR -212[rbp]
	shr	eax, 31
	movzx	eax, al
	sub	DWORD PTR -160[rbp], eax
	mov	rax, QWORD PTR -120[rbp]
	sub	rax, 1
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	DWORD PTR -212[rbp], eax
	cmp	DWORD PTR -160[rbp], 0
	je	.L2317
	mov	eax, DWORD PTR -160[rbp]
	add	eax, 1
	cdqe
	lea	rdx, 8[rax]
	mov	eax, 16
	sub	rax, 1
	add	rax, rdx
	mov	esi, 16
	mov	edx, 0
	div	rsi
	imul	rax, rax, 16
	mov	rcx, rax
	and	rcx, -4096
	mov	rdx, rsp
	sub	rdx, rcx
.L2318:
	cmp	rsp, rdx
	je	.L2319
	sub	rsp, 4096
	or	QWORD PTR 4088[rsp], 0
	jmp	.L2318
.L2319:
	mov	rdx, rax
	and	edx, 4095
	sub	rsp, rdx
	mov	rdx, rax
	and	edx, 4095
	test	rdx, rdx
	je	.L2320
	and	eax, 4095
	sub	rax, 8
	add	rax, rsp
	or	QWORD PTR [rax], 0
.L2320:
	mov	rax, rsp
	add	rax, 15
	shr	rax, 4
	sal	rax, 4
	mov	QWORD PTR -80[rbp], rax
	mov	eax, DWORD PTR -160[rbp]
	movsx	rdx, eax
	mov	rcx, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR -80[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	mempcpy@PLT
	mov	BYTE PTR [rax], 0
	mov	rax, QWORD PTR -80[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	pushstring
.L2317:
	mov	rdx, QWORD PTR stacknxt[rip]
	mov	eax, DWORD PTR -164[rbp]
	cdqe
	add	rax, rdx
	mov	QWORD PTR -136[rbp], rax
	jmp	.L2401
.L2410:
	nop
.L2304:
	mov	rax, QWORD PTR -136[rbp]
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -213[rbp], al
	mov	edi, 40
	call	stalloc
	mov	QWORD PTR -112[rbp], rax
	cmp	DWORD PTR -212[rbp], 62
	jne	.L2321
	mov	rax, QWORD PTR -112[rbp]
	mov	DWORD PTR 16[rax], 1
	call	pgetc
	mov	DWORD PTR -212[rbp], eax
	cmp	DWORD PTR -212[rbp], 62
	jne	.L2322
	mov	rax, QWORD PTR -112[rbp]
	mov	DWORD PTR [rax], 20
	jmp	.L2323
.L2322:
	cmp	DWORD PTR -212[rbp], 124
	jne	.L2324
	mov	rax, QWORD PTR -112[rbp]
	mov	DWORD PTR [rax], 17
	jmp	.L2323
.L2324:
	cmp	DWORD PTR -212[rbp], 38
	jne	.L2325
	mov	rax, QWORD PTR -112[rbp]
	mov	DWORD PTR [rax], 21
	jmp	.L2323
.L2325:
	mov	rax, QWORD PTR -112[rbp]
	mov	DWORD PTR [rax], 16
	call	pungetc
	jmp	.L2323
.L2321:
	mov	rax, QWORD PTR -112[rbp]
	mov	DWORD PTR 16[rax], 0
	call	pgetc
	mov	DWORD PTR -212[rbp], eax
	cmp	DWORD PTR -212[rbp], 62
	je	.L2326
	cmp	DWORD PTR -212[rbp], 62
	jg	.L2327
	cmp	DWORD PTR -212[rbp], 38
	je	.L2328
	cmp	DWORD PTR -212[rbp], 60
	jne	.L2327
	mov	edi, 32
	call	stalloc
	mov	QWORD PTR -112[rbp], rax
	mov	rax, QWORD PTR -112[rbp]
	mov	DWORD PTR 16[rax], 0
	mov	rax, QWORD PTR -112[rbp]
	mov	DWORD PTR [rax], 23
	mov	edi, 32
	call	stalloc
	mov	QWORD PTR heredoc[rip], rax
	mov	rax, QWORD PTR heredoc[rip]
	mov	rdx, QWORD PTR -112[rbp]
	mov	QWORD PTR 8[rax], rdx
	call	pgetc
	mov	DWORD PTR -212[rbp], eax
	cmp	DWORD PTR -212[rbp], 45
	jne	.L2329
	mov	rax, QWORD PTR heredoc[rip]
	mov	DWORD PTR 24[rax], 1
	jmp	.L2323
.L2329:
	mov	rax, QWORD PTR heredoc[rip]
	mov	DWORD PTR 24[rax], 0
	call	pungetc
	jmp	.L2323
.L2328:
	mov	rax, QWORD PTR -112[rbp]
	mov	DWORD PTR [rax], 22
	jmp	.L2323
.L2326:
	mov	rax, QWORD PTR -112[rbp]
	mov	DWORD PTR [rax], 19
	jmp	.L2323
.L2327:
	mov	rax, QWORD PTR -112[rbp]
	mov	DWORD PTR [rax], 18
	call	pungetc
	nop
.L2323:
	cmp	BYTE PTR -213[rbp], 0
	je	.L2331
	movsx	eax, BYTE PTR -213[rbp]
	lea	edx, -48[rax]
	mov	rax, QWORD PTR -112[rbp]
	mov	DWORD PTR 16[rax], edx
.L2331:
	mov	rax, QWORD PTR -112[rbp]
	mov	QWORD PTR redirnode[rip], rax
	nop
.L2305:
	mov	DWORD PTR lasttoken[rip], 11
	mov	eax, DWORD PTR lasttoken[rip]
	jmp	.L2396
.L2402:
	nop
.L2283:
	call	pgetc
	mov	DWORD PTR -212[rbp], eax
	mov	eax, DWORD PTR checkkwd[rip]
	and	eax, 8
	test	eax, eax
	jne	.L2332
	cmp	DWORD PTR -212[rbp], -128
	jl	.L2332
	cmp	DWORD PTR -212[rbp], 40
	je	.L2333
	cmp	DWORD PTR -212[rbp], 123
	je	.L2333
	cmp	DWORD PTR -212[rbp], 95
	je	.L2333
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -212[rbp]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 1024
	test	eax, eax
	jne	.L2333
	mov	eax, DWORD PTR -212[rbp]
	movsx	rax, al
	lea	rdx, 130[rax]
	lea	rax, is_type[rip]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	and	eax, 17
	test	eax, eax
	jne	.L2333
.L2332:
	mov	rax, QWORD PTR -136[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -136[rbp], rdx
	mov	BYTE PTR [rax], 36
	call	pungetc
	jmp	.L2284
.L2333:
	cmp	DWORD PTR -212[rbp], 40
	jne	.L2335
	call	pgetc
	cmp	eax, 40
	je	.L2413
	call	pungetc
	mov	DWORD PTR -184[rbp], 0
	jmp	.L2291
.L2422:
	nop
.L2339:
	jmp	.L2284
.L2335:
	mov	rax, QWORD PTR -136[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -136[rbp], rdx
	mov	BYTE PTR [rax], -126
	mov	rdx, QWORD PTR stacknxt[rip]
	mov	rax, QWORD PTR -136[rbp]
	sub	rax, rdx
	mov	DWORD PTR -156[rbp], eax
	add	QWORD PTR -136[rbp], 1
	mov	DWORD PTR -180[rbp], 1
	cmp	DWORD PTR -212[rbp], 123
	sete	al
	movzx	eax, al
	test	rax, rax
	je	.L2414
	call	pgetc
	mov	DWORD PTR -212[rbp], eax
	mov	DWORD PTR -180[rbp], 0
	jmp	.L2351
.L2414:
	nop
.L2340:
.L2351:
	cmp	DWORD PTR -212[rbp], 95
	je	.L2343
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -212[rbp]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 1024
	test	eax, eax
	je	.L2342
.L2343:
	mov	rdx, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR -212[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	_STPUTC
	mov	QWORD PTR -136[rbp], rax
	call	pgetc
	mov	DWORD PTR -212[rbp], eax
	cmp	DWORD PTR -212[rbp], 95
	je	.L2343
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -212[rbp]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8
	test	eax, eax
	jne	.L2343
	jmp	.L2344
.L2342:
	mov	eax, DWORD PTR -212[rbp]
	sub	eax, 48
	cmp	eax, 9
	ja	.L2345
.L2346:
	mov	rdx, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR -212[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	_STPUTC
	mov	QWORD PTR -136[rbp], rax
	call	pgetc
	mov	DWORD PTR -212[rbp], eax
	mov	eax, DWORD PTR -212[rbp]
	sub	eax, 48
	cmp	eax, 9
	jbe	.L2346
	jmp	.L2344
.L2345:
	mov	eax, DWORD PTR -212[rbp]
	movsx	rax, al
	lea	rdx, 130[rax]
	lea	rax, is_type[rip]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	and	eax, 17
	test	eax, eax
	je	.L2415
	mov	eax, DWORD PTR -212[rbp]
	mov	DWORD PTR -176[rbp], eax
	call	pgetc
	mov	DWORD PTR -212[rbp], eax
	cmp	DWORD PTR -180[rbp], 0
	jne	.L2348
	cmp	DWORD PTR -176[rbp], 35
	jne	.L2348
	mov	DWORD PTR -180[rbp], 10
	cmp	DWORD PTR -212[rbp], 95
	je	.L2351
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -212[rbp]
	cdqe
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8
	test	eax, eax
	je	.L2350
	jmp	.L2351
.L2350:
	mov	eax, DWORD PTR -212[rbp]
	mov	DWORD PTR -176[rbp], eax
	call	pgetc
	mov	DWORD PTR -212[rbp], eax
	cmp	DWORD PTR -176[rbp], 125
	je	.L2352
	cmp	DWORD PTR -212[rbp], 125
	je	.L2348
.L2352:
	call	pungetc
	mov	DWORD PTR -180[rbp], 0
	mov	eax, DWORD PTR -176[rbp]
	mov	DWORD PTR -212[rbp], eax
	mov	DWORD PTR -176[rbp], 35
.L2348:
	mov	rax, QWORD PTR -136[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -136[rbp], rdx
	mov	edx, DWORD PTR -176[rbp]
	mov	BYTE PTR [rax], dl
.L2344:
	cmp	DWORD PTR -180[rbp], 0
	jne	.L2416
	cmp	DWORD PTR -212[rbp], 58
	je	.L2354
	cmp	DWORD PTR -212[rbp], 58
	jg	.L2355
	cmp	DWORD PTR -212[rbp], 35
	je	.L2356
	cmp	DWORD PTR -212[rbp], 37
	je	.L2356
	jmp	.L2355
.L2354:
	mov	DWORD PTR -180[rbp], 16
	call	pgetc
	mov	DWORD PTR -212[rbp], eax
.L2355:
	mov	eax, DWORD PTR -212[rbp]
	mov	esi, eax
	lea	rdi, types.2[rip]
	call	strchr@PLT
	mov	QWORD PTR -48[rbp], rax
	cmp	QWORD PTR -48[rbp], 0
	je	.L2417
	lea	rdx, types.2[rip]
	mov	rax, QWORD PTR -48[rbp]
	sub	rax, rdx
	add	eax, 1
	or	DWORD PTR -180[rbp], eax
	jmp	.L2363
.L2356:
	mov	eax, DWORD PTR -212[rbp]
	mov	DWORD PTR -152[rbp], eax
	cmp	DWORD PTR -212[rbp], 35
	jne	.L2359
	mov	eax, 8
	jmp	.L2360
.L2359:
	mov	eax, 6
.L2360:
	mov	DWORD PTR -180[rbp], eax
	call	pgetc
	mov	DWORD PTR -212[rbp], eax
	mov	eax, DWORD PTR -212[rbp]
	cmp	eax, DWORD PTR -152[rbp]
	jne	.L2361
	add	DWORD PTR -180[rbp], 1
	jmp	.L2363
.L2361:
	call	pungetc
	jmp	.L2363
.L2415:
	nop
	jmp	.L2353
.L2416:
	nop
.L2353:
	call	pungetc
	jmp	.L2363
.L2417:
	nop
.L2363:
	mov	rdx, QWORD PTR stacknxt[rip]
	mov	eax, DWORD PTR -156[rbp]
	cdqe
	add	rax, rdx
	mov	edx, DWORD PTR -180[rbp]
	mov	BYTE PTR [rax], dl
	cmp	DWORD PTR -180[rbp], 1
	je	.L2364
	add	DWORD PTR -200[rbp], 1
	cmp	DWORD PTR -204[rbp], 0
	je	.L2364
	add	DWORD PTR -188[rbp], 1
.L2364:
	mov	rax, QWORD PTR -136[rbp]
	mov	rsi, rax
	mov	edi, 61
	call	_STPUTC
	mov	QWORD PTR -136[rbp], rax
	jmp	.L2284
.L2291:
	mov	QWORD PTR -96[rbp], 0
	mov	rdx, QWORD PTR stacknxt[rip]
	mov	rax, QWORD PTR -136[rbp]
	sub	rax, rdx
	mov	QWORD PTR -40[rbp], rax
	cmp	QWORD PTR -40[rbp], 0
	je	.L2365
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 8[rax]
	mov	eax, 16
	sub	rax, 1
	add	rax, rdx
	mov	ecx, 16
	mov	edx, 0
	div	rcx
	imul	rax, rax, 16
	mov	rcx, rax
	and	rcx, -4096
	mov	rdx, rsp
	sub	rdx, rcx
.L2366:
	cmp	rsp, rdx
	je	.L2367
	sub	rsp, 4096
	or	QWORD PTR 4088[rsp], 0
	jmp	.L2366
.L2367:
	mov	rdx, rax
	and	edx, 4095
	sub	rsp, rdx
	mov	rdx, rax
	and	edx, 4095
	test	rdx, rdx
	je	.L2368
	and	eax, 4095
	sub	rax, 8
	add	rax, rsp
	or	QWORD PTR [rax], 0
.L2368:
	mov	rax, rsp
	add	rax, 15
	shr	rax, 4
	sal	rax, 4
	mov	QWORD PTR -96[rbp], rax
	mov	rcx, QWORD PTR stacknxt[rip]
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -96[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	memcpy@PLT
.L2365:
	cmp	DWORD PTR -184[rbp], 0
	je	.L2369
	mov	rax, QWORD PTR stacknxt[rip]
	mov	QWORD PTR -88[rbp], rax
.L2384:
	mov	eax, DWORD PTR needprompt[rip]
	test	eax, eax
	je	.L2370
	mov	edi, 2
	call	setprompt
.L2370:
	call	pgetc
	mov	DWORD PTR -168[rbp], eax
	cmp	DWORD PTR -168[rbp], 96
	je	.L2418
	cmp	DWORD PTR -168[rbp], 96
	jg	.L2419
	cmp	DWORD PTR -168[rbp], 92
	je	.L2373
	cmp	DWORD PTR -168[rbp], 92
	jg	.L2419
	cmp	DWORD PTR -168[rbp], -129
	jg	.L2374
	cmp	DWORD PTR -168[rbp], -130
	jge	.L2375
	jmp	.L2419
.L2374:
	cmp	DWORD PTR -168[rbp], 10
	je	.L2376
	jmp	.L2419
.L2373:
	call	pgetc
	mov	DWORD PTR -168[rbp], eax
	cmp	DWORD PTR -168[rbp], 10
	jne	.L2378
	mov	eax, DWORD PTR plinno[rip]
	add	eax, 1
	mov	DWORD PTR plinno[rip], eax
	mov	eax, DWORD PTR doprompt[rip]
	test	eax, eax
	je	.L2420
	mov	edi, 2
	call	setprompt
	jmp	.L2420
.L2378:
	cmp	DWORD PTR -168[rbp], 92
	je	.L2381
	cmp	DWORD PTR -168[rbp], 96
	je	.L2381
	cmp	DWORD PTR -168[rbp], 36
	je	.L2381
	cmp	DWORD PTR -204[rbp], 0
	je	.L2382
	cmp	DWORD PTR -168[rbp], 34
	je	.L2381
.L2382:
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rax
	mov	edi, 92
	call	_STPUTC
	mov	QWORD PTR -88[rbp], rax
.L2381:
	cmp	DWORD PTR -168[rbp], -128
	jge	.L2421
.L2375:
	lea	rdi, .LC239[rip]
	call	synerror
.L2376:
	mov	eax, DWORD PTR plinno[rip]
	add	eax, 1
	mov	DWORD PTR plinno[rip], eax
	mov	eax, DWORD PTR doprompt[rip]
	mov	DWORD PTR needprompt[rip], eax
	jmp	.L2383
.L2419:
	nop
	jmp	.L2383
.L2421:
	nop
.L2383:
	mov	rdx, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR -168[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	_STPUTC
	mov	QWORD PTR -88[rbp], rax
	jmp	.L2384
.L2420:
	nop
	jmp	.L2384
.L2418:
	nop
.L2377:
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rax
	mov	edi, 0
	call	_STPUTC
	mov	QWORD PTR -88[rbp], rax
	mov	rdx, QWORD PTR stacknxt[rip]
	mov	rax, QWORD PTR -88[rbp]
	sub	rax, rdx
	mov	QWORD PTR -32[rbp], rax
	cmp	QWORD PTR -32[rbp], 0
	je	.L2369
	mov	rdx, QWORD PTR stacknxt[rip]
	mov	rax, QWORD PTR -88[rbp]
	sub	rax, rdx
	mov	rdi, rax
	call	stalloc
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	setinputstring
.L2369:
	lea	rax, -144[rbp]
	mov	QWORD PTR -104[rbp], rax
	jmp	.L2385
.L2386:
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -104[rbp], rax
.L2385:
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L2386
	mov	edi, 16
	call	stalloc
	mov	rdx, QWORD PTR -104[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR [rax], 0
	cmp	DWORD PTR -184[rbp], 0
	je	.L2387
	mov	eax, DWORD PTR doprompt[rip]
	mov	DWORD PTR -172[rbp], eax
	mov	DWORD PTR doprompt[rip], 0
.L2387:
	mov	edi, 2
	call	list
	mov	QWORD PTR -16[rbp], rax
	cmp	DWORD PTR -184[rbp], 0
	je	.L2388
	mov	eax, DWORD PTR -172[rbp]
	mov	DWORD PTR doprompt[rip], eax
	jmp	.L2389
.L2388:
	call	readtoken
	cmp	eax, 8
	je	.L2389
	mov	edi, 8
	call	synexpect
.L2389:
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 8[rax], rdx
	cmp	DWORD PTR -184[rbp], 0
	je	.L2391
	call	popfile
	mov	DWORD PTR tokpushback[rip], 0
	jmp	.L2391
.L2392:
	call	growstackblock
.L2391:
	mov	rax, QWORD PTR stacknleft[rip]
	cmp	QWORD PTR -40[rbp], rax
	jnb	.L2392
	mov	rax, QWORD PTR stacknxt[rip]
	mov	QWORD PTR -136[rbp], rax
	cmp	QWORD PTR -96[rbp], 0
	je	.L2393
	mov	rdx, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR -136[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	memcpy@PLT
	mov	rax, QWORD PTR -40[rbp]
	add	QWORD PTR -136[rbp], rax
.L2393:
	mov	rax, QWORD PTR -136[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -136[rbp], rdx
	mov	BYTE PTR [rax], -124
	cmp	DWORD PTR -184[rbp], 0
	je	.L2422
	jmp	.L2400
.L2413:
	nop
.L2337:
	add	DWORD PTR -196[rbp], 1
	cmp	DWORD PTR -196[rbp], 1
	jne	.L2395
	mov	rax, QWORD PTR -240[rbp]
	mov	QWORD PTR -128[rbp], rax
	lea	rax, arisyntax[rip+130]
	mov	QWORD PTR -240[rbp], rax
.L2395:
	mov	rax, QWORD PTR -136[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -136[rbp], rdx
	mov	BYTE PTR [rax], -122
	nop
.L2338:
	jmp	.L2284
.L2396:
	mov	rsi, QWORD PTR -8[rbp]
	sub	rsi, QWORD PTR fs:40
	je	.L2397
	call	__stack_chk_fail@PLT
.L2397:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE235:
	.size	readtoken1, .-readtoken1
	.globl	endofname
	.type	endofname, @function
endofname:
.LFB236:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 95
	je	.L2426
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 1024
	test	eax, eax
	jne	.L2426
	mov	rax, QWORD PTR -8[rbp]
	jmp	.L2425
.L2428:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 95
	je	.L2426
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8
	test	eax, eax
	je	.L2429
.L2426:
	add	QWORD PTR -8[rbp], 1
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L2428
	jmp	.L2427
.L2429:
	nop
.L2427:
	mov	rax, QWORD PTR -8[rbp]
.L2425:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE236:
	.size	endofname, .-endofname
	.section	.rodata
.LC240:
	.string	"%s unexpected (expecting %s)"
.LC241:
	.string	"%s unexpected"
	.text
	.type	synexpect, @function
synexpect:
.LFB237:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	DWORD PTR -84[rbp], edi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	cmp	DWORD PTR -84[rbp], 0
	js	.L2431
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, tokname[rip]
	mov	rcx, QWORD PTR [rdx+rax]
	mov	eax, DWORD PTR lasttoken[rip]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, tokname[rip]
	mov	rdx, QWORD PTR [rdx+rax]
	lea	rax, -80[rbp]
	mov	r8, rcx
	mov	rcx, rdx
	lea	rdx, .LC240[rip]
	mov	esi, 64
	mov	rdi, rax
	mov	eax, 0
	call	fmtstr
	jmp	.L2432
.L2431:
	mov	eax, DWORD PTR lasttoken[rip]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, tokname[rip]
	mov	rdx, QWORD PTR [rdx+rax]
	lea	rax, -80[rbp]
	mov	rcx, rdx
	lea	rdx, .LC241[rip]
	mov	esi, 64
	mov	rdi, rax
	mov	eax, 0
	call	fmtstr
.L2432:
	lea	rax, -80[rbp]
	mov	rdi, rax
	call	synerror
	.cfi_endproc
.LFE237:
	.size	synexpect, .-synexpect
	.section	.rodata
.LC242:
	.string	"Syntax error: %s"
	.text
	.type	synerror, @function
synerror:
.LFB238:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	eax, DWORD PTR plinno[rip]
	mov	DWORD PTR errlinno[rip], eax
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rax
	lea	rdi, .LC242[rip]
	mov	eax, 0
	call	sh_error
	.cfi_endproc
.LFE238:
	.size	synerror, .-synerror
	.type	setprompt, @function
setprompt:
.LFB239:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 72
	.cfi_offset 3, -24
	mov	DWORD PTR -68[rbp], edi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -24[rbp], rax
	xor	eax, eax
	mov	DWORD PTR needprompt[rip], 0
	mov	eax, DWORD PTR -68[rbp]
	mov	DWORD PTR whichprompt[rip], eax
	mov	DWORD PTR -52[rbp], 1
	cmp	DWORD PTR -52[rbp], 0
	je	.L2438
	mov	rdx, QWORD PTR stacknleft[rip]
	lea	rax, -48[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	pushstackmark
	mov	rbx, QWORD PTR out2[rip]
	mov	edi, 0
	call	getprompt
	mov	rsi, rbx
	mov	rdi, rax
	call	outstr
	lea	rax, -48[rbp]
	mov	rdi, rax
	call	popstackmark
.L2438:
	nop
	mov	rax, QWORD PTR -24[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L2437
	call	__stack_chk_fail@PLT
.L2437:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE239:
	.size	setprompt, .-setprompt
	.globl	expandstr
	.type	expandstr, @function
expandstr:
.LFB240:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 88
	.cfi_offset 3, -24
	mov	QWORD PTR -88[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -24[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -88[rbp]
	mov	rdi, rax
	call	setinputstring
	mov	eax, DWORD PTR doprompt[rip]
	mov	DWORD PTR -68[rbp], eax
	mov	DWORD PTR doprompt[rip], 0
	lea	rbx, dqsyntax[rip+130]
	call	pgetc
	mov	ecx, 0
	mov	edx, 1
	mov	rsi, rbx
	mov	edi, eax
	call	readtoken1
	mov	eax, DWORD PTR -68[rbp]
	mov	DWORD PTR doprompt[rip], eax
	call	popfile
	mov	DWORD PTR -64[rbp], 15
	mov	QWORD PTR -56[rbp], 0
	mov	rax, QWORD PTR wordtext[rip]
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR backquotelist[rip]
	mov	QWORD PTR -40[rbp], rax
	lea	rax, -64[rbp]
	mov	edx, 256
	mov	esi, 0
	mov	rdi, rax
	call	expandarg
	mov	rax, QWORD PTR stacknxt[rip]
	mov	rcx, QWORD PTR -24[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L2441
	call	__stack_chk_fail@PLT
.L2441:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE240:
	.size	expandstr, .-expandstr
	.globl	getprompt
	.type	getprompt, @function
getprompt:
.LFB241:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	eax, DWORD PTR whichprompt[rip]
	cmp	eax, 1
	je	.L2443
	cmp	eax, 2
	je	.L2444
	lea	rax, nullstr[rip]
	jmp	.L2445
.L2443:
	lea	rax, varinit[rip+128]
	mov	rax, QWORD PTR 16[rax]
	add	rax, 4
	mov	QWORD PTR -8[rbp], rax
	jmp	.L2446
.L2444:
	lea	rax, varinit[rip+160]
	mov	rax, QWORD PTR 16[rax]
	add	rax, 4
	mov	QWORD PTR -8[rbp], rax
	nop
.L2446:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	expandstr
.L2445:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE241:
	.size	getprompt, .-getprompt
	.globl	findkwd
	.type	findkwd, @function
findkwd:
.LFB242:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, 16
	lea	rsi, parsekwd[rip]
	mov	rdi, rax
	call	findstring
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE242:
	.size	findkwd, .-findkwd
	.globl	redirlist
	.bss
	.align 8
	.type	redirlist, @object
	.size	redirlist, 8
redirlist:
	.zero	8
	.text
	.globl	redirect
	.type	redirect, @function
redirect:
.LFB243:
	.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	DWORD PTR -60[rbp], esi
	cmp	QWORD PTR -56[rbp], 0
	je	.L2461
	mov	QWORD PTR -16[rbp], 0
	mov	eax, DWORD PTR suppressint[rip]
	add	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	eax, DWORD PTR -60[rbp]
	and	eax, 1
	test	eax, eax
	setne	al
	movzx	eax, al
	test	rax, rax
	je	.L2452
	mov	rax, QWORD PTR redirlist[rip]
	mov	QWORD PTR -16[rbp], rax
.L2452:
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR -24[rbp], rax
.L2459:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	openredirect
	mov	DWORD PTR -28[rbp], eax
	cmp	DWORD PTR -28[rbp], -1
	jl	.L2462
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	mov	DWORD PTR -32[rbp], eax
	cmp	QWORD PTR -16[rbp], 0
	je	.L2455
	mov	eax, DWORD PTR -32[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	add	rax, 8
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -36[rbp], eax
	cmp	DWORD PTR -36[rbp], -2
	sete	al
	movzx	eax, al
	test	rax, rax
	je	.L2456
	mov	DWORD PTR -36[rbp], -1
	mov	eax, DWORD PTR -32[rbp]
	cmp	eax, DWORD PTR -28[rbp]
	je	.L2456
	mov	edx, DWORD PTR -32[rbp]
	mov	eax, DWORD PTR -32[rbp]
	mov	esi, edx
	mov	edi, eax
	call	savefd
	mov	DWORD PTR -36[rbp], eax
	mov	DWORD PTR -32[rbp], -1
.L2456:
	mov	eax, DWORD PTR -36[rbp]
	cmp	eax, DWORD PTR -28[rbp]
	jne	.L2457
	mov	DWORD PTR -36[rbp], -3
.L2457:
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -36[rbp]
	mov	DWORD PTR [rax], edx
.L2455:
	mov	eax, DWORD PTR -32[rbp]
	cmp	eax, DWORD PTR -28[rbp]
	je	.L2463
	mov	edx, DWORD PTR -28[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	dupredirect
	jmp	.L2454
.L2462:
	nop
	jmp	.L2454
.L2463:
	nop
.L2454:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], 0
	jne	.L2459
	mov	eax, DWORD PTR suppressint[rip]
	sub	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	eax, DWORD PTR suppressint[rip]
	test	eax, eax
	jne	.L2460
	mov	eax, DWORD PTR intpending[rip]
	test	eax, eax
	je	.L2460
	call	onint
.L2460:
	mov	eax, DWORD PTR -60[rbp]
	and	eax, 3
	test	eax, eax
	je	.L2449
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	js	.L2449
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	mov	DWORD PTR preverrout[rip+32], eax
	jmp	.L2449
.L2461:
	nop
.L2449:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE243:
	.size	redirect, .-redirect
	.section	.rodata
.LC243:
	.string	"cannot create %s: %s"
.LC244:
	.string	"cannot open %s: %s"
	.text
	.type	openredirect, @function
openredirect:
.LFB244:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 192
	mov	QWORD PTR -184[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -184[rbp]
	mov	eax, DWORD PTR [rax]
	sub	eax, 16
	cmp	eax, 6
	ja	.L2465
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L2467[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L2467[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L2467:
	.long	.L2472-.L2467
	.long	.L2471-.L2467
	.long	.L2470-.L2467
	.long	.L2469-.L2467
	.long	.L2468-.L2467
	.long	.L2466-.L2467
	.long	.L2466-.L2467
	.text
.L2470:
	mov	rax, QWORD PTR -184[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	QWORD PTR -168[rbp], rax
	mov	rax, QWORD PTR -168[rbp]
	mov	esi, 0
	mov	rdi, rax
	mov	eax, 0
	call	open@PLT
	mov	DWORD PTR -172[rbp], eax
	cmp	DWORD PTR -172[rbp], 0
	jns	.L2489
	jmp	.L2487
.L2469:
	mov	rax, QWORD PTR -184[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	QWORD PTR -168[rbp], rax
	mov	rax, QWORD PTR -168[rbp]
	mov	edx, 438
	mov	esi, 66
	mov	rdi, rax
	mov	eax, 0
	call	open@PLT
	mov	DWORD PTR -172[rbp], eax
	cmp	DWORD PTR -172[rbp], 0
	jns	.L2490
	jmp	.L2477
.L2472:
	movzx	eax, BYTE PTR optlist[rip+11]
	test	al, al
	je	.L2471
	mov	rax, QWORD PTR -184[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	QWORD PTR -168[rbp], rax
	lea	rdx, -160[rbp]
	mov	rax, QWORD PTR -168[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	stat@PLT
	test	eax, eax
	jns	.L2478
	mov	rax, QWORD PTR -168[rbp]
	mov	edx, 438
	mov	esi, 193
	mov	rdi, rax
	mov	eax, 0
	call	open@PLT
	mov	DWORD PTR -172[rbp], eax
	cmp	DWORD PTR -172[rbp], 0
	jns	.L2491
	jmp	.L2477
.L2478:
	mov	eax, DWORD PTR -136[rbp]
	and	eax, 61440
	cmp	eax, 32768
	je	.L2480
	mov	rax, QWORD PTR -168[rbp]
	mov	edx, 438
	mov	esi, 1
	mov	rdi, rax
	mov	eax, 0
	call	open@PLT
	mov	DWORD PTR -172[rbp], eax
	cmp	DWORD PTR -172[rbp], 0
	js	.L2492
	lea	rdx, -160[rbp]
	mov	eax, DWORD PTR -172[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	fstat@PLT
	test	eax, eax
	jns	.L2491
	mov	eax, DWORD PTR -136[rbp]
	and	eax, 61440
	cmp	eax, 32768
	jne	.L2491
	mov	eax, DWORD PTR -172[rbp]
	mov	edi, eax
	call	close@PLT
	mov	rax, QWORD PTR dash_errno[rip]
	mov	DWORD PTR [rax], 17
	jmp	.L2477
.L2480:
	mov	rax, QWORD PTR dash_errno[rip]
	mov	DWORD PTR [rax], 17
	jmp	.L2477
.L2471:
	mov	rax, QWORD PTR -184[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	QWORD PTR -168[rbp], rax
	mov	rax, QWORD PTR -168[rbp]
	mov	edx, 438
	mov	esi, 577
	mov	rdi, rax
	mov	eax, 0
	call	open@PLT
	mov	DWORD PTR -172[rbp], eax
	cmp	DWORD PTR -172[rbp], 0
	jns	.L2493
	jmp	.L2477
.L2468:
	mov	rax, QWORD PTR -184[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	QWORD PTR -168[rbp], rax
	mov	rax, QWORD PTR -168[rbp]
	mov	edx, 438
	mov	esi, 1089
	mov	rdi, rax
	mov	eax, 0
	call	open@PLT
	mov	DWORD PTR -172[rbp], eax
	cmp	DWORD PTR -172[rbp], 0
	jns	.L2494
	jmp	.L2477
.L2466:
	mov	rax, QWORD PTR -184[rbp]
	mov	eax, DWORD PTR 20[rax]
	mov	DWORD PTR -172[rbp], eax
	mov	rax, QWORD PTR -184[rbp]
	mov	eax, DWORD PTR 16[rax]
	cmp	DWORD PTR -172[rbp], eax
	jne	.L2495
	mov	DWORD PTR -172[rbp], -2
	jmp	.L2495
.L2465:
	mov	rax, QWORD PTR -184[rbp]
	mov	rdi, rax
	call	openhere
	mov	DWORD PTR -172[rbp], eax
	jmp	.L2475
.L2489:
	nop
	jmp	.L2475
.L2490:
	nop
	jmp	.L2475
.L2491:
	nop
	jmp	.L2475
.L2493:
	nop
	jmp	.L2475
.L2494:
	nop
	jmp	.L2475
.L2495:
	nop
.L2475:
	mov	eax, DWORD PTR -172[rbp]
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L2486
	jmp	.L2488
.L2492:
	nop
.L2477:
	mov	rax, QWORD PTR dash_errno[rip]
	mov	eax, DWORD PTR [rax]
	mov	esi, 2
	mov	edi, eax
	call	errmsg
	mov	rdx, rax
	mov	rax, QWORD PTR -168[rbp]
	mov	rsi, rax
	lea	rdi, .LC243[rip]
	mov	eax, 0
	call	sh_error
.L2487:
.L2474:
	mov	rax, QWORD PTR dash_errno[rip]
	mov	eax, DWORD PTR [rax]
	mov	esi, 1
	mov	edi, eax
	call	errmsg
	mov	rdx, rax
	mov	rax, QWORD PTR -168[rbp]
	mov	rsi, rax
	lea	rdi, .LC244[rip]
	mov	eax, 0
	call	sh_error
.L2488:
	call	__stack_chk_fail@PLT
.L2486:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE244:
	.size	openredirect, .-openredirect
	.section	.rodata
.LC245:
	.string	"%d: %s"
	.text
	.type	dupredirect, @function
dupredirect:
.LFB245:
	.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 -28[rbp], esi
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	mov	DWORD PTR -4[rbp], eax
	mov	DWORD PTR -8[rbp], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 21
	je	.L2497
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 22
	jne	.L2498
.L2497:
	cmp	DWORD PTR -28[rbp], 0
	js	.L2499
	mov	edx, DWORD PTR -4[rbp]
	mov	eax, DWORD PTR -28[rbp]
	mov	esi, edx
	mov	edi, eax
	call	dup2@PLT
	test	eax, eax
	jns	.L2505
	mov	rax, QWORD PTR dash_errno[rip]
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -8[rbp], eax
	jmp	.L2501
.L2499:
	mov	eax, DWORD PTR -4[rbp]
	mov	DWORD PTR -28[rbp], eax
	jmp	.L2503
.L2498:
	mov	edx, DWORD PTR -4[rbp]
	mov	eax, DWORD PTR -28[rbp]
	mov	esi, edx
	mov	edi, eax
	call	dup2@PLT
	test	eax, eax
	jns	.L2503
	mov	rax, QWORD PTR dash_errno[rip]
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -8[rbp], eax
.L2503:
	mov	eax, DWORD PTR -28[rbp]
	mov	edi, eax
	call	close@PLT
	cmp	DWORD PTR -8[rbp], 0
	jns	.L2506
	nop
.L2501:
	mov	eax, DWORD PTR -8[rbp]
	mov	edi, eax
	call	strerror@PLT
	mov	rdx, rax
	mov	eax, DWORD PTR -28[rbp]
	mov	esi, eax
	lea	rdi, .LC245[rip]
	mov	eax, 0
	call	sh_error
.L2505:
	nop
	jmp	.L2496
.L2506:
	nop
.L2496:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE245:
	.size	dupredirect, .-dupredirect
	.type	openhere, @function
openhere:
.LFB246:
	.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	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	QWORD PTR -24[rbp], 0
	lea	rax, -16[rbp]
	mov	rdi, rax
	call	pipe@PLT
	test	eax, eax
	jns	.L2508
	lea	rdi, .LC72[rip]
	mov	eax, 0
	call	sh_error
.L2508:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 24
	jne	.L2509
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	edx, 256
	mov	esi, 0
	mov	rdi, rax
	call	expandarg
	mov	rax, QWORD PTR stacknxt[rip]
	mov	QWORD PTR -32[rbp], rax
.L2509:
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], 4096
	ja	.L2510
	mov	eax, DWORD PTR -12[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR -32[rbp]
	mov	rsi, rcx
	mov	edi, eax
	call	xwrite
	jmp	.L2511
.L2510:
	mov	edx, 2
	mov	esi, 0
	mov	edi, 0
	call	forkshell
	test	eax, eax
	jne	.L2514
	mov	eax, DWORD PTR -16[rbp]
	mov	edi, eax
	call	close@PLT
	mov	esi, 1
	mov	edi, 2
	call	signal@PLT
	mov	esi, 1
	mov	edi, 3
	call	signal@PLT
	mov	esi, 1
	mov	edi, 1
	call	signal@PLT
	mov	esi, 1
	mov	edi, 20
	call	signal@PLT
	mov	esi, 0
	mov	edi, 13
	call	signal@PLT
	mov	eax, DWORD PTR -12[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR -32[rbp]
	mov	rsi, rcx
	mov	edi, eax
	call	xwrite
	mov	edi, 0
	call	_exit@PLT
.L2514:
	nop
.L2511:
	mov	eax, DWORD PTR -12[rbp]
	mov	edi, eax
	call	close@PLT
	mov	eax, DWORD PTR -16[rbp]
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L2513
	call	__stack_chk_fail@PLT
.L2513:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE246:
	.size	openhere, .-openhere
	.globl	popredir
	.type	popredir, @function
popredir:
.LFB247:
	.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	eax, DWORD PTR suppressint[rip]
	add	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	rax, QWORD PTR redirlist[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	DWORD PTR -12[rbp], 0
	jmp	.L2516
.L2523:
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -12[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 8[rax+rdx*4]
	cmp	eax, -2
	jg	.L2517
	cmp	eax, -3
	jge	.L2525
	jmp	.L2519
.L2517:
	cmp	eax, -1
	jne	.L2519
	cmp	DWORD PTR -20[rbp], 0
	jne	.L2526
	mov	eax, DWORD PTR -12[rbp]
	mov	edi, eax
	call	close@PLT
	jmp	.L2526
.L2519:
	cmp	DWORD PTR -20[rbp], 0
	jne	.L2522
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -12[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 8[rax+rdx*4]
	mov	edx, DWORD PTR -12[rbp]
	mov	esi, edx
	mov	edi, eax
	call	dup2@PLT
.L2522:
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -12[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 8[rax+rdx*4]
	mov	edi, eax
	call	close@PLT
	jmp	.L2521
.L2525:
	nop
	jmp	.L2521
.L2526:
	nop
.L2521:
	add	DWORD PTR -12[rbp], 1
.L2516:
	cmp	DWORD PTR -12[rbp], 9
	jle	.L2523
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR redirlist[rip], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	eax, DWORD PTR suppressint[rip]
	sub	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	eax, DWORD PTR suppressint[rip]
	test	eax, eax
	jne	.L2527
	mov	eax, DWORD PTR intpending[rip]
	test	eax, eax
	je	.L2527
	call	onint
.L2527:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE247:
	.size	popredir, .-popredir
	.globl	savefd
	.type	savefd, @function
savefd:
.LFB248:
	.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]
	mov	edx, 10
	mov	esi, 0
	mov	edi, eax
	mov	eax, 0
	call	fcntl@PLT
	mov	DWORD PTR -8[rbp], eax
	cmp	DWORD PTR -8[rbp], 0
	jns	.L2529
	mov	rax, QWORD PTR dash_errno[rip]
	mov	eax, DWORD PTR [rax]
	jmp	.L2530
.L2529:
	mov	eax, 0
.L2530:
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 9
	je	.L2531
	mov	eax, DWORD PTR -24[rbp]
	mov	edi, eax
	call	close@PLT
	cmp	DWORD PTR -4[rbp], 0
	je	.L2532
	mov	eax, DWORD PTR -4[rbp]
	mov	edi, eax
	call	strerror@PLT
	mov	rdx, rax
	mov	eax, DWORD PTR -20[rbp]
	mov	esi, eax
	lea	rdi, .LC245[rip]
	mov	eax, 0
	call	sh_error
.L2532:
	mov	eax, DWORD PTR -8[rbp]
	mov	edx, 1
	mov	esi, 2
	mov	edi, eax
	mov	eax, 0
	call	fcntl@PLT
.L2531:
	mov	eax, DWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE248:
	.size	savefd, .-savefd
	.globl	redirectsafe
	.type	redirectsafe, @function
redirectsafe:
.LFB249:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 240
	mov	QWORD PTR -232[rbp], rdi
	mov	DWORD PTR -236[rbp], esi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR handler[rip]
	mov	QWORD PTR -216[rbp], rax
	mov	eax, DWORD PTR suppressint[rip]
	mov	DWORD PTR -224[rbp], eax
	lea	rax, -208[rbp]
	mov	rdi, rax
	call	_setjmp@PLT
	endbr64
	add	eax, eax
	mov	DWORD PTR -220[rbp], eax
	cmp	DWORD PTR -220[rbp], 0
	jne	.L2536
	lea	rax, -208[rbp]
	mov	QWORD PTR handler[rip], rax
	mov	edx, DWORD PTR -236[rbp]
	mov	rax, QWORD PTR -232[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	redirect
.L2536:
	mov	rax, QWORD PTR -216[rbp]
	mov	QWORD PTR handler[rip], rax
	cmp	DWORD PTR -220[rbp], 0
	je	.L2537
	mov	eax, DWORD PTR exception[rip]
	cmp	eax, 1
	je	.L2537
	mov	rax, QWORD PTR handler[rip]
	mov	esi, 1
	mov	rdi, rax
	call	longjmp@PLT
.L2537:
	mov	eax, DWORD PTR -224[rbp]
	mov	DWORD PTR suppressint[rip], eax
	mov	eax, DWORD PTR suppressint[rip]
	test	eax, eax
	jne	.L2538
	mov	eax, DWORD PTR intpending[rip]
	test	eax, eax
	je	.L2538
	call	onint
.L2538:
	mov	eax, DWORD PTR -220[rbp]
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L2540
	call	__stack_chk_fail@PLT
.L2540:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE249:
	.size	redirectsafe, .-redirectsafe
	.globl	unwindredir
	.type	unwindredir, @function
unwindredir:
.LFB250:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	jmp	.L2542
.L2543:
	mov	edi, 0
	call	popredir
.L2542:
	mov	rax, QWORD PTR redirlist[rip]
	cmp	QWORD PTR -8[rbp], rax
	jne	.L2543
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE250:
	.size	unwindredir, .-unwindredir
	.globl	pushredir
	.type	pushredir, @function
pushredir:
.LFB251:
	.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	rax, QWORD PTR redirlist[rip]
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -40[rbp], 0
	je	.L2550
	mov	edi, 48
	call	ckmalloc
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR redirlist[rip], rax
	mov	DWORD PTR -20[rbp], 0
	jmp	.L2547
.L2548:
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -20[rbp]
	movsx	rdx, edx
	mov	DWORD PTR 8[rax+rdx*4], -2
	add	DWORD PTR -20[rbp], 1
.L2547:
	cmp	DWORD PTR -20[rbp], 9
	jle	.L2548
	jmp	.L2546
.L2550:
	nop
.L2546:
	mov	rax, QWORD PTR -16[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE251:
	.size	pushredir, .-pushredir
	.local	trap
	.comm	trap,520,32
	.globl	trapcnt
	.bss
	.align 4
	.type	trapcnt, @object
	.size	trapcnt, 4
trapcnt:
	.zero	4
	.globl	sigmode
	.align 32
	.type	sigmode, @object
	.size	sigmode, 64
sigmode:
	.zero	64
	.local	gotsig
	.comm	gotsig,64,32
	.globl	pendingsigs
	.align 4
	.type	pendingsigs, @object
	.size	pendingsigs, 4
pendingsigs:
	.zero	4
	.globl	gotsigchld
	.align 4
	.type	gotsigchld, @object
	.size	gotsigchld, 4
gotsigchld:
	.zero	4
	.section	.rodata
.LC246:
	.string	"trap -- %s %s\n"
.LC247:
	.string	"trap: %s: bad trap\n"
	.text
	.globl	trapcmd
	.type	trapcmd, @function
trapcmd:
.LFB252:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 56
	.cfi_offset 3, -24
	mov	DWORD PTR -52[rbp], edi
	mov	QWORD PTR -64[rbp], rsi
	lea	rdi, nullstr[rip]
	call	nextopt
	mov	rax, QWORD PTR argptr[rip]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L2552
	mov	DWORD PTR -36[rbp], 0
	jmp	.L2553
.L2555:
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, trap[rip]
	mov	rax, QWORD PTR [rdx+rax]
	test	rax, rax
	je	.L2554
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, signal_names[rip]
	mov	rbx, QWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, trap[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	rdi, rax
	call	single_quote
	mov	rdx, rbx
	mov	rsi, rax
	lea	rdi, .LC246[rip]
	mov	eax, 0
	call	out1fmt
.L2554:
	add	DWORD PTR -36[rbp], 1
.L2553:
	cmp	DWORD PTR -36[rbp], 64
	jle	.L2555
	mov	eax, 0
	jmp	.L2556
.L2552:
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L2557
	mov	QWORD PTR -32[rbp], 0
	jmp	.L2559
.L2557:
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 8[rax]
	mov	QWORD PTR -24[rbp], rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -32[rbp], rax
	jmp	.L2559
.L2568:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	esi, 0
	mov	rdi, rax
	call	decode_signal
	mov	DWORD PTR -36[rbp], eax
	cmp	DWORD PTR -36[rbp], 0
	jns	.L2560
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR out2[rip]
	lea	rsi, .LC247[rip]
	mov	rdi, rax
	mov	eax, 0
	call	outfmt
	mov	eax, 1
	jmp	.L2556
.L2560:
	mov	eax, DWORD PTR suppressint[rip]
	add	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	cmp	QWORD PTR -32[rbp], 0
	je	.L2561
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 45
	jne	.L2562
	mov	rax, QWORD PTR -32[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L2562
	mov	QWORD PTR -32[rbp], 0
	jmp	.L2561
.L2562:
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L2563
	mov	eax, DWORD PTR trapcnt[rip]
	add	eax, 1
	mov	DWORD PTR trapcnt[rip], eax
.L2563:
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	savestr
	mov	QWORD PTR -32[rbp], rax
.L2561:
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, trap[rip]
	mov	rax, QWORD PTR [rdx+rax]
	test	rax, rax
	je	.L2564
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, trap[rip]
	mov	rax, QWORD PTR [rdx+rax]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L2565
	mov	eax, DWORD PTR trapcnt[rip]
	sub	eax, 1
	mov	DWORD PTR trapcnt[rip], eax
.L2565:
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, trap[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	rdi, rax
	call	free@PLT
.L2564:
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	lea	rcx, 0[0+rax*8]
	lea	rdx, trap[rip]
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR [rcx+rdx], rax
	cmp	DWORD PTR -36[rbp], 0
	je	.L2566
	mov	eax, DWORD PTR -36[rbp]
	mov	edi, eax
	call	setsignal
.L2566:
	mov	eax, DWORD PTR suppressint[rip]
	sub	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	eax, DWORD PTR suppressint[rip]
	test	eax, eax
	jne	.L2567
	mov	eax, DWORD PTR intpending[rip]
	test	eax, eax
	je	.L2567
	call	onint
.L2567:
	add	QWORD PTR -24[rbp], 8
.L2559:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L2568
	mov	eax, 0
.L2556:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE252:
	.size	trapcmd, .-trapcmd
	.globl	clear_traps
	.type	clear_traps, @function
clear_traps:
.LFB253:
	.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 suppressint[rip]
	add	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	lea	rax, trap[rip]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L2570
.L2572:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L2571
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L2571
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], 0
	lea	rax, trap[rip]
	cmp	QWORD PTR -8[rbp], rax
	je	.L2571
	lea	rdx, trap[rip]
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, rdx
	sar	rax, 3
	mov	edi, eax
	call	setsignal
.L2571:
	add	QWORD PTR -8[rbp], 8
.L2570:
	lea	rax, trap[rip+520]
	cmp	QWORD PTR -8[rbp], rax
	jb	.L2572
	mov	DWORD PTR trapcnt[rip], 0
	mov	eax, DWORD PTR suppressint[rip]
	sub	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	eax, DWORD PTR suppressint[rip]
	test	eax, eax
	jne	.L2574
	mov	eax, DWORD PTR intpending[rip]
	test	eax, eax
	je	.L2574
	call	onint
.L2574:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE253:
	.size	clear_traps, .-clear_traps
	.globl	setsignal
	.type	setsignal, @function
setsignal:
.LFB254:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 192
	mov	DWORD PTR -180[rbp], edi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	eax, DWORD PTR -180[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, trap[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	QWORD PTR -168[rbp], rax
	cmp	QWORD PTR -168[rbp], 0
	jne	.L2576
	mov	DWORD PTR -172[rbp], 1
	jmp	.L2577
.L2576:
	mov	rax, QWORD PTR -168[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L2578
	mov	DWORD PTR -172[rbp], 2
	jmp	.L2577
.L2578:
	mov	DWORD PTR -172[rbp], 3
.L2577:
	mov	eax, DWORD PTR shlvl[rip]
	test	eax, eax
	jne	.L2605
	cmp	DWORD PTR -172[rbp], 1
	jne	.L2605
	cmp	DWORD PTR -180[rbp], 22
	ja	.L2579
	mov	eax, DWORD PTR -180[rbp]
	lea	rdx, 0[0+rax*4]
	lea	rax, .L2581[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L2581[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L2581:
	.long	.L2579-.L2581
	.long	.L2579-.L2581
	.long	.L2583-.L2581
	.long	.L2582-.L2581
	.long	.L2579-.L2581
	.long	.L2579-.L2581
	.long	.L2579-.L2581
	.long	.L2579-.L2581
	.long	.L2579-.L2581
	.long	.L2579-.L2581
	.long	.L2579-.L2581
	.long	.L2579-.L2581
	.long	.L2579-.L2581
	.long	.L2579-.L2581
	.long	.L2579-.L2581
	.long	.L2582-.L2581
	.long	.L2579-.L2581
	.long	.L2579-.L2581
	.long	.L2579-.L2581
	.long	.L2579-.L2581
	.long	.L2580-.L2581
	.long	.L2579-.L2581
	.long	.L2580-.L2581
	.text
.L2583:
	movzx	eax, BYTE PTR optlist[rip+3]
	test	al, al
	jne	.L2584
	mov	rax, QWORD PTR minusc[rip]
	test	rax, rax
	jne	.L2584
	movzx	eax, BYTE PTR optlist[rip+6]
	test	al, al
	jne	.L2606
.L2584:
	mov	DWORD PTR -172[rbp], 2
	jmp	.L2606
.L2582:
	movzx	eax, BYTE PTR optlist[rip+3]
	test	al, al
	je	.L2607
	mov	DWORD PTR -172[rbp], 3
	jmp	.L2607
.L2580:
	movzx	eax, BYTE PTR optlist[rip+4]
	test	al, al
	je	.L2608
	mov	DWORD PTR -172[rbp], 3
	jmp	.L2608
.L2605:
	nop
	jmp	.L2579
.L2606:
	nop
	jmp	.L2579
.L2607:
	nop
	jmp	.L2579
.L2608:
	nop
.L2579:
	cmp	DWORD PTR -180[rbp], 17
	jne	.L2588
	mov	DWORD PTR -172[rbp], 2
.L2588:
	mov	eax, DWORD PTR -180[rbp]
	sub	eax, 1
	cdqe
	lea	rdx, sigmode[rip]
	add	rax, rdx
	mov	QWORD PTR -168[rbp], rax
	mov	rax, QWORD PTR -168[rbp]
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -173[rbp], al
	cmp	BYTE PTR -173[rbp], 0
	jne	.L2589
	lea	rdx, -160[rbp]
	mov	eax, DWORD PTR -180[rbp]
	mov	esi, 0
	mov	edi, eax
	call	sigaction@PLT
	cmp	eax, -1
	je	.L2609
	mov	rax, QWORD PTR -160[rbp]
	cmp	rax, 1
	jne	.L2592
	movzx	eax, BYTE PTR optlist[rip+4]
	test	al, al
	je	.L2593
	cmp	DWORD PTR -180[rbp], 20
	je	.L2594
	cmp	DWORD PTR -180[rbp], 21
	je	.L2594
	cmp	DWORD PTR -180[rbp], 22
	jne	.L2593
.L2594:
	mov	BYTE PTR -173[rbp], 3
	jmp	.L2589
.L2593:
	mov	BYTE PTR -173[rbp], 4
	jmp	.L2589
.L2592:
	mov	BYTE PTR -173[rbp], 5
.L2589:
	cmp	BYTE PTR -173[rbp], 4
	je	.L2610
	movsx	eax, BYTE PTR -173[rbp]
	cmp	DWORD PTR -172[rbp], eax
	je	.L2610
	cmp	DWORD PTR -172[rbp], 2
	je	.L2598
	cmp	DWORD PTR -172[rbp], 3
	je	.L2599
	jmp	.L2604
.L2598:
	lea	rax, onsig[rip]
	mov	QWORD PTR -160[rbp], rax
	jmp	.L2601
.L2599:
	mov	QWORD PTR -160[rbp], 1
	jmp	.L2601
.L2604:
	mov	QWORD PTR -160[rbp], 0
.L2601:
	mov	eax, DWORD PTR -172[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -168[rbp]
	mov	BYTE PTR [rax], dl
	mov	DWORD PTR -24[rbp], 0
	lea	rax, -160[rbp]
	add	rax, 8
	mov	rdi, rax
	call	sigfillset@PLT
	lea	rcx, -160[rbp]
	mov	eax, DWORD PTR -180[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	edi, eax
	call	sigaction@PLT
	jmp	.L2575
.L2609:
	nop
	jmp	.L2575
.L2610:
	nop
.L2575:
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L2603
	call	__stack_chk_fail@PLT
.L2603:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE254:
	.size	setsignal, .-setsignal
	.globl	ignoresig
	.type	ignoresig, @function
ignoresig:
.LFB255:
	.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 -4[rbp]
	sub	eax, 1
	cdqe
	lea	rdx, sigmode[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	cmp	al, 3
	je	.L2612
	mov	eax, DWORD PTR -4[rbp]
	sub	eax, 1
	cdqe
	lea	rdx, sigmode[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	cmp	al, 4
	je	.L2612
	mov	eax, DWORD PTR -4[rbp]
	mov	esi, 1
	mov	edi, eax
	call	signal@PLT
.L2612:
	mov	eax, DWORD PTR -4[rbp]
	sub	eax, 1
	cdqe
	lea	rdx, sigmode[rip]
	mov	BYTE PTR [rax+rdx], 4
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE255:
	.size	ignoresig, .-ignoresig
	.globl	onsig
	.type	onsig, @function
onsig:
.LFB256:
	.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], 17
	jne	.L2614
	mov	DWORD PTR gotsigchld[rip], 1
	mov	rax, QWORD PTR trap[rip+136]
	test	rax, rax
	je	.L2617
.L2614:
	mov	eax, DWORD PTR -4[rbp]
	sub	eax, 1
	cdqe
	lea	rdx, gotsig[rip]
	mov	BYTE PTR [rax+rdx], 1
	mov	eax, DWORD PTR -4[rbp]
	mov	DWORD PTR pendingsigs[rip], eax
	cmp	DWORD PTR -4[rbp], 2
	jne	.L2613
	mov	rax, QWORD PTR trap[rip+16]
	test	rax, rax
	jne	.L2613
	mov	eax, DWORD PTR suppressint[rip]
	test	eax, eax
	jne	.L2616
	call	onint
.L2616:
	mov	DWORD PTR intpending[rip], 1
	jmp	.L2613
.L2617:
	nop
.L2613:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE256:
	.size	onsig, .-onsig
	.globl	dotrap
	.type	dotrap, @function
dotrap:
.LFB257:
	.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	eax, DWORD PTR exitstatus[rip]
	mov	DWORD PTR -20[rbp], eax
	mov	DWORD PTR pendingsigs[rip], 0
	mov	DWORD PTR -24[rbp], 0
	lea	rax, gotsig[rip]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L2619
.L2624:
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L2625
	mov	rax, QWORD PTR -16[rbp]
	mov	BYTE PTR [rax], 0
	mov	eax, DWORD PTR -24[rbp]
	add	eax, 1
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, trap[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L2626
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	evalstring
	mov	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR exitstatus[rip], eax
	mov	eax, DWORD PTR evalskip[rip]
	test	eax, eax
	jne	.L2627
	jmp	.L2621
.L2625:
	nop
	jmp	.L2621
.L2626:
	nop
.L2621:
	add	DWORD PTR -24[rbp], 1
	add	QWORD PTR -16[rbp], 1
.L2619:
	cmp	DWORD PTR -24[rbp], 63
	jle	.L2624
	jmp	.L2628
.L2627:
	nop
.L2628:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE257:
	.size	dotrap, .-dotrap
	.globl	setinteractive
	.type	setinteractive, @function
setinteractive:
.LFB258:
	.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
	add	DWORD PTR -4[rbp], 1
	mov	eax, DWORD PTR is_interactive.1[rip]
	cmp	DWORD PTR -4[rbp], eax
	je	.L2632
	mov	eax, DWORD PTR -4[rbp]
	mov	DWORD PTR is_interactive.1[rip], eax
	mov	edi, 2
	call	setsignal
	mov	edi, 3
	call	setsignal
	mov	edi, 15
	call	setsignal
	jmp	.L2629
.L2632:
	nop
.L2629:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE258:
	.size	setinteractive, .-setinteractive
	.globl	exitshell
	.type	exitshell, @function
exitshell:
.LFB259:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 224
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	eax, DWORD PTR exitstatus[rip]
	mov	DWORD PTR -220[rbp], eax
	lea	rax, -208[rbp]
	mov	rdi, rax
	call	_setjmp@PLT
	endbr64
	test	eax, eax
	je	.L2635
	mov	eax, DWORD PTR exception[rip]
	cmp	eax, 4
	jne	.L2641
	mov	eax, DWORD PTR exitstatus[rip]
	mov	DWORD PTR -220[rbp], eax
	jmp	.L2641
.L2635:
	lea	rax, -208[rbp]
	mov	QWORD PTR handler[rip], rax
	mov	rax, QWORD PTR trap[rip]
	mov	QWORD PTR -216[rbp], rax
	cmp	QWORD PTR -216[rbp], 0
	je	.L2642
	mov	QWORD PTR trap[rip], 0
	mov	DWORD PTR evalskip[rip], 0
	mov	rax, QWORD PTR -216[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	evalstring
	jmp	.L2640
.L2637:
.L2641:
	nop
	jmp	.L2640
.L2642:
	nop
.L2640:
	lea	rax, -208[rbp]
	mov	rdi, rax
	call	_setjmp@PLT
	endbr64
	test	eax, eax
	sete	al
	movzx	eax, al
	test	rax, rax
	je	.L2638
	mov	edi, 0
	call	setjobctl
.L2638:
	call	flushall
	mov	eax, DWORD PTR -220[rbp]
	mov	edi, eax
	call	_exit@PLT
	.cfi_endproc
.LFE259:
	.size	exitshell, .-exitshell
	.globl	decode_signal
	.type	decode_signal, @function
decode_signal:
.LFB260:
	.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 -28[rbp], esi
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	is_number
	test	eax, eax
	je	.L2644
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	atoi@PLT
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 64
	jle	.L2645
	mov	eax, -1
	jmp	.L2646
.L2645:
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L2646
.L2644:
	mov	eax, DWORD PTR -28[rbp]
	mov	DWORD PTR -4[rbp], eax
	jmp	.L2647
.L2649:
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, signal_names[rip]
	mov	rax, QWORD PTR [rdx+rax]
	test	rax, rax
	je	.L2648
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, signal_names[rip]
	mov	rdx, QWORD PTR [rdx+rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcasecmp@PLT
	test	eax, eax
	jne	.L2648
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L2646
.L2648:
	add	DWORD PTR -4[rbp], 1
.L2647:
	cmp	DWORD PTR -4[rbp], 64
	jle	.L2649
	mov	eax, -1
.L2646:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE260:
	.size	decode_signal, .-decode_signal
	.globl	output
	.data
	.align 32
	.type	output, @object
	.size	output, 40
output:
	.quad	0
	.quad	0
	.quad	0
	.quad	8192
	.long	1
	.long	0
	.globl	errout
	.align 32
	.type	errout, @object
	.size	errout, 40
errout:
	.quad	0
	.quad	0
	.quad	0
	.quad	0
	.long	2
	.long	0
	.globl	preverrout
	.bss
	.align 32
	.type	preverrout, @object
	.size	preverrout, 40
preverrout:
	.zero	40
	.globl	out1
	.section	.data.rel.local
	.align 8
	.type	out1, @object
	.size	out1, 8
out1:
	.quad	output
	.globl	out2
	.align 8
	.type	out2, @object
	.size	out2, 8
out2:
	.quad	errout
	.text
	.type	__outstr, @function
__outstr:
.LFB261:
	.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 -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	QWORD PTR -56[rbp], rdx
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, rdx
	sub	rax, rcx
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	cmp	rax, QWORD PTR -48[rbp]
	jb	.L2651
	nop
	jmp	.L2652
.L2665:
	nop
.L2652:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -48[rbp]
	mov	rcx, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	mempcpy@PLT
	mov	rdx, QWORD PTR -56[rbp]
	mov	QWORD PTR [rdx], rax
	jmp	.L2650
.L2651:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], 0
	je	.L2654
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 16[rax]
	test	rax, rax
	jne	.L2655
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 32[rax]
	cmp	eax, -3
	jne	.L2656
	mov	rax, QWORD PTR -48[rbp]
	cmp	rax, QWORD PTR -24[rbp]
	jbe	.L2656
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR -24[rbp], rax
.L2656:
	mov	QWORD PTR -16[rbp], 0
	jmp	.L2657
.L2655:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 32[rax]
	cmp	eax, -3
	jne	.L2658
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	cmp	rax, QWORD PTR -48[rbp]
	jb	.L2659
	sal	QWORD PTR -24[rbp]
	jmp	.L2660
.L2659:
	mov	rax, QWORD PTR -48[rbp]
	add	QWORD PTR -24[rbp], rax
.L2660:
	mov	rax, QWORD PTR -24[rbp]
	cmp	rax, QWORD PTR -16[rbp]
	jb	.L2664
	nop
.L2657:
	mov	eax, DWORD PTR suppressint[rip]
	add	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdx, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	ckrealloc
	mov	rdx, QWORD PTR -56[rbp]
	mov	QWORD PTR 16[rdx], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -24[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -16[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, DWORD PTR suppressint[rip]
	sub	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	eax, DWORD PTR suppressint[rip]
	test	eax, eax
	jne	.L2654
	mov	eax, DWORD PTR intpending[rip]
	test	eax, eax
	je	.L2654
	call	onint
	jmp	.L2654
.L2658:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	flushout
.L2654:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, rdx
	sub	rax, rcx
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	cmp	rax, QWORD PTR -48[rbp]
	ja	.L2665
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 32[rax]
	mov	rdx, QWORD PTR -48[rbp]
	mov	rcx, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	edi, eax
	call	xwrite
	test	eax, eax
	je	.L2650
	jmp	.L2661
.L2664:
	nop
.L2661:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 36[rax]
	or	eax, 1
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 36[rax], edx
.L2650:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE261:
	.size	__outstr, .-__outstr
	.globl	outstr
	.type	outstr, @function
outstr:
.LFB262:
	.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
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rdx, QWORD PTR -32[rbp]
	mov	rcx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	__outstr
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE262:
	.size	outstr, .-outstr
	.globl	outcslow
	.type	outcslow, @function
outcslow:
.LFB263:
	.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	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	eax, DWORD PTR -20[rbp]
	mov	BYTE PTR -9[rbp], al
	mov	rdx, QWORD PTR -32[rbp]
	lea	rax, -9[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	__outstr
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L2668
	call	__stack_chk_fail@PLT
.L2668:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE263:
	.size	outcslow, .-outcslow
	.globl	flushall
	.type	flushall, @function
flushall:
.LFB264:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	lea	rdi, output[rip]
	call	flushout
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE264:
	.size	flushall, .-flushall
	.globl	flushout
	.type	flushout, @function
flushout:
.LFB265:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 16[rax]
	mov	rax, rdx
	sub	rax, rcx
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L2674
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 32[rax]
	test	eax, eax
	js	.L2674
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 32[rax]
	mov	rdx, QWORD PTR -8[rbp]
	mov	rsi, rcx
	mov	edi, eax
	call	xwrite
	test	eax, eax
	je	.L2670
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 36[rax]
	or	eax, 1
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 36[rax], edx
	jmp	.L2670
.L2674:
	nop
.L2670:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE265:
	.size	flushout, .-flushout
	.globl	outfmt
	.type	outfmt, @function
outfmt:
.LFB266:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 224
	mov	QWORD PTR -216[rbp], rdi
	mov	QWORD PTR -224[rbp], rsi
	mov	QWORD PTR -160[rbp], rdx
	mov	QWORD PTR -152[rbp], rcx
	mov	QWORD PTR -144[rbp], r8
	mov	QWORD PTR -136[rbp], r9
	test	al, al
	je	.L2676
	movaps	XMMWORD PTR -128[rbp], xmm0
	movaps	XMMWORD PTR -112[rbp], xmm1
	movaps	XMMWORD PTR -96[rbp], xmm2
	movaps	XMMWORD PTR -80[rbp], xmm3
	movaps	XMMWORD PTR -64[rbp], xmm4
	movaps	XMMWORD PTR -48[rbp], xmm5
	movaps	XMMWORD PTR -32[rbp], xmm6
	movaps	XMMWORD PTR -16[rbp], xmm7
.L2676:
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -184[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -208[rbp], 16
	mov	DWORD PTR -204[rbp], 48
	lea	rax, 16[rbp]
	mov	QWORD PTR -200[rbp], rax
	lea	rax, -176[rbp]
	mov	QWORD PTR -192[rbp], rax
	lea	rdx, -208[rbp]
	mov	rcx, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR -216[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	doformat
	nop
	mov	rax, QWORD PTR -184[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L2677
	call	__stack_chk_fail@PLT
.L2677:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE266:
	.size	outfmt, .-outfmt
	.globl	out1fmt
	.type	out1fmt, @function
out1fmt:
.LFB267:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 224
	mov	QWORD PTR -216[rbp], rdi
	mov	QWORD PTR -168[rbp], rsi
	mov	QWORD PTR -160[rbp], rdx
	mov	QWORD PTR -152[rbp], rcx
	mov	QWORD PTR -144[rbp], r8
	mov	QWORD PTR -136[rbp], r9
	test	al, al
	je	.L2679
	movaps	XMMWORD PTR -128[rbp], xmm0
	movaps	XMMWORD PTR -112[rbp], xmm1
	movaps	XMMWORD PTR -96[rbp], xmm2
	movaps	XMMWORD PTR -80[rbp], xmm3
	movaps	XMMWORD PTR -64[rbp], xmm4
	movaps	XMMWORD PTR -48[rbp], xmm5
	movaps	XMMWORD PTR -32[rbp], xmm6
	movaps	XMMWORD PTR -16[rbp], xmm7
.L2679:
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -184[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -208[rbp], 8
	mov	DWORD PTR -204[rbp], 48
	lea	rax, 16[rbp]
	mov	QWORD PTR -200[rbp], rax
	lea	rax, -176[rbp]
	mov	QWORD PTR -192[rbp], rax
	mov	rax, QWORD PTR out1[rip]
	lea	rdx, -208[rbp]
	mov	rcx, QWORD PTR -216[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	doformat
	nop
	mov	rax, QWORD PTR -184[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L2680
	call	__stack_chk_fail@PLT
.L2680:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE267:
	.size	out1fmt, .-out1fmt
	.globl	fmtstr
	.type	fmtstr, @function
fmtstr:
.LFB268:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 256
	mov	QWORD PTR -232[rbp], rdi
	mov	QWORD PTR -240[rbp], rsi
	mov	QWORD PTR -248[rbp], rdx
	mov	QWORD PTR -152[rbp], rcx
	mov	QWORD PTR -144[rbp], r8
	mov	QWORD PTR -136[rbp], r9
	test	al, al
	je	.L2682
	movaps	XMMWORD PTR -128[rbp], xmm0
	movaps	XMMWORD PTR -112[rbp], xmm1
	movaps	XMMWORD PTR -96[rbp], xmm2
	movaps	XMMWORD PTR -80[rbp], xmm3
	movaps	XMMWORD PTR -64[rbp], xmm4
	movaps	XMMWORD PTR -48[rbp], xmm5
	movaps	XMMWORD PTR -32[rbp], xmm6
	movaps	XMMWORD PTR -16[rbp], xmm7
.L2682:
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -184[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -208[rbp], 24
	mov	DWORD PTR -204[rbp], 48
	lea	rax, 16[rbp]
	mov	QWORD PTR -200[rbp], rax
	lea	rax, -176[rbp]
	mov	QWORD PTR -192[rbp], rax
	lea	rcx, -208[rbp]
	mov	rdx, QWORD PTR -248[rbp]
	mov	rsi, QWORD PTR -240[rbp]
	mov	rax, QWORD PTR -232[rbp]
	mov	rdi, rax
	call	xvsnprintf
	mov	DWORD PTR -212[rbp], eax
	mov	eax, DWORD PTR -212[rbp]
	mov	rdi, QWORD PTR -184[rbp]
	sub	rdi, QWORD PTR fs:40
	je	.L2684
	call	__stack_chk_fail@PLT
.L2684:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE268:
	.size	fmtstr, .-fmtstr
	.globl	doformat
	.type	doformat, @function
doformat:
.LFB269:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	add	rsp, -128
	mov	QWORD PTR -104[rbp], rdi
	mov	QWORD PTR -112[rbp], rsi
	mov	QWORD PTR -120[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rcx, -32[rbp]
	mov	rsi, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR [rsi]
	mov	rdx, QWORD PTR 8[rsi]
	mov	QWORD PTR [rcx], rax
	mov	QWORD PTR 8[rcx], rdx
	mov	rax, QWORD PTR 16[rsi]
	mov	QWORD PTR 16[rcx], rax
	mov	rax, QWORD PTR -104[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, rdx
	sub	rax, rcx
	mov	QWORD PTR -80[rbp], rax
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rcx, -32[rbp]
	mov	rdx, QWORD PTR -112[rbp]
	mov	rsi, QWORD PTR -80[rbp]
	mov	rdi, rax
	call	xvsnprintf
	mov	DWORD PTR -88[rbp], eax
	cmp	DWORD PTR -88[rbp], 0
	jns	.L2686
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 36[rax]
	or	eax, 1
	mov	edx, eax
	mov	rax, QWORD PTR -104[rbp]
	mov	DWORD PTR 36[rax], edx
	jmp	.L2685
.L2686:
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	cmp	QWORD PTR -80[rbp], rax
	jbe	.L2688
	mov	rax, QWORD PTR -104[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	add	rdx, rax
	mov	rax, QWORD PTR -104[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L2685
.L2688:
	lea	rax, -64[rbp]
	mov	rdi, rax
	call	setstackmark
	mov	eax, DWORD PTR -88[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR stacknleft[rip]
	cmp	rdx, rax
	cmovnb	rax, rdx
	add	rax, 1
	mov	rdi, rax
	call	stalloc
	mov	QWORD PTR -72[rbp], rax
	mov	eax, DWORD PTR -88[rbp]
	add	eax, 1
	movsx	rsi, eax
	mov	rcx, QWORD PTR -120[rbp]
	mov	rdx, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	call	xvsnprintf
	mov	DWORD PTR -84[rbp], eax
	mov	eax, DWORD PTR -84[rbp]
	cmp	eax, DWORD PTR -88[rbp]
	jne	.L2689
	mov	eax, DWORD PTR -88[rbp]
	movsx	rcx, eax
	mov	rdx, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	__outstr
	jmp	.L2690
.L2689:
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 36[rax]
	or	eax, 1
	mov	edx, eax
	mov	rax, QWORD PTR -104[rbp]
	mov	DWORD PTR 36[rax], edx
.L2690:
	lea	rax, -64[rbp]
	mov	rdi, rax
	call	popstackmark
.L2685:
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L2692
	call	__stack_chk_fail@PLT
.L2692:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE269:
	.size	doformat, .-doformat
	.globl	xwrite
	.type	xwrite, @function
xwrite:
.LFB270:
	.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 -36[rbp], edi
	mov	QWORD PTR -48[rbp], rsi
	mov	QWORD PTR -56[rbp], rdx
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR -24[rbp], rax
	jmp	.L2694
.L2700:
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	test	rax, rax
	jns	.L2697
	movabs	rax, 9223372036854775807
	mov	QWORD PTR -16[rbp], rax
.L2697:
	mov	rdx, QWORD PTR -16[rbp]
	mov	rcx, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR -36[rbp]
	mov	rsi, rcx
	mov	edi, eax
	call	write@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jns	.L2696
	mov	rax, QWORD PTR dash_errno[rip]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 4
	je	.L2697
.L2696:
	cmp	QWORD PTR -8[rbp], 0
	jns	.L2698
	mov	eax, -1
	jmp	.L2699
.L2698:
	mov	rax, QWORD PTR -8[rbp]
	add	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	sub	QWORD PTR -56[rbp], rax
.L2694:
	cmp	QWORD PTR -56[rbp], 0
	jne	.L2700
	mov	eax, 0
.L2699:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE270:
	.size	xwrite, .-xwrite
	.type	xvsnprintf, @function
xvsnprintf:
.LFB271:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	QWORD PTR -48[rbp], rcx
	mov	eax, DWORD PTR suppressint[rip]
	add	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	rcx, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	rsi, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	vsnprintf@PLT
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR suppressint[rip]
	sub	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	eax, DWORD PTR suppressint[rip]
	test	eax, eax
	jne	.L2702
	mov	eax, DWORD PTR intpending[rip]
	test	eax, eax
	je	.L2702
	call	onint
.L2702:
	mov	eax, DWORD PTR -4[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE271:
	.size	xvsnprintf, .-xvsnprintf
	.local	rval
	.comm	rval,4,4
	.local	gargv
	.comm	gargv,8,8
	.section	.rodata
	.align 8
.LC248:
	.string	"usage: printf format [arg ...]"
.LC249:
	.string	"#-+ 0"
.LC250:
	.string	"*0123456789"
.LC251:
	.string	"missing format character"
.LC252:
	.string	"%s: invalid directive"
	.text
	.globl	printfcmd
	.type	printfcmd, @function
printfcmd:
.LFB272:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 144
	mov	DWORD PTR -132[rbp], edi
	mov	QWORD PTR -144[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR rval[rip], 0
	lea	rdi, nullstr[rip]
	call	nextopt
	mov	rax, QWORD PTR argptr[rip]
	mov	QWORD PTR -144[rbp], rax
	mov	rax, QWORD PTR -144[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -88[rbp], rax
	cmp	QWORD PTR -88[rbp], 0
	jne	.L2705
	lea	rdi, .LC248[rip]
	mov	eax, 0
	call	sh_warnx
	jmp	.L2706
.L2705:
	add	QWORD PTR -144[rbp], 8
	mov	rax, QWORD PTR -144[rbp]
	mov	QWORD PTR gargv[rip], rax
.L2746:
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR -104[rbp], rax
	jmp	.L2707
.L2745:
	cmp	DWORD PTR -116[rbp], 92
	jne	.L2708
	lea	rdx, -120[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	conv_escape
	mov	QWORD PTR -104[rbp], rax
	mov	eax, DWORD PTR -120[rbp]
	mov	DWORD PTR -116[rbp], eax
	jmp	.L2709
.L2708:
	cmp	DWORD PTR -116[rbp], 37
	jne	.L2749
	mov	rax, QWORD PTR -104[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 37
	jne	.L2710
	add	QWORD PTR -104[rbp], 1
.L2749:
	nop
.L2709:
	mov	rdx, QWORD PTR out1[rip]
	mov	eax, DWORD PTR -116[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	outc
	jmp	.L2707
.L2710:
	mov	rax, QWORD PTR -104[rbp]
	sub	rax, 1
	mov	QWORD PTR -80[rbp], rax
	lea	rax, -16[rbp]
	mov	QWORD PTR -96[rbp], rax
	mov	rax, QWORD PTR -104[rbp]
	lea	rsi, .LC249[rip]
	mov	rdi, rax
	call	strspn@PLT
	add	QWORD PTR -104[rbp], rax
	mov	rax, QWORD PTR -104[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 42
	jne	.L2711
	call	getintmax
	mov	rdx, rax
	mov	rax, QWORD PTR -96[rbp]
	lea	rcx, 4[rax]
	mov	QWORD PTR -96[rbp], rcx
	mov	DWORD PTR [rax], edx
.L2711:
	mov	rax, QWORD PTR -104[rbp]
	lea	rsi, .LC250[rip]
	mov	rdi, rax
	call	strspn@PLT
	add	QWORD PTR -104[rbp], rax
	mov	rax, QWORD PTR -104[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 46
	jne	.L2712
	add	QWORD PTR -104[rbp], 1
.L2712:
	mov	rax, QWORD PTR -104[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 42
	jne	.L2713
	call	getintmax
	mov	rdx, rax
	mov	rax, QWORD PTR -96[rbp]
	lea	rcx, 4[rax]
	mov	QWORD PTR -96[rbp], rcx
	mov	DWORD PTR [rax], edx
.L2713:
	mov	rax, QWORD PTR -104[rbp]
	lea	rsi, .LC250[rip]
	mov	rdi, rax
	call	strspn@PLT
	add	QWORD PTR -104[rbp], rax
	mov	rax, QWORD PTR -104[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	DWORD PTR -116[rbp], eax
	cmp	DWORD PTR -116[rbp], 0
	jne	.L2714
	lea	rdi, .LC251[rip]
	mov	eax, 0
	call	sh_warnx
	jmp	.L2706
.L2714:
	mov	rax, QWORD PTR -104[rbp]
	movzx	eax, BYTE PTR 1[rax]
	mov	BYTE PTR -121[rbp], al
	mov	rax, QWORD PTR -104[rbp]
	add	rax, 1
	mov	BYTE PTR [rax], 0
	mov	eax, DWORD PTR -116[rbp]
	sub	eax, 69
	cmp	eax, 51
	ja	.L2716
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L2718[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L2718[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L2718:
	.long	.L2721-.L2718
	.long	.L2716-.L2718
	.long	.L2721-.L2718
	.long	.L2716-.L2718
	.long	.L2716-.L2718
	.long	.L2716-.L2718
	.long	.L2716-.L2718
	.long	.L2716-.L2718
	.long	.L2716-.L2718
	.long	.L2716-.L2718
	.long	.L2716-.L2718
	.long	.L2716-.L2718
	.long	.L2716-.L2718
	.long	.L2716-.L2718
	.long	.L2716-.L2718
	.long	.L2716-.L2718
	.long	.L2716-.L2718
	.long	.L2716-.L2718
	.long	.L2716-.L2718
	.long	.L2717-.L2718
	.long	.L2716-.L2718
	.long	.L2716-.L2718
	.long	.L2716-.L2718
	.long	.L2716-.L2718
	.long	.L2716-.L2718
	.long	.L2716-.L2718
	.long	.L2716-.L2718
	.long	.L2716-.L2718
	.long	.L2716-.L2718
	.long	.L2723-.L2718
	.long	.L2722-.L2718
	.long	.L2720-.L2718
	.long	.L2721-.L2718
	.long	.L2721-.L2718
	.long	.L2721-.L2718
	.long	.L2716-.L2718
	.long	.L2720-.L2718
	.long	.L2716-.L2718
	.long	.L2716-.L2718
	.long	.L2716-.L2718
	.long	.L2716-.L2718
	.long	.L2716-.L2718
	.long	.L2717-.L2718
	.long	.L2716-.L2718
	.long	.L2716-.L2718
	.long	.L2716-.L2718
	.long	.L2719-.L2718
	.long	.L2716-.L2718
	.long	.L2717-.L2718
	.long	.L2716-.L2718
	.long	.L2716-.L2718
	.long	.L2717-.L2718
	.text
.L2723:
	call	getstr
	mov	rdi, rax
	call	conv_escape_str
	mov	DWORD PTR -108[rbp], eax
	mov	rax, QWORD PTR stacknxt[rip]
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -104[rbp]
	mov	BYTE PTR [rax], 115
	lea	rdx, -16[rbp]
	mov	rax, QWORD PTR -96[rbp]
	sub	rax, rdx
	test	rax, rax
	je	.L2724
	cmp	rax, 4
	je	.L2725
	mov	edx, DWORD PTR -12[rbp]
	mov	esi, DWORD PTR -16[rbp]
	mov	rcx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -80[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	out1fmt
	jmp	.L2750
.L2725:
	mov	ecx, DWORD PTR -16[rbp]
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -80[rbp]
	mov	esi, ecx
	mov	rdi, rax
	mov	eax, 0
	call	out1fmt
	jmp	.L2750
.L2724:
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -80[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	out1fmt
.L2750:
	nop
	cmp	DWORD PTR -108[rbp], 0
	jne	.L2751
	mov	rax, QWORD PTR -104[rbp]
	mov	BYTE PTR [rax], 98
	jmp	.L2729
.L2722:
	call	getchr
	mov	DWORD PTR -112[rbp], eax
	lea	rdx, -16[rbp]
	mov	rax, QWORD PTR -96[rbp]
	sub	rax, rdx
	test	rax, rax
	je	.L2730
	cmp	rax, 4
	je	.L2731
	mov	edx, DWORD PTR -12[rbp]
	mov	esi, DWORD PTR -16[rbp]
	mov	ecx, DWORD PTR -112[rbp]
	mov	rax, QWORD PTR -80[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	out1fmt
	jmp	.L2752
.L2731:
	mov	ecx, DWORD PTR -16[rbp]
	mov	edx, DWORD PTR -112[rbp]
	mov	rax, QWORD PTR -80[rbp]
	mov	esi, ecx
	mov	rdi, rax
	mov	eax, 0
	call	out1fmt
	jmp	.L2752
.L2730:
	mov	edx, DWORD PTR -112[rbp]
	mov	rax, QWORD PTR -80[rbp]
	mov	esi, edx
	mov	rdi, rax
	mov	eax, 0
	call	out1fmt
.L2752:
	nop
	jmp	.L2729
.L2719:
	call	getstr
	mov	QWORD PTR -72[rbp], rax
	lea	rdx, -16[rbp]
	mov	rax, QWORD PTR -96[rbp]
	sub	rax, rdx
	test	rax, rax
	je	.L2733
	cmp	rax, 4
	je	.L2734
	mov	edx, DWORD PTR -12[rbp]
	mov	esi, DWORD PTR -16[rbp]
	mov	rcx, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR -80[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	out1fmt
	jmp	.L2753
.L2734:
	mov	ecx, DWORD PTR -16[rbp]
	mov	rdx, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR -80[rbp]
	mov	esi, ecx
	mov	rdi, rax
	mov	eax, 0
	call	out1fmt
	jmp	.L2753
.L2733:
	mov	rdx, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR -80[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	out1fmt
.L2753:
	nop
	jmp	.L2729
.L2720:
	call	getintmax
	mov	QWORD PTR -64[rbp], rax
	mov	rdx, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR -80[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	mklong
	mov	QWORD PTR -56[rbp], rax
	lea	rdx, -16[rbp]
	mov	rax, QWORD PTR -96[rbp]
	sub	rax, rdx
	test	rax, rax
	je	.L2736
	cmp	rax, 4
	je	.L2737
	mov	edx, DWORD PTR -12[rbp]
	mov	esi, DWORD PTR -16[rbp]
	mov	rcx, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	out1fmt
	jmp	.L2754
.L2737:
	mov	ecx, DWORD PTR -16[rbp]
	mov	rdx, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	esi, ecx
	mov	rdi, rax
	mov	eax, 0
	call	out1fmt
	jmp	.L2754
.L2736:
	mov	rdx, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	out1fmt
.L2754:
	nop
	jmp	.L2729
.L2717:
	call	getuintmax
	mov	QWORD PTR -40[rbp], rax
	mov	rdx, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR -80[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	mklong
	mov	QWORD PTR -32[rbp], rax
	lea	rdx, -16[rbp]
	mov	rax, QWORD PTR -96[rbp]
	sub	rax, rdx
	test	rax, rax
	je	.L2739
	cmp	rax, 4
	je	.L2740
	mov	edx, DWORD PTR -12[rbp]
	mov	esi, DWORD PTR -16[rbp]
	mov	rcx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	out1fmt
	jmp	.L2755
.L2740:
	mov	ecx, DWORD PTR -16[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	esi, ecx
	mov	rdi, rax
	mov	eax, 0
	call	out1fmt
	jmp	.L2755
.L2739:
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	out1fmt
.L2755:
	nop
	jmp	.L2729
.L2721:
	call	getdouble
	movq	rax, xmm0
	mov	QWORD PTR -24[rbp], rax
	lea	rdx, -16[rbp]
	mov	rax, QWORD PTR -96[rbp]
	sub	rax, rdx
	test	rax, rax
	je	.L2742
	cmp	rax, 4
	je	.L2743
	mov	edx, DWORD PTR -12[rbp]
	mov	ecx, DWORD PTR -16[rbp]
	mov	rsi, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -80[rbp]
	movq	xmm0, rsi
	mov	esi, ecx
	mov	rdi, rax
	mov	eax, 1
	call	out1fmt
	jmp	.L2756
.L2743:
	mov	edx, DWORD PTR -16[rbp]
	mov	rcx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -80[rbp]
	movq	xmm0, rcx
	mov	esi, edx
	mov	rdi, rax
	mov	eax, 1
	call	out1fmt
	jmp	.L2756
.L2742:
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -80[rbp]
	movq	xmm0, rdx
	mov	rdi, rax
	mov	eax, 1
	call	out1fmt
.L2756:
	nop
	jmp	.L2729
.L2716:
	mov	rax, QWORD PTR -80[rbp]
	mov	rsi, rax
	lea	rdi, .LC252[rip]
	mov	eax, 0
	call	sh_warnx
	jmp	.L2706
.L2729:
	add	QWORD PTR -104[rbp], 1
	mov	rax, QWORD PTR -104[rbp]
	movzx	edx, BYTE PTR -121[rbp]
	mov	BYTE PTR [rax], dl
.L2707:
	mov	rax, QWORD PTR -104[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -104[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	DWORD PTR -116[rbp], eax
	cmp	DWORD PTR -116[rbp], 0
	jne	.L2745
	mov	rax, QWORD PTR gargv[rip]
	cmp	QWORD PTR -144[rbp], rax
	je	.L2757
	mov	rax, QWORD PTR gargv[rip]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L2746
	jmp	.L2757
.L2751:
	nop
	jmp	.L2728
.L2757:
	nop
.L2728:
	mov	eax, DWORD PTR rval[rip]
	jmp	.L2747
.L2706:
	mov	eax, 1
.L2747:
	mov	rdi, QWORD PTR -8[rbp]
	sub	rdi, QWORD PTR fs:40
	je	.L2748
	call	__stack_chk_fail@PLT
.L2748:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE272:
	.size	printfcmd, .-printfcmd
	.type	conv_escape_str, @function
conv_escape_str:
.LFB273:
	.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	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR stacknxt[rip]
	mov	QWORD PTR -16[rbp], rax
.L2767:
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -40[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	DWORD PTR -24[rbp], eax
	cmp	DWORD PTR -24[rbp], 92
	jne	.L2771
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -40[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	DWORD PTR -24[rbp], eax
	cmp	DWORD PTR -24[rbp], 99
	jne	.L2761
	mov	DWORD PTR -24[rbp], 256
	jmp	.L2766
.L2761:
	cmp	DWORD PTR -24[rbp], 48
	jne	.L2762
	mov	BYTE PTR -29[rbp], 3
	mov	DWORD PTR -24[rbp], 0
.L2765:
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	sub	eax, 48
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], 7
	ja	.L2772
	add	QWORD PTR -40[rbp], 1
	sal	DWORD PTR -24[rbp], 3
	mov	edx, DWORD PTR -24[rbp]
	mov	eax, DWORD PTR -20[rbp]
	add	eax, edx
	mov	DWORD PTR -24[rbp], eax
	sub	BYTE PTR -29[rbp], 1
	cmp	BYTE PTR -29[rbp], 0
	jne	.L2765
	jmp	.L2766
.L2772:
	nop
	jmp	.L2766
.L2762:
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, -1[rax]
	lea	rax, -28[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	call	conv_escape
	mov	QWORD PTR -40[rbp], rax
	mov	eax, DWORD PTR -28[rbp]
	mov	DWORD PTR -24[rbp], eax
	jmp	.L2766
.L2771:
	nop
.L2766:
	mov	rdx, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	_STPUTC
	mov	QWORD PTR -16[rbp], rax
	mov	eax, DWORD PTR -24[rbp]
	test	al, al
	jne	.L2767
	mov	eax, DWORD PTR -24[rbp]
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L2769
	call	__stack_chk_fail@PLT
.L2769:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE273:
	.size	conv_escape_str, .-conv_escape_str
	.type	conv_escape, @function
conv_escape:
.LFB274:
	.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
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	sub	eax, 48
	cmp	eax, 70
	ja	.L2774
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L2776[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L2776[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L2776:
	.long	.L2784-.L2776
	.long	.L2784-.L2776
	.long	.L2784-.L2776
	.long	.L2784-.L2776
	.long	.L2784-.L2776
	.long	.L2784-.L2776
	.long	.L2784-.L2776
	.long	.L2784-.L2776
	.long	.L2774-.L2776
	.long	.L2774-.L2776
	.long	.L2774-.L2776
	.long	.L2774-.L2776
	.long	.L2774-.L2776
	.long	.L2774-.L2776
	.long	.L2774-.L2776
	.long	.L2774-.L2776
	.long	.L2774-.L2776
	.long	.L2774-.L2776
	.long	.L2774-.L2776
	.long	.L2774-.L2776
	.long	.L2774-.L2776
	.long	.L2774-.L2776
	.long	.L2774-.L2776
	.long	.L2774-.L2776
	.long	.L2774-.L2776
	.long	.L2774-.L2776
	.long	.L2774-.L2776
	.long	.L2774-.L2776
	.long	.L2774-.L2776
	.long	.L2774-.L2776
	.long	.L2774-.L2776
	.long	.L2774-.L2776
	.long	.L2774-.L2776
	.long	.L2774-.L2776
	.long	.L2774-.L2776
	.long	.L2774-.L2776
	.long	.L2774-.L2776
	.long	.L2774-.L2776
	.long	.L2774-.L2776
	.long	.L2774-.L2776
	.long	.L2774-.L2776
	.long	.L2774-.L2776
	.long	.L2774-.L2776
	.long	.L2774-.L2776
	.long	.L2783-.L2776
	.long	.L2774-.L2776
	.long	.L2774-.L2776
	.long	.L2774-.L2776
	.long	.L2774-.L2776
	.long	.L2782-.L2776
	.long	.L2781-.L2776
	.long	.L2774-.L2776
	.long	.L2774-.L2776
	.long	.L2774-.L2776
	.long	.L2780-.L2776
	.long	.L2774-.L2776
	.long	.L2774-.L2776
	.long	.L2774-.L2776
	.long	.L2774-.L2776
	.long	.L2774-.L2776
	.long	.L2774-.L2776
	.long	.L2774-.L2776
	.long	.L2779-.L2776
	.long	.L2774-.L2776
	.long	.L2774-.L2776
	.long	.L2774-.L2776
	.long	.L2778-.L2776
	.long	.L2774-.L2776
	.long	.L2777-.L2776
	.long	.L2774-.L2776
	.long	.L2775-.L2776
	.text
.L2774:
	mov	DWORD PTR -8[rbp], 92
	jmp	.L2785
.L2784:
	mov	DWORD PTR -4[rbp], 3
	mov	DWORD PTR -8[rbp], 0
.L2787:
	sal	DWORD PTR -8[rbp], 3
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -24[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	sub	eax, 48
	add	DWORD PTR -8[rbp], eax
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 47
	jle	.L2790
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 55
	jg	.L2790
	sub	DWORD PTR -4[rbp], 1
	cmp	DWORD PTR -4[rbp], 0
	jne	.L2787
	jmp	.L2790
.L2783:
	mov	DWORD PTR -8[rbp], 92
	jmp	.L2788
.L2782:
	mov	DWORD PTR -8[rbp], 7
	jmp	.L2788
.L2781:
	mov	DWORD PTR -8[rbp], 8
	jmp	.L2788
.L2780:
	mov	DWORD PTR -8[rbp], 12
	jmp	.L2788
.L2779:
	mov	DWORD PTR -8[rbp], 10
	jmp	.L2788
.L2778:
	mov	DWORD PTR -8[rbp], 13
	jmp	.L2788
.L2777:
	mov	DWORD PTR -8[rbp], 9
	jmp	.L2788
.L2775:
	mov	DWORD PTR -8[rbp], 11
	nop
.L2788:
	add	QWORD PTR -24[rbp], 1
	jmp	.L2785
.L2790:
	nop
.L2785:
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, DWORD PTR -8[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -24[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE274:
	.size	conv_escape, .-conv_escape
	.section	.rodata
.LC253:
	.string	"ld"
	.text
	.type	mklong, @function
mklong:
.LFB275:
	.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	QWORD PTR -48[rbp], rsi
	mov	QWORD PTR -24[rbp], 2
	mov	rax, QWORD PTR -48[rbp]
	sub	rax, QWORD PTR -40[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR stacknxt[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	call	makestrspace
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	sub	rax, QWORD PTR -24[rbp]
	mov	rdx, rax
	mov	rcx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	memcpy@PLT
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, -1[rax]
	mov	rax, QWORD PTR -16[rbp]
	sub	rax, QWORD PTR -24[rbp]
	mov	rcx, rax
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rcx
	lea	rsi, .LC253[rip]
	mov	rdi, rax
	call	memcpy@PLT
	mov	rax, QWORD PTR -16[rbp]
	lea	rdx, -1[rax]
	mov	rax, QWORD PTR -8[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR [rdx], al
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 0
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE275:
	.size	mklong, .-mklong
	.type	getchr, @function
getchr:
.LFB276:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], 0
	mov	rax, QWORD PTR gargv[rip]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L2794
	mov	rax, QWORD PTR gargv[rip]
	lea	rdx, 8[rax]
	mov	QWORD PTR gargv[rip], rdx
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	DWORD PTR -4[rbp], eax
.L2794:
	mov	eax, DWORD PTR -4[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE276:
	.size	getchr, .-getchr
	.type	getstr, @function
getstr:
.LFB277:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	lea	rax, nullstr[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR gargv[rip]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L2797
	mov	rax, QWORD PTR gargv[rip]
	lea	rdx, 8[rax]
	mov	QWORD PTR gargv[rip], rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
.L2797:
	mov	rax, QWORD PTR -8[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE277:
	.size	getstr, .-getstr
	.type	getintmax, @function
getintmax:
.LFB278:
	.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
	mov	QWORD PTR -24[rbp], 0
	mov	rax, QWORD PTR gargv[rip]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	je	.L2806
	mov	rax, QWORD PTR gargv[rip]
	add	rax, 8
	mov	QWORD PTR gargv[rip], rax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 34
	je	.L2807
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 39
	je	.L2807
	mov	rax, QWORD PTR dash_errno[rip]
	mov	DWORD PTR [rax], 0
	lea	rcx, -32[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	strtoimax@PLT
	mov	QWORD PTR -24[rbp], rax
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	check_conversion
	jmp	.L2801
.L2806:
	nop
	jmp	.L2801
.L2807:
	nop
.L2801:
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L2805
	call	__stack_chk_fail@PLT
.L2805:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE278:
	.size	getintmax, .-getintmax
	.type	getuintmax, @function
getuintmax:
.LFB279:
	.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
	mov	QWORD PTR -24[rbp], 0
	mov	rax, QWORD PTR gargv[rip]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	je	.L2815
	mov	rax, QWORD PTR gargv[rip]
	add	rax, 8
	mov	QWORD PTR gargv[rip], rax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 34
	je	.L2816
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 39
	je	.L2816
	mov	rax, QWORD PTR dash_errno[rip]
	mov	DWORD PTR [rax], 0
	lea	rcx, -32[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	strtoumax@PLT
	mov	QWORD PTR -24[rbp], rax
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	check_conversion
	jmp	.L2810
.L2815:
	nop
	jmp	.L2810
.L2816:
	nop
.L2810:
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L2814
	call	__stack_chk_fail@PLT
.L2814:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE279:
	.size	getuintmax, .-getuintmax
	.type	getdouble, @function
getdouble:
.LFB280:
	.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
	mov	rax, QWORD PTR gargv[rip]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], 0
	jne	.L2818
	pxor	xmm0, xmm0
	jmp	.L2822
.L2818:
	mov	rax, QWORD PTR gargv[rip]
	add	rax, 8
	mov	QWORD PTR gargv[rip], rax
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 34
	je	.L2820
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 39
	jne	.L2821
.L2820:
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, eax
	jmp	.L2822
.L2821:
	mov	rax, QWORD PTR dash_errno[rip]
	mov	DWORD PTR [rax], 0
	lea	rdx, -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strtod@PLT
	movq	rax, xmm0
	mov	QWORD PTR -16[rbp], rax
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	check_conversion
	movsd	xmm0, QWORD PTR -16[rbp]
.L2822:
	movq	rax, xmm0
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L2823
	call	__stack_chk_fail@PLT
.L2823:
	movq	xmm0, rax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE280:
	.size	getdouble, .-getdouble
	.section	.rodata
.LC255:
	.string	"%s: expected numeric value"
.LC256:
	.string	"%s: not completely converted"
	.text
	.type	check_conversion, @function
check_conversion:
.LFB281:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L2825
	mov	rax, QWORD PTR -16[rbp]
	cmp	rax, QWORD PTR -8[rbp]
	jne	.L2826
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rax
	lea	rdi, .LC255[rip]
	mov	eax, 0
	call	sh_warnx
	jmp	.L2827
.L2826:
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rax
	lea	rdi, .LC256[rip]
	mov	eax, 0
	call	sh_warnx
.L2827:
	mov	DWORD PTR rval[rip], 1
	jmp	.L2829
.L2825:
	mov	rax, QWORD PTR dash_errno[rip]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 34
	jne	.L2829
	mov	edi, 34
	call	strerror@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rax
	lea	rdi, .LC75[rip]
	mov	eax, 0
	call	sh_warnx
	mov	DWORD PTR rval[rip], 1
.L2829:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE281:
	.size	check_conversion, .-check_conversion
	.section	.rodata
.LC257:
	.string	"-n"
	.text
	.globl	echocmd
	.type	echocmd, @function
echocmd:
.LFB282:
	.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	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -16[rbp], 0
	mov	rax, QWORD PTR out1[rip]
	mov	QWORD PTR -8[rbp], rax
	add	QWORD PTR -32[rbp], 8
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L2839
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rsi, .LC257[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L2833
	not	DWORD PTR -16[rbp]
	add	QWORD PTR -32[rbp], 8
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L2840
.L2833:
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	conv_escape_str
	add	DWORD PTR -16[rbp], eax
	mov	rax, QWORD PTR stacknxt[rip]
	mov	rdx, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	outstr
	cmp	DWORD PTR -16[rbp], 0
	jg	.L2841
	mov	DWORD PTR -12[rbp], 32
	add	QWORD PTR -32[rbp], 8
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L2836
	jmp	.L2832
.L2839:
	nop
	jmp	.L2832
.L2840:
	nop
.L2832:
	cmp	DWORD PTR -16[rbp], 0
	jne	.L2842
	mov	DWORD PTR -12[rbp], 10
.L2836:
	mov	rdx, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR -12[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	outc
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L2833
	jmp	.L2835
.L2841:
	nop
	jmp	.L2835
.L2842:
	nop
.L2835:
	mov	eax, 0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE282:
	.size	echocmd, .-echocmd
	.globl	strchrnul
	.type	strchrnul, @function
strchrnul:
.LFB283:
	.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 -28[rbp], esi
	mov	edx, DWORD PTR -28[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	strchr@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L2844
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	rdx, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	QWORD PTR -8[rbp], rax
.L2844:
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE283:
	.size	strchrnul, .-strchrnul
	.section	.rodata
.LC258:
	.string	"-r"
.LC259:
	.string	"-w"
.LC260:
	.string	"-x"
.LC261:
	.string	"-e"
.LC262:
	.string	"-f"
.LC263:
	.string	"-d"
.LC264:
	.string	"-c"
.LC265:
	.string	"-b"
.LC266:
	.string	"-p"
.LC267:
	.string	"-u"
.LC268:
	.string	"-g"
.LC269:
	.string	"-k"
.LC270:
	.string	"-s"
.LC271:
	.string	"-t"
.LC272:
	.string	"-z"
.LC273:
	.string	"-h"
.LC274:
	.string	"-O"
.LC275:
	.string	"-G"
.LC276:
	.string	"-L"
.LC277:
	.string	"-S"
.LC278:
	.string	"="
.LC279:
	.string	"!="
.LC280:
	.string	"-eq"
.LC281:
	.string	"-ne"
.LC282:
	.string	"-ge"
.LC283:
	.string	"-gt"
.LC284:
	.string	"-le"
.LC285:
	.string	"-lt"
.LC286:
	.string	"-nt"
.LC287:
	.string	"-ot"
.LC288:
	.string	"-ef"
.LC289:
	.string	"-a"
	.section	.data.rel.ro.local
	.align 32
	.type	ops, @object
	.size	ops, 640
ops:
	.quad	.LC258
	.value	1
	.value	0
	.zero	4
	.quad	.LC259
	.value	2
	.value	0
	.zero	4
	.quad	.LC260
	.value	3
	.value	0
	.zero	4
	.quad	.LC261
	.value	4
	.value	0
	.zero	4
	.quad	.LC262
	.value	5
	.value	0
	.zero	4
	.quad	.LC263
	.value	6
	.value	0
	.zero	4
	.quad	.LC264
	.value	7
	.value	0
	.zero	4
	.quad	.LC265
	.value	8
	.value	0
	.zero	4
	.quad	.LC266
	.value	9
	.value	0
	.zero	4
	.quad	.LC267
	.value	14
	.value	0
	.zero	4
	.quad	.LC268
	.value	15
	.value	0
	.zero	4
	.quad	.LC269
	.value	16
	.value	0
	.zero	4
	.quad	.LC270
	.value	12
	.value	0
	.zero	4
	.quad	.LC271
	.value	13
	.value	0
	.zero	4
	.quad	.LC272
	.value	22
	.value	0
	.zero	4
	.quad	.LC257
	.value	23
	.value	0
	.zero	4
	.quad	.LC273
	.value	11
	.value	0
	.zero	4
	.quad	.LC274
	.value	20
	.value	0
	.zero	4
	.quad	.LC275
	.value	21
	.value	0
	.zero	4
	.quad	.LC276
	.value	11
	.value	0
	.zero	4
	.quad	.LC277
	.value	10
	.value	0
	.zero	4
	.quad	.LC278
	.value	24
	.value	1
	.zero	4
	.quad	.LC279
	.value	25
	.value	1
	.zero	4
	.quad	.LC151
	.value	26
	.value	1
	.zero	4
	.quad	.LC147
	.value	27
	.value	1
	.zero	4
	.quad	.LC280
	.value	28
	.value	1
	.zero	4
	.quad	.LC281
	.value	29
	.value	1
	.zero	4
	.quad	.LC282
	.value	30
	.value	1
	.zero	4
	.quad	.LC283
	.value	31
	.value	1
	.zero	4
	.quad	.LC284
	.value	32
	.value	1
	.zero	4
	.quad	.LC285
	.value	33
	.value	1
	.zero	4
	.quad	.LC286
	.value	17
	.value	1
	.zero	4
	.quad	.LC287
	.value	18
	.value	1
	.zero	4
	.quad	.LC288
	.value	19
	.value	1
	.zero	4
	.quad	.LC31
	.value	34
	.value	2
	.zero	4
	.quad	.LC289
	.value	35
	.value	3
	.zero	4
	.quad	.LC221
	.value	36
	.value	3
	.zero	4
	.quad	.LC134
	.value	37
	.value	4
	.zero	4
	.quad	.LC135
	.value	38
	.value	4
	.zero	4
	.quad	0
	.value	0
	.value	0
	.zero	4
	.local	t_wp
	.comm	t_wp,8,8
	.local	t_wp_op
	.comm	t_wp_op,8,8
	.text
	.type	getn, @function
getn:
.LFB284:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	atomax10
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE284:
	.size	getn, .-getn
	.type	getop, @function
getop:
.LFB285:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	lea	rax, ops[rip]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L2849
.L2852:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L2850
	mov	rax, QWORD PTR -8[rbp]
	jmp	.L2851
.L2850:
	add	QWORD PTR -8[rbp], 16
.L2849:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L2852
	mov	eax, 0
.L2851:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE285:
	.size	getop, .-getop
	.section	.rodata
.LC290:
	.string	"missing ]"
.LC291:
	.string	"unexpected operator"
	.text
	.globl	testcmd
	.type	testcmd, @function
testcmd:
.LFB286:
	.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	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 91
	jne	.L2854
	sub	DWORD PTR -20[rbp], 1
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 93
	je	.L2855
	lea	rdi, .LC290[rip]
	mov	eax, 0
	call	sh_error
.L2855:
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	QWORD PTR [rax], 0
.L2854:
	add	QWORD PTR -32[rbp], 8
	sub	DWORD PTR -20[rbp], 1
	cmp	DWORD PTR -20[rbp], 0
	jg	.L2856
	mov	eax, 1
	jmp	.L2857
.L2856:
	cmp	DWORD PTR -20[rbp], 3
	je	.L2858
	cmp	DWORD PTR -20[rbp], 4
	je	.L2859
	jmp	.L2860
.L2858:
	mov	rax, QWORD PTR -32[rbp]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	getop
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L2859
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, WORD PTR 10[rax]
	cmp	ax, 1
	jne	.L2859
	mov	DWORD PTR -16[rbp], 39
	jmp	.L2861
.L2859:
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rsi, .LC134[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L2860
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	lea	rdx, -8[rax]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	lea	rsi, .LC135[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L2860
	sub	DWORD PTR -20[rbp], 1
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	QWORD PTR [rax], 0
	add	QWORD PTR -32[rbp], 8
	sub	DWORD PTR -20[rbp], 1
.L2860:
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	t_lex
	mov	DWORD PTR -16[rbp], eax
.L2861:
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR t_wp[rip], rax
	mov	eax, DWORD PTR -16[rbp]
	mov	edi, eax
	call	oexpr
	test	eax, eax
	sete	al
	movzx	eax, al
	mov	DWORD PTR -12[rbp], eax
	mov	rax, QWORD PTR t_wp[rip]
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L2862
	mov	rax, QWORD PTR -32[rbp]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L2862
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rsi, .LC291[rip]
	mov	rdi, rax
	call	syntax
.L2862:
	mov	eax, DWORD PTR -12[rbp]
.L2857:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE286:
	.size	testcmd, .-testcmd
	.type	syntax, @function
syntax:
.LFB287:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	cmp	QWORD PTR -8[rbp], 0
	je	.L2864
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L2864
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rax
	lea	rdi, .LC75[rip]
	mov	eax, 0
	call	sh_error
.L2864:
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rax
	lea	rdi, .LC109[rip]
	mov	eax, 0
	call	sh_error
	.cfi_endproc
.LFE287:
	.size	syntax, .-syntax
	.type	oexpr, @function
oexpr:
.LFB288:
	.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 -4[rbp], 0
.L2868:
	mov	eax, DWORD PTR -20[rbp]
	mov	edi, eax
	call	aexpr
	or	DWORD PTR -4[rbp], eax
	mov	rax, QWORD PTR t_wp[rip]
	add	rax, 8
	mov	rdi, rax
	call	t_lex
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], 36
	jne	.L2871
	mov	rax, QWORD PTR t_wp[rip]
	add	rax, 16
	mov	QWORD PTR t_wp[rip], rax
	mov	rax, QWORD PTR t_wp[rip]
	mov	rdi, rax
	call	t_lex
	mov	DWORD PTR -20[rbp], eax
	jmp	.L2868
.L2871:
	nop
	mov	eax, DWORD PTR -4[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE288:
	.size	oexpr, .-oexpr
	.type	aexpr, @function
aexpr:
.LFB289:
	.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 -4[rbp], 1
.L2876:
	mov	eax, DWORD PTR -20[rbp]
	mov	edi, eax
	call	nexpr
	test	eax, eax
	jne	.L2873
	mov	DWORD PTR -4[rbp], 0
.L2873:
	mov	rax, QWORD PTR t_wp[rip]
	add	rax, 8
	mov	rdi, rax
	call	t_lex
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], 35
	jne	.L2879
	mov	rax, QWORD PTR t_wp[rip]
	add	rax, 16
	mov	QWORD PTR t_wp[rip], rax
	mov	rax, QWORD PTR t_wp[rip]
	mov	rdi, rax
	call	t_lex
	mov	DWORD PTR -20[rbp], eax
	jmp	.L2876
.L2879:
	nop
	mov	eax, DWORD PTR -4[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE289:
	.size	aexpr, .-aexpr
	.type	nexpr, @function
nexpr:
.LFB290:
	.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], 34
	jne	.L2881
	mov	rax, QWORD PTR t_wp[rip]
	add	rax, 8
	mov	QWORD PTR t_wp[rip], rax
	mov	rax, QWORD PTR t_wp[rip]
	mov	rdi, rax
	call	t_lex
	mov	edi, eax
	call	nexpr
	test	eax, eax
	sete	al
	movzx	eax, al
	jmp	.L2882
.L2881:
	mov	eax, DWORD PTR -4[rbp]
	mov	edi, eax
	call	test_primary
.L2882:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE290:
	.size	nexpr, .-nexpr
	.section	.rodata
.LC292:
	.string	"closing paren expected"
.LC293:
	.string	"argument expected"
	.text
	.type	test_primary, @function
test_primary:
.LFB291:
	.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
	cmp	DWORD PTR -20[rbp], 0
	jne	.L2884
	mov	eax, 0
	jmp	.L2885
.L2884:
	cmp	DWORD PTR -20[rbp], 37
	jne	.L2886
	mov	rax, QWORD PTR t_wp[rip]
	add	rax, 8
	mov	QWORD PTR t_wp[rip], rax
	mov	rax, QWORD PTR t_wp[rip]
	mov	rdi, rax
	call	t_lex
	mov	DWORD PTR -8[rbp], eax
	cmp	DWORD PTR -8[rbp], 38
	jne	.L2887
	mov	eax, 0
	jmp	.L2885
.L2887:
	mov	eax, DWORD PTR -8[rbp]
	mov	edi, eax
	call	oexpr
	mov	DWORD PTR -4[rbp], eax
	mov	rax, QWORD PTR t_wp[rip]
	add	rax, 8
	mov	QWORD PTR t_wp[rip], rax
	mov	rax, QWORD PTR t_wp[rip]
	mov	rdi, rax
	call	t_lex
	cmp	eax, 38
	je	.L2888
	lea	rsi, .LC292[rip]
	mov	edi, 0
	call	syntax
.L2888:
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L2885
.L2886:
	mov	rax, QWORD PTR t_wp_op[rip]
	test	rax, rax
	je	.L2889
	mov	rax, QWORD PTR t_wp_op[rip]
	movzx	eax, WORD PTR 10[rax]
	test	ax, ax
	jne	.L2889
	mov	rax, QWORD PTR t_wp[rip]
	add	rax, 8
	mov	QWORD PTR t_wp[rip], rax
	mov	rax, QWORD PTR t_wp[rip]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L2890
	mov	rax, QWORD PTR t_wp_op[rip]
	mov	rax, QWORD PTR [rax]
	lea	rsi, .LC293[rip]
	mov	rdi, rax
	call	syntax
.L2890:
	cmp	DWORD PTR -20[rbp], 23
	ja	.L2891
	mov	eax, DWORD PTR -20[rbp]
	lea	rdx, 0[0+rax*4]
	lea	rax, .L2893[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L2893[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L2893:
	.long	.L2891-.L2893
	.long	.L2898-.L2893
	.long	.L2897-.L2893
	.long	.L2896-.L2893
	.long	.L2891-.L2893
	.long	.L2891-.L2893
	.long	.L2891-.L2893
	.long	.L2891-.L2893
	.long	.L2891-.L2893
	.long	.L2891-.L2893
	.long	.L2891-.L2893
	.long	.L2891-.L2893
	.long	.L2891-.L2893
	.long	.L2895-.L2893
	.long	.L2891-.L2893
	.long	.L2891-.L2893
	.long	.L2891-.L2893
	.long	.L2891-.L2893
	.long	.L2891-.L2893
	.long	.L2891-.L2893
	.long	.L2891-.L2893
	.long	.L2891-.L2893
	.long	.L2894-.L2893
	.long	.L2892-.L2893
	.text
.L2894:
	mov	rax, QWORD PTR t_wp[rip]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	sete	al
	movzx	eax, al
	jmp	.L2885
.L2892:
	mov	rax, QWORD PTR t_wp[rip]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	setne	al
	movzx	eax, al
	jmp	.L2885
.L2895:
	mov	rax, QWORD PTR t_wp[rip]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	getn
	mov	edi, eax
	call	isatty@PLT
	jmp	.L2885
.L2898:
	mov	rax, QWORD PTR t_wp[rip]
	mov	rax, QWORD PTR [rax]
	mov	esi, 4
	mov	rdi, rax
	call	test_file_access
	jmp	.L2885
.L2897:
	mov	rax, QWORD PTR t_wp[rip]
	mov	rax, QWORD PTR [rax]
	mov	esi, 2
	mov	rdi, rax
	call	test_file_access
	jmp	.L2885
.L2896:
	mov	rax, QWORD PTR t_wp[rip]
	mov	rax, QWORD PTR [rax]
	mov	esi, 1
	mov	rdi, rax
	call	test_file_access
	jmp	.L2885
.L2891:
	mov	rax, QWORD PTR t_wp[rip]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -20[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	filstat
	jmp	.L2885
.L2889:
	mov	rax, QWORD PTR t_wp[rip]
	add	rax, 8
	mov	rdi, rax
	call	t_lex
	mov	rax, QWORD PTR t_wp_op[rip]
	test	rax, rax
	je	.L2899
	mov	rax, QWORD PTR t_wp_op[rip]
	movzx	eax, WORD PTR 10[rax]
	cmp	ax, 1
	jne	.L2899
	mov	eax, 1
	jmp	.L2900
.L2899:
	mov	eax, 0
.L2900:
	test	eax, eax
	je	.L2901
	call	test_binop
	jmp	.L2885
.L2901:
	mov	rax, QWORD PTR t_wp[rip]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	setne	al
	movzx	eax, al
.L2885:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE291:
	.size	test_primary, .-test_primary
	.type	test_binop, @function
test_binop:
.LFB292:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 40
	.cfi_offset 3, -24
	mov	rax, QWORD PTR t_wp[rip]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR t_wp[rip]
	add	rax, 8
	mov	QWORD PTR t_wp[rip], rax
	mov	rax, QWORD PTR t_wp[rip]
	mov	rdi, rax
	call	t_lex
	mov	rax, QWORD PTR t_wp_op[rip]
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR t_wp[rip]
	add	rax, 8
	mov	QWORD PTR t_wp[rip], rax
	mov	rax, QWORD PTR t_wp[rip]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], 0
	jne	.L2903
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rsi, .LC293[rip]
	mov	rdi, rax
	call	syntax
.L2903:
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, WORD PTR 8[rax]
	cwde
	sub	eax, 17
	cmp	eax, 16
	ja	.L2904
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L2906[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L2906[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L2906:
	.long	.L2917-.L2906
	.long	.L2916-.L2906
	.long	.L2915-.L2906
	.long	.L2904-.L2906
	.long	.L2904-.L2906
	.long	.L2904-.L2906
	.long	.L2904-.L2906
	.long	.L2904-.L2906
	.long	.L2914-.L2906
	.long	.L2913-.L2906
	.long	.L2912-.L2906
	.long	.L2911-.L2906
	.long	.L2910-.L2906
	.long	.L2909-.L2906
	.long	.L2908-.L2906
	.long	.L2907-.L2906
	.long	.L2905-.L2906
	.text
.L2904:
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	sete	al
	movzx	eax, al
	jmp	.L2918
.L2914:
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	setne	al
	movzx	eax, al
	jmp	.L2918
.L2913:
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcmp@PLT
	shr	eax, 31
	movzx	eax, al
	jmp	.L2918
.L2912:
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	setg	al
	movzx	eax, al
	jmp	.L2918
.L2911:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	getn
	mov	rbx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	getn
	cmp	rbx, rax
	sete	al
	movzx	eax, al
	jmp	.L2918
.L2910:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	getn
	mov	rbx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	getn
	cmp	rbx, rax
	setne	al
	movzx	eax, al
	jmp	.L2918
.L2909:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	getn
	mov	rbx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	getn
	cmp	rbx, rax
	setge	al
	movzx	eax, al
	jmp	.L2918
.L2908:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	getn
	mov	rbx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	getn
	cmp	rbx, rax
	setg	al
	movzx	eax, al
	jmp	.L2918
.L2907:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	getn
	mov	rbx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	getn
	cmp	rbx, rax
	setle	al
	movzx	eax, al
	jmp	.L2918
.L2905:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	getn
	mov	rbx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	getn
	cmp	rbx, rax
	setl	al
	movzx	eax, al
	jmp	.L2918
.L2917:
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	newerf
	jmp	.L2918
.L2916:
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	olderf
	jmp	.L2918
.L2915:
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	equalf
.L2918:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE292:
	.size	test_binop, .-test_binop
	.type	filstat, @function
filstat:
.LFB293:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 184
	.cfi_offset 3, -24
	mov	QWORD PTR -184[rbp], rdi
	mov	DWORD PTR -188[rbp], esi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -24[rbp], rax
	xor	eax, eax
	cmp	DWORD PTR -188[rbp], 11
	jne	.L2920
	lea	rdx, -176[rbp]
	mov	rax, QWORD PTR -184[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	lstat@PLT
	test	eax, eax
	setne	al
	jmp	.L2921
.L2920:
	lea	rdx, -176[rbp]
	mov	rax, QWORD PTR -184[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	stat@PLT
	test	eax, eax
	setne	al
.L2921:
	test	al, al
	je	.L2922
	mov	eax, 0
	jmp	.L2940
.L2922:
	mov	eax, DWORD PTR -188[rbp]
	sub	eax, 4
	cmp	eax, 17
	ja	.L2924
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L2926[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L2926[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L2926:
	.long	.L2939-.L2926
	.long	.L2938-.L2926
	.long	.L2937-.L2926
	.long	.L2936-.L2926
	.long	.L2935-.L2926
	.long	.L2934-.L2926
	.long	.L2933-.L2926
	.long	.L2932-.L2926
	.long	.L2931-.L2926
	.long	.L2924-.L2926
	.long	.L2930-.L2926
	.long	.L2929-.L2926
	.long	.L2928-.L2926
	.long	.L2924-.L2926
	.long	.L2924-.L2926
	.long	.L2924-.L2926
	.long	.L2927-.L2926
	.long	.L2925-.L2926
	.text
.L2939:
	mov	eax, 1
	jmp	.L2940
.L2938:
	mov	eax, DWORD PTR -152[rbp]
	and	eax, 61440
	cmp	eax, 32768
	sete	al
	movzx	eax, al
	jmp	.L2940
.L2937:
	mov	eax, DWORD PTR -152[rbp]
	and	eax, 61440
	cmp	eax, 16384
	sete	al
	movzx	eax, al
	jmp	.L2940
.L2936:
	mov	eax, DWORD PTR -152[rbp]
	and	eax, 61440
	cmp	eax, 8192
	sete	al
	movzx	eax, al
	jmp	.L2940
.L2935:
	mov	eax, DWORD PTR -152[rbp]
	and	eax, 61440
	cmp	eax, 24576
	sete	al
	movzx	eax, al
	jmp	.L2940
.L2934:
	mov	eax, DWORD PTR -152[rbp]
	and	eax, 61440
	cmp	eax, 4096
	sete	al
	movzx	eax, al
	jmp	.L2940
.L2933:
	mov	eax, DWORD PTR -152[rbp]
	and	eax, 61440
	cmp	eax, 49152
	sete	al
	movzx	eax, al
	jmp	.L2940
.L2932:
	mov	eax, DWORD PTR -152[rbp]
	and	eax, 61440
	cmp	eax, 40960
	sete	al
	movzx	eax, al
	jmp	.L2940
.L2930:
	mov	eax, DWORD PTR -152[rbp]
	and	eax, 2048
	test	eax, eax
	setne	al
	movzx	eax, al
	jmp	.L2940
.L2929:
	mov	eax, DWORD PTR -152[rbp]
	and	eax, 1024
	test	eax, eax
	setne	al
	movzx	eax, al
	jmp	.L2940
.L2928:
	mov	eax, DWORD PTR -152[rbp]
	and	eax, 512
	test	eax, eax
	setne	al
	movzx	eax, al
	jmp	.L2940
.L2931:
	mov	rax, QWORD PTR -128[rbp]
	test	rax, rax
	setne	al
	movzx	eax, al
	jmp	.L2940
.L2927:
	mov	ebx, DWORD PTR -148[rbp]
	call	geteuid@PLT
	cmp	ebx, eax
	sete	al
	movzx	eax, al
	jmp	.L2940
.L2925:
	mov	ebx, DWORD PTR -144[rbp]
	call	getegid@PLT
	cmp	ebx, eax
	sete	al
	movzx	eax, al
	jmp	.L2940
.L2924:
	mov	eax, 1
.L2940:
	mov	rcx, QWORD PTR -24[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L2941
	call	__stack_chk_fail@PLT
.L2941:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE293:
	.size	filstat, .-filstat
	.type	t_lex, @function
t_lex:
.LFB294:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	jne	.L2943
	mov	QWORD PTR t_wp_op[rip], 0
	mov	eax, 0
	jmp	.L2944
.L2943:
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	getop
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L2945
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, WORD PTR 10[rax]
	test	ax, ax
	jne	.L2946
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	isoperand
	test	eax, eax
	jne	.L2945
.L2946:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, WORD PTR 8[rax]
	cmp	ax, 37
	jne	.L2947
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L2945
.L2947:
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR t_wp_op[rip], rax
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, WORD PTR 8[rax]
	cwde
	jmp	.L2944
.L2945:
	mov	QWORD PTR t_wp_op[rip], 0
	mov	eax, 39
.L2944:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE294:
	.size	t_lex, .-t_lex
	.type	isoperand, @function
isoperand:
.LFB295:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	jne	.L2949
	mov	eax, 1
	jmp	.L2950
.L2949:
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 16
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L2951
	mov	eax, 0
	jmp	.L2950
.L2951:
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	getop
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L2952
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, WORD PTR 10[rax]
	cmp	ax, 1
	jne	.L2952
	mov	eax, 1
	jmp	.L2950
.L2952:
	mov	eax, 0
.L2950:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE295:
	.size	isoperand, .-isoperand
	.type	newerf, @function
newerf:
.LFB296:
	.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	QWORD PTR -312[rbp], rdi
	mov	QWORD PTR -320[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rdx, -304[rbp]
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	stat@PLT
	test	eax, eax
	jne	.L2955
	lea	rdx, -160[rbp]
	mov	rax, QWORD PTR -320[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	stat@PLT
	test	eax, eax
	jne	.L2955
	mov	rdx, QWORD PTR -216[rbp]
	mov	rax, QWORD PTR -72[rbp]
	cmp	rdx, rax
	jle	.L2955
	mov	eax, 1
	jmp	.L2957
.L2955:
	mov	eax, 0
.L2957:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L2958
	call	__stack_chk_fail@PLT
.L2958:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE296:
	.size	newerf, .-newerf
	.type	olderf, @function
olderf:
.LFB297:
	.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	QWORD PTR -312[rbp], rdi
	mov	QWORD PTR -320[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rdx, -304[rbp]
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	stat@PLT
	test	eax, eax
	jne	.L2960
	lea	rdx, -160[rbp]
	mov	rax, QWORD PTR -320[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	stat@PLT
	test	eax, eax
	jne	.L2960
	mov	rdx, QWORD PTR -216[rbp]
	mov	rax, QWORD PTR -72[rbp]
	cmp	rdx, rax
	jge	.L2960
	mov	eax, 1
	jmp	.L2962
.L2960:
	mov	eax, 0
.L2962:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L2963
	call	__stack_chk_fail@PLT
.L2963:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE297:
	.size	olderf, .-olderf
	.type	equalf, @function
equalf:
.LFB298:
	.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	QWORD PTR -312[rbp], rdi
	mov	QWORD PTR -320[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rdx, -304[rbp]
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	stat@PLT
	test	eax, eax
	jne	.L2965
	lea	rdx, -160[rbp]
	mov	rax, QWORD PTR -320[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	stat@PLT
	test	eax, eax
	jne	.L2965
	mov	rdx, QWORD PTR -304[rbp]
	mov	rax, QWORD PTR -160[rbp]
	cmp	rdx, rax
	jne	.L2965
	mov	rdx, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -152[rbp]
	cmp	rdx, rax
	jne	.L2965
	mov	eax, 1
	jmp	.L2967
.L2965:
	mov	eax, 0
.L2967:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L2968
	call	__stack_chk_fail@PLT
.L2968:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE298:
	.size	equalf, .-equalf
	.type	test_file_access, @function
test_file_access:
.LFB299:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	mov	edx, DWORD PTR -12[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	ecx, 512
	mov	rsi, rax
	mov	edi, -100
	call	faccessat@PLT
	test	eax, eax
	sete	al
	movzx	eax, al
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE299:
	.size	test_file_access, .-test_file_access
	.section	.rodata
.LC294:
	.string	"%dm%fs %dm%fs\n%dm%fs %dm%fs\n"
	.text
	.globl	timescmd
	.type	timescmd, @function
timescmd:
.LFB300:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	DWORD PTR -68[rbp], edi
	mov	QWORD PTR -80[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	edi, 2
	call	sysconf@PLT
	mov	QWORD PTR -56[rbp], rax
	lea	rax, -48[rbp]
	mov	rdi, rax
	call	times@PLT
	mov	rax, QWORD PTR -24[rbp]
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rax
	pxor	xmm1, xmm1
	cvtsi2sd	xmm1, QWORD PTR -56[rbp]
	movapd	xmm3, xmm0
	divsd	xmm3, xmm1
	mov	rax, QWORD PTR -24[rbp]
	cqo
	idiv	QWORD PTR -56[rbp]
	mov	rcx, rax
	movabs	rdx, -8608480567731124087
	mov	rax, rcx
	imul	rdx
	lea	rax, [rdx+rcx]
	sar	rax, 5
	sar	rcx, 63
	mov	rdx, rcx
	sub	rax, rdx
	mov	r8d, eax
	mov	rax, QWORD PTR -32[rbp]
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rax
	pxor	xmm1, xmm1
	cvtsi2sd	xmm1, QWORD PTR -56[rbp]
	movapd	xmm2, xmm0
	divsd	xmm2, xmm1
	mov	rax, QWORD PTR -32[rbp]
	cqo
	idiv	QWORD PTR -56[rbp]
	mov	rcx, rax
	movabs	rdx, -8608480567731124087
	mov	rax, rcx
	imul	rdx
	lea	rax, [rdx+rcx]
	sar	rax, 5
	sar	rcx, 63
	mov	rdx, rcx
	sub	rax, rdx
	mov	r9d, eax
	mov	rax, QWORD PTR -40[rbp]
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rax
	pxor	xmm1, xmm1
	cvtsi2sd	xmm1, QWORD PTR -56[rbp]
	movapd	xmm4, xmm0
	divsd	xmm4, xmm1
	mov	rax, QWORD PTR -40[rbp]
	cqo
	idiv	QWORD PTR -56[rbp]
	mov	rcx, rax
	movabs	rdx, -8608480567731124087
	mov	rax, rcx
	imul	rdx
	lea	rax, [rdx+rcx]
	sar	rax, 5
	sar	rcx, 63
	mov	rdx, rcx
	sub	rax, rdx
	mov	edi, eax
	mov	rax, QWORD PTR -48[rbp]
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rax
	pxor	xmm1, xmm1
	cvtsi2sd	xmm1, QWORD PTR -56[rbp]
	divsd	xmm0, xmm1
	movq	rsi, xmm0
	mov	rax, QWORD PTR -48[rbp]
	cqo
	idiv	QWORD PTR -56[rbp]
	mov	rcx, rax
	movabs	rdx, -8608480567731124087
	mov	rax, rcx
	imul	rdx
	lea	rax, [rdx+rcx]
	sar	rax, 5
	sar	rcx, 63
	mov	rdx, rcx
	sub	rax, rdx
	mov	ecx, r9d
	movapd	xmm1, xmm4
	mov	edx, edi
	movq	xmm0, rsi
	mov	esi, eax
	lea	rdi, .LC294[rip]
	mov	eax, 4
	call	out1fmt
	mov	eax, 0
	mov	rsi, QWORD PTR -8[rbp]
	sub	rsi, QWORD PTR fs:40
	je	.L2973
	call	__stack_chk_fail@PLT
.L2973:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE300:
	.size	timescmd, .-timescmd
	.globl	localvar_stack
	.bss
	.align 8
	.type	localvar_stack, @object
	.size	localvar_stack, 8
localvar_stack:
	.zero	8
	.globl	defpathvar
	.section	.rodata
	.align 32
	.type	defpathvar, @object
	.size	defpathvar, 66
defpathvar:
	.string	"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
	.globl	defifsvar
	.align 8
	.type	defifsvar, @object
	.size	defifsvar, 8
defifsvar:
	.string	"IFS= \t\n"
	.globl	lineno
	.bss
	.align 4
	.type	lineno, @object
	.size	lineno, 4
lineno:
	.zero	4
	.globl	linenovar
	.data
	.align 16
	.type	linenovar, @object
	.size	linenovar, 19
linenovar:
	.string	"LINENO="
	.zero	11
	.globl	varinit
	.section	.rodata
.LC295:
	.string	"MAIL"
	.string	""
.LC296:
	.string	"MAILPATH"
	.string	""
.LC297:
	.string	"PS1=$ "
.LC298:
	.string	"PS2=> "
.LC299:
	.string	"PS4=+ "
.LC300:
	.string	"OPTIND=1"
	.section	.data.rel.local
	.align 32
	.type	varinit, @object
	.size	varinit, 288
varinit:
	.quad	0
	.long	12
	.zero	4
	.quad	defifsvar
	.quad	0
	.quad	0
	.long	44
	.zero	4
	.quad	.LC295
	.quad	changemail
	.quad	0
	.long	44
	.zero	4
	.quad	.LC296
	.quad	changemail
	.quad	0
	.long	12
	.zero	4
	.quad	defpathvar
	.quad	changepath
	.quad	0
	.long	12
	.zero	4
	.quad	.LC297
	.quad	0
	.quad	0
	.long	12
	.zero	4
	.quad	.LC298
	.quad	0
	.quad	0
	.long	12
	.zero	4
	.quad	.LC299
	.quad	0
	.quad	0
	.long	12
	.zero	4
	.quad	.LC300
	.quad	getoptsreset
	.quad	0
	.long	12
	.zero	4
	.quad	linenovar
	.quad	0
	.local	vartab
	.comm	vartab,4168,32
	.section	.rodata
.LC301:
	.string	"PS1=# "
	.text
	.globl	initvar
	.type	initvar, @function
initvar:
.LFB301:
	.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, varinit[rip]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 288
	mov	QWORD PTR -16[rbp], rax
.L2975:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdi, rax
	call	hashvar
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
	add	QWORD PTR -24[rbp], 32
	mov	rax, QWORD PTR -24[rbp]
	cmp	rax, QWORD PTR -16[rbp]
	jb	.L2975
	call	geteuid@PLT
	test	eax, eax
	jne	.L2977
	lea	rax, varinit[rip+128]
	lea	rdx, .LC301[rip]
	mov	QWORD PTR 16[rax], rdx
.L2977:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE301:
	.size	initvar, .-initvar
	.section	.rodata
.LC302:
	.string	"%.*s: bad variable name"
	.text
	.globl	setvar
	.type	setvar, @function
setvar:
.LFB302:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -56[rbp], rdi
	mov	QWORD PTR -64[rbp], rsi
	mov	DWORD PTR -68[rbp], edx
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	endofname
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	esi, 61
	mov	rdi, rax
	call	strchrnul
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	sub	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], 0
	je	.L2979
	mov	rax, QWORD PTR -48[rbp]
	cmp	rax, QWORD PTR -32[rbp]
	je	.L2980
.L2979:
	mov	rdx, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rax
	lea	rdi, .LC302[rip]
	mov	eax, 0
	call	sh_error
.L2980:
	mov	QWORD PTR -40[rbp], 0
	cmp	QWORD PTR -64[rbp], 0
	jne	.L2981
	or	DWORD PTR -68[rbp], 32
	jmp	.L2982
.L2981:
	mov	rax, QWORD PTR -64[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	QWORD PTR -40[rbp], rax
.L2982:
	mov	eax, DWORD PTR suppressint[rip]
	add	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	add	rax, 2
	mov	rdi, rax
	call	ckmalloc
	mov	QWORD PTR -16[rbp], rax
	mov	rdx, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	mempcpy@PLT
	mov	QWORD PTR -48[rbp], rax
	cmp	QWORD PTR -64[rbp], 0
	je	.L2983
	mov	rax, QWORD PTR -48[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -48[rbp], rdx
	mov	BYTE PTR [rax], 61
	mov	rdx, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -48[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	mempcpy@PLT
	mov	QWORD PTR -48[rbp], rax
.L2983:
	mov	rax, QWORD PTR -48[rbp]
	mov	BYTE PTR [rax], 0
	mov	eax, DWORD PTR -68[rbp]
	or	ah, 1
	mov	edx, eax
	mov	rax, QWORD PTR -16[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	setvareq
	mov	QWORD PTR -8[rbp], rax
	mov	eax, DWORD PTR suppressint[rip]
	sub	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	eax, DWORD PTR suppressint[rip]
	test	eax, eax
	jne	.L2984
	mov	eax, DWORD PTR intpending[rip]
	test	eax, eax
	je	.L2984
	call	onint
.L2984:
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE302:
	.size	setvar, .-setvar
	.globl	setvarint
	.type	setvarint, @function
setvarint:
.LFB303:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	r15
	push	r14
	push	r13
	push	r12
	push	rbx
	sub	rsp, 72
	.cfi_offset 15, -24
	.cfi_offset 14, -32
	.cfi_offset 13, -40
	.cfi_offset 12, -48
	.cfi_offset 3, -56
	mov	QWORD PTR -88[rbp], rdi
	mov	QWORD PTR -96[rbp], rsi
	mov	DWORD PTR -100[rbp], edx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -56[rbp], rax
	xor	eax, eax
	mov	rax, rsp
	mov	rbx, rax
	mov	edi, 8
	call	max_int_length
	mov	DWORD PTR -76[rbp], eax
	mov	eax, DWORD PTR -76[rbp]
	movsx	rdx, eax
	sub	rdx, 1
	mov	QWORD PTR -72[rbp], rdx
	movsx	rdx, eax
	mov	r14, rdx
	mov	r15d, 0
	movsx	rdx, eax
	mov	r12, rdx
	mov	r13d, 0
	cdqe
	mov	edx, 16
	sub	rdx, 1
	add	rax, rdx
	mov	edi, 16
	mov	edx, 0
	div	rdi
	imul	rax, rax, 16
	mov	rcx, rax
	and	rcx, -4096
	mov	rdx, rsp
	sub	rdx, rcx
.L2987:
	cmp	rsp, rdx
	je	.L2988
	sub	rsp, 4096
	or	QWORD PTR 4088[rsp], 0
	jmp	.L2987
.L2988:
	mov	rdx, rax
	and	edx, 4095
	sub	rsp, rdx
	mov	rdx, rax
	and	edx, 4095
	test	rdx, rdx
	je	.L2989
	and	eax, 4095
	sub	rax, 8
	add	rax, rsp
	or	QWORD PTR [rax], 0
.L2989:
	mov	rax, rsp
	add	rax, 0
	mov	QWORD PTR -64[rbp], rax
	mov	eax, DWORD PTR -76[rbp]
	movsx	rsi, eax
	mov	rdx, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR -64[rbp]
	mov	rcx, rdx
	lea	rdx, .LC94[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fmtstr
	mov	edx, DWORD PTR -100[rbp]
	mov	rcx, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	setvar
	mov	rax, QWORD PTR -96[rbp]
	mov	rsp, rbx
	mov	rbx, QWORD PTR -56[rbp]
	sub	rbx, QWORD PTR fs:40
	je	.L2991
	call	__stack_chk_fail@PLT
.L2991:
	lea	rsp, -40[rbp]
	pop	rbx
	pop	r12
	pop	r13
	pop	r14
	pop	r15
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE303:
	.size	setvarint, .-setvarint
	.section	.rodata
.LC303:
	.string	"%.*s: is read only"
	.text
	.globl	setvareq
	.type	setvareq, @function
setvareq:
.LFB304:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 56
	.cfi_offset 3, -24
	mov	QWORD PTR -56[rbp], rdi
	mov	DWORD PTR -60[rbp], esi
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	hashvar
	mov	QWORD PTR -32[rbp], rax
	movzx	eax, BYTE PTR optlist[rip+12]
	movsx	eax, al
	neg	eax
	and	eax, 1
	mov	edx, eax
	mov	eax, DWORD PTR -60[rbp]
	or	eax, edx
	mov	DWORD PTR -60[rbp], eax
	mov	rdx, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	findvar
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -40[rbp], rax
	cmp	QWORD PTR -40[rbp], 0
	je	.L2993
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 8[rax]
	and	eax, 2
	test	eax, eax
	je	.L2994
	mov	eax, DWORD PTR -60[rbp]
	and	eax, 256
	test	eax, eax
	je	.L2995
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	free@PLT
.L2995:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, 61
	mov	rdi, rax
	call	strchrnul
	sub	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	rsi, rax
	lea	rdi, .LC303[rip]
	mov	eax, 0
	call	sh_error
.L2994:
	mov	eax, DWORD PTR -60[rbp]
	and	eax, 128
	test	eax, eax
	jne	.L3008
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 24[rax]
	test	rax, rax
	je	.L2998
	mov	eax, DWORD PTR -60[rbp]
	and	eax, 64
	test	eax, eax
	jne	.L2998
	mov	rax, QWORD PTR -40[rbp]
	mov	rbx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	esi, 61
	mov	rdi, rax
	call	strchrnul
	add	rax, 1
	mov	rdi, rax
	call	rbx
.L2998:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 8[rax]
	and	eax, 24
	test	eax, eax
	jne	.L2999
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdi, rax
	call	free@PLT
.L2999:
	mov	eax, DWORD PTR -60[rbp]
	and	eax, 39
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 8[rax]
	and	eax, 4
	or	eax, edx
	cmp	eax, 32
	jne	.L3000
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	free@PLT
	jmp	.L3001
.L3011:
	nop
.L3001:
	mov	eax, DWORD PTR -60[rbp]
	and	eax, 280
	cmp	eax, 256
	jne	.L3009
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	free@PLT
	jmp	.L3009
.L3000:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 8[rax]
	and	eax, -313
	or	DWORD PTR -60[rbp], eax
	jmp	.L3003
.L2993:
	mov	eax, DWORD PTR -60[rbp]
	and	eax, 128
	test	eax, eax
	jne	.L3010
	mov	eax, DWORD PTR -60[rbp]
	and	eax, 39
	cmp	eax, 32
	je	.L3011
	mov	edi, 32
	call	ckmalloc
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR 24[rax], 0
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR [rax], rdx
.L3003:
	mov	eax, DWORD PTR -60[rbp]
	and	eax, 280
	test	eax, eax
	jne	.L3006
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	savestr
	mov	QWORD PTR -56[rbp], rax
.L3006:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -56[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR -60[rbp]
	mov	DWORD PTR 8[rax], edx
	jmp	.L2997
.L3008:
	nop
	jmp	.L2997
.L3009:
	nop
	jmp	.L2997
.L3010:
	nop
.L2997:
	mov	rax, QWORD PTR -40[rbp]
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE304:
	.size	setvareq, .-setvareq
	.globl	listsetvar
	.type	listsetvar, @function
listsetvar:
.LFB305:
	.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 -28[rbp], esi
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L3017
	mov	eax, DWORD PTR suppressint[rip]
	add	eax, 1
	mov	DWORD PTR suppressint[rip], eax
.L3015:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	edx, DWORD PTR -28[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	setvareq
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L3015
	mov	eax, DWORD PTR suppressint[rip]
	sub	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	eax, DWORD PTR suppressint[rip]
	test	eax, eax
	jne	.L3012
	mov	eax, DWORD PTR intpending[rip]
	test	eax, eax
	je	.L3012
	call	onint
	jmp	.L3012
.L3017:
	nop
.L3012:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE305:
	.size	listsetvar, .-listsetvar
	.section	.rodata
.LC304:
	.string	"%d"
	.text
	.globl	lookupvar
	.type	lookupvar, @function
lookupvar:
.LFB306:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	hashvar
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	call	findvar
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L3019
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	and	eax, 32
	test	eax, eax
	jne	.L3019
	lea	rax, varinit[rip+256]
	cmp	QWORD PTR -8[rbp], rax
	jne	.L3020
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	lea	rdx, linenovar[rip]
	cmp	rax, rdx
	jne	.L3020
	mov	eax, DWORD PTR lineno[rip]
	lea	rdi, linenovar[rip+7]
	mov	ecx, eax
	lea	rdx, .LC304[rip]
	mov	esi, 12
	mov	eax, 0
	call	fmtstr
.L3020:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	esi, 61
	mov	rdi, rax
	call	strchrnul
	add	rax, 1
	jmp	.L3021
.L3019:
	mov	eax, 0
.L3021:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE306:
	.size	lookupvar, .-lookupvar
	.globl	lookupvarint
	.type	lookupvarint, @function
lookupvarint:
.LFB307:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	lookupvar
	test	rax, rax
	jne	.L3024
	lea	rax, nullstr[rip]
.L3024:
	mov	esi, 0
	mov	rdi, rax
	call	atomax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE307:
	.size	lookupvarint, .-lookupvarint
	.globl	listvars
	.type	listvars, @function
listvars:
.LFB308:
	.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	DWORD PTR -40[rbp], esi
	mov	QWORD PTR -48[rbp], rdx
	mov	rax, QWORD PTR stacknxt[rip]
	mov	QWORD PTR -8[rbp], rax
	lea	rax, vartab[rip]
	mov	QWORD PTR -24[rbp], rax
	mov	eax, DWORD PTR -36[rbp]
	or	eax, DWORD PTR -40[rbp]
	mov	DWORD PTR -28[rbp], eax
.L3031:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L3027
.L3030:
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 8[rax]
	and	eax, DWORD PTR -28[rbp]
	cmp	DWORD PTR -36[rbp], eax
	jne	.L3028
	mov	rax, QWORD PTR sstrend[rip]
	cmp	QWORD PTR -8[rbp], rax
	jne	.L3029
	call	growstackstr
	mov	QWORD PTR -8[rbp], rax
.L3029:
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 8[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	rdx, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR 16[rdx]
	mov	QWORD PTR [rax], rdx
.L3028:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -16[rbp], rax
.L3027:
	cmp	QWORD PTR -16[rbp], 0
	jne	.L3030
	add	QWORD PTR -24[rbp], 8
	lea	rax, vartab[rip+4168]
	cmp	QWORD PTR -24[rbp], rax
	jb	.L3031
	mov	rax, QWORD PTR sstrend[rip]
	cmp	QWORD PTR -8[rbp], rax
	jne	.L3032
	call	growstackstr
	mov	QWORD PTR -8[rbp], rax
.L3032:
	cmp	QWORD PTR -48[rbp], 0
	je	.L3033
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
.L3033:
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 8[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	QWORD PTR [rax], 0
	mov	rdx, QWORD PTR stacknxt[rip]
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, rdx
	mov	rdi, rax
	call	stalloc
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE308:
	.size	listvars, .-listvars
	.section	.rodata
.LC305:
	.string	"%s%s%.*s%s\n"
	.text
	.globl	showvars
	.type	showvars, @function
showvars:
.LFB309:
	.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	DWORD PTR -60[rbp], esi
	mov	DWORD PTR -64[rbp], edx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rdx, -48[rbp]
	mov	ecx, DWORD PTR -64[rbp]
	mov	eax, DWORD PTR -60[rbp]
	mov	esi, ecx
	mov	edi, eax
	call	listvars
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	sub	rax, QWORD PTR -40[rbp]
	sar	rax, 3
	mov	rsi, rax
	mov	rax, QWORD PTR -40[rbp]
	lea	rcx, vpcmp[rip]
	mov	edx, 8
	mov	rdi, rax
	call	qsort@PLT
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L3036
	mov	rax, QWORD PTR -56[rbp]
	jmp	.L3037
.L3036:
	lea	rax, spcstr[rip]
.L3037:
	mov	QWORD PTR -16[rbp], rax
	jmp	.L3038
.L3040:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	esi, 61
	mov	rdi, rax
	call	strchrnul
	mov	QWORD PTR -32[rbp], rax
	lea	rax, nullstr[rip]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L3039
	add	QWORD PTR -32[rbp], 1
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	single_quote
	mov	QWORD PTR -24[rbp], rax
.L3039:
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -32[rbp]
	sub	rax, rdx
	mov	edi, eax
	mov	rsi, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	r9, rsi
	mov	r8, rcx
	mov	ecx, edi
	mov	rsi, rax
	lea	rdi, .LC305[rip]
	mov	eax, 0
	call	out1fmt
	add	QWORD PTR -40[rbp], 8
.L3038:
	mov	rax, QWORD PTR -48[rbp]
	cmp	QWORD PTR -40[rbp], rax
	jb	.L3040
	mov	eax, 0
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L3042
	call	__stack_chk_fail@PLT
.L3042:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE309:
	.size	showvars, .-showvars
	.section	.rodata
.LC306:
	.string	"p"
	.text
	.globl	exportcmd
	.type	exportcmd, @function
exportcmd:
.LFB310:
	.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	QWORD PTR -64[rbp], rsi
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 114
	jne	.L3044
	mov	eax, 2
	jmp	.L3045
.L3044:
	mov	eax, 1
.L3045:
	mov	DWORD PTR -40[rbp], eax
	lea	rdi, .LC306[rip]
	call	nextopt
	sub	eax, 112
	mov	DWORD PTR -36[rbp], eax
	cmp	DWORD PTR -36[rbp], 0
	je	.L3046
	mov	rax, QWORD PTR argptr[rip]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -32[rbp], rax
	cmp	QWORD PTR -32[rbp], 0
	je	.L3046
.L3050:
	mov	rax, QWORD PTR -32[rbp]
	mov	esi, 61
	mov	rdi, rax
	call	strchr@PLT
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], 0
	je	.L3047
	add	QWORD PTR -24[rbp], 1
	jmp	.L3048
.L3047:
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	hashvar
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	call	findvar
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L3048
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	or	eax, DWORD PTR -40[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 8[rax], edx
	jmp	.L3049
.L3048:
	mov	edx, DWORD PTR -40[rbp]
	mov	rcx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	setvar
.L3049:
	add	QWORD PTR -16[rbp], 8
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -32[rbp], rax
	cmp	QWORD PTR -32[rbp], 0
	jne	.L3050
	jmp	.L3051
.L3046:
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR [rax]
	mov	ecx, DWORD PTR -40[rbp]
	mov	edx, 0
	mov	esi, ecx
	mov	rdi, rax
	call	showvars
.L3051:
	mov	eax, 0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE310:
	.size	exportcmd, .-exportcmd
	.section	.rodata
.LC307:
	.string	"not in a function"
	.text
	.globl	localcmd
	.type	localcmd, @function
localcmd:
.LFB311:
	.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	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR localvar_stack[rip]
	test	rax, rax
	jne	.L3054
	lea	rdi, .LC307[rip]
	mov	eax, 0
	call	sh_error
.L3054:
	mov	rax, QWORD PTR argptr[rip]
	mov	QWORD PTR -32[rbp], rax
	jmp	.L3055
.L3056:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	mklocal
.L3055:
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, 8[rax]
	mov	QWORD PTR -32[rbp], rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L3056
	mov	eax, 0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE311:
	.size	localcmd, .-localcmd
	.globl	mklocal
	.type	mklocal, @function
mklocal:
.LFB312:
	.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	eax, DWORD PTR suppressint[rip]
	add	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	edi, 32
	call	ckmalloc
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 45
	jne	.L3059
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L3059
	mov	edi, 17
	call	ckmalloc
	mov	QWORD PTR -24[rbp], rax
	mov	rcx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR optlist[rip]
	mov	rdx, QWORD PTR optlist[rip+8]
	mov	QWORD PTR [rcx], rax
	mov	QWORD PTR 8[rcx], rdx
	movzx	eax, BYTE PTR optlist[rip+16]
	mov	BYTE PTR 16[rcx], al
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	QWORD PTR -40[rbp], 0
	jmp	.L3060
.L3059:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	hashvar
	mov	QWORD PTR -16[rbp], rax
	mov	rdx, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	findvar
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	esi, 61
	mov	rdi, rax
	call	strchr@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -40[rbp], 0
	jne	.L3061
	cmp	QWORD PTR -8[rbp], 0
	je	.L3062
	mov	rax, QWORD PTR -56[rbp]
	mov	esi, 4
	mov	rdi, rax
	call	setvareq
	mov	QWORD PTR -40[rbp], rax
	jmp	.L3063
.L3062:
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, 4
	mov	esi, 0
	mov	rdi, rax
	call	setvar
	mov	QWORD PTR -40[rbp], rax
.L3063:
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR 16[rax], 32
	jmp	.L3060
.L3061:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 8[rax]
	or	eax, 12
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 8[rax], edx
	cmp	QWORD PTR -8[rbp], 0
	je	.L3060
	mov	rax, QWORD PTR -56[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	setvareq
.L3060:
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR localvar_stack[rip]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR localvar_stack[rip]
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	eax, DWORD PTR suppressint[rip]
	sub	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	eax, DWORD PTR suppressint[rip]
	test	eax, eax
	jne	.L3065
	mov	eax, DWORD PTR intpending[rip]
	test	eax, eax
	je	.L3065
	call	onint
.L3065:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE312:
	.size	mklocal, .-mklocal
	.globl	poplocalvars
	.type	poplocalvars, @function
poplocalvars:
.LFB313:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 72
	.cfi_offset 3, -24
	mov	DWORD PTR -68[rbp], edi
	mov	eax, DWORD PTR suppressint[rip]
	add	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	rax, QWORD PTR localvar_stack[rip]
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR localvar_stack[rip], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	free@PLT
	jmp	.L3067
.L3076:
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -24[rbp], rax
	cmp	DWORD PTR -68[rbp], 0
	je	.L3068
	mov	DWORD PTR -52[rbp], 4
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 16[rax]
	cmp	eax, 32
	je	.L3069
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 24[rax]
	cmp	rdx, rax
	jne	.L3070
	or	DWORD PTR -52[rbp], 8
	jmp	.L3069
.L3070:
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 16[rax]
	and	eax, 24
	test	eax, eax
	jne	.L3069
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	rdi, rax
	call	free@PLT
.L3069:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	eax, DWORD PTR -52[rbp]
	not	eax
	and	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 16[rax]
	and	eax, DWORD PTR -52[rbp]
	or	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	and	eax, 39
	cmp	eax, 32
	jne	.L3071
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdi, rax
	call	unsetvar
	jmp	.L3071
.L3068:
	cmp	QWORD PTR -24[rbp], 0
	jne	.L3072
	mov	rax, QWORD PTR -32[rbp]
	mov	rcx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR [rcx]
	mov	rdx, QWORD PTR 8[rcx]
	mov	QWORD PTR optlist[rip], rax
	mov	QWORD PTR optlist[rip+8], rdx
	movzx	eax, BYTE PTR 16[rcx]
	mov	BYTE PTR optlist[rip+16], al
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	rdi, rax
	call	free@PLT
	call	optschanged
	jmp	.L3071
.L3072:
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 16[rax]
	cmp	eax, 32
	jne	.L3073
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	and	eax, -7
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdi, rax
	call	unsetvar
	jmp	.L3071
.L3073:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 24[rax]
	test	rax, rax
	je	.L3074
	mov	rax, QWORD PTR -24[rbp]
	mov	rbx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	esi, 61
	mov	rdi, rax
	call	strchrnul
	add	rax, 1
	mov	rdi, rax
	call	rbx
.L3074:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	and	eax, 24
	test	eax, eax
	jne	.L3075
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdi, rax
	call	free@PLT
.L3075:
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, DWORD PTR 16[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 16[rax], rdx
.L3071:
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	free@PLT
.L3067:
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR -32[rbp], rax
	cmp	QWORD PTR -32[rbp], 0
	jne	.L3076
	mov	eax, DWORD PTR suppressint[rip]
	sub	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	eax, DWORD PTR suppressint[rip]
	test	eax, eax
	jne	.L3078
	mov	eax, DWORD PTR intpending[rip]
	test	eax, eax
	je	.L3078
	call	onint
.L3078:
	nop
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE313:
	.size	poplocalvars, .-poplocalvars
	.globl	pushlocalvars
	.type	pushlocalvars, @function
pushlocalvars:
.LFB314:
	.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 suppressint[rip]
	add	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	edi, 16
	call	ckmalloc
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], 0
	mov	rdx, QWORD PTR localvar_stack[rip]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR localvar_stack[rip], rax
	mov	eax, DWORD PTR suppressint[rip]
	sub	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	eax, DWORD PTR suppressint[rip]
	test	eax, eax
	jne	.L3080
	mov	eax, DWORD PTR intpending[rip]
	test	eax, eax
	je	.L3080
	call	onint
.L3080:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE314:
	.size	pushlocalvars, .-pushlocalvars
	.globl	unwindlocalvars
	.type	unwindlocalvars, @function
unwindlocalvars:
.LFB315:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	jmp	.L3083
.L3084:
	mov	edi, 0
	call	poplocalvars
.L3083:
	mov	rax, QWORD PTR localvar_stack[rip]
	cmp	QWORD PTR -8[rbp], rax
	jne	.L3084
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE315:
	.size	unwindlocalvars, .-unwindlocalvars
	.section	.rodata
.LC308:
	.string	"vf"
	.text
	.globl	unsetcmd
	.type	unsetcmd, @function
unsetcmd:
.LFB316:
	.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	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -16[rbp], 0
	jmp	.L3086
.L3087:
	mov	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR -16[rbp], eax
.L3086:
	lea	rdi, .LC308[rip]
	call	nextopt
	mov	DWORD PTR -12[rbp], eax
	cmp	DWORD PTR -12[rbp], 0
	jne	.L3087
	mov	rax, QWORD PTR argptr[rip]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L3088
.L3091:
	cmp	DWORD PTR -16[rbp], 102
	je	.L3089
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	unsetvar
	jmp	.L3090
.L3089:
	cmp	DWORD PTR -16[rbp], 118
	je	.L3090
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	unsetfunc
.L3090:
	add	QWORD PTR -8[rbp], 8
.L3088:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L3091
	mov	eax, 0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE316:
	.size	unsetcmd, .-unsetcmd
	.globl	unsetvar
	.type	unsetvar, @function
unsetvar:
.LFB317:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, 0
	mov	esi, 0
	mov	rdi, rax
	call	setvar
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE317:
	.size	unsetvar, .-unsetvar
	.type	hashvar, @function
hashvar:
.LFB318:
	.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	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 4
	mov	DWORD PTR -4[rbp], eax
	jmp	.L3095
.L3097:
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -24[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	DWORD PTR -4[rbp], eax
.L3095:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L3096
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 61
	jne	.L3097
.L3096:
	mov	edx, DWORD PTR -4[rbp]
	mov	ecx, edx
	mov	eax, 4220774003
	imul	rax, rcx
	shr	rax, 32
	shr	eax, 9
	imul	ecx, eax, 521
	mov	eax, edx
	sub	eax, ecx
	mov	eax, eax
	lea	rdx, 0[0+rax*8]
	lea	rax, vartab[rip]
	add	rax, rdx
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE318:
	.size	hashvar, .-hashvar
	.globl	varcmp
	.type	varcmp, @function
varcmp:
.LFB319:
	.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
	jmp	.L3100
.L3104:
	cmp	DWORD PTR -8[rbp], 0
	je	.L3107
	cmp	DWORD PTR -8[rbp], 61
	je	.L3107
	add	QWORD PTR -24[rbp], 1
	add	QWORD PTR -32[rbp], 1
.L3100:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	DWORD PTR -8[rbp], eax
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -8[rbp]
	cmp	eax, DWORD PTR -4[rbp]
	je	.L3104
	cmp	DWORD PTR -8[rbp], 61
	jne	.L3105
	mov	DWORD PTR -8[rbp], 0
.L3105:
	cmp	DWORD PTR -4[rbp], 61
	jne	.L3108
	mov	DWORD PTR -4[rbp], 0
	jmp	.L3103
.L3107:
	nop
	jmp	.L3103
.L3108:
	nop
.L3103:
	mov	eax, DWORD PTR -8[rbp]
	sub	eax, DWORD PTR -4[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE319:
	.size	varcmp, .-varcmp
	.type	vpcmp, @function
vpcmp:
.LFB320:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	varcmp
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE320:
	.size	vpcmp, .-vpcmp
	.type	findvar, @function
findvar:
.LFB321:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	jmp	.L3112
.L3115:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR 16[rax]
	mov	rdx, QWORD PTR -16[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	varequal
	test	eax, eax
	jne	.L3117
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
.L3112:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L3115
	jmp	.L3114
.L3117:
	nop
.L3114:
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE321:
	.size	findvar, .-findvar
	.globl	signal_names
	.section	.rodata
.LC309:
	.string	"EXIT"
.LC310:
	.string	"HUP"
.LC311:
	.string	"INT"
.LC312:
	.string	"QUIT"
.LC313:
	.string	"ILL"
.LC314:
	.string	"TRAP"
.LC315:
	.string	"ABRT"
.LC316:
	.string	"BUS"
.LC317:
	.string	"FPE"
.LC318:
	.string	"KILL"
.LC319:
	.string	"USR1"
.LC320:
	.string	"SEGV"
.LC321:
	.string	"USR2"
.LC322:
	.string	"PIPE"
.LC323:
	.string	"ALRM"
.LC324:
	.string	"TERM"
.LC325:
	.string	"CHLD"
.LC326:
	.string	"CONT"
.LC327:
	.string	"STOP"
.LC328:
	.string	"TSTP"
.LC329:
	.string	"TTIN"
.LC330:
	.string	"TTOU"
.LC331:
	.string	"URG"
.LC332:
	.string	"XCPU"
.LC333:
	.string	"XFSZ"
.LC334:
	.string	"VTALRM"
.LC335:
	.string	"PROF"
.LC336:
	.string	"WINCH"
.LC337:
	.string	"IO"
.LC338:
	.string	"PWR"
.LC339:
	.string	"SYS"
	.section	.data.rel.ro.local
	.align 32
	.type	signal_names, @object
	.size	signal_names, 528
signal_names:
	.quad	.LC309
	.quad	.LC310
	.quad	.LC311
	.quad	.LC312
	.quad	.LC313
	.quad	.LC314
	.quad	.LC315
	.quad	.LC316
	.quad	.LC317
	.quad	.LC318
	.quad	.LC319
	.quad	.LC320
	.quad	.LC321
	.quad	.LC322
	.quad	.LC323
	.quad	.LC324
	.zero	8
	.quad	.LC325
	.quad	.LC326
	.quad	.LC327
	.quad	.LC328
	.quad	.LC329
	.quad	.LC330
	.quad	.LC331
	.quad	.LC332
	.quad	.LC333
	.quad	.LC334
	.quad	.LC335
	.quad	.LC336
	.quad	.LC337
	.quad	.LC338
	.quad	.LC339
	.zero	264
	.quad	0
	.text
	.type	strchrcount, @function
strchrcount:
.LFB322:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	eax, esi
	mov	BYTE PTR -28[rbp], al
	mov	QWORD PTR -16[rbp], 0
	mov	QWORD PTR -8[rbp], 0
	movsx	edx, BYTE PTR -28[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	strchr@PLT
	mov	QWORD PTR -8[rbp], rax
	jmp	.L3119
.L3120:
	add	QWORD PTR -16[rbp], 1
	movsx	eax, BYTE PTR -28[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	add	rdx, 1
	mov	esi, eax
	mov	rdi, rdx
	call	strchr@PLT
	mov	QWORD PTR -8[rbp], rax
.L3119:
	cmp	QWORD PTR -8[rbp], 0
	jne	.L3120
	mov	rax, QWORD PTR -16[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE322:
	.size	strchrcount, .-strchrcount
	.type	copyquoted, @function
copyquoted:
.LFB323:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	jmp	.L3123
.L3125:
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 39
	jne	.L3124
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	BYTE PTR [rax], 39
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	BYTE PTR [rax], 92
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	BYTE PTR [rax], 39
.L3124:
	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
.L3123:
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L3125
	mov	rax, QWORD PTR -8[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE323:
	.size	copyquoted, .-copyquoted
	.type	setquoted, @function
setquoted:
.LFB324:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 88
	.cfi_offset 3, -24
	mov	QWORD PTR -72[rbp], rdi
	mov	DWORD PTR -76[rbp], esi
	mov	QWORD PTR -88[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -24[rbp], rax
	xor	eax, eax
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	mov	QWORD PTR -48[rbp], rax
	mov	DWORD PTR -52[rbp], 0
	mov	QWORD PTR -32[rbp], 0
	mov	QWORD PTR -40[rbp], 0
	mov	DWORD PTR -52[rbp], 0
	jmp	.L3128
.L3129:
	mov	eax, DWORD PTR -52[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -88[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	strlen@PLT
	mov	rbx, rax
	mov	eax, DWORD PTR -52[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -88[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	esi, 39
	mov	rdi, rax
	call	strchrcount
	mov	rdx, rax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	add	rax, rbx
	add	rax, 2
	add	QWORD PTR -48[rbp], rax
	add	DWORD PTR -52[rbp], 1
.L3128:
	mov	eax, DWORD PTR -52[rbp]
	cmp	eax, DWORD PTR -76[rbp]
	jl	.L3129
	mov	rax, QWORD PTR -48[rbp]
	lea	rdx, 8[rax]
	mov	eax, 16
	sub	rax, 1
	add	rax, rdx
	mov	ebx, 16
	mov	edx, 0
	div	rbx
	imul	rax, rax, 16
	mov	rcx, rax
	and	rcx, -4096
	mov	rdx, rsp
	sub	rdx, rcx
.L3130:
	cmp	rsp, rdx
	je	.L3131
	sub	rsp, 4096
	or	QWORD PTR 4088[rsp], 0
	jmp	.L3130
.L3131:
	mov	rdx, rax
	and	edx, 4095
	sub	rsp, rdx
	mov	rdx, rax
	and	edx, 4095
	test	rdx, rdx
	je	.L3132
	and	eax, 4095
	sub	rax, 8
	add	rax, rsp
	or	QWORD PTR [rax], 0
.L3132:
	mov	rax, rsp
	add	rax, 15
	shr	rax, 4
	sal	rax, 4
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR -40[rbp], rax
	mov	DWORD PTR -52[rbp], 0
	jmp	.L3133
.L3135:
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -40[rbp], rdx
	mov	BYTE PTR [rax], 39
	mov	eax, DWORD PTR -52[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -88[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	copyquoted
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -40[rbp], rdx
	mov	BYTE PTR [rax], 39
	mov	eax, DWORD PTR -76[rbp]
	sub	eax, 1
	cmp	DWORD PTR -52[rbp], eax
	jge	.L3134
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -40[rbp], rdx
	mov	BYTE PTR [rax], 32
.L3134:
	add	DWORD PTR -52[rbp], 1
.L3133:
	mov	eax, DWORD PTR -52[rbp]
	cmp	eax, DWORD PTR -76[rbp]
	jl	.L3135
	mov	rax, QWORD PTR -40[rbp]
	mov	BYTE PTR [rax], 0
	mov	rcx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	setvar
	mov	eax, 0
	mov	rbx, QWORD PTR -24[rbp]
	sub	rbx, QWORD PTR fs:40
	je	.L3137
	call	__stack_chk_fail@PLT
.L3137:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE324:
	.size	setquoted, .-setquoted
	.section	.rodata
.LC340:
	.string	"result"
	.text
	.globl	mk_quotecmd
	.type	mk_quotecmd, @function
mk_quotecmd:
.LFB325:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	DWORD PTR -4[rbp], edi
	mov	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -16[rbp]
	lea	rdx, 8[rax]
	mov	eax, DWORD PTR -4[rbp]
	sub	eax, 1
	mov	esi, eax
	lea	rdi, .LC340[rip]
	call	setquoted
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE325:
	.size	mk_quotecmd, .-mk_quotecmd
	.globl	mk_quote_spacecmd
	.type	mk_quote_spacecmd, @function
mk_quote_spacecmd:
.LFB326:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 72
	.cfi_offset 3, -24
	mov	DWORD PTR -68[rbp], edi
	mov	QWORD PTR -80[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -24[rbp], rax
	xor	eax, eax
	mov	eax, DWORD PTR -68[rbp]
	sub	eax, 1
	cdqe
	mov	QWORD PTR -48[rbp], rax
	mov	DWORD PTR -56[rbp], 0
	mov	DWORD PTR -52[rbp], 0
	mov	QWORD PTR -32[rbp], 0
	mov	QWORD PTR -40[rbp], 0
	mov	DWORD PTR -56[rbp], 1
	jmp	.L3141
.L3142:
	mov	rax, QWORD PTR -80[rbp]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	strlen@PLT
	mov	rbx, rax
	mov	rax, QWORD PTR -80[rbp]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	mov	esi, 32
	mov	rdi, rax
	call	strchrcount
	add	rax, rbx
	add	QWORD PTR -48[rbp], rax
	add	DWORD PTR -56[rbp], 1
.L3141:
	mov	eax, DWORD PTR -56[rbp]
	cmp	eax, DWORD PTR -68[rbp]
	jl	.L3142
	mov	rax, QWORD PTR -48[rbp]
	lea	rdx, 8[rax]
	mov	eax, 16
	sub	rax, 1
	add	rax, rdx
	mov	esi, 16
	mov	edx, 0
	div	rsi
	imul	rax, rax, 16
	mov	rcx, rax
	and	rcx, -4096
	mov	rdx, rsp
	sub	rdx, rcx
.L3143:
	cmp	rsp, rdx
	je	.L3144
	sub	rsp, 4096
	or	QWORD PTR 4088[rsp], 0
	jmp	.L3143
.L3144:
	mov	rdx, rax
	and	edx, 4095
	sub	rsp, rdx
	mov	rdx, rax
	and	edx, 4095
	test	rdx, rdx
	je	.L3145
	and	eax, 4095
	sub	rax, 8
	add	rax, rsp
	or	QWORD PTR [rax], 0
.L3145:
	mov	rax, rsp
	add	rax, 15
	shr	rax, 4
	sal	rax, 4
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR -40[rbp], rax
	mov	DWORD PTR -56[rbp], 1
	jmp	.L3146
.L3151:
	mov	DWORD PTR -52[rbp], 0
	jmp	.L3147
.L3149:
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -80[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -52[rbp]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 32
	jne	.L3148
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -40[rbp], rdx
	mov	BYTE PTR [rax], 92
.L3148:
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -80[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -52[rbp]
	cdqe
	lea	rcx, [rdx+rax]
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -40[rbp], rdx
	movzx	edx, BYTE PTR [rcx]
	mov	BYTE PTR [rax], dl
	add	DWORD PTR -52[rbp], 1
.L3147:
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -80[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -52[rbp]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L3149
	mov	eax, DWORD PTR -68[rbp]
	sub	eax, 1
	cmp	DWORD PTR -56[rbp], eax
	jge	.L3150
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -40[rbp], rdx
	mov	BYTE PTR [rax], 32
.L3150:
	add	DWORD PTR -56[rbp], 1
.L3146:
	mov	eax, DWORD PTR -56[rbp]
	cmp	eax, DWORD PTR -68[rbp]
	jl	.L3151
	mov	rax, QWORD PTR -40[rbp]
	mov	BYTE PTR [rax], 0
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, 0
	mov	rsi, rax
	lea	rdi, .LC340[rip]
	call	setvar
	mov	eax, 0
	mov	rbx, QWORD PTR -24[rbp]
	sub	rbx, QWORD PTR fs:40
	je	.L3153
	call	__stack_chk_fail@PLT
.L3153:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE326:
	.size	mk_quote_spacecmd, .-mk_quote_spacecmd
	.section	.rodata
.LC341:
	.string	""
	.text
	.globl	mk_push_varscmd
	.type	mk_push_varscmd, @function
mk_push_varscmd:
.LFB327:
	.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	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -4[rbp], 0
	mov	DWORD PTR -4[rbp], 1
	jmp	.L3155
.L3157:
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	mklocal
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	esi, 61
	mov	rdi, rax
	call	strchr@PLT
	test	rax, rax
	jne	.L3156
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, 0
	lea	rsi, .LC341[rip]
	mov	rdi, rax
	call	setvar
.L3156:
	add	DWORD PTR -4[rbp], 1
.L3155:
	mov	eax, DWORD PTR -4[rbp]
	cmp	eax, DWORD PTR -20[rbp]
	jl	.L3157
	mov	eax, 0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE327:
	.size	mk_push_varscmd, .-mk_push_varscmd
	.type	shiftn, @function
shiftn:
.LFB328:
	.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	QWORD PTR -16[rbp], 0
	mov	QWORD PTR -8[rbp], 0
	mov	eax, DWORD PTR shellparam[rip]
	cmp	DWORD PTR -20[rbp], eax
	jle	.L3160
	lea	rdi, .LC226[rip]
	mov	eax, 0
	call	sh_error
.L3160:
	mov	eax, DWORD PTR suppressint[rip]
	add	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	eax, DWORD PTR shellparam[rip]
	sub	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR shellparam[rip], eax
	mov	rax, QWORD PTR shellparam[rip+8]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L3161
.L3163:
	movzx	eax, BYTE PTR shellparam[rip+4]
	test	al, al
	je	.L3162
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	free@PLT
.L3162:
	add	QWORD PTR -16[rbp], 8
.L3161:
	sub	DWORD PTR -20[rbp], 1
	cmp	DWORD PTR -20[rbp], 0
	jns	.L3163
	mov	rax, QWORD PTR shellparam[rip+8]
	mov	QWORD PTR -8[rbp], rax
	nop
.L3164:
	mov	rdx, QWORD PTR -16[rbp]
	lea	rax, 8[rdx]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	lea	rcx, 8[rax]
	mov	QWORD PTR -8[rbp], rcx
	mov	rdx, QWORD PTR [rdx]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L3164
	mov	DWORD PTR shellparam[rip+16], 1
	mov	DWORD PTR shellparam[rip+20], -1
	mov	eax, DWORD PTR suppressint[rip]
	sub	eax, 1
	mov	DWORD PTR suppressint[rip], eax
	mov	eax, DWORD PTR suppressint[rip]
	test	eax, eax
	jne	.L3166
	mov	eax, DWORD PTR intpending[rip]
	test	eax, eax
	je	.L3166
	call	onint
.L3166:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE328:
	.size	shiftn, .-shiftn
	.section	.rodata
.LC342:
	.string	"--"
.LC343:
	.string	"={"
.LC344:
	.string	"missing closing }"
	.text
	.globl	mk_parse_paramscmd
	.type	mk_parse_paramscmd, @function
mk_parse_paramscmd:
.LFB329:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 40
	.cfi_offset 3, -24
	mov	DWORD PTR -36[rbp], edi
	mov	QWORD PTR -48[rbp], rsi
	mov	DWORD PTR -24[rbp], 0
	mov	DWORD PTR -20[rbp], 0
	mov	DWORD PTR -24[rbp], 0
	jmp	.L3168
.L3179:
	mov	rdx, QWORD PTR shellparam[rip+8]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	lea	rsi, .LC342[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L3169
	add	DWORD PTR -24[rbp], 1
	jmp	.L3170
.L3169:
	mov	rdx, QWORD PTR shellparam[rip+8]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 64
	jne	.L3171
	mov	rdx, QWORD PTR shellparam[rip+8]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rbx, QWORD PTR [rax]
	mov	rdx, QWORD PTR shellparam[rip+8]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	strlen@PLT
	sub	rax, 2
	add	rax, rbx
	lea	rsi, .LC343[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L3171
	mov	eax, DWORD PTR -24[rbp]
	add	eax, 1
	mov	DWORD PTR -20[rbp], eax
	jmp	.L3172
.L3175:
	mov	rdx, QWORD PTR shellparam[rip+8]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	lea	rsi, .LC46[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L3173
	mov	rdx, QWORD PTR shellparam[rip+8]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rbx, QWORD PTR [rax]
	mov	rdx, QWORD PTR shellparam[rip+8]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	strlen@PLT
	sub	rax, 2
	add	rax, rbx
	mov	BYTE PTR [rax], 0
	mov	rdx, QWORD PTR shellparam[rip+8]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	add	rax, 1
	sal	rax, 3
	add	rdx, rax
	mov	eax, DWORD PTR -20[rbp]
	sub	eax, DWORD PTR -24[rbp]
	lea	ecx, -1[rax]
	mov	rsi, QWORD PTR shellparam[rip+8]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	sal	rax, 3
	add	rax, rsi
	mov	rax, QWORD PTR [rax]
	add	rax, 1
	mov	esi, ecx
	mov	rdi, rax
	call	setquoted
	mov	rdx, QWORD PTR shellparam[rip+8]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rbx, QWORD PTR [rax]
	mov	rdx, QWORD PTR shellparam[rip+8]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	strlen@PLT
	sub	rax, 2
	add	rax, rbx
	mov	BYTE PTR [rax], 61
	mov	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR -24[rbp], eax
	jmp	.L3174
.L3173:
	add	DWORD PTR -20[rbp], 1
.L3172:
	mov	eax, DWORD PTR shellparam[rip]
	cmp	DWORD PTR -20[rbp], eax
	jl	.L3175
.L3174:
	mov	eax, DWORD PTR shellparam[rip]
	cmp	DWORD PTR -20[rbp], eax
	jne	.L3177
	lea	rdi, .LC344[rip]
	mov	eax, 0
	call	sh_error
.L3171:
	mov	rdx, QWORD PTR shellparam[rip+8]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	esi, 61
	mov	rdi, rax
	call	strchr@PLT
	test	rax, rax
	je	.L3180
	mov	rdx, QWORD PTR shellparam[rip+8]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	esi, 0
	mov	rdi, rax
	call	setvareq
.L3177:
	add	DWORD PTR -24[rbp], 1
.L3168:
	mov	eax, DWORD PTR shellparam[rip]
	cmp	DWORD PTR -24[rbp], eax
	jl	.L3179
	jmp	.L3170
.L3180:
	nop
.L3170:
	mov	eax, DWORD PTR -24[rbp]
	mov	edi, eax
	call	shiftn
	nop
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE329:
	.size	mk_parse_paramscmd, .-mk_parse_paramscmd
	.globl	builtincmd
	.section	.rodata
.LC345:
	.string	":"
.LC346:
	.string	"["
.LC347:
	.string	"_mk_push_vars"
.LC348:
	.string	"bg"
.LC349:
	.string	"break"
.LC350:
	.string	"cd"
.LC351:
	.string	"chdir"
.LC352:
	.string	"command"
.LC353:
	.string	"continue"
.LC354:
	.string	"echo"
.LC355:
	.string	"eval"
.LC356:
	.string	"exec"
.LC357:
	.string	"exit"
.LC358:
	.string	"export"
.LC359:
	.string	"false"
.LC360:
	.string	"fg"
.LC361:
	.string	"getopts"
.LC362:
	.string	"hash"
.LC363:
	.string	"jobs"
.LC364:
	.string	"kill"
.LC365:
	.string	"local"
.LC366:
	.string	"mk_parse_params"
.LC367:
	.string	"mk_quote"
.LC368:
	.string	"mk_quote_list"
.LC369:
	.string	"mk_quote_space"
.LC370:
	.string	"mk_quote_space_list"
.LC371:
	.string	"printf"
.LC372:
	.string	"pwd"
.LC373:
	.string	"read"
.LC374:
	.string	"readonly"
.LC375:
	.string	"return"
.LC376:
	.string	"set"
.LC377:
	.string	"shift"
.LC378:
	.string	"test"
.LC379:
	.string	"times"
.LC380:
	.string	"trap"
.LC381:
	.string	"true"
.LC382:
	.string	"type"
.LC383:
	.string	"ulimit"
.LC384:
	.string	"umask"
.LC385:
	.string	"unset"
.LC386:
	.string	"wait"
	.section	.data.rel.ro.local
	.align 32
	.type	builtincmd, @object
	.size	builtincmd, 1080
builtincmd:
	.quad	.LC60
	.quad	dotcmd
	.long	3
	.zero	4
	.quad	.LC345
	.quad	truecmd
	.long	3
	.zero	4
	.quad	.LC346
	.quad	testcmd
	.long	0
	.zero	4
	.quad	.LC347
	.quad	mk_push_varscmd
	.long	7
	.zero	4
	.quad	.LC47
	.quad	aliascmd
	.long	6
	.zero	4
	.quad	.LC348
	.quad	bgcmd
	.long	2
	.zero	4
	.quad	.LC349
	.quad	breakcmd
	.long	3
	.zero	4
	.quad	.LC350
	.quad	cdcmd
	.long	2
	.zero	4
	.quad	.LC351
	.quad	cdcmd
	.long	0
	.zero	4
	.quad	.LC352
	.quad	commandcmd
	.long	2
	.zero	4
	.quad	.LC353
	.quad	breakcmd
	.long	3
	.zero	4
	.quad	.LC354
	.quad	echocmd
	.long	0
	.zero	4
	.quad	.LC355
	.quad	0
	.long	3
	.zero	4
	.quad	.LC356
	.quad	execcmd
	.long	3
	.zero	4
	.quad	.LC357
	.quad	exitcmd
	.long	3
	.zero	4
	.quad	.LC358
	.quad	exportcmd
	.long	7
	.zero	4
	.quad	.LC359
	.quad	falsecmd
	.long	2
	.zero	4
	.quad	.LC360
	.quad	fgcmd
	.long	2
	.zero	4
	.quad	.LC361
	.quad	getoptscmd
	.long	2
	.zero	4
	.quad	.LC362
	.quad	hashcmd
	.long	0
	.zero	4
	.quad	.LC363
	.quad	jobscmd
	.long	2
	.zero	4
	.quad	.LC364
	.quad	killcmd
	.long	2
	.zero	4
	.quad	.LC365
	.quad	localcmd
	.long	7
	.zero	4
	.quad	.LC366
	.quad	mk_parse_paramscmd
	.long	0
	.zero	4
	.quad	.LC367
	.quad	mk_quotecmd
	.long	0
	.zero	4
	.quad	.LC368
	.quad	mk_quotecmd
	.long	0
	.zero	4
	.quad	.LC369
	.quad	mk_quote_spacecmd
	.long	0
	.zero	4
	.quad	.LC370
	.quad	mk_quote_spacecmd
	.long	0
	.zero	4
	.quad	.LC371
	.quad	printfcmd
	.long	0
	.zero	4
	.quad	.LC372
	.quad	pwdcmd
	.long	0
	.zero	4
	.quad	.LC373
	.quad	readcmd
	.long	2
	.zero	4
	.quad	.LC374
	.quad	exportcmd
	.long	7
	.zero	4
	.quad	.LC375
	.quad	returncmd
	.long	3
	.zero	4
	.quad	.LC376
	.quad	setcmd
	.long	3
	.zero	4
	.quad	.LC377
	.quad	shiftcmd
	.long	3
	.zero	4
	.quad	.LC378
	.quad	testcmd
	.long	0
	.zero	4
	.quad	.LC379
	.quad	timescmd
	.long	3
	.zero	4
	.quad	.LC380
	.quad	trapcmd
	.long	3
	.zero	4
	.quad	.LC381
	.quad	truecmd
	.long	2
	.zero	4
	.quad	.LC382
	.quad	typecmd
	.long	0
	.zero	4
	.quad	.LC383
	.quad	ulimitcmd
	.long	0
	.zero	4
	.quad	.LC384
	.quad	umaskcmd
	.long	2
	.zero	4
	.quad	.LC50
	.quad	unaliascmd
	.long	2
	.zero	4
	.quad	.LC385
	.quad	unsetcmd
	.long	3
	.zero	4
	.quad	.LC386
	.quad	waitcmd
	.long	2
	.zero	4
	.text
	.globl	init
	.type	init, @function
init:
.LFB330:
	.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	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rax, basebuf[rip]
	mov	QWORD PTR basepf[rip+32], rax
	mov	rax, QWORD PTR basepf[rip+32]
	mov	QWORD PTR basepf[rip+24], rax
	mov	BYTE PTR sigmode[rip+16], 1
	mov	edi, 17
	call	setsignal
	call	initvar
	mov	rax, QWORD PTR environ[rip]
	mov	QWORD PTR -320[rbp], rax
	jmp	.L3182
.L3184:
	mov	rax, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR [rax]
	mov	esi, 61
	mov	rdi, rax
	call	strchr@PLT
	test	rax, rax
	je	.L3183
	mov	rax, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR [rax]
	mov	esi, 9
	mov	rdi, rax
	call	setvareq
.L3183:
	add	QWORD PTR -320[rbp], 8
.L3182:
	mov	rax, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L3184
	call	getppid@PLT
	cdqe
	lea	rdi, ppid.0[rip+5]
	mov	rcx, rax
	lea	rdx, .LC94[rip]
	mov	esi, 27
	mov	eax, 0
	call	fmtstr
	mov	esi, 8
	lea	rdi, ppid.0[rip]
	call	setvareq
	lea	rdi, .LC65[rip]
	call	lookupvar
	mov	QWORD PTR -312[rbp], rax
	cmp	QWORD PTR -312[rbp], 0
	je	.L3185
	mov	rax, QWORD PTR -312[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 47
	jne	.L3186
	lea	rdx, -304[rbp]
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	stat@PLT
	test	eax, eax
	jne	.L3186
	lea	rax, -160[rbp]
	mov	rsi, rax
	lea	rdi, .LC60[rip]
	call	stat@PLT
	test	eax, eax
	jne	.L3186
	mov	rdx, QWORD PTR -304[rbp]
	mov	rax, QWORD PTR -160[rbp]
	cmp	rdx, rax
	jne	.L3186
	mov	rdx, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -152[rbp]
	cmp	rdx, rax
	je	.L3185
.L3186:
	mov	QWORD PTR -312[rbp], 0
.L3185:
	mov	rax, QWORD PTR -312[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	setpwd
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L3187
	call	__stack_chk_fail@PLT
.L3187:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE330:
	.size	init, .-init
	.globl	reset
	.type	reset, @function
reset:
.LFB331:
	.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 evalskip[rip], 0
	mov	DWORD PTR loopnest[rip], 0
	call	ifsfree
	mov	DWORD PTR parsenleft[rip], 0
	mov	eax, DWORD PTR parsenleft[rip]
	mov	DWORD PTR parselleft[rip], eax
	call	popallfiles
	mov	DWORD PTR tokpushback[rip], 0
	mov	DWORD PTR checkkwd[rip], 0
	mov	edi, 0
	call	unwindredir
	mov	edi, 0
	call	unwindlocalvars
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE331:
	.size	reset, .-reset
	.globl	funcblocksize
	.bss
	.align 4
	.type	funcblocksize, @object
	.size	funcblocksize, 4
funcblocksize:
	.zero	4
	.globl	funcstringsize
	.align 4
	.type	funcstringsize, @object
	.size	funcstringsize, 4
funcstringsize:
	.zero	4
	.globl	funcblock
	.align 8
	.type	funcblock, @object
	.size	funcblock, 8
funcblock:
	.zero	8
	.globl	funcstring
	.align 8
	.type	funcstring, @object
	.size	funcstring, 8
funcstring:
	.zero	8
	.section	.rodata
	.align 32
	.type	nodesize, @object
	.size	nodesize, 52
nodesize:
	.value	32
	.value	16
	.value	24
	.value	24
	.value	24
	.value	24
	.value	24
	.value	24
	.value	32
	.value	24
	.value	24
	.value	32
	.value	24
	.value	32
	.value	24
	.value	32
	.value	40
	.value	40
	.value	40
	.value	40
	.value	40
	.value	32
	.value	32
	.value	32
	.value	32
	.value	16
	.text
	.globl	copyfunc
	.type	copyfunc, @function
copyfunc:
.LFB332:
	.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 funcblocksize[rip], 8
	mov	DWORD PTR funcstringsize[rip], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	calcsize
	mov	eax, DWORD PTR funcblocksize[rip]
	cdqe
	mov	QWORD PTR -16[rbp], rax
	mov	eax, DWORD PTR funcstringsize[rip]
	movsx	rdx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	mov	rdi, rax
	call	ckmalloc
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 8
	mov	QWORD PTR funcblock[rip], rax
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	mov	QWORD PTR funcstring[rip], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	copynode
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], 0
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE332:
	.size	copyfunc, .-copyfunc
	.type	calcsize, @function
calcsize:
.LFB333:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	cmp	QWORD PTR -8[rbp], 0
	je	.L3209
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, nodesize[rip]
	movzx	eax, WORD PTR [rdx+rax]
	movsx	edx, ax
	mov	eax, DWORD PTR funcblocksize[rip]
	add	eax, edx
	mov	DWORD PTR funcblocksize[rip], eax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 25
	ja	.L3191
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L3195[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L3195[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L3195:
	.long	.L3208-.L3195
	.long	.L3207-.L3195
	.long	.L3206-.L3195
	.long	.L3206-.L3195
	.long	.L3206-.L3195
	.long	.L3204-.L3195
	.long	.L3204-.L3195
	.long	.L3204-.L3195
	.long	.L3205-.L3195
	.long	.L3204-.L3195
	.long	.L3204-.L3195
	.long	.L3203-.L3195
	.long	.L3202-.L3195
	.long	.L3201-.L3195
	.long	.L3200-.L3195
	.long	.L3199-.L3195
	.long	.L3198-.L3195
	.long	.L3198-.L3195
	.long	.L3198-.L3195
	.long	.L3198-.L3195
	.long	.L3198-.L3195
	.long	.L3197-.L3195
	.long	.L3197-.L3195
	.long	.L3196-.L3195
	.long	.L3196-.L3195
	.long	.L3194-.L3195
	.text
.L3208:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	rdi, rax
	call	calcsize
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdi, rax
	call	calcsize
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	calcsize
	jmp	.L3191
.L3207:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	sizenodelist
	jmp	.L3191
.L3206:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdi, rax
	call	calcsize
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	calcsize
	jmp	.L3191
.L3204:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdi, rax
	call	calcsize
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	calcsize
	jmp	.L3191
.L3205:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	rdi, rax
	call	calcsize
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdi, rax
	call	calcsize
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	calcsize
	jmp	.L3191
.L3203:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	rdi, rax
	call	strlen@PLT
	mov	edx, eax
	mov	eax, DWORD PTR funcstringsize[rip]
	add	eax, edx
	add	eax, 1
	mov	DWORD PTR funcstringsize[rip], eax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdi, rax
	call	calcsize
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	calcsize
	jmp	.L3191
.L3202:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdi, rax
	call	calcsize
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	calcsize
	jmp	.L3191
.L3201:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	rdi, rax
	call	calcsize
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdi, rax
	call	calcsize
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	calcsize
	jmp	.L3191
.L3200:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdi, rax
	call	calcsize
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	strlen@PLT
	mov	edx, eax
	mov	eax, DWORD PTR funcstringsize[rip]
	add	eax, edx
	add	eax, 1
	mov	DWORD PTR funcstringsize[rip], eax
	jmp	.L3191
.L3199:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	rdi, rax
	call	sizenodelist
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdi, rax
	call	strlen@PLT
	mov	edx, eax
	mov	eax, DWORD PTR funcstringsize[rip]
	add	eax, edx
	add	eax, 1
	mov	DWORD PTR funcstringsize[rip], eax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	calcsize
	jmp	.L3191
.L3198:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	rdi, rax
	call	calcsize
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	calcsize
	jmp	.L3191
.L3197:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	rdi, rax
	call	calcsize
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	calcsize
	jmp	.L3191
.L3196:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	rdi, rax
	call	calcsize
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	calcsize
	jmp	.L3191
.L3194:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	calcsize
	jmp	.L3191
.L3209:
	nop
.L3191:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE333:
	.size	calcsize, .-calcsize
	.type	sizenodelist, @function
sizenodelist:
.LFB334:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	jmp	.L3211
.L3212:
	mov	eax, DWORD PTR funcblocksize[rip]
	add	eax, 16
	mov	DWORD PTR funcblocksize[rip], eax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	calcsize
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
.L3211:
	cmp	QWORD PTR -8[rbp], 0
	jne	.L3212
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE334:
	.size	sizenodelist, .-sizenodelist
	.type	copynode, @function
copynode:
.LFB335:
	.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
	cmp	QWORD PTR -24[rbp], 0
	jne	.L3214
	mov	eax, 0
	jmp	.L3215
.L3214:
	mov	rax, QWORD PTR funcblock[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	rcx, QWORD PTR funcblock[rip]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, nodesize[rip]
	movzx	eax, WORD PTR [rdx+rax]
	movsx	rax, ax
	add	rax, rcx
	mov	QWORD PTR funcblock[rip], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 25
	ja	.L3216
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L3218[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L3218[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L3218:
	.long	.L3231-.L3218
	.long	.L3230-.L3218
	.long	.L3229-.L3218
	.long	.L3229-.L3218
	.long	.L3229-.L3218
	.long	.L3227-.L3218
	.long	.L3227-.L3218
	.long	.L3227-.L3218
	.long	.L3228-.L3218
	.long	.L3227-.L3218
	.long	.L3227-.L3218
	.long	.L3226-.L3218
	.long	.L3225-.L3218
	.long	.L3224-.L3218
	.long	.L3223-.L3218
	.long	.L3222-.L3218
	.long	.L3221-.L3218
	.long	.L3221-.L3218
	.long	.L3221-.L3218
	.long	.L3221-.L3218
	.long	.L3221-.L3218
	.long	.L3220-.L3218
	.long	.L3220-.L3218
	.long	.L3219-.L3218
	.long	.L3219-.L3218
	.long	.L3217-.L3218
	.text
.L3231:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	rdi, rax
	call	copynode
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 24[rdx], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdi, rax
	call	copynode
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rdx], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	copynode
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rdx], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 4[rax], edx
	jmp	.L3216
.L3230:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	copynodelist
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rdx], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 4[rax], edx
	jmp	.L3216
.L3229:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdi, rax
	call	copynode
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rdx], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	copynode
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rdx], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 4[rax], edx
	jmp	.L3216
.L3227:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdi, rax
	call	copynode
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rdx], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	copynode
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rdx], rax
	jmp	.L3216
.L3228:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	rdi, rax
	call	copynode
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 24[rdx], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdi, rax
	call	copynode
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rdx], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	copynode
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rdx], rax
	jmp	.L3216
.L3226:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	rdi, rax
	call	nodesavestr
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 24[rdx], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdi, rax
	call	copynode
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rdx], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	copynode
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rdx], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 4[rax], edx
	jmp	.L3216
.L3225:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdi, rax
	call	copynode
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rdx], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	copynode
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rdx], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 4[rax], edx
	jmp	.L3216
.L3224:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	rdi, rax
	call	copynode
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 24[rdx], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdi, rax
	call	copynode
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rdx], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	copynode
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rdx], rax
	jmp	.L3216
.L3223:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdi, rax
	call	copynode
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rdx], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	nodesavestr
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rdx], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 4[rax], edx
	jmp	.L3216
.L3222:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	rdi, rax
	call	copynodelist
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 24[rdx], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdi, rax
	call	nodesavestr
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rdx], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	copynode
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rdx], rax
	jmp	.L3216
.L3221:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	rdi, rax
	call	copynode
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 24[rdx], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 16[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	copynode
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rdx], rax
	jmp	.L3216
.L3220:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	rdi, rax
	call	copynode
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 24[rdx], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 20[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 20[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 16[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	copynode
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rdx], rax
	jmp	.L3216
.L3219:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	rdi, rax
	call	copynode
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 24[rdx], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 16[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	copynode
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rdx], rax
	jmp	.L3216
.L3217:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	copynode
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rdx], rax
	nop
.L3216:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -8[rbp]
.L3215:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE335:
	.size	copynode, .-copynode
	.type	copynodelist, @function
copynodelist:
.LFB336:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 56
	.cfi_offset 3, -24
	mov	QWORD PTR -56[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -24[rbp], rax
	xor	eax, eax
	lea	rax, -40[rbp]
	mov	QWORD PTR -32[rbp], rax
	jmp	.L3233
.L3234:
	mov	rdx, QWORD PTR funcblock[rip]
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR funcblock[rip]
	add	rax, 16
	mov	QWORD PTR funcblock[rip], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR -32[rbp]
	mov	rbx, QWORD PTR [rdx]
	mov	rdi, rax
	call	copynode
	mov	QWORD PTR 8[rbx], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -32[rbp], rax
.L3233:
	cmp	QWORD PTR -56[rbp], 0
	jne	.L3234
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR [rax], 0
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR -24[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L3236
	call	__stack_chk_fail@PLT
.L3236:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE336:
	.size	copynodelist, .-copynodelist
	.type	nodesavestr, @function
nodesavestr:
.LFB337:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR funcstring[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR funcstring[rip]
	mov	rdx, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	stpcpy@PLT
	add	rax, 1
	mov	QWORD PTR funcstring[rip], rax
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE337:
	.size	nodesavestr, .-nodesavestr
	.globl	freefunc
	.type	freefunc, @function
freefunc:
.LFB338:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	cmp	QWORD PTR -8[rbp], 0
	je	.L3241
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jns	.L3241
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	free@PLT
.L3241:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE338:
	.size	freefunc, .-freefunc
	.globl	basesyntax
	.section	.rodata
	.align 32
	.type	basesyntax, @object
	.size	basesyntax, 258
basesyntax:
	.string	"\013\r"
	.string	"\f\f\f\f\f\f\f\f"
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	"\r\001"
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	"\r"
	.string	"\004"
	.string	"\007"
	.string	"\r\003\r\r"
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	"\r\r"
	.string	"\r"
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	"\002"
	.string	""
	.string	""
	.string	"\006"
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	"\r\b"
	.string	""
	.globl	dqsyntax
	.align 32
	.type	dqsyntax, @object
	.size	dqsyntax, 258
dqsyntax:
	.string	"\013\016"
	.string	"\f\f\f\f\f\f\f\f"
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	"\001"
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	"\f\005"
	.string	"\007"
	.string	""
	.string	""
	.string	""
	.string	""
	.string	"\f"
	.string	""
	.string	"\f"
	.string	"\f"
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	"\f"
	.string	""
	.string	"\f"
	.string	"\f"
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	"\f\002\f"
	.string	""
	.string	"\006"
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	"\b\f"
	.globl	sqsyntax
	.align 32
	.type	sqsyntax, @object
	.size	sqsyntax, 258
sqsyntax:
	.string	"\013\016"
	.string	"\f\f\f\f\f\f\f\f"
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	"\001"
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	"\f"
	.string	""
	.string	""
	.string	""
	.string	""
	.string	"\005"
	.string	""
	.string	"\f"
	.string	""
	.string	"\f"
	.string	"\f"
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	"\f"
	.string	""
	.string	"\f"
	.string	"\f"
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	"\f\f\f"
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	"\f"
	.globl	arisyntax
	.align 32
	.type	arisyntax, @object
	.size	arisyntax, 258
arisyntax:
	.string	"\013\016"
	.string	"\f\f\f\f\f\f\f\f"
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	"\001"
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	"\007"
	.string	""
	.string	""
	.string	"\t\n"
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	"\002"
	.string	""
	.string	""
	.string	"\006"
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	"\b"
	.string	""
	.globl	is_type
	.align 32
	.type	is_type, @object
	.size	is_type, 258
is_type:
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	"\020"
	.string	"\020\020"
	.string	""
	.string	""
	.string	""
	.string	""
	.string	"\020"
	.string	""
	.string	"\020"
	.string	""
	.string	"\001\001\001\001\001\001\001\001\001\001"
	.string	""
	.string	""
	.string	""
	.string	""
	.string	"\020\020\002\002\002\002\002\002\002\002\002\002\002\002\002\002\002\002\002\002\002\002\002\002\002\002\002\002"
	.string	""
	.string	""
	.string	""
	.string	"\b"
	.string	"\004\004\004\004\004\004\004\004\004\004\004\004\004\004\004\004\004\004\004\004\004\004\004\004\004\004"
	.string	""
	.string	""
	.string	""
	.string	""
	.align 8
	.type	spclchars.6, @object
	.size	spclchars.6, 9
spclchars.6:
	.string	"=:\210\203\201\202\204\207"
	.type	metachars.5, @object
	.size	metachars.5, 4
metachars.5:
	.string	"*?["
	.section	.data.rel.ro,"aw"
	.align 32
	.type	classes.4, @object
	.size	classes.4, 288
classes.4:
	.string	":alnum:]"
	.zero	1
	.zero	6
	.quad	isalnum
	.string	":cntrl:]"
	.zero	1
	.zero	6
	.quad	iscntrl
	.string	":lower:]"
	.zero	1
	.zero	6
	.quad	islower
	.string	":space:]"
	.zero	1
	.zero	6
	.quad	isspace
	.string	":alpha:]"
	.zero	1
	.zero	6
	.quad	isalpha
	.string	":digit:]"
	.zero	1
	.zero	6
	.quad	isdigit
	.string	":print:]"
	.zero	1
	.zero	6
	.quad	isprint
	.string	":upper:]"
	.zero	1
	.zero	6
	.quad	isupper
	.string	":blank:]"
	.zero	1
	.zero	6
	.quad	isblank
	.string	":graph:]"
	.zero	1
	.zero	6
	.quad	isgraph
	.string	":punct:]"
	.zero	1
	.zero	6
	.quad	ispunct
	.string	":xdigit:]"
	.zero	6
	.quad	isxdigit
	.section	.rodata
	.align 32
	.type	vstype.3, @object
	.size	vstype.3, 64
vstype.3:
	.string	""
	.zero	3
	.string	"}"
	.zero	2
	.string	"-"
	.zero	2
	.string	"+"
	.zero	2
	.string	"?"
	.zero	2
	.string	"="
	.zero	2
	.string	"%"
	.zero	2
	.string	"%%"
	.zero	1
	.string	"#"
	.zero	2
	.string	"##"
	.zero	1
	.zero	24
	.type	types.2, @object
	.size	types.2, 6
types.2:
	.string	"}-+?="
	.local	is_interactive.1
	.comm	is_interactive.1,4,4
	.data
	.align 32
	.type	ppid.0, @object
	.size	ppid.0, 32
ppid.0:
	.string	"PPID="
	.zero	26
	.section	.rodata
	.align 8
.LC0:
	.long	1352628735
	.long	1070810131
	.align 8
.LC1:
	.long	0
	.long	1076625408
	.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	"974415.c"
	.text
	.global	__aeabi_i2d
	.global	__aeabi_dmul
	.global	__aeabi_dadd
	.global	__aeabi_d2iz
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	max_int_length, %function
max_int_length:
	@ 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]
	lsl	r3, r3, #3
	sub	r3, r3, #1
	mov	r0, r3
	bl	__aeabi_i2d
	ldr	r2, .L3
	ldr	r3, .L3+4
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	ldr	r3, .L3+8
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2iz
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L4:
	.align	2
.L3:
	.word	1352628735
	.word	1070810131
	.word	1076625408
	.size	max_int_length, .-max_int_length
	.section	.rodata
	.align	2
	.type	tokendlist, %object
	.size	tokendlist, 29
tokendlist:
	.ascii	"\001\000\000\000\000\000\000\000\001\001\001\000\000"
	.ascii	"\000\000\001\001\001\001\001\001\000\000\000\001\000"
	.ascii	"\000\000\001"
	.align	2
.LC0:
	.ascii	"end of file\000"
	.align	2
.LC1:
	.ascii	"newline\000"
	.align	2
.LC2:
	.ascii	"\";\"\000"
	.align	2
.LC3:
	.ascii	"\"&\"\000"
	.align	2
.LC4:
	.ascii	"\"&&\"\000"
	.align	2
.LC5:
	.ascii	"\"||\"\000"
	.align	2
.LC6:
	.ascii	"\"|\"\000"
	.align	2
.LC7:
	.ascii	"\"(\"\000"
	.align	2
.LC8:
	.ascii	"\")\"\000"
	.align	2
.LC9:
	.ascii	"\";;\"\000"
	.align	2
.LC10:
	.ascii	"\"`\"\000"
	.align	2
.LC11:
	.ascii	"redirection\000"
	.align	2
.LC12:
	.ascii	"word\000"
	.align	2
.LC13:
	.ascii	"\"!\"\000"
	.align	2
.LC14:
	.ascii	"\"case\"\000"
	.align	2
.LC15:
	.ascii	"\"do\"\000"
	.align	2
.LC16:
	.ascii	"\"done\"\000"
	.align	2
.LC17:
	.ascii	"\"elif\"\000"
	.align	2
.LC18:
	.ascii	"\"else\"\000"
	.align	2
.LC19:
	.ascii	"\"esac\"\000"
	.align	2
.LC20:
	.ascii	"\"fi\"\000"
	.align	2
.LC21:
	.ascii	"\"for\"\000"
	.align	2
.LC22:
	.ascii	"\"if\"\000"
	.align	2
.LC23:
	.ascii	"\"in\"\000"
	.align	2
.LC24:
	.ascii	"\"then\"\000"
	.align	2
.LC25:
	.ascii	"\"until\"\000"
	.align	2
.LC26:
	.ascii	"\"while\"\000"
	.align	2
.LC27:
	.ascii	"\"{\"\000"
	.align	2
.LC28:
	.ascii	"\"}\"\000"
	.align	2
	.type	tokname, %object
	.size	tokname, 116
tokname:
	.word	.LC0
	.word	.LC1
	.word	.LC2
	.word	.LC3
	.word	.LC4
	.word	.LC5
	.word	.LC6
	.word	.LC7
	.word	.LC8
	.word	.LC9
	.word	.LC10
	.word	.LC11
	.word	.LC12
	.word	.LC13
	.word	.LC14
	.word	.LC15
	.word	.LC16
	.word	.LC17
	.word	.LC18
	.word	.LC19
	.word	.LC20
	.word	.LC21
	.word	.LC22
	.word	.LC23
	.word	.LC24
	.word	.LC25
	.word	.LC26
	.word	.LC27
	.word	.LC28
	.align	2
.LC29:
	.ascii	"!\000"
	.align	2
.LC30:
	.ascii	"case\000"
	.align	2
.LC31:
	.ascii	"do\000"
	.align	2
.LC32:
	.ascii	"done\000"
	.align	2
.LC33:
	.ascii	"elif\000"
	.align	2
.LC34:
	.ascii	"else\000"
	.align	2
.LC35:
	.ascii	"esac\000"
	.align	2
.LC36:
	.ascii	"fi\000"
	.align	2
.LC37:
	.ascii	"for\000"
	.align	2
.LC38:
	.ascii	"if\000"
	.align	2
.LC39:
	.ascii	"in\000"
	.align	2
.LC40:
	.ascii	"then\000"
	.align	2
.LC41:
	.ascii	"until\000"
	.align	2
.LC42:
	.ascii	"while\000"
	.align	2
.LC43:
	.ascii	"{\000"
	.align	2
.LC44:
	.ascii	"}\000"
	.align	2
	.type	parsekwd, %object
	.size	parsekwd, 64
parsekwd:
	.word	.LC29
	.word	.LC30
	.word	.LC31
	.word	.LC32
	.word	.LC33
	.word	.LC34
	.word	.LC35
	.word	.LC36
	.word	.LC37
	.word	.LC38
	.word	.LC39
	.word	.LC40
	.word	.LC41
	.word	.LC42
	.word	.LC43
	.word	.LC44
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	grabstackblock, %function
grabstackblock:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r0, [fp, #-8]
	bl	stalloc
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	grabstackblock, .-grabstackblock
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	_STPUTC, %function
_STPUTC:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, .L9
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	bne	.L7
	bl	growstackstr
	str	r0, [fp, #-12]
.L7:
	ldr	r3, [fp, #-12]
	add	r2, r3, #1
	str	r2, [fp, #-12]
	ldr	r2, [fp, #-8]
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-12]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L10:
	.align	2
.L9:
	.word	sstrend
	.size	_STPUTC, .-_STPUTC
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	freestdout, %function
freestdout:
	@ 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, .L12
	ldr	r3, [r3, #8]
	ldr	r2, .L12
	str	r3, [r2]
	ldr	r3, .L12
	mov	r2, #0
	str	r2, [r3, #20]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L13:
	.align	2
.L12:
	.word	output
	.size	freestdout, .-freestdout
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	outc, %function
outc:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	cmp	r2, r3
	bne	.L15
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	outcslow
	b	.L17
.L15:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-12]
	str	r2, [r3]
.L17:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	outc, .-outc
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	goodname, %function
goodname:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r0, [fp, #-8]
	bl	endofname
	mov	r3, r0
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	goodname, .-goodname
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	parser_eof, %function
parser_eof:
	@ 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, .L24
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L21
	ldr	r3, .L24+4
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L21
	mov	r3, #1
	b	.L23
.L21:
	mov	r3, #0
.L23:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L25:
	.align	2
.L24:
	.word	tokpushback
	.word	lasttoken
	.size	parser_eof, .-parser_eof
	.section	.rodata
	.align	2
.LC45:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	sigclearmask, %function
sigclearmask:
	@ args = 0, pretend = 0, frame = 136
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #136
	ldr	r3, .L28
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #136
	mov	r0, r3
	bl	sigemptyset
	sub	r3, fp, #136
	mov	r2, #0
	mov	r1, r3
	mov	r0, #2
	bl	sigprocmask
	nop
	ldr	r3, .L28
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L27
	bl	__stack_chk_fail
.L27:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L29:
	.align	2
.L28:
	.word	.LC45
	.size	sigclearmask, .-sigclearmask
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	have_traps, %function
have_traps:
	@ 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, .L32
	ldr	r3, [r3]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L33:
	.align	2
.L32:
	.word	trapcnt
	.size	have_traps, .-have_traps
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	varequal, %function
varequal:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	varcmp
	mov	r3, r0
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	varequal, .-varequal
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	bltinlookup, %function
bltinlookup:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r0, [fp, #-8]
	bl	lookupvar
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	bltinlookup, .-bltinlookup
	.comm	atab,156,4
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	setalias, %function
setalias:
	@ 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	r0, [fp, #-16]
	bl	__lookupalias
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, .L44
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L44
	str	r3, [r2]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L39
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #12]
	and	r3, r3, #1
	cmp	r3, #0
	bne	.L40
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	free
.L40:
	ldr	r0, [fp, #-20]
	bl	savestr
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #12]
	bic	r2, r3, #2
	ldr	r3, [fp, #-8]
	str	r2, [r3, #12]
	b	.L41
.L39:
	mov	r0, #16
	bl	ckmalloc
	str	r0, [fp, #-8]
	ldr	r0, [fp, #-16]
	bl	savestr
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3, #4]
	ldr	r0, [fp, #-20]
	bl	savestr
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
.L41:
	ldr	r3, .L44
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L44
	str	r3, [r2]
	ldr	r3, .L44
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L43
	ldr	r3, .L44+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L43
	bl	onint
.L43:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L45:
	.align	2
.L44:
	.word	suppressint
	.word	intpending
	.size	setalias, .-setalias
	.align	2
	.global	unalias
	.syntax unified
	.arm
	.fpu softvfp
	.type	unalias, %function
unalias:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r0, [fp, #-16]
	bl	__lookupalias
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L47
	ldr	r3, .L50
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L50
	str	r3, [r2]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	mov	r0, r3
	bl	freealias
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	ldr	r3, .L50
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L50
	str	r3, [r2]
	ldr	r3, .L50
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L48
	ldr	r3, .L50+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L48
	bl	onint
.L48:
	mov	r3, #0
	b	.L49
.L47:
	mov	r3, #1
.L49:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L51:
	.align	2
.L50:
	.word	suppressint
	.word	intpending
	.size	unalias, .-unalias
	.align	2
	.global	rmaliases
	.syntax unified
	.arm
	.fpu softvfp
	.type	rmaliases, %function
rmaliases:
	@ 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, .L60
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L60
	str	r3, [r2]
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L53
.L57:
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	ldr	r2, .L60+4
	add	r3, r3, r2
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	b	.L54
.L56:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	mov	r0, r3
	bl	freealias
	mov	r2, r0
	ldr	r3, [fp, #-12]
	str	r2, [r3]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	bne	.L55
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-12]
.L55:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	str	r3, [fp, #-16]
.L54:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L56
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L53:
	ldr	r3, [fp, #-8]
	cmp	r3, #38
	ble	.L57
	ldr	r3, .L60
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L60
	str	r3, [r2]
	ldr	r3, .L60
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L59
	ldr	r3, .L60+8
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L59
	bl	onint
.L59:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L61:
	.align	2
.L60:
	.word	suppressint
	.word	atab
	.word	intpending
	.size	rmaliases, .-rmaliases
	.align	2
	.global	lookupalias
	.syntax unified
	.arm
	.fpu softvfp
	.type	lookupalias, %function
lookupalias:
	@ 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	r0, [fp, #-16]
	bl	__lookupalias
	mov	r3, r0
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L63
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L63
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #12]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L63
	mov	r3, #0
	b	.L64
.L63:
	ldr	r3, [fp, #-8]
.L64:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	lookupalias, .-lookupalias
	.section	.rodata
	.align	2
.LC46:
	.ascii	"alias\000"
	.align	2
.LC47:
	.ascii	"%s: %s not found\012\000"
	.text
	.align	2
	.global	aliascmd
	.syntax unified
	.arm
	.fpu softvfp
	.type	aliascmd, %function
aliascmd:
	@ 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, #-24]
	ldr	r3, [fp, #-32]
	cmp	r3, #1
	bne	.L72
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L67
.L70:
	ldr	r2, .L76
	ldr	r3, [fp, #-16]
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-20]
	b	.L68
.L69:
	ldr	r0, [fp, #-20]
	bl	printalias
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	str	r3, [fp, #-20]
.L68:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L69
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L67:
	ldr	r3, [fp, #-16]
	cmp	r3, #38
	ble	.L70
	mov	r3, #0
	b	.L71
.L75:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	mov	r1, #61
	mov	r0, r3
	bl	strchr
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L73
	ldr	r0, [fp, #-12]
	bl	__lookupalias
	mov	r3, r0
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L74
	ldr	r3, .L76+4
	ldr	r0, [r3]
	ldr	r3, [fp, #-12]
	ldr	r2, .L76+8
	ldr	r1, .L76+12
	bl	outfmt
	mov	r3, #1
	str	r3, [fp, #-24]
	b	.L72
.L74:
	ldr	r0, [fp, #-20]
	bl	printalias
	b	.L72
.L73:
	ldr	r3, [fp, #-8]
	add	r2, r3, #1
	str	r2, [fp, #-8]
	mov	r2, #0
	strb	r2, [r3]
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-12]
	bl	setalias
.L72:
	ldr	r3, [fp, #-36]
	add	r3, r3, #4
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-36]
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L75
	ldr	r3, [fp, #-24]
.L71:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L77:
	.align	2
.L76:
	.word	atab
	.word	out2
	.word	.LC46
	.word	.LC47
	.size	aliascmd, .-aliascmd
	.section	.rodata
	.align	2
.LC48:
	.ascii	"a\000"
	.align	2
.LC49:
	.ascii	"unalias\000"
	.text
	.align	2
	.global	unaliascmd
	.syntax unified
	.arm
	.fpu softvfp
	.type	unaliascmd, %function
unaliascmd:
	@ 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]
	b	.L79
.L81:
	ldr	r3, [fp, #-8]
	cmp	r3, #97
	bne	.L79
	bl	rmaliases
	mov	r3, #0
	b	.L80
.L79:
	ldr	r0, .L85
	bl	nextopt
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L81
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L82
.L84:
	ldr	r3, .L85+4
	ldr	r3, [r3]
	ldr	r3, [r3]
	mov	r0, r3
	bl	unalias
	mov	r3, r0
	cmp	r3, #0
	beq	.L83
	ldr	r3, .L85+8
	ldr	r0, [r3]
	ldr	r3, .L85+4
	ldr	r3, [r3]
	ldr	r3, [r3]
	ldr	r2, .L85+12
	ldr	r1, .L85+16
	bl	outfmt
	mov	r3, #1
	str	r3, [fp, #-8]
.L83:
	ldr	r3, .L85+4
	ldr	r3, [r3]
	add	r3, r3, #4
	ldr	r2, .L85+4
	str	r3, [r2]
.L82:
	ldr	r3, .L85+4
	ldr	r3, [r3]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L84
	ldr	r3, [fp, #-8]
.L80:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L86:
	.align	2
.L85:
	.word	.LC48
	.word	argptr
	.word	out2
	.word	.LC49
	.word	.LC47
	.size	unaliascmd, .-unaliascmd
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	freealias, %function
freealias:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L88
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	orr	r2, r3, #2
	ldr	r3, [fp, #-16]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-16]
	b	.L89
.L88:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	free
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	free
	ldr	r0, [fp, #-16]
	bl	free
	ldr	r3, [fp, #-8]
.L89:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	freealias, .-freealias
	.section	.rodata
	.align	2
.LC50:
	.ascii	"%s=%s\012\000"
	.text
	.align	2
	.global	printalias
	.syntax unified
	.arm
	.fpu softvfp
	.type	printalias, %function
printalias:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #12
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r4, [r3, #4]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	single_quote
	mov	r3, r0
	mov	r2, r3
	mov	r1, r4
	ldr	r0, .L91
	bl	out1fmt
	nop
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L92:
	.align	2
.L91:
	.word	.LC50
	.size	printalias, .-printalias
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	__lookupalias, %function
__lookupalias:
	@ 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, [fp, #-24]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #4
	str	r3, [fp, #-20]
	b	.L94
.L95:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-8]
.L94:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L95
	ldr	r1, [fp, #-20]
	ldr	r3, .L102
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #5
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	sub	r2, r1, r3
	lsl	r3, r2, #2
	ldr	r2, .L102+4
	add	r3, r3, r2
	str	r3, [fp, #-16]
	b	.L96
.L99:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	beq	.L101
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	str	r3, [fp, #-16]
.L96:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L99
	b	.L98
.L101:
	nop
.L98:
	ldr	r3, [fp, #-16]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L103:
	.align	2
.L102:
	.word	-1541783131
	.word	atab
	.size	__lookupalias, .-__lookupalias
	.local	arith_startbuf
	.comm	arith_startbuf,4,4
	.comm	arith_buf,4,4
	.comm	yylval,8,8
	.local	last_token
	.comm	last_token,4,4
	.section	.rodata
	.align	2
	.type	prec, %object
	.size	prec, 16
prec:
	.ascii	"\003\003\003\003\004\000\005\002\002\000\001\007\001"
	.ascii	"\006\000\004"
	.align	2
.LC51:
	.ascii	"arithmetic expression: %s: \"%s\"\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	yyerror, %function
yyerror:
	@ 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, .L105
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, [fp, #-8]
	ldr	r0, .L105+4
	bl	sh_error
.L106:
	.align	2
.L105:
	.word	arith_startbuf
	.word	.LC51
	.size	yyerror, .-yyerror
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	arith_prec, %function
arith_prec:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	sub	r3, r3, #8
	ldr	r2, .L109
	ldrb	r3, [r2, r3]	@ zero_extendqisi2
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L110:
	.align	2
.L109:
	.word	prec
	.size	arith_prec, .-arith_prec
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	higher_prec, %function
higher_prec:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #12
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	arith_prec
	mov	r4, r0
	ldr	r0, [fp, #-20]
	bl	arith_prec
	mov	r3, r0
	cmp	r4, r3
	movlt	r3, #1
	movge	r3, #0
	and	r3, r3, #255
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
	.size	higher_prec, .-higher_prec
	.section	.rodata
	.align	2
.LC52:
	.ascii	"division by zero\000"
	.global	__aeabi_ldivmod
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	do_binop, %function
do_binop:
	@ args = 8, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-16]
	sub	r3, r3, #8
	cmp	r3, #15
	ldrls	pc, [pc, r3, asl #2]
	b	.L114
.L116:
	.word	.L129
	.word	.L128
	.word	.L127
	.word	.L126
	.word	.L125
	.word	.L114
	.word	.L124
	.word	.L123
	.word	.L122
	.word	.L121
	.word	.L120
	.word	.L119
	.word	.L118
	.word	.L117
	.word	.L114
	.word	.L115
.L114:
	ldmib	fp, {r2-r3}
	orrs	r3, r2, r3
	bne	.L130
	ldr	r0, .L135
	bl	yyerror
.L130:
	ldr	r3, [fp, #-16]
	cmp	r3, #13
	bne	.L131
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	ldmib	fp, {r2-r3}
	bl	__aeabi_ldivmod
	mov	r4, r2
	mov	r5, r3
	b	.L133
.L131:
	ldmib	fp, {r2-r3}
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	bl	__aeabi_ldivmod
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	b	.L133
.L121:
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #4]
	mul	r2, r3, r2
	ldr	r3, [fp, #8]
	ldr	r1, [fp, #-28]
	mul	r3, r1, r3
	add	r3, r2, r3
	ldr	r1, [fp, #-28]
	ldr	r2, [fp, #4]
	umull	r4, r5, r1, r2
	add	r3, r3, r5
	mov	r5, r3
	b	.L133
.L120:
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	ldmib	fp, {r2-r3}
	adds	r4, r0, r2
	adc	r5, r1, r3
	b	.L133
.L118:
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	ldmib	fp, {r2-r3}
	subs	r4, r0, r2
	sbc	r5, r1, r3
	b	.L133
.L123:
	ldr	r1, [fp, #4]
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	sub	ip, r1, #32
	rsb	r0, r1, #32
	lsl	r5, r3, r1
	orr	r5, r5, r2, lsl ip
	orr	r5, r5, r2, lsr r0
	lsl	r4, r2, r1
	b	.L133
.L122:
	ldr	r1, [fp, #4]
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	rsb	ip, r1, #32
	subs	r0, r1, #32
	lsr	r4, r2, r1
	orr	r4, r4, r3, lsl ip
	bmi	.L134
	orr	r4, r4, r3, asr r0
.L134:
	asr	r5, r3, r1
	b	.L133
.L127:
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	ldmib	fp, {r2-r3}
	cmp	r0, r2
	sbcs	r3, r1, r3
	movlt	r3, #1
	movge	r3, #0
	and	r3, r3, #255
	and	r4, r3, #255
	mov	r5, #0
	b	.L133
.L129:
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	ldmib	fp, {r0-r1}
	cmp	r0, r2
	sbcs	r3, r1, r3
	movge	r3, #1
	movlt	r3, #0
	and	r3, r3, #255
	and	r4, r3, #255
	mov	r5, #0
	b	.L133
.L126:
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	ldmib	fp, {r0-r1}
	cmp	r0, r2
	sbcs	r3, r1, r3
	movlt	r3, #1
	movge	r3, #0
	and	r3, r3, #255
	and	r4, r3, #255
	mov	r5, #0
	b	.L133
.L128:
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	ldmib	fp, {r2-r3}
	cmp	r0, r2
	sbcs	r3, r1, r3
	movge	r3, #1
	movlt	r3, #0
	and	r3, r3, #255
	and	r4, r3, #255
	mov	r5, #0
	b	.L133
.L125:
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	ldmib	fp, {r2-r3}
	cmp	r1, r3
	cmpeq	r0, r2
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	and	r4, r3, #255
	mov	r5, #0
	b	.L133
.L115:
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	ldmib	fp, {r2-r3}
	cmp	r1, r3
	cmpeq	r0, r2
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	and	r4, r3, #255
	mov	r5, #0
	b	.L133
.L124:
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	ldmib	fp, {r2-r3}
	and	r4, r0, r2
	and	r5, r1, r3
	b	.L133
.L117:
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	ldmib	fp, {r2-r3}
	eor	r4, r0, r2
	eor	r5, r1, r3
	b	.L133
.L119:
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	ldmib	fp, {r2-r3}
	orr	r4, r0, r2
	orr	r5, r1, r3
.L133:
	mov	r2, r4
	mov	r3, r5
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L136:
	.align	2
.L135:
	.word	.LC52
	.size	do_binop, .-do_binop
	.section	.rodata
	.align	2
.LC53:
	.ascii	"expecting ')'\000"
	.align	2
.LC54:
	.ascii	"expecting primary\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	primary, %function
primary:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	str	r3, [fp, #-36]
.L138:
	ldr	r3, [fp, #-24]
	sub	r3, r3, #5
	cmp	r3, #31
	ldrls	pc, [pc, r3, asl #2]
	b	.L139
.L141:
	.word	.L147
	.word	.L146
	.word	.L145
	.word	.L139
	.word	.L139
	.word	.L139
	.word	.L139
	.word	.L139
	.word	.L139
	.word	.L139
	.word	.L139
	.word	.L139
	.word	.L139
	.word	.L144
	.word	.L139
	.word	.L143
	.word	.L139
	.word	.L139
	.word	.L139
	.word	.L139
	.word	.L139
	.word	.L139
	.word	.L139
	.word	.L139
	.word	.L139
	.word	.L139
	.word	.L139
	.word	.L139
	.word	.L139
	.word	.L142
	.word	.L139
	.word	.L140
.L142:
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	bl	assignment
	str	r0, [fp, #-20]
	str	r1, [fp, #-16]
	ldr	r3, .L152
	ldr	r3, [r3]
	cmp	r3, #35
	beq	.L148
	ldr	r0, .L152+4
	bl	yyerror
.L148:
	bl	yylex
	mov	r3, r0
	ldr	r2, .L152
	str	r3, [r2]
	sub	r5, fp, #20
	ldmia	r5, {r4-r5}
	b	.L149
.L147:
	ldr	r2, .L152
	ldr	r3, [fp, #-32]
	str	r3, [r2]
	ldr	r3, [fp, #-28]
	ldmia	r3, {r4-r5}
	b	.L149
.L146:
	ldr	r2, .L152
	ldr	r3, [fp, #-32]
	str	r3, [r2]
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	beq	.L150
	ldr	r3, [fp, #-28]
	ldmia	r3, {r4-r5}
	b	.L149
.L150:
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	mov	r0, r3
	bl	lookupvarint
	mov	r4, r0
	mov	r5, r1
	b	.L149
.L144:
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-24]
	ldr	r1, [fp, #-28]
	ldr	r3, .L152+8
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	bl	yylex
	str	r0, [fp, #-32]
	b	.L138
.L143:
	ldr	r1, [fp, #-28]
	ldr	r3, .L152+8
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	bl	yylex
	mov	r2, r0
	ldr	r3, [fp, #-36]
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-32]
	bl	primary
	mov	r2, r0
	mov	r3, r1
	rsbs	r4, r2, #0
	rsc	r5, r3, #0
	b	.L149
.L145:
	ldr	r1, [fp, #-28]
	ldr	r3, .L152+8
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	bl	yylex
	mov	r2, r0
	ldr	r3, [fp, #-36]
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-32]
	bl	primary
	mov	r2, r0
	mov	r3, r1
	orr	r3, r2, r3
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	and	r4, r3, #255
	mov	r5, #0
	b	.L149
.L140:
	ldr	r1, [fp, #-28]
	ldr	r3, .L152+8
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	bl	yylex
	mov	r2, r0
	ldr	r3, [fp, #-36]
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-32]
	bl	primary
	mov	r2, r0
	mov	r3, r1
	mvn	r4, r2
	mvn	r5, r3
	b	.L149
.L139:
	ldr	r0, .L152+12
	bl	yyerror
.L149:
	mov	r2, r4
	mov	r3, r5
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L153:
	.align	2
.L152:
	.word	last_token
	.word	.LC53
	.word	yylval
	.word	.LC54
	.size	primary, .-primary
	.section	.rodata
	.align	2
.LC55:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	binop2, %function
binop2:
	@ args = 4, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	str	r0, [fp, #-44]
	str	r1, [fp, #-40]
	str	r2, [fp, #-48]
	str	r3, [fp, #-52]
	ldr	r3, .L164
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
.L161:
	bl	yylex
	str	r0, [fp, #-32]
	ldr	r3, .L164+4
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	bl	yylex
	mov	r2, r0
	sub	r1, fp, #28
	ldr	r3, [fp, #4]
	ldr	r0, [fp, #-32]
	bl	primary
	str	r0, [fp, #-20]
	str	r1, [fp, #-16]
	ldr	r3, .L164+8
	ldr	r3, [r3]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-36]
	cmp	r3, #7
	ble	.L155
	ldr	r3, [fp, #-36]
	cmp	r3, #23
	bgt	.L155
	ldr	r1, [fp, #-48]
	ldr	r0, [fp, #-36]
	bl	higher_prec
	mov	r3, r0
	cmp	r3, #0
	beq	.L155
	ldr	r0, [fp, #-48]
	bl	arith_prec
	mov	r2, r0
	ldr	r3, [fp, #4]
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [fp, #-36]
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	bl	binop2
	str	r0, [fp, #-20]
	str	r1, [fp, #-16]
	ldr	r3, .L164+8
	ldr	r3, [r3]
	str	r3, [fp, #-36]
.L155:
	ldr	r3, [fp, #4]
	cmp	r3, #0
	bne	.L156
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-48]
	bl	do_binop
	mov	r2, r0
	mov	r3, r1
	b	.L157
.L156:
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
.L157:
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-36]
	cmp	r3, #7
	ble	.L158
	ldr	r3, [fp, #-36]
	cmp	r3, #23
	bgt	.L158
	ldr	r0, [fp, #-36]
	bl	arith_prec
	mov	r2, r0
	ldr	r3, [fp, #-52]
	cmp	r3, r2
	bgt	.L159
.L158:
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	ldr	r1, .L164
	ldr	r0, [r1]
	ldr	r1, [fp, #-8]
	eors	r0, r1, r0
	mov	r1, #0
	beq	.L162
	b	.L163
.L159:
	ldr	r3, [fp, #-36]
	str	r3, [fp, #-48]
	b	.L161
.L163:
	bl	__stack_chk_fail
.L162:
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L165:
	.align	2
.L164:
	.word	.LC55
	.word	yylval
	.word	last_token
	.size	binop2, .-binop2
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	binop, %function
binop:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-24]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	primary
	str	r0, [fp, #-12]
	str	r1, [fp, #-8]
	ldr	r3, .L170
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #7
	ble	.L167
	ldr	r3, [fp, #-24]
	cmp	r3, #23
	ble	.L168
.L167:
	sub	r3, fp, #12
	ldmia	r3, {r2-r3}
	b	.L169
.L168:
	ldr	r3, [fp, #-28]
	str	r3, [sp]
	mov	r3, #8
	ldr	r2, [fp, #-24]
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	binop2
	mov	r2, r0
	mov	r3, r1
.L169:
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L171:
	.align	2
.L170:
	.word	last_token
	.size	binop, .-binop
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	and, %function
and:
	@ 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, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-32]
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	binop
	str	r0, [fp, #-20]
	str	r1, [fp, #-16]
	ldr	r3, .L177
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	cmp	r3, #3
	beq	.L173
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	b	.L174
.L173:
	bl	yylex
	str	r0, [fp, #-24]
	ldr	r1, [fp, #-28]
	ldr	r3, .L177+4
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	bl	yylex
	mov	r1, r0
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-16]
	orr	r3, r2, r3
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-36]
	orr	r3, r2, r3
	mov	r2, r1
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	and
	str	r0, [fp, #-12]
	str	r1, [fp, #-8]
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	orrs	r3, r2, r3
	beq	.L175
	sub	r3, fp, #12
	ldmia	r3, {r2-r3}
	orrs	r3, r2, r3
	beq	.L175
	mov	r3, #1
	b	.L176
.L175:
	mov	r3, #0
.L176:
	mov	r2, r3
	asr	r3, r2, #31
.L174:
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L178:
	.align	2
.L177:
	.word	last_token
	.word	yylval
	.size	and, .-and
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	or, %function
or:
	@ 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, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-32]
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	and
	str	r0, [fp, #-20]
	str	r1, [fp, #-16]
	ldr	r3, .L185
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	cmp	r3, #2
	beq	.L180
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	b	.L181
.L180:
	bl	yylex
	str	r0, [fp, #-24]
	ldr	r1, [fp, #-28]
	ldr	r3, .L185+4
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	bl	yylex
	mov	r1, r0
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-16]
	orr	r3, r2, r3
	cmp	r3, #0
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-36]
	orr	r3, r2, r3
	mov	r2, r1
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	or
	str	r0, [fp, #-12]
	str	r1, [fp, #-8]
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	orrs	r3, r2, r3
	bne	.L182
	sub	r3, fp, #12
	ldmia	r3, {r2-r3}
	orrs	r3, r2, r3
	beq	.L183
.L182:
	mov	r3, #1
	b	.L184
.L183:
	mov	r3, #0
.L184:
	mov	r2, r3
	asr	r3, r2, #31
.L181:
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L186:
	.align	2
.L185:
	.word	last_token
	.word	yylval
	.size	or, .-or
	.section	.rodata
	.align	2
.LC56:
	.ascii	"expecting ':'\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	cond, %function
cond:
	@ 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, #-32]
	str	r1, [fp, #-36]
	str	r2, [fp, #-40]
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-44]
	ldr	r2, [fp, #-40]
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	bl	or
	str	r0, [fp, #-28]
	str	r1, [fp, #-24]
	ldr	r3, .L193
	ldr	r3, [r3]
	cmp	r3, #37
	beq	.L188
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	b	.L189
.L188:
	bl	yylex
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-24]
	orr	r3, r2, r3
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-44]
	orr	r3, r2, r3
	mov	r1, r3
	bl	assignment
	str	r0, [fp, #-20]
	str	r1, [fp, #-16]
	ldr	r3, .L193
	ldr	r3, [r3]
	cmp	r3, #38
	beq	.L190
	ldr	r0, .L193+4
	bl	yyerror
.L190:
	bl	yylex
	str	r0, [fp, #-32]
	ldr	r1, [fp, #-36]
	ldr	r3, .L193+8
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	bl	yylex
	mov	r1, r0
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-24]
	orr	r3, r2, r3
	cmp	r3, #0
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-44]
	orr	r3, r2, r3
	mov	r2, r1
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	bl	cond
	str	r0, [fp, #-12]
	str	r1, [fp, #-8]
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	orrs	r3, r2, r3
	beq	.L191
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	b	.L189
.L191:
	sub	r3, fp, #12
	ldmia	r3, {r2-r3}
.L189:
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L194:
	.align	2
.L193:
	.word	last_token
	.word	.LC56
	.word	yylval
	.size	cond, .-cond
	.section	.rodata
	.align	2
.LC57:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	assignment, %function
assignment:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #48
	str	r0, [fp, #-48]
	str	r1, [fp, #-52]
	ldr	r3, .L205
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	ldr	r3, .L205+4
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	bl	yylex
	str	r0, [fp, #-40]
	ldr	r3, [fp, #-48]
	cmp	r3, #6
	beq	.L196
	sub	r1, fp, #36
	ldr	r3, [fp, #-52]
	ldr	r2, [fp, #-40]
	ldr	r0, [fp, #-48]
	bl	cond
	mov	r2, r0
	mov	r3, r1
	b	.L203
.L196:
	ldr	r3, [fp, #-40]
	cmp	r3, #1
	beq	.L198
	ldr	r3, [fp, #-40]
	cmp	r3, #23
	ble	.L199
	ldr	r3, [fp, #-40]
	cmp	r3, #33
	ble	.L198
.L199:
	sub	r1, fp, #36
	ldr	r3, [fp, #-52]
	ldr	r2, [fp, #-40]
	ldr	r0, [fp, #-48]
	bl	cond
	mov	r2, r0
	mov	r3, r1
	b	.L203
.L198:
	bl	yylex
	mov	r3, r0
	ldr	r1, [fp, #-52]
	mov	r0, r3
	bl	assignment
	str	r0, [fp, #-28]
	str	r1, [fp, #-24]
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	beq	.L200
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	b	.L203
.L200:
	ldr	r4, [fp, #-36]
	ldr	r3, [fp, #-40]
	cmp	r3, #1
	beq	.L201
	ldr	r3, [fp, #-40]
	sub	r5, r3, #11
	ldr	r3, [fp, #-36]
	mov	r0, r3
	bl	lookupvarint
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	mov	r0, r5
	bl	do_binop
	mov	r2, r0
	mov	r3, r1
	b	.L202
.L201:
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
.L202:
	mov	r1, #0
	str	r1, [sp]
	mov	r0, r4
	bl	setvarint
	mov	r2, r0
	mov	r3, r1
.L203:
	ldr	r1, .L205
	ldr	r0, [r1]
	ldr	r1, [fp, #-16]
	eors	r0, r1, r0
	mov	r1, #0
	beq	.L204
	bl	__stack_chk_fail
.L204:
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L206:
	.align	2
.L205:
	.word	.LC57
	.word	yylval
	.size	assignment, .-assignment
	.section	.rodata
	.align	2
.LC58:
	.ascii	"expecting EOF\000"
	.text
	.align	2
	.global	arith
	.syntax unified
	.arm
	.fpu softvfp
	.type	arith, %function
arith:
	@ 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	r2, .L210
	ldr	r3, [fp, #-16]
	str	r3, [r2]
	ldr	r3, .L210
	ldr	r3, [r3]
	ldr	r2, .L210+4
	str	r3, [r2]
	bl	yylex
	mov	r3, r0
	mov	r1, #0
	mov	r0, r3
	bl	assignment
	str	r0, [fp, #-12]
	str	r1, [fp, #-8]
	ldr	r3, .L210+8
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L208
	ldr	r0, .L210+12
	bl	yyerror
.L208:
	sub	r3, fp, #12
	ldmia	r3, {r2-r3}
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L211:
	.align	2
.L210:
	.word	arith_startbuf
	.word	arith_buf
	.word	last_token
	.word	.LC58
	.size	arith, .-arith
	.align	2
	.global	yylex
	.syntax unified
	.arm
	.fpu softvfp
	.type	yylex, %function
yylex:
	@ 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, .L260
	ldr	r3, [r3]
	str	r3, [fp, #-12]
.L236:
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #126
	ldrls	pc, [pc, r3, asl #2]
	b	.L213
.L215:
	.word	.L258
	.word	.L213
	.word	.L213
	.word	.L213
	.word	.L213
	.word	.L213
	.word	.L213
	.word	.L213
	.word	.L213
	.word	.L234
	.word	.L234
	.word	.L213
	.word	.L213
	.word	.L213
	.word	.L213
	.word	.L213
	.word	.L213
	.word	.L213
	.word	.L213
	.word	.L213
	.word	.L213
	.word	.L213
	.word	.L213
	.word	.L213
	.word	.L213
	.word	.L213
	.word	.L213
	.word	.L213
	.word	.L213
	.word	.L213
	.word	.L213
	.word	.L213
	.word	.L234
	.word	.L233
	.word	.L213
	.word	.L213
	.word	.L213
	.word	.L232
	.word	.L231
	.word	.L213
	.word	.L230
	.word	.L229
	.word	.L228
	.word	.L227
	.word	.L213
	.word	.L226
	.word	.L213
	.word	.L225
	.word	.L224
	.word	.L224
	.word	.L224
	.word	.L224
	.word	.L224
	.word	.L224
	.word	.L224
	.word	.L224
	.word	.L224
	.word	.L224
	.word	.L223
	.word	.L213
	.word	.L222
	.word	.L221
	.word	.L220
	.word	.L219
	.word	.L213
	.word	.L217
	.word	.L217
	.word	.L217
	.word	.L217
	.word	.L217
	.word	.L217
	.word	.L217
	.word	.L217
	.word	.L217
	.word	.L217
	.word	.L217
	.word	.L217
	.word	.L217
	.word	.L217
	.word	.L217
	.word	.L217
	.word	.L217
	.word	.L217
	.word	.L217
	.word	.L217
	.word	.L217
	.word	.L217
	.word	.L217
	.word	.L217
	.word	.L217
	.word	.L217
	.word	.L213
	.word	.L213
	.word	.L213
	.word	.L218
	.word	.L217
	.word	.L213
	.word	.L217
	.word	.L217
	.word	.L217
	.word	.L217
	.word	.L217
	.word	.L217
	.word	.L217
	.word	.L217
	.word	.L217
	.word	.L217
	.word	.L217
	.word	.L217
	.word	.L217
	.word	.L217
	.word	.L217
	.word	.L217
	.word	.L217
	.word	.L217
	.word	.L217
	.word	.L217
	.word	.L217
	.word	.L217
	.word	.L217
	.word	.L217
	.word	.L217
	.word	.L217
	.word	.L213
	.word	.L216
	.word	.L213
	.word	.L214
.L234:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
	b	.L236
.L213:
	mov	r3, #4
	b	.L237
.L224:
	mov	r2, #0
	ldr	r1, .L260
	ldr	r0, [fp, #-12]
	bl	strtoimax
	mov	r2, r0
	mov	r3, r1
	ldr	r1, .L260+4
	stm	r1, {r2-r3}
	mov	r3, #5
	b	.L237
.L217:
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-8]
	nop
.L241:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #95
	beq	.L238
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8
	cmp	r3, #0
	beq	.L239
.L238:
	mov	r3, #1
	b	.L240
.L239:
	mov	r3, #0
.L240:
	cmp	r3, #0
	bne	.L241
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-8]
	sub	r3, r2, r3
	add	r3, r3, #1
	mov	r0, r3
	bl	stalloc
	mov	r3, r0
	ldr	r2, .L260+4
	str	r3, [r2]
	ldr	r3, .L260+4
	ldr	r0, [r3]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-8]
	sub	r3, r2, r3
	mov	r2, r3
	ldr	r1, [fp, #-8]
	bl	mempcpy
	mov	r3, r0
	mov	r2, #0
	strb	r2, [r3]
	mov	r3, #6
	str	r3, [fp, #-16]
	b	.L242
.L221:
	ldr	r3, [fp, #-16]
	sub	r3, r3, #60
	str	r3, [fp, #-16]
.L243:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L244:
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #61
	bne	.L259
	ldr	r3, [fp, #-16]
	add	r3, r3, #11
	str	r3, [fp, #-16]
	b	.L246
.L220:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #61
	beq	.L247
	cmp	r3, #62
	beq	.L248
	b	.L257
.L247:
	ldr	r3, [fp, #-16]
	sub	r3, r3, #53
	str	r3, [fp, #-16]
	nop
	b	.L246
.L248:
	ldr	r3, [fp, #-16]
	sub	r3, r3, #46
	str	r3, [fp, #-16]
	b	.L243
.L257:
	ldr	r3, [fp, #-16]
	sub	r3, r3, #51
	str	r3, [fp, #-16]
	b	.L242
.L222:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #60
	beq	.L251
	cmp	r3, #61
	bne	.L252
	ldr	r3, [fp, #-16]
	sub	r3, r3, #52
	str	r3, [fp, #-16]
	nop
	b	.L246
.L251:
	ldr	r3, [fp, #-16]
	sub	r3, r3, #45
	str	r3, [fp, #-16]
	b	.L243
.L252:
	ldr	r3, [fp, #-16]
	sub	r3, r3, #50
	str	r3, [fp, #-16]
	b	.L242
.L216:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #124
	beq	.L254
	ldr	r3, [fp, #-16]
	sub	r3, r3, #105
	str	r3, [fp, #-16]
	b	.L244
.L254:
	ldr	r3, [fp, #-16]
	sub	r3, r3, #122
	str	r3, [fp, #-16]
	b	.L246
.L231:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #38
	beq	.L255
	ldr	r3, [fp, #-16]
	sub	r3, r3, #24
	str	r3, [fp, #-16]
	b	.L244
.L255:
	ldr	r3, [fp, #-16]
	sub	r3, r3, #35
	str	r3, [fp, #-16]
	b	.L246
.L233:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #61
	beq	.L256
	ldr	r3, [fp, #-16]
	sub	r3, r3, #26
	str	r3, [fp, #-16]
	b	.L242
.L256:
	ldr	r3, [fp, #-16]
	sub	r3, r3, #10
	str	r3, [fp, #-16]
	b	.L246
.L230:
	ldr	r3, [fp, #-16]
	sub	r3, r3, #6
	str	r3, [fp, #-16]
	b	.L246
.L229:
	ldr	r3, [fp, #-16]
	sub	r3, r3, #6
	str	r3, [fp, #-16]
	b	.L246
.L228:
	ldr	r3, [fp, #-16]
	sub	r3, r3, #25
	str	r3, [fp, #-16]
	b	.L243
.L225:
	ldr	r3, [fp, #-16]
	sub	r3, r3, #25
	str	r3, [fp, #-16]
	b	.L243
.L232:
	ldr	r3, [fp, #-16]
	sub	r3, r3, #24
	str	r3, [fp, #-16]
	b	.L243
.L227:
	ldr	r3, [fp, #-16]
	sub	r3, r3, #25
	str	r3, [fp, #-16]
	b	.L243
.L226:
	ldr	r3, [fp, #-16]
	sub	r3, r3, #25
	str	r3, [fp, #-16]
	b	.L243
.L214:
	ldr	r3, [fp, #-16]
	sub	r3, r3, #90
	str	r3, [fp, #-16]
	b	.L246
.L218:
	ldr	r3, [fp, #-16]
	sub	r3, r3, #73
	str	r3, [fp, #-16]
	b	.L243
.L219:
	ldr	r3, [fp, #-16]
	sub	r3, r3, #26
	str	r3, [fp, #-16]
	b	.L246
.L223:
	ldr	r3, [fp, #-16]
	sub	r3, r3, #20
	str	r3, [fp, #-16]
	nop
.L246:
	nop
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
	b	.L242
.L258:
	nop
	b	.L242
.L259:
	nop
.L242:
	ldr	r2, .L260
	ldr	r3, [fp, #-12]
	str	r3, [r2]
	ldr	r3, [fp, #-16]
.L237:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L261:
	.align	2
.L260:
	.word	arith_buf
	.word	yylval
	.size	yylex, .-yylex
	.data
	.align	2
	.type	curdir, %object
	.size	curdir, 4
curdir:
	.word	nullstr
	.align	2
	.type	physdir, %object
	.size	physdir, 4
physdir:
	.word	nullstr
	.section	.rodata
	.align	2
.LC59:
	.ascii	"LP\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	cdopt, %function
cdopt:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	mov	r3, #0
	str	r3, [fp, #-16]
	mov	r3, #76
	str	r3, [fp, #-12]
	b	.L263
.L264:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-12]
	cmp	r2, r3
	beq	.L263
	ldr	r3, [fp, #-16]
	eor	r3, r3, #1
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-12]
.L263:
	ldr	r0, .L266
	bl	nextopt
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L264
	ldr	r3, [fp, #-16]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L267:
	.align	2
.L266:
	.word	.LC59
	.size	cdopt, .-cdopt
	.section	.rodata
	.align	2
.LC60:
	.ascii	"OLDPWD\000"
	.align	2
.LC61:
	.ascii	".\000"
	.align	2
.LC62:
	.ascii	"CDPATH\000"
	.align	2
.LC63:
	.ascii	"can't cd to %s\000"
	.align	2
.LC64:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	cdcmd
	.syntax unified
	.arm
	.fpu softvfp
	.type	cdcmd, %function
cdcmd:
	@ args = 0, pretend = 0, frame = 128
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #128
	str	r0, [fp, #-128]
	str	r1, [fp, #-132]
	ldr	r3, .L293
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	bl	cdopt
	str	r0, [fp, #-104]
	ldr	r3, .L293+4
	ldr	r3, [r3]
	ldr	r3, [r3]
	str	r3, [fp, #-112]
	ldr	r3, [fp, #-112]
	cmp	r3, #0
	bne	.L269
	ldr	r0, .L293+8
	bl	bltinlookup
	str	r0, [fp, #-112]
	b	.L270
.L269:
	ldr	r3, [fp, #-112]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #45
	bne	.L270
	ldr	r3, [fp, #-112]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L270
	ldr	r0, .L293+12
	bl	bltinlookup
	str	r0, [fp, #-112]
	ldr	r3, [fp, #-104]
	orr	r3, r3, #2
	str	r3, [fp, #-104]
.L270:
	ldr	r3, [fp, #-112]
	cmp	r3, #0
	bne	.L271
	ldr	r3, .L293+16
	str	r3, [fp, #-112]
.L271:
	ldr	r3, [fp, #-112]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #47
	beq	.L289
	ldr	r3, [fp, #-112]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #46
	bne	.L274
	ldr	r3, [fp, #-112]
	ldrb	r3, [r3, #1]
	strb	r3, [fp, #-117]
.L275:
	ldrb	r3, [fp, #-117]	@ zero_extendqisi2
	cmp	r3, #47
	beq	.L290
	cmp	r3, #47
	bgt	.L274
	cmp	r3, #0
	beq	.L290
	cmp	r3, #46
	bne	.L274
	ldr	r3, [fp, #-112]
	ldrb	r3, [r3, #2]
	strb	r3, [fp, #-117]
	ldrb	r3, [fp, #-117]	@ zero_extendqisi2
	cmp	r3, #46
	beq	.L274
	b	.L275
.L274:
	ldr	r3, [fp, #-112]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L278
	ldr	r3, .L293+20
	str	r3, [fp, #-112]
.L278:
	ldr	r0, .L293+24
	bl	bltinlookup
	mov	r3, r0
	str	r3, [fp, #-116]
	b	.L279
.L284:
	ldr	r3, [fp, #-116]
	ldrb	r3, [r3]
	strb	r3, [fp, #-117]
	sub	r3, fp, #116
	ldr	r1, [fp, #-112]
	mov	r0, r3
	bl	padvance
	str	r0, [fp, #-108]
	sub	r3, fp, #100
	mov	r1, r3
	ldr	r0, [fp, #-108]
	bl	stat
	mov	r3, r0
	cmp	r3, #0
	blt	.L279
	ldr	r3, [fp, #-84]
	and	r3, r3, #61440
	cmp	r3, #16384
	bne	.L279
	ldrb	r3, [fp, #-117]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L291
	ldrb	r3, [fp, #-117]	@ zero_extendqisi2
	cmp	r3, #58
	beq	.L291
	ldr	r3, [fp, #-104]
	orr	r3, r3, #2
	str	r3, [fp, #-104]
	b	.L280
.L291:
	nop
.L280:
	ldr	r1, [fp, #-104]
	ldr	r0, [fp, #-108]
	bl	docd
	mov	r3, r0
	cmp	r3, #0
	bne	.L292
	b	.L288
.L279:
	ldr	r3, [fp, #-116]
	cmp	r3, #0
	bne	.L284
	b	.L273
.L289:
	nop
	b	.L273
.L290:
	nop
.L273:
	ldr	r3, [fp, #-112]
	str	r3, [fp, #-108]
	b	.L280
.L292:
	nop
.L283:
	ldr	r1, [fp, #-112]
	ldr	r0, .L293+28
	bl	sh_error
.L288:
.L282:
	ldr	r3, [fp, #-104]
	and	r3, r3, #2
	cmp	r3, #0
	beq	.L285
	ldr	r3, .L293+32
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L293+36
	bl	out1fmt
.L285:
	mov	r3, #0
	ldr	r2, .L293
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L287
	bl	__stack_chk_fail
.L287:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L294:
	.align	2
.L293:
	.word	.LC64
	.word	argptr
	.word	homestr
	.word	.LC60
	.word	nullstr
	.word	.LC61
	.word	.LC62
	.word	.LC63
	.word	curdir
	.word	snlfmt
	.size	cdcmd, .-cdcmd
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	docd, %function
docd:
	@ 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]
	mov	r3, #0
	str	r3, [fp, #-12]
	ldr	r3, .L302
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L302
	str	r3, [r2]
	ldr	r3, [fp, #-20]
	and	r3, r3, #1
	cmp	r3, #0
	bne	.L296
	ldr	r0, [fp, #-16]
	bl	updatepwd
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L296
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-16]
.L296:
	ldr	r0, [fp, #-16]
	bl	chdir
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L301
	mov	r1, #1
	ldr	r0, [fp, #-12]
	bl	setpwd
	bl	hashcd
	b	.L298
.L301:
	nop
.L298:
	ldr	r3, .L302
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L302
	str	r3, [r2]
	ldr	r3, .L302
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L299
	ldr	r3, .L302+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L299
	bl	onint
.L299:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L303:
	.align	2
.L302:
	.word	suppressint
	.word	intpending
	.size	docd, .-docd
	.section	.rodata
	.align	2
.LC65:
	.ascii	"/\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	updatepwd, %function
updatepwd:
	@ 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	r0, [fp, #-24]
	bl	sstrdup
	str	r0, [fp, #-12]
	ldr	r3, .L323
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #47
	beq	.L305
	ldr	r3, .L323+4
	ldr	r3, [r3]
	ldr	r2, .L323+8
	cmp	r3, r2
	bne	.L306
	mov	r3, #0
	b	.L307
.L306:
	ldr	r3, .L323+4
	ldr	r3, [r3]
	ldr	r1, [fp, #-20]
	mov	r0, r3
	bl	stputs
	str	r0, [fp, #-20]
.L305:
	ldr	r0, [fp, #-24]
	bl	strlen
	mov	r3, r0
	add	r3, r3, #2
	ldr	r1, [fp, #-20]
	mov	r0, r3
	bl	makestrspace
	str	r0, [fp, #-20]
	ldr	r3, .L323
	ldr	r3, [r3]
	add	r3, r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #47
	beq	.L308
	ldr	r3, [fp, #-20]
	sub	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #47
	beq	.L309
	ldr	r3, [fp, #-20]
	add	r2, r3, #1
	str	r2, [fp, #-20]
	mov	r2, #47
	strb	r2, [r3]
.L309:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-8]
	cmp	r2, r3
	bls	.L310
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #47
	bne	.L310
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
	b	.L310
.L308:
	ldr	r3, [fp, #-20]
	add	r2, r3, #1
	str	r2, [fp, #-20]
	mov	r2, #47
	strb	r2, [r3]
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #47
	bne	.L310
	ldr	r3, [fp, #-24]
	add	r3, r3, #2
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #47
	beq	.L310
	ldr	r3, [fp, #-20]
	add	r2, r3, #1
	str	r2, [fp, #-20]
	mov	r2, #47
	strb	r2, [r3]
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L310:
	ldr	r1, .L323+12
	ldr	r0, [fp, #-12]
	bl	strtok
	str	r0, [fp, #-16]
	b	.L311
.L318:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #46
	bne	.L312
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #46
	bne	.L313
	ldr	r3, [fp, #-16]
	add	r3, r3, #2
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L313
	b	.L314
.L316:
	ldr	r3, [fp, #-20]
	sub	r3, r3, #1
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	sub	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #47
	beq	.L321
.L314:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-8]
	cmp	r2, r3
	bhi	.L316
	b	.L317
.L321:
	nop
	b	.L317
.L313:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L322
.L312:
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	stputs
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	add	r2, r3, #1
	str	r2, [fp, #-20]
	mov	r2, #47
	strb	r2, [r3]
	b	.L317
.L322:
	nop
.L317:
	ldr	r1, .L323+12
	mov	r0, #0
	bl	strtok
	str	r0, [fp, #-16]
.L311:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L318
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-8]
	cmp	r2, r3
	bls	.L319
	ldr	r3, [fp, #-20]
	sub	r3, r3, #1
	str	r3, [fp, #-20]
.L319:
	ldr	r3, [fp, #-20]
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, .L323
	ldr	r3, [r3]
.L307:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L324:
	.align	2
.L323:
	.word	stacknxt
	.word	curdir
	.word	nullstr
	.word	.LC65
	.size	updatepwd, .-updatepwd
	.section	.rodata
	.align	2
.LC66:
	.ascii	"getcwd() failed: %s\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	getpwd, %function
getpwd:
	@ 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	r1, #0
	mov	r0, #0
	bl	getcwd
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L326
	ldr	r3, [fp, #-8]
	b	.L327
.L326:
	ldr	r3, .L328
	ldr	r3, [r3]
	ldr	r3, [r3]
	mov	r0, r3
	bl	strerror
	mov	r3, r0
	mov	r1, r3
	ldr	r0, .L328+4
	bl	sh_warnx
	ldr	r3, .L328+8
.L327:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L329:
	.align	2
.L328:
	.word	dash_errno
	.word	.LC66
	.word	nullstr
	.size	getpwd, .-getpwd
	.align	2
	.global	pwdcmd
	.syntax unified
	.arm
	.fpu softvfp
	.type	pwdcmd, %function
pwdcmd:
	@ 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, .L334
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	bl	cdopt
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L331
	ldr	r3, .L334+4
	ldr	r3, [r3]
	ldr	r2, .L334+8
	cmp	r3, r2
	bne	.L332
	mov	r1, #0
	ldr	r0, [fp, #-12]
	bl	setpwd
.L332:
	ldr	r3, .L334+4
	ldr	r3, [r3]
	str	r3, [fp, #-12]
.L331:
	ldr	r1, [fp, #-12]
	ldr	r0, .L334+12
	bl	out1fmt
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L335:
	.align	2
.L334:
	.word	curdir
	.word	physdir
	.word	nullstr
	.word	snlfmt
	.size	pwdcmd, .-pwdcmd
	.section	.rodata
	.align	2
.LC67:
	.ascii	"PWD\000"
	.text
	.align	2
	.global	setpwd
	.syntax unified
	.arm
	.fpu softvfp
	.type	setpwd, %function
setpwd:
	@ 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]
	ldr	r3, .L347
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	beq	.L337
	mov	r2, #1
	ldr	r1, [fp, #-12]
	ldr	r0, .L347+4
	bl	setvar
.L337:
	ldr	r3, .L347+8
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L347+8
	str	r3, [r2]
	ldr	r3, .L347+12
	ldr	r3, [r3]
	ldr	r2, .L347+16
	cmp	r3, r2
	beq	.L338
	ldr	r3, .L347+12
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	beq	.L339
	ldr	r3, .L347+12
	ldr	r3, [r3]
	mov	r0, r3
	bl	free
.L339:
	ldr	r3, .L347+12
	ldr	r2, .L347+16
	str	r2, [r3]
.L338:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	beq	.L340
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L341
.L340:
	bl	getpwd
	str	r0, [fp, #-8]
	ldr	r2, .L347+12
	ldr	r3, [fp, #-8]
	str	r3, [r2]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L346
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-16]
	b	.L346
.L341:
	ldr	r0, [fp, #-24]
	bl	savestr
	str	r0, [fp, #-16]
	b	.L343
.L346:
	nop
.L343:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	beq	.L344
	ldr	r3, [fp, #-12]
	ldr	r2, .L347+16
	cmp	r3, r2
	beq	.L344
	ldr	r0, [fp, #-12]
	bl	free
.L344:
	ldr	r2, .L347
	ldr	r3, [fp, #-16]
	str	r3, [r2]
	ldr	r3, .L347+8
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L347+8
	str	r3, [r2]
	ldr	r3, .L347+8
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L345
	ldr	r3, .L347+20
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L345
	bl	onint
.L345:
	mov	r2, #1
	ldr	r1, [fp, #-16]
	ldr	r0, .L347+24
	bl	setvar
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L348:
	.align	2
.L347:
	.word	curdir
	.word	.LC60
	.word	suppressint
	.word	physdir
	.word	nullstr
	.word	intpending
	.word	.LC67
	.size	setpwd, .-setpwd
	.comm	handler,4,4
	.comm	exception,4,4
	.comm	suppressint,4,4
	.comm	intpending,4,4
	.comm	errlinno,4,4
	.align	2
	.global	exraise
	.syntax unified
	.arm
	.fpu softvfp
	.type	exraise, %function
exraise:
	@ 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, .L350
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L350
	str	r3, [r2]
	ldr	r2, .L350+4
	ldr	r3, [fp, #-8]
	str	r3, [r2]
	ldr	r3, .L350+8
	ldr	r3, [r3]
	mov	r1, #1
	mov	r0, r3
	bl	longjmp
.L351:
	.align	2
.L350:
	.word	suppressint
	.word	exception
	.word	handler
	.size	exraise, .-exraise
	.align	2
	.global	onint
	.syntax unified
	.arm
	.fpu softvfp
	.type	onint, %function
onint:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L355
	mov	r2, #0
	str	r2, [r3]
	bl	sigclearmask
	ldr	r3, .L355+4
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L353
	ldr	r3, .L355+8
	ldrb	r3, [r3, #3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L354
.L353:
	mov	r1, #0
	mov	r0, #2
	bl	signal
	mov	r0, #2
	bl	raise
.L354:
	mov	r0, #0
	bl	exraise
.L356:
	.align	2
.L355:
	.word	intpending
	.word	shlvl
	.word	optlist
	.size	onint, .-onint
	.section	.rodata
	.align	2
.LC68:
	.ascii	"sh\000"
	.align	2
.LC69:
	.ascii	"%s: %d: \000"
	.align	2
.LC70:
	.ascii	"%s: %d: %s: \000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	exvwarning2, %function
exvwarning2:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	ldr	r3, .L362
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r3, .L362+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L358
	ldr	r3, .L362+4
	ldr	r3, [r3]
	b	.L359
.L358:
	ldr	r3, .L362+8
.L359:
	str	r3, [fp, #-8]
	ldr	r3, .L362+12
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L360
	ldr	r3, .L362+16
	str	r3, [fp, #-16]
	b	.L361
.L360:
	ldr	r3, .L362+20
	str	r3, [fp, #-16]
.L361:
	ldr	r3, .L362+24
	ldr	r2, [r3]
	ldr	r3, .L362+12
	ldr	r3, [r3]
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [fp, #-8]
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-12]
	bl	outfmt
	ldr	r2, [fp, #-28]
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-12]
	bl	doformat
	ldr	r1, [fp, #-12]
	mov	r0, #10
	bl	outcslow
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L363:
	.align	2
.L362:
	.word	out2
	.word	arg0
	.word	.LC68
	.word	commandname
	.word	.LC69
	.word	.LC70
	.word	errlinno
	.size	exvwarning2, .-exvwarning2
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	exverror, %function
exverror:
	@ 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	r1, [fp, #-16]
	ldr	r0, [fp, #-12]
	bl	exvwarning2
	bl	flushall
	ldr	r0, [fp, #-8]
	bl	exraise
	.size	exverror, .-exverror
	.section	.rodata
	.align	2
.LC71:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	sh_error
	.syntax unified
	.arm
	.fpu softvfp
	.type	sh_error, %function
sh_error:
	@ args = 4, pretend = 16, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 1
	push	{r0, r1, r2, r3}
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	ldr	r3, [fp, #4]
	str	r3, [fp, #-16]
	ldr	r3, .L367
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L367+4
	mov	r2, #2
	str	r2, [r3]
	add	r3, fp, #8
	str	r3, [fp, #-12]
	ldr	r2, [fp, #-12]
	ldr	r1, [fp, #-16]
	mov	r0, #1
	bl	exverror
.L368:
	.align	2
.L367:
	.word	.LC71
	.word	exitstatus
	.size	sh_error, .-sh_error
	.section	.rodata
	.align	2
.LC72:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	exerror
	.syntax unified
	.arm
	.fpu softvfp
	.type	exerror, %function
exerror:
	@ args = 4, pretend = 12, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 1
	push	{r1, r2, r3}
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #20
	str	r0, [fp, #-20]
	ldr	r3, [fp, #4]
	str	r3, [fp, #-24]
	ldr	r3, .L371
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	mov	r3,#0
	add	r3, fp, #8
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-16]
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-20]
	bl	exverror
.L372:
	.align	2
.L371:
	.word	.LC72
	.size	exerror, .-exerror
	.section	.rodata
	.align	2
.LC73:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	sh_warnx
	.syntax unified
	.arm
	.fpu softvfp
	.type	sh_warnx, %function
sh_warnx:
	@ args = 4, pretend = 16, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 1
	push	{r0, r1, r2, r3}
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	ldr	r3, [fp, #4]
	str	r3, [fp, #-16]
	ldr	r3, .L375
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	add	r3, fp, #8
	str	r3, [fp, #-12]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-16]
	bl	exvwarning2
	nop
	ldr	r3, .L375
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L374
	bl	__stack_chk_fail
.L374:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, lr}
	add	sp, sp, #16
	bx	lr
.L376:
	.align	2
.L375:
	.word	.LC73
	.size	sh_warnx, .-sh_warnx
	.section	.rodata
	.align	2
.LC74:
	.ascii	"No such file\000"
	.align	2
.LC75:
	.ascii	"Directory nonexistent\000"
	.align	2
.LC76:
	.ascii	"not found\000"
	.text
	.align	2
	.global	errmsg
	.syntax unified
	.arm
	.fpu softvfp
	.type	errmsg, %function
errmsg:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-8]
	cmp	r3, #2
	beq	.L378
	ldr	r3, [fp, #-8]
	cmp	r3, #20
	beq	.L378
	ldr	r0, [fp, #-8]
	bl	strerror
	mov	r3, r0
	b	.L379
.L378:
	ldr	r3, [fp, #-12]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L380
	ldr	r3, .L382
	b	.L379
.L380:
	ldr	r3, [fp, #-12]
	and	r3, r3, #2
	cmp	r3, #0
	beq	.L381
	ldr	r3, .L382+4
	b	.L379
.L381:
	ldr	r3, .L382+8
.L379:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L383:
	.align	2
.L382:
	.word	.LC74
	.word	.LC75
	.word	.LC76
	.size	errmsg, .-errmsg
	.comm	evalskip,4,4
	.local	skipcount
	.comm	skipcount,4,4
	.comm	loopnest,4,4
	.local	funcline
	.comm	funcline,4,4
	.comm	commandname,4,4
	.comm	exitstatus,4,4
	.comm	back_exitstatus,4,4
	.section	.rodata
	.align	2
	.type	bltin, %object
	.size	bltin, 12
bltin:
	.word	nullstr
	.word	bltincmd
	.space	4
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	doevalcmd, %function
doevalcmd:
	@ 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, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	ldr	r3, [fp, #-24]
	cmp	r3, #1
	ble	.L385
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-24]
	cmp	r3, #2
	ble	.L386
	ldr	r3, .L393
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-28]
	add	r3, r3, #8
	str	r3, [fp, #-8]
.L389:
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-16]
	bl	stputs
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-8]
	add	r2, r3, #4
	str	r2, [fp, #-8]
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L392
	ldr	r1, [fp, #-12]
	mov	r0, #32
	bl	_STPUTC
	str	r0, [fp, #-12]
	b	.L389
.L392:
	nop
	ldr	r1, [fp, #-12]
	mov	r0, #0
	bl	_STPUTC
	str	r0, [fp, #-12]
	ldr	r3, .L393
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	sub	r3, r2, r3
	mov	r0, r3
	bl	stalloc
	str	r0, [fp, #-16]
.L386:
	ldr	r3, [fp, #-32]
	and	r3, r3, #2
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	evalstring
	mov	r3, r0
	b	.L390
.L385:
	mov	r3, #0
.L390:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L394:
	.align	2
.L393:
	.word	stacknxt
	.size	doevalcmd, .-doevalcmd
	.section	.rodata
	.align	2
.LC77:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	evalstring
	.syntax unified
	.arm
	.fpu softvfp
	.type	evalstring, %function
evalstring:
	@ 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]
	ldr	r3, .L402
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r0, [fp, #-32]
	bl	setinputstring
	sub	r3, fp, #20
	mov	r0, r3
	bl	setstackmark
	mov	r3, #0
	str	r3, [fp, #-28]
	b	.L396
.L398:
	bl	parser_eof
	mov	r3, r0
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	mvn	r2, r3
	ldr	r3, [fp, #-36]
	and	r3, r3, r2
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	evaltree
	ldr	r3, .L402+4
	ldr	r3, [r3]
	str	r3, [fp, #-28]
	sub	r3, fp, #20
	mov	r0, r3
	bl	popstackmark
	ldr	r3, .L402+8
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L401
.L396:
	mov	r0, #0
	bl	parsecmd
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	ldr	r2, .L402+12
	cmp	r3, r2
	bne	.L398
	b	.L397
.L401:
	nop
.L397:
	bl	popfile
	ldr	r3, [fp, #-28]
	ldr	r2, .L402
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L400
	bl	__stack_chk_fail
.L400:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L403:
	.align	2
.L402:
	.word	.LC77
	.word	exitstatus
	.word	evalskip
	.word	tokpushback
	.size	evalstring, .-evalstring
	.align	2
	.global	evaltree
	.syntax unified
	.arm
	.fpu softvfp
	.type	evaltree, %function
evaltree:
	@ 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	r3, #0
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L437
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	cmp	r3, #14
	ldrls	pc, [pc, r3, asl #2]
	b	.L407
.L409:
	.word	.L418
	.word	.L417
	.word	.L416
	.word	.L415
	.word	.L415
	.word	.L414
	.word	.L414
	.word	.L414
	.word	.L413
	.word	.L412
	.word	.L412
	.word	.L411
	.word	.L410
	.word	.L407
	.word	.L408
.L407:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	mov	r1, #2
	mov	r0, r3
	bl	evaltree
	ldr	r3, .L446
	ldr	r3, [r3]
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-12]
	b	.L419
.L416:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	ldr	r2, .L446+4
	str	r3, [r2]
	ldr	r3, .L446+4
	ldr	r3, [r3]
	ldr	r2, .L446+8
	str	r3, [r2]
	ldr	r3, .L446+12
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L420
	ldr	r3, .L446+4
	ldr	r2, [r3]
	ldr	r3, .L446+12
	ldr	r3, [r3]
	sub	r3, r3, #1
	sub	r3, r2, r3
	ldr	r2, .L446+4
	str	r3, [r2]
.L420:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #12]
	mov	r0, r3
	bl	expredir
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #12]
	mov	r0, r3
	bl	pushredir
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #12]
	mov	r1, #1
	mov	r0, r3
	bl	redirectsafe
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L421
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-28]
	and	r3, r3, #2
	mov	r1, r3
	mov	r0, r2
	bl	evaltree
	ldr	r3, .L446
	ldr	r3, [r3]
	str	r3, [fp, #-12]
.L421:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	beq	.L438
	mov	r0, #0
	bl	popredir
	b	.L438
.L418:
	ldr	r3, .L446+16
	str	r3, [fp, #-16]
.L423:
	ldr	r3, .L446+20
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L439
	ldr	r3, [fp, #-28]
	and	r3, r3, #2
	cmp	r3, #0
	bne	.L439
	mvn	r3, #0
	str	r3, [fp, #-20]
	b	.L439
.L411:
	ldr	r3, .L446+24
	str	r3, [fp, #-16]
	b	.L425
.L412:
	ldr	r3, .L446+28
	str	r3, [fp, #-16]
	b	.L425
.L415:
	ldr	r3, .L446+32
	str	r3, [fp, #-16]
	b	.L423
.L417:
	ldr	r3, .L446+36
	str	r3, [fp, #-16]
	b	.L423
.L410:
	ldr	r3, .L446+40
	str	r3, [fp, #-16]
	b	.L425
.L414:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	sub	r3, r3, #5
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-24]
	ldr	r0, [r3, #4]
	ldr	r3, [fp, #-8]
	lsr	r3, r3, #1
	sub	r2, r3, #1
	ldr	r3, [fp, #-28]
	orr	r3, r2, r3
	and	r3, r3, #2
	mov	r1, r3
	bl	evaltree
	ldr	r3, .L446
	ldr	r3, [r3]
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-8]
	cmp	r3, r2
	beq	.L440
	ldr	r3, .L446+44
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L441
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-24]
.L428:
	ldr	r3, .L446+48
	str	r3, [fp, #-16]
	b	.L425
.L439:
	nop
.L425:
	ldr	r3, [fp, #-16]
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	blx	r3
	b	.L406
.L413:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	mov	r1, #2
	mov	r0, r3
	bl	evaltree
	ldr	r3, .L446+44
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L442
	ldr	r3, .L446
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L430
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-24]
	b	.L428
.L430:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	beq	.L443
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-24]
	b	.L428
.L408:
	ldr	r0, [fp, #-24]
	bl	defun
	b	.L432
.L443:
	nop
.L432:
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L419
.L438:
	nop
.L419:
	ldr	r2, .L446
	ldr	r3, [fp, #-12]
	str	r3, [r2]
	b	.L406
.L437:
	nop
	b	.L406
.L440:
	nop
	b	.L406
.L441:
	nop
	b	.L406
.L442:
	nop
.L406:
	ldr	r3, .L446
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	and	r3, r3, r2
	cmp	r3, #0
	bne	.L444
	ldr	r3, .L446+52
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L435
	bl	dotrap
.L435:
	ldr	r3, [fp, #-28]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L445
	b	.L434
.L444:
	nop
.L434:
	mov	r0, #4
	bl	exraise
.L445:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L447:
	.align	2
.L446:
	.word	exitstatus
	.word	lineno
	.word	errlinno
	.word	funcline
	.word	evalcommand
	.word	optlist
	.word	evalfor
	.word	evalloop
	.word	evalsubshell
	.word	evalpipe
	.word	evalcase
	.word	evalskip
	.word	evaltree
	.word	pendingsigs
	.size	evaltree, .-evaltree
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	evaltreenr, %function
evaltreenr:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	evaltree
	bl	abort
	.size	evaltreenr, .-evaltreenr
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	evalloop, %function
evalloop:
	@ 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, .L462
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L462
	str	r3, [r2]
	mov	r3, #0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-20]
	and	r3, r3, #2
	str	r3, [fp, #-20]
.L458:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	mov	r1, #2
	mov	r0, r3
	bl	evaltree
	ldr	r3, .L462+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L450
	nop
	b	.L451
.L461:
	nop
.L451:
	ldr	r3, .L462+4
	ldr	r3, [r3]
	cmp	r3, #2
	bne	.L452
	ldr	r3, .L462+8
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L462+8
	str	r3, [r2]
	ldr	r3, .L462+8
	ldr	r3, [r3]
	cmp	r3, #0
	bgt	.L452
	ldr	r3, .L462+4
	mov	r2, #0
	str	r2, [r3]
	b	.L453
.L452:
	ldr	r3, .L462+4
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L459
	ldr	r3, .L462+8
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L462+8
	str	r3, [r2]
	ldr	r3, .L462+8
	ldr	r3, [r3]
	cmp	r3, #0
	bgt	.L459
	ldr	r3, .L462+4
	mov	r2, #0
	str	r2, [r3]
	b	.L459
.L450:
	ldr	r3, .L462+12
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	cmp	r3, #9
	beq	.L456
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-8]
.L456:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L460
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	ldr	r1, [fp, #-20]
	mov	r0, r3
	bl	evaltree
	ldr	r3, .L462+12
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r3, .L462+4
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L461
.L453:
	b	.L458
.L459:
	nop
	b	.L455
.L460:
	nop
.L455:
	ldr	r3, .L462
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L462
	str	r3, [r2]
	ldr	r2, .L462+12
	ldr	r3, [fp, #-12]
	str	r3, [r2]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L463:
	.align	2
.L462:
	.word	loopnest
	.word	evalskip
	.word	skipcount
	.word	exitstatus
	.size	evalloop, .-evalloop
	.section	.rodata
	.align	2
.LC78:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	evalfor, %function
evalfor:
	@ 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]
	str	r1, [fp, #-44]
	ldr	r3, .L479
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	ldr	r2, .L479+4
	str	r3, [r2]
	ldr	r3, .L479+4
	ldr	r3, [r3]
	ldr	r2, .L479+8
	str	r3, [r2]
	ldr	r3, .L479+12
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L465
	ldr	r3, .L479+4
	ldr	r2, [r3]
	ldr	r3, .L479+12
	ldr	r3, [r3]
	sub	r3, r3, #1
	sub	r3, r2, r3
	ldr	r2, .L479+4
	str	r3, [r2]
.L465:
	sub	r3, fp, #20
	mov	r0, r3
	bl	setstackmark
	sub	r3, fp, #28
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-36]
	b	.L466
.L469:
	sub	r3, fp, #28
	mov	r2, #3
	mov	r1, r3
	ldr	r0, [fp, #-36]
	bl	expandarg
	ldr	r3, .L479+16
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L477
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-36]
.L466:
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	bne	.L469
	ldr	r3, [fp, #-24]
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L479+20
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L479+24
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L479+24
	str	r3, [r2]
	ldr	r3, [fp, #-44]
	and	r3, r3, #2
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-28]
	str	r3, [fp, #-32]
	b	.L470
.L475:
	ldr	r3, [fp, #-40]
	ldr	r0, [r3, #16]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #4]
	mov	r2, #0
	mov	r1, r3
	bl	setvar
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #12]
	ldr	r1, [fp, #-44]
	mov	r0, r3
	bl	evaltree
	ldr	r3, .L479+16
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L471
	ldr	r3, .L479+16
	ldr	r3, [r3]
	cmp	r3, #2
	bne	.L472
	ldr	r3, .L479+28
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L479+28
	str	r3, [r2]
	ldr	r3, .L479+28
	ldr	r3, [r3]
	cmp	r3, #0
	bgt	.L472
	ldr	r3, .L479+16
	mov	r2, #0
	str	r2, [r3]
	b	.L471
.L472:
	ldr	r3, .L479+16
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L478
	ldr	r3, .L479+28
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L479+28
	str	r3, [r2]
	ldr	r3, .L479+28
	ldr	r3, [r3]
	cmp	r3, #0
	bgt	.L478
	ldr	r3, .L479+16
	mov	r2, #0
	str	r2, [r3]
	b	.L478
.L471:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	str	r3, [fp, #-32]
.L470:
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L475
	b	.L474
.L478:
	nop
.L474:
	ldr	r3, .L479+24
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L479+24
	str	r3, [r2]
	b	.L468
.L477:
	nop
.L468:
	sub	r3, fp, #20
	mov	r0, r3
	bl	popstackmark
	nop
	ldr	r3, .L479
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L476
	bl	__stack_chk_fail
.L476:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L480:
	.align	2
.L479:
	.word	.LC78
	.word	lineno
	.word	errlinno
	.word	funcline
	.word	evalskip
	.word	exitstatus
	.word	loopnest
	.word	skipcount
	.size	evalfor, .-evalfor
	.section	.rodata
	.align	2
.LC79:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	evalcase, %function
evalcase:
	@ 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]
	str	r1, [fp, #-44]
	ldr	r3, .L493
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	ldr	r2, .L493+4
	str	r3, [r2]
	ldr	r3, .L493+4
	ldr	r3, [r3]
	ldr	r2, .L493+8
	str	r3, [r2]
	ldr	r3, .L493+12
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L482
	ldr	r3, .L493+4
	ldr	r2, [r3]
	ldr	r3, .L493+12
	ldr	r3, [r3]
	sub	r3, r3, #1
	sub	r3, r2, r3
	ldr	r2, .L493+4
	str	r3, [r2]
.L482:
	sub	r3, fp, #20
	mov	r0, r3
	bl	setstackmark
	sub	r3, fp, #28
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #8]
	sub	r1, fp, #28
	mov	r2, #2
	mov	r0, r3
	bl	expandarg
	ldr	r3, .L493+16
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-36]
	b	.L483
.L489:
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-32]
	b	.L484
.L488:
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #4]
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	casematch
	mov	r3, r0
	cmp	r3, #0
	beq	.L485
	ldr	r3, .L493+20
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L491
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #12]
	ldr	r1, [fp, #-44]
	mov	r0, r3
	bl	evaltree
	b	.L491
.L485:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-32]
.L484:
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L488
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-36]
.L483:
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	beq	.L492
	ldr	r3, .L493+20
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L489
	b	.L492
.L491:
	nop
	b	.L487
.L492:
	nop
.L487:
	sub	r3, fp, #20
	mov	r0, r3
	bl	popstackmark
	nop
	ldr	r3, .L493
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L490
	bl	__stack_chk_fail
.L490:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L494:
	.align	2
.L493:
	.word	.LC79
	.word	lineno
	.word	errlinno
	.word	funcline
	.word	exitstatus
	.word	evalskip
	.size	evalcase, .-evalcase
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	evalsubshell, %function
evalsubshell:
	@ 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]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	cmp	r3, #3
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	ldr	r2, .L506
	str	r3, [r2]
	ldr	r3, .L506
	ldr	r3, [r3]
	ldr	r2, .L506+4
	str	r3, [r2]
	ldr	r3, .L506+8
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L496
	ldr	r3, .L506
	ldr	r2, [r3]
	ldr	r3, .L506+8
	ldr	r3, [r3]
	sub	r3, r3, #1
	sub	r3, r2, r3
	ldr	r2, .L506
	str	r3, [r2]
.L496:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #12]
	mov	r0, r3
	bl	expredir
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L497
	ldr	r3, [fp, #-28]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L497
	bl	have_traps
	mov	r3, r0
	cmp	r3, #0
	beq	.L503
.L497:
	ldr	r3, .L506+12
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L506+12
	str	r3, [r2]
	mov	r1, #1
	ldr	r0, [fp, #-24]
	bl	makejob
	str	r0, [fp, #-8]
	ldr	r2, [fp, #-12]
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-8]
	bl	forkshell
	mov	r3, r0
	cmp	r3, #0
	bne	.L499
	ldr	r3, .L506+12
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L506+12
	str	r3, [r2]
	ldr	r3, .L506+12
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L500
	ldr	r3, .L506+16
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L500
	bl	onint
.L500:
	ldr	r3, [fp, #-28]
	orr	r3, r3, #1
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L504
	ldr	r3, [fp, #-28]
	bic	r3, r3, #2
	str	r3, [fp, #-28]
	b	.L498
.L503:
	nop
	b	.L498
.L504:
	nop
.L498:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #12]
	mov	r1, #0
	mov	r0, r3
	bl	redirect
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	ldr	r1, [fp, #-28]
	mov	r0, r3
	bl	evaltreenr
.L499:
	mov	r3, #0
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L501
	ldr	r0, [fp, #-8]
	bl	waitforjob
	str	r0, [fp, #-16]
.L501:
	ldr	r2, .L506+20
	ldr	r3, [fp, #-16]
	str	r3, [r2]
	ldr	r3, .L506+12
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L506+12
	str	r3, [r2]
	ldr	r3, .L506+12
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L505
	ldr	r3, .L506+16
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L505
	bl	onint
.L505:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L507:
	.align	2
.L506:
	.word	lineno
	.word	errlinno
	.word	funcline
	.word	suppressint
	.word	intpending
	.word	exitstatus
	.size	evalsubshell, .-evalsubshell
	.section	.rodata
	.align	2
.LC80:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	expredir, %function
expredir:
	@ 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, .L519
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-20]
	b	.L509
.L515:
	sub	r3, fp, #16
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	cmp	r3, #20
	bgt	.L510
	cmp	r3, #16
	bge	.L511
	b	.L512
.L510:
	sub	r3, r3, #21
	cmp	r3, #1
	bhi	.L512
	b	.L517
.L511:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #12]
	sub	r1, fp, #16
	mov	r2, #10
	mov	r0, r3
	bl	expandarg
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-20]
	str	r2, [r3, #16]
	b	.L512
.L517:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #16]
	cmp	r3, #0
	beq	.L518
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #16]
	sub	r1, fp, #16
	mov	r2, #3
	mov	r0, r3
	bl	expandarg
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	mov	r2, #1
	mov	r1, r3
	ldr	r0, [fp, #-20]
	bl	fixredir
.L518:
	nop
.L512:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-20]
.L509:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L515
	nop
	ldr	r3, .L519
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L516
	bl	__stack_chk_fail
.L516:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L520:
	.align	2
.L519:
	.word	.LC80
	.size	expredir, .-expredir
	.section	.rodata
	.align	2
.LC81:
	.ascii	"Pipe call failed\000"
	.align	2
.LC82:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	evalpipe, %function
evalpipe:
	@ 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]
	str	r1, [fp, #-44]
	ldr	r3, .L536
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-32]
	b	.L522
.L523:
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	str	r3, [fp, #-32]
.L522:
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L523
	ldr	r3, [fp, #-44]
	orr	r3, r3, #1
	str	r3, [fp, #-44]
	ldr	r3, .L536+4
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L536+4
	str	r3, [r2]
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-40]
	bl	makejob
	str	r0, [fp, #-20]
	mvn	r3, #0
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-32]
	b	.L524
.L532:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	prehash
	mvn	r3, #0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L525
	sub	r3, fp, #16
	mov	r0, r3
	bl	pipe
	mov	r3, r0
	cmp	r3, #0
	bge	.L525
	ldr	r0, [fp, #-24]
	bl	close
	ldr	r0, .L536+8
	bl	sh_error
.L525:
	ldr	r3, [fp, #-32]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	mov	r2, r3
	ldr	r0, [fp, #-20]
	bl	forkshell
	mov	r3, r0
	cmp	r3, #0
	bne	.L526
	ldr	r3, .L536+4
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L536+4
	str	r3, [r2]
	ldr	r3, .L536+4
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L527
	ldr	r3, .L536+12
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L527
	bl	onint
.L527:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	blt	.L528
	ldr	r3, [fp, #-16]
	mov	r0, r3
	bl	close
.L528:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	ble	.L529
	mov	r1, #0
	ldr	r0, [fp, #-24]
	bl	dup2
	ldr	r0, [fp, #-24]
	bl	close
.L529:
	ldr	r3, [fp, #-12]
	cmp	r3, #1
	ble	.L530
	ldr	r3, [fp, #-12]
	mov	r1, #1
	mov	r0, r3
	bl	dup2
	ldr	r3, [fp, #-12]
	mov	r0, r3
	bl	close
.L530:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #4]
	ldr	r1, [fp, #-44]
	mov	r0, r3
	bl	evaltreenr
.L526:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	blt	.L531
	ldr	r0, [fp, #-24]
	bl	close
.L531:
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-12]
	mov	r0, r3
	bl	close
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	str	r3, [fp, #-32]
.L524:
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L532
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L533
	ldr	r0, [fp, #-20]
	bl	waitforjob
	mov	r3, r0
	ldr	r2, .L536+16
	str	r3, [r2]
.L533:
	ldr	r3, .L536+4
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L536+4
	str	r3, [r2]
	ldr	r3, .L536+4
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L534
	ldr	r3, .L536+12
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L534
	bl	onint
.L534:
	nop
	ldr	r3, .L536
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L535
	bl	__stack_chk_fail
.L535:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L537:
	.align	2
.L536:
	.word	.LC82
	.word	suppressint
	.word	.LC81
	.word	intpending
	.word	exitstatus
	.size	evalpipe, .-evalpipe
	.section	.rodata
	.align	2
.LC83:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	evalbackcmd
	.syntax unified
	.arm
	.fpu softvfp
	.type	evalbackcmd, %function
evalbackcmd:
	@ 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]
	ldr	r3, .L547
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-28]
	mvn	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-28]
	mov	r2, #0
	str	r2, [r3, #4]
	ldr	r3, [fp, #-28]
	mov	r2, #0
	str	r2, [r3, #8]
	ldr	r3, [fp, #-28]
	mov	r2, #0
	str	r2, [r3, #12]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L546
	sub	r3, fp, #16
	mov	r0, r3
	bl	pipe
	mov	r3, r0
	cmp	r3, #0
	bge	.L541
	ldr	r0, .L547+4
	bl	sh_error
.L541:
	mov	r1, #1
	ldr	r0, [fp, #-24]
	bl	makejob
	str	r0, [fp, #-20]
	mov	r2, #2
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-20]
	bl	forkshell
	mov	r3, r0
	cmp	r3, #0
	bne	.L542
	ldr	r3, .L547+8
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L547+12
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L543
	bl	onint
.L543:
	ldr	r3, [fp, #-16]
	mov	r0, r3
	bl	close
	ldr	r3, [fp, #-12]
	cmp	r3, #1
	beq	.L544
	ldr	r3, [fp, #-12]
	mov	r1, #1
	mov	r0, r3
	bl	dup2
	ldr	r3, [fp, #-12]
	mov	r0, r3
	bl	close
.L544:
	bl	ifsfree
	mov	r1, #1
	ldr	r0, [fp, #-24]
	bl	evaltreenr
.L542:
	ldr	r3, [fp, #-12]
	mov	r0, r3
	bl	close
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-28]
	str	r2, [r3]
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-20]
	str	r2, [r3, #12]
	b	.L540
.L546:
	nop
.L540:
	nop
	ldr	r3, .L547
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L545
	bl	__stack_chk_fail
.L545:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L548:
	.align	2
.L547:
	.word	.LC83
	.word	.LC81
	.word	suppressint
	.word	intpending
	.size	evalbackcmd, .-evalbackcmd
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	parse_command_args, %function
parse_command_args:
	@ 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]
.L560:
	ldr	r3, [fp, #-16]
	add	r3, r3, #4
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L550
	mov	r3, #0
	b	.L551
.L550:
	ldr	r3, [fp, #-8]
	add	r2, r3, #1
	str	r2, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #45
	bne	.L562
	ldr	r3, [fp, #-8]
	add	r2, r3, #1
	str	r2, [fp, #-8]
	ldrb	r3, [r3]
	strb	r3, [fp, #-9]
	ldrb	r3, [fp, #-9]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L563
	ldrb	r3, [fp, #-9]	@ zero_extendqisi2
	cmp	r3, #45
	bne	.L559
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L559
	ldr	r3, [fp, #-16]
	add	r3, r3, #4
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L564
	mov	r3, #0
	b	.L551
.L559:
	ldrb	r3, [fp, #-9]	@ zero_extendqisi2
	cmp	r3, #112
	bne	.L557
	ldr	r2, .L565
	ldr	r3, [fp, #-20]
	str	r2, [r3]
	b	.L561
.L557:
	mov	r3, #0
	b	.L551
.L561:
	ldr	r3, [fp, #-8]
	add	r2, r3, #1
	str	r2, [fp, #-8]
	ldrb	r3, [r3]
	strb	r3, [fp, #-9]
	ldrb	r3, [fp, #-9]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L559
	b	.L560
.L562:
	nop
	b	.L553
.L563:
	nop
	b	.L553
.L564:
	nop
.L553:
	ldr	r3, [fp, #-16]
.L551:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L566:
	.align	2
.L565:
	.word	defpathvar+5
	.size	parse_command_args, .-parse_command_args
	.section	.rodata
	.align	2
.LC84:
	.ascii	"_\000"
	.align	2
.LC85:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	evalcommand, %function
evalcommand:
	@ args = 0, pretend = 0, frame = 136
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #136
	str	r0, [fp, #-136]
	str	r1, [fp, #-140]
	ldr	r3, .L621
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-136]
	ldr	r3, [r3, #4]
	ldr	r2, .L621+4
	str	r3, [r2]
	ldr	r3, .L621+4
	ldr	r3, [r3]
	ldr	r2, .L621+8
	str	r3, [r2]
	ldr	r3, .L621+12
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L568
	ldr	r3, .L621+4
	ldr	r2, [r3]
	ldr	r3, .L621+12
	ldr	r3, [r3]
	sub	r3, r3, #1
	sub	r3, r2, r3
	ldr	r2, .L621+4
	str	r3, [r2]
.L568:
	sub	r3, fp, #20
	mov	r0, r3
	bl	setstackmark
	bl	pushlocalvars
	str	r0, [fp, #-88]
	ldr	r3, .L621+16
	mov	r2, #0
	str	r2, [r3]
	mov	r3, #2
	str	r3, [fp, #-28]
	ldr	r3, .L621+20
	str	r3, [fp, #-24]
	sub	r3, fp, #36
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	mov	r2, #0
	str	r2, [r3]
	sub	r3, fp, #44
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-40]
	mov	r2, #0
	str	r2, [r3]
	mov	r3, #0
	str	r3, [fp, #-120]
	ldr	r3, [fp, #-136]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-128]
	b	.L569
.L572:
	ldr	r3, [fp, #-40]
	str	r3, [fp, #-48]
	sub	r3, fp, #44
	mov	r2, #3
	mov	r1, r3
	ldr	r0, [fp, #-128]
	bl	expandarg
	ldr	r3, [fp, #-48]
	ldr	r3, [r3]
	str	r3, [fp, #-116]
	b	.L570
.L571:
	ldr	r3, [fp, #-120]
	add	r3, r3, #1
	str	r3, [fp, #-120]
	ldr	r3, [fp, #-116]
	ldr	r3, [r3]
	str	r3, [fp, #-116]
.L570:
	ldr	r3, [fp, #-116]
	cmp	r3, #0
	bne	.L571
	ldr	r3, [fp, #-128]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-128]
.L569:
	ldr	r3, [fp, #-128]
	cmp	r3, #0
	bne	.L572
	ldr	r3, [fp, #-120]
	add	r3, r3, #2
	lsl	r3, r3, #2
	mov	r0, r3
	bl	stalloc
	str	r0, [fp, #-96]
	ldr	r3, [fp, #-96]
	add	r3, r3, #4
	str	r3, [fp, #-96]
	ldr	r3, [fp, #-96]
	str	r3, [fp, #-124]
	ldr	r3, [fp, #-44]
	str	r3, [fp, #-116]
	b	.L573
.L574:
	ldr	r3, [fp, #-96]
	add	r2, r3, #4
	str	r2, [fp, #-96]
	ldr	r2, [fp, #-116]
	ldr	r2, [r2, #4]
	str	r2, [r3]
	ldr	r3, [fp, #-116]
	ldr	r3, [r3]
	str	r3, [fp, #-116]
.L573:
	ldr	r3, [fp, #-116]
	cmp	r3, #0
	bne	.L574
	ldr	r3, [fp, #-96]
	mov	r2, #0
	str	r2, [r3]
	mov	r3, #0
	str	r3, [fp, #-112]
	ldr	r3, .L621+24
	ldrb	r3, [r3, #3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L575
	ldr	r3, .L621+12
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L575
	ldr	r3, [fp, #-120]
	cmp	r3, #0
	ble	.L575
	ldr	r3, [fp, #-96]
	ldr	r3, [r3, #-4]
	str	r3, [fp, #-112]
.L575:
	ldr	r3, .L621+28
	mov	r2, #2
	str	r2, [r3, #16]
	ldr	r3, [fp, #-136]
	ldr	r3, [r3, #16]
	mov	r0, r3
	bl	expredir
	ldr	r3, [fp, #-136]
	ldr	r3, [r3, #16]
	mov	r0, r3
	bl	pushredir
	str	r0, [fp, #-84]
	ldr	r3, [fp, #-136]
	ldr	r3, [r3, #16]
	mov	r1, #3
	mov	r0, r3
	bl	redirectsafe
	str	r0, [fp, #-100]
	ldr	r3, .L621+32
	ldr	r3, [r3, #8]
	str	r3, [fp, #-132]
	ldr	r3, [fp, #-136]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-128]
	b	.L576
.L578:
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-56]
	sub	r3, fp, #36
	mov	r2, #4
	mov	r1, r3
	ldr	r0, [fp, #-128]
	bl	expandarg
	ldr	r3, [fp, #-56]
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	mklocal
	ldr	r3, [fp, #-56]
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-132]
	mov	r1, r3
	ldr	r0, [fp, #-52]
	bl	varequal
	mov	r3, r0
	cmp	r3, #0
	beq	.L577
	ldr	r3, [fp, #-52]
	str	r3, [fp, #-132]
.L577:
	ldr	r3, [fp, #-128]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-128]
.L576:
	ldr	r3, [fp, #-128]
	cmp	r3, #0
	bne	.L578
	ldr	r3, .L621+24
	ldrb	r3, [r3, #7]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L579
	ldr	r3, .L621+28
	str	r3, [fp, #-80]
	ldr	r3, .L621+36
	ldr	r3, [r3, #8]
	add	r3, r3, #4
	mov	r0, r3
	bl	expandstr
	mov	r3, r0
	ldr	r1, [fp, #-80]
	mov	r0, r3
	bl	outstr
	mov	r3, #0
	str	r3, [fp, #-76]
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-76]
	mov	r1, r3
	ldr	r0, [fp, #-80]
	bl	eprintlist
	str	r0, [fp, #-76]
	ldr	r3, [fp, #-44]
	ldr	r2, [fp, #-76]
	mov	r1, r3
	ldr	r0, [fp, #-80]
	bl	eprintlist
	ldr	r1, [fp, #-80]
	mov	r0, #10
	bl	outcslow
.L579:
	mov	r3, #0
	str	r3, [fp, #-104]
	mvn	r3, #0
	str	r3, [fp, #-108]
	ldr	r3, [fp, #-120]
	cmp	r3, #0
	beq	.L580
	mov	r3, #1
	str	r3, [fp, #-92]
	ldr	r3, [fp, #-132]
	add	r3, r3, #5
	str	r3, [fp, #-132]
	ldr	r3, [fp, #-132]
	str	r3, [fp, #-72]
.L588:
	ldr	r3, [fp, #-124]
	ldr	r0, [r3]
	ldr	r3, [fp, #-132]
	sub	r1, fp, #28
	ldr	r2, [fp, #-92]
	bl	find_command
	ldr	r3, [fp, #-28]
	cmn	r3, #1
	bne	.L581
	mov	r3, #127
	str	r3, [fp, #-100]
	b	.L582
.L581:
	ldr	r3, [fp, #-28]
	cmp	r3, #2
	bne	.L612
	ldr	r3, [fp, #-108]
	cmp	r3, #0
	bge	.L584
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	and	r3, r3, #1
	str	r3, [fp, #-108]
.L584:
	ldr	r3, [fp, #-24]
	ldr	r2, .L621+40
	cmp	r3, r2
	bne	.L585
	ldr	r3, [fp, #-104]
	add	r3, r3, #1
	str	r3, [fp, #-104]
.L585:
	ldr	r3, [fp, #-24]
	ldr	r2, .L621+44
	cmp	r3, r2
	bne	.L613
	ldr	r3, [fp, #-72]
	str	r3, [fp, #-132]
	sub	r3, fp, #132
	mov	r1, r3
	ldr	r0, [fp, #-124]
	bl	parse_command_args
	str	r0, [fp, #-96]
	ldr	r3, [fp, #-96]
	cmp	r3, #0
	beq	.L614
	ldr	r2, [fp, #-96]
	ldr	r3, [fp, #-124]
	sub	r3, r2, r3
	asr	r3, r3, #2
	rsb	r3, r3, #0
	mov	r2, r3
	ldr	r3, [fp, #-120]
	add	r3, r3, r2
	str	r3, [fp, #-120]
	ldr	r3, [fp, #-96]
	str	r3, [fp, #-124]
	ldr	r3, [fp, #-92]
	orr	r3, r3, #4
	str	r3, [fp, #-92]
	b	.L588
.L612:
	nop
	b	.L580
.L613:
	nop
	b	.L580
.L614:
	nop
.L580:
	ldr	r3, [fp, #-100]
	cmp	r3, #0
	beq	.L589
	nop
.L582:
	ldr	r2, .L621+48
	ldr	r3, [fp, #-100]
	str	r3, [r2]
	ldr	r3, [fp, #-108]
	cmp	r3, #0
	ble	.L615
	mov	r0, #1
	bl	exraise
.L589:
	ldr	r3, [fp, #-28]
	cmp	r3, #1
	beq	.L592
	cmp	r3, #2
	beq	.L593
	ldr	r3, [fp, #-140]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L594
	bl	have_traps
	mov	r3, r0
	cmp	r3, #0
	beq	.L595
.L594:
	ldr	r3, .L621+52
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L621+52
	str	r3, [r2]
	mov	r1, #1
	ldr	r0, [fp, #-136]
	bl	makejob
	str	r0, [fp, #-60]
	mov	r2, #0
	ldr	r1, [fp, #-136]
	ldr	r0, [fp, #-60]
	bl	forkshell
	mov	r3, r0
	cmp	r3, #0
	beq	.L596
	ldr	r0, [fp, #-60]
	bl	waitforjob
	mov	r3, r0
	ldr	r2, .L621+48
	str	r3, [r2]
	ldr	r3, .L621+52
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L621+52
	str	r3, [r2]
	ldr	r3, .L621+52
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L616
	ldr	r3, .L621+56
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L616
	bl	onint
	b	.L616
.L596:
	ldr	r3, .L621+52
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L621+56
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L595
	bl	onint
.L595:
	ldr	r3, [fp, #-36]
	mov	r1, #17
	mov	r0, r3
	bl	listsetvar
	ldr	r3, [fp, #-132]
	ldr	r2, [fp, #-24]
	mov	r1, r3
	ldr	r0, [fp, #-124]
	bl	shellexec
.L593:
	ldr	r3, [fp, #-108]
	cmp	r3, #0
	bgt	.L599
	ldr	r3, [fp, #-120]
	cmp	r3, #0
	bne	.L600
.L599:
	mov	r0, #1
	bl	poplocalvars
	ldr	r3, [fp, #-104]
	cmp	r3, #0
	beq	.L600
	ldr	r3, [fp, #-120]
	cmp	r3, #1
	ble	.L600
	ldr	r3, [fp, #-36]
	mov	r1, #1
	mov	r0, r3
	bl	listsetvar
.L600:
	ldr	r0, [fp, #-24]
	ldr	r3, [fp, #-140]
	ldr	r2, [fp, #-124]
	ldr	r1, [fp, #-120]
	bl	evalbltin
	mov	r3, r0
	cmp	r3, #0
	beq	.L617
	ldr	r3, .L621+60
	ldr	r3, [r3]
	str	r3, [fp, #-68]
	ldr	r3, [fp, #-68]
	cmp	r3, #4
	beq	.L618
	ldr	r3, [fp, #-68]
	cmp	r3, #0
	bne	.L604
	mov	r3, #130
	b	.L605
.L604:
	mov	r3, #2
.L605:
	str	r3, [fp, #-64]
	ldr	r2, .L621+48
	ldr	r3, [fp, #-64]
	str	r3, [r2]
	ldr	r3, [fp, #-68]
	cmp	r3, #0
	beq	.L619
	ldr	r3, [fp, #-108]
	cmp	r3, #0
	ble	.L606
	b	.L619
.L618:
	nop
	b	.L603
.L619:
	nop
	b	.L603
.L620:
	nop
.L603:
	ldr	r3, .L621+64
	ldr	r3, [r3]
	mov	r1, #1
	mov	r0, r3
	bl	longjmp
.L606:
	ldr	r3, .L621+52
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L621+56
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L617
	bl	onint
	b	.L617
.L592:
	mov	r0, #1
	bl	poplocalvars
	ldr	r0, [fp, #-24]
	ldr	r3, [fp, #-140]
	ldr	r2, [fp, #-124]
	ldr	r1, [fp, #-120]
	bl	evalfun
	mov	r3, r0
	cmp	r3, #0
	bne	.L620
	b	.L591
.L615:
	nop
	b	.L591
.L616:
	nop
	b	.L591
.L617:
	nop
.L591:
	ldr	r3, [fp, #-136]
	ldr	r3, [r3, #16]
	cmp	r3, #0
	beq	.L609
	ldr	r0, [fp, #-104]
	bl	popredir
.L609:
	ldr	r0, [fp, #-84]
	bl	unwindredir
	ldr	r0, [fp, #-88]
	bl	unwindlocalvars
	ldr	r3, [fp, #-112]
	cmp	r3, #0
	beq	.L610
	mov	r2, #0
	ldr	r1, [fp, #-112]
	ldr	r0, .L621+68
	bl	setvar
.L610:
	sub	r3, fp, #20
	mov	r0, r3
	bl	popstackmark
	nop
	ldr	r3, .L621
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L611
	bl	__stack_chk_fail
.L611:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L622:
	.align	2
.L621:
	.word	.LC85
	.word	lineno
	.word	errlinno
	.word	funcline
	.word	back_exitstatus
	.word	bltin
	.word	optlist
	.word	preverrout
	.word	varinit+48
	.word	varinit+96
	.word	builtincmd+156
	.word	builtincmd+108
	.word	exitstatus
	.word	suppressint
	.word	intpending
	.word	exception
	.word	handler
	.word	.LC84
	.size	evalcommand, .-evalcommand
	.section	.rodata
	.align	2
.LC86:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	evalbltin, %function
evalbltin:
	@ args = 0, pretend = 0, frame = 432
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #432
	str	r0, [fp, #-424]
	str	r1, [fp, #-428]
	str	r2, [fp, #-432]
	str	r3, [fp, #-436]
	ldr	r3, .L632
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L632+4
	ldr	r3, [r3]
	str	r3, [fp, #-420]
	ldr	r3, .L632+8
	ldr	r3, [r3]
	str	r3, [fp, #-416]
	sub	r3, fp, #404
	mov	r0, r3
	bl	_setjmp
	mov	r3, r0
	str	r3, [fp, #-408]
	ldr	r3, [fp, #-408]
	cmp	r3, #0
	bne	.L631
	ldr	r2, .L632+8
	sub	r3, fp, #404
	str	r3, [r2]
	ldr	r3, [fp, #-432]
	ldr	r3, [r3]
	ldr	r2, .L632+4
	str	r3, [r2]
	ldr	r3, [fp, #-432]
	add	r3, r3, #4
	ldr	r2, .L632+12
	str	r3, [r2]
	ldr	r3, .L632+16
	mov	r2, #0
	str	r2, [r3]
	ldr	r2, .L632+20
	ldr	r3, [fp, #-424]
	cmp	r3, r2
	bne	.L627
	ldr	r2, [fp, #-436]
	ldr	r1, [fp, #-432]
	ldr	r0, [fp, #-428]
	bl	doevalcmd
	mov	r3, r0
	str	r3, [fp, #-412]
	b	.L628
.L627:
	ldr	r3, [fp, #-424]
	ldr	r3, [r3, #4]
	ldr	r1, [fp, #-432]
	ldr	r0, [fp, #-428]
	blx	r3
	mov	r3, r0
	str	r3, [fp, #-412]
.L628:
	bl	flushall
	ldr	r3, .L632+24
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-412]
	orr	r3, r2, r3
	str	r3, [fp, #-412]
	ldr	r2, .L632+28
	ldr	r3, [fp, #-412]
	str	r3, [r2]
	b	.L626
.L631:
	nop
.L626:
	bl	freestdout
	ldr	r3, [fp, #-420]
	ldr	r2, .L632+4
	str	r3, [r2]
	ldr	r3, [fp, #-416]
	ldr	r2, .L632+8
	str	r3, [r2]
	ldr	r3, [fp, #-408]
	ldr	r2, .L632
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L630
	bl	__stack_chk_fail
.L630:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L633:
	.align	2
.L632:
	.word	.LC86
	.word	commandname
	.word	handler
	.word	argptr
	.word	optptr
	.word	builtincmd+144
	.word	out1
	.word	exitstatus
	.size	evalbltin, .-evalbltin
	.section	.rodata
	.align	2
.LC87:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	evalfun, %function
evalfun:
	@ args = 0, pretend = 0, frame = 448
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #448
	str	r0, [fp, #-440]
	str	r1, [fp, #-444]
	str	r2, [fp, #-448]
	str	r3, [fp, #-452]
	ldr	r3, .L643
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L643+4
	sub	ip, fp, #424
	mov	lr, r3
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldr	r3, [lr]
	str	r3, [ip]
	ldr	r3, .L643+8
	ldr	r3, [r3]
	str	r3, [fp, #-432]
	ldr	r3, .L643+12
	ldr	r3, [r3]
	str	r3, [fp, #-436]
	sub	r3, fp, #404
	mov	r0, r3
	bl	_setjmp
	mov	r3, r0
	str	r3, [fp, #-428]
	ldr	r3, [fp, #-428]
	cmp	r3, #0
	bne	.L642
	ldr	r3, .L643+16
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L643+16
	str	r3, [r2]
	ldr	r2, .L643+12
	sub	r3, fp, #404
	str	r3, [r2]
	ldr	r3, .L643+4
	mov	r2, #0
	strb	r2, [r3, #4]
	ldr	r3, [fp, #-440]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-440]
	str	r2, [r3]
	ldr	r3, [fp, #-440]
	ldr	r3, [r3, #8]
	ldr	r2, .L643+8
	str	r3, [r2]
	ldr	r3, .L643+16
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L643+16
	str	r3, [r2]
	ldr	r3, .L643+16
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L638
	ldr	r3, .L643+20
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L638
	bl	onint
.L638:
	ldr	r3, [fp, #-444]
	sub	r3, r3, #1
	ldr	r2, .L643+4
	str	r3, [r2]
	ldr	r3, [fp, #-448]
	add	r3, r3, #4
	ldr	r2, .L643+4
	str	r3, [r2, #8]
	ldr	r3, .L643+4
	mov	r2, #1
	str	r2, [r3, #12]
	ldr	r3, .L643+4
	mvn	r2, #0
	str	r2, [r3, #16]
	bl	pushlocalvars
	ldr	r3, [fp, #-440]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-452]
	and	r3, r3, #2
	mov	r1, r3
	mov	r0, r2
	bl	evaltree
	mov	r0, #0
	bl	poplocalvars
	b	.L637
.L642:
	nop
.L637:
	ldr	r3, .L643+16
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L643+16
	str	r3, [r2]
	ldr	r2, .L643+8
	ldr	r3, [fp, #-432]
	str	r3, [r2]
	ldr	r0, [fp, #-440]
	bl	freefunc
	ldr	r0, .L643+4
	bl	freeparam
	ldr	r3, .L643+4
	mov	lr, r3
	sub	ip, fp, #424
	ldmia	ip!, {r0, r1, r2, r3}
	stmia	lr!, {r0, r1, r2, r3}
	ldr	r3, [ip]
	str	r3, [lr]
	ldr	r3, [fp, #-436]
	ldr	r2, .L643+12
	str	r3, [r2]
	ldr	r3, .L643+16
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L643+16
	str	r3, [r2]
	ldr	r3, .L643+16
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L639
	ldr	r3, .L643+20
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L639
	bl	onint
.L639:
	ldr	r3, .L643+24
	ldr	r3, [r3]
	bic	r3, r3, #4
	ldr	r2, .L643+24
	str	r3, [r2]
	ldr	r3, [fp, #-428]
	ldr	r2, .L643
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L641
	bl	__stack_chk_fail
.L641:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L644:
	.align	2
.L643:
	.word	.LC87
	.word	shellparam
	.word	funcline
	.word	handler
	.word	suppressint
	.word	intpending
	.word	evalskip
	.size	evalfun, .-evalfun
	.section	.rodata
	.align	2
.LC88:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	prehash, %function
prehash:
	@ 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, .L649
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L648
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	beq	.L648
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #12]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	goodname
	mov	r3, r0
	cmp	r3, #0
	beq	.L648
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #12]
	ldr	r0, [r3, #8]
	ldr	r3, .L649+4
	ldr	r3, [r3, #8]
	add	r3, r3, #5
	sub	r1, fp, #16
	mov	r2, #0
	bl	find_command
.L648:
	nop
	ldr	r3, .L649
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L647
	bl	__stack_chk_fail
.L647:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L650:
	.align	2
.L649:
	.word	.LC88
	.word	varinit+48
	.size	prehash, .-prehash
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	bltincmd, %function
bltincmd:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, .L653
	ldr	r3, [r3]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L654:
	.align	2
.L653:
	.word	back_exitstatus
	.size	bltincmd, .-bltincmd
	.align	2
	.global	breakcmd
	.syntax unified
	.arm
	.fpu softvfp
	.type	breakcmd, %function
breakcmd:
	@ 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]
	cmp	r3, #1
	ble	.L656
	ldr	r3, [fp, #-20]
	add	r3, r3, #4
	ldr	r3, [r3]
	mov	r0, r3
	bl	number
	mov	r3, r0
	b	.L657
.L656:
	mov	r3, #1
.L657:
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bgt	.L658
	ldr	r3, [fp, #-20]
	add	r3, r3, #4
	ldr	r3, [r3]
	mov	r0, r3
	bl	badnum
.L658:
	ldr	r3, .L664
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	ble	.L659
	ldr	r3, .L664
	ldr	r3, [r3]
	str	r3, [fp, #-8]
.L659:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	ble	.L660
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #99
	bne	.L661
	mov	r3, #2
	b	.L662
.L661:
	mov	r3, #1
.L662:
	ldr	r2, .L664+4
	str	r3, [r2]
	ldr	r2, .L664+8
	ldr	r3, [fp, #-8]
	str	r3, [r2]
.L660:
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L665:
	.align	2
.L664:
	.word	loopnest
	.word	evalskip
	.word	skipcount
	.size	breakcmd, .-breakcmd
	.align	2
	.global	returncmd
	.syntax unified
	.arm
	.fpu softvfp
	.type	returncmd, %function
returncmd:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, .L670
	mov	r2, #4
	str	r2, [r3]
	ldr	r3, [fp, #-12]
	add	r3, r3, #4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L667
	ldr	r3, [fp, #-12]
	add	r3, r3, #4
	ldr	r3, [r3]
	mov	r0, r3
	bl	number
	mov	r3, r0
	b	.L669
.L667:
	ldr	r3, .L670+4
	ldr	r3, [r3]
.L669:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L671:
	.align	2
.L670:
	.word	evalskip
	.word	exitstatus
	.size	returncmd, .-returncmd
	.align	2
	.global	falsecmd
	.syntax unified
	.arm
	.fpu softvfp
	.type	falsecmd, %function
falsecmd:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	mov	r3, #1
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	falsecmd, .-falsecmd
	.align	2
	.global	truecmd
	.syntax unified
	.arm
	.fpu softvfp
	.type	truecmd, %function
truecmd:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	mov	r3, #0
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	truecmd, .-truecmd
	.align	2
	.global	execcmd
	.syntax unified
	.arm
	.fpu softvfp
	.type	execcmd, %function
execcmd:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	ble	.L677
	ldr	r3, .L679
	mov	r2, #0
	strb	r2, [r3, #3]
	ldr	r3, .L679
	mov	r2, #0
	strb	r2, [r3, #4]
	bl	optschanged
	ldr	r3, [fp, #-12]
	add	r0, r3, #4
	ldr	r3, .L679+4
	ldr	r3, [r3, #8]
	add	r3, r3, #5
	mov	r2, #0
	mov	r1, r3
	bl	shellexec
.L677:
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L680:
	.align	2
.L679:
	.word	optlist
	.word	varinit+48
	.size	execcmd, .-execcmd
	.section	.rodata
	.align	2
.LC89:
	.ascii	" %s\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	eprintlist, %function
eprintlist:
	@ 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, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	b	.L682
.L683:
	ldr	r3, [fp, #-24]
	rsb	r3, r3, #1
	mov	r2, r3
	ldr	r3, .L685
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-24]
	orr	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #4]
	mov	r2, r3
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-16]
	bl	outfmt
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	str	r3, [fp, #-20]
.L682:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L683
	ldr	r3, [fp, #-24]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L686:
	.align	2
.L685:
	.word	.LC89
	.size	eprintlist, .-eprintlist
	.local	cmdtable
	.comm	cmdtable,124,4
	.data
	.align	2
	.type	builtinloc, %object
	.size	builtinloc, 4
builtinloc:
	.word	-1
	.section	.rodata
	.align	2
.LC90:
	.ascii	"%s: %s\000"
	.text
	.align	2
	.global	shellexec
	.syntax unified
	.arm
	.fpu softvfp
	.type	shellexec, %function
shellexec:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #36
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	str	r2, [fp, #-40]
	mov	r2, #0
	mov	r1, #32
	mov	r0, #1
	bl	listvars
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	mov	r1, #47
	mov	r0, r3
	bl	strchr
	mov	r3, r0
	cmp	r3, #0
	beq	.L688
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	ldr	r2, [fp, #-20]
	ldr	r1, [fp, #-32]
	mov	r0, r3
	bl	tryexec
	ldr	r3, .L696
	ldr	r3, [r3]
	ldr	r3, [r3]
	str	r3, [fp, #-28]
	b	.L689
.L688:
	mov	r3, #2
	str	r3, [fp, #-28]
	b	.L690
.L692:
	ldr	r3, [fp, #-40]
	sub	r3, r3, #1
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	bge	.L691
	ldr	r3, .L696+4
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L691
	ldr	r2, [fp, #-20]
	ldr	r1, [fp, #-32]
	ldr	r0, [fp, #-16]
	bl	tryexec
	ldr	r3, .L696
	ldr	r3, [r3]
	ldr	r3, [r3]
	cmp	r3, #2
	beq	.L691
	ldr	r3, .L696
	ldr	r3, [r3]
	ldr	r3, [r3]
	cmp	r3, #20
	beq	.L691
	ldr	r3, .L696
	ldr	r3, [r3]
	ldr	r3, [r3]
	str	r3, [fp, #-28]
.L691:
	ldr	r0, [fp, #-16]
	bl	stunalloc
.L690:
	ldr	r3, [fp, #-32]
	ldr	r2, [r3]
	sub	r3, fp, #36
	mov	r1, r2
	mov	r0, r3
	bl	padvance
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L692
.L689:
	ldr	r3, [fp, #-28]
	cmp	r3, #2
	beq	.L693
	ldr	r3, [fp, #-28]
	cmp	r3, #13
	bne	.L694
	mov	r3, #126
	str	r3, [fp, #-24]
	b	.L695
.L693:
	mov	r3, #127
	str	r3, [fp, #-24]
	b	.L695
.L694:
	mov	r3, #2
	str	r3, [fp, #-24]
	nop
.L695:
	ldr	r2, .L696+8
	ldr	r3, [fp, #-24]
	str	r3, [r2]
	ldr	r3, [fp, #-32]
	ldr	r4, [r3]
	mov	r1, #4
	ldr	r0, [fp, #-28]
	bl	errmsg
	mov	r3, r0
	mov	r2, r4
	ldr	r1, .L696+12
	mov	r0, #4
	bl	exerror
.L697:
	.align	2
.L696:
	.word	dash_errno
	.word	pathopt
	.word	exitstatus
	.word	.LC90
	.size	shellexec, .-shellexec
	.section	.rodata
	.align	2
.LC91:
	.ascii	"/bin/sh\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	tryexec, %function
tryexec:
	@ 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, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, .L702
	str	r3, [fp, #-8]
.L699:
	ldr	r2, [fp, #-24]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	execve
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-8]
	cmp	r2, r3
	beq	.L701
	ldr	r3, .L702+4
	ldr	r3, [r3]
	ldr	r3, [r3]
	cmp	r3, #8
	bne	.L701
	ldr	r3, [fp, #-20]
	sub	r2, r3, #4
	str	r2, [fp, #-20]
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	b	.L699
.L701:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L703:
	.align	2
.L702:
	.word	.LC91
	.word	dash_errno
	.size	tryexec, .-tryexec
	.comm	pathopt,4,4
	.align	2
	.global	padvance
	.syntax unified
	.arm
	.fpu softvfp
	.type	padvance, %function
padvance:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #28
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L705
	mov	r3, #0
	b	.L706
.L705:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-28]
	b	.L707
.L709:
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L707:
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L708
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #58
	beq	.L708
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #37
	bne	.L709
.L708:
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-20]
	sub	r3, r2, r3
	mov	r4, r3
	ldr	r0, [fp, #-36]
	bl	strlen
	mov	r3, r0
	add	r3, r4, r3
	add	r3, r3, #2
	str	r3, [fp, #-16]
	b	.L710
.L711:
	bl	growstackblock
.L710:
	ldr	r3, .L718
	ldr	r3, [r3]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	bhi	.L711
	ldr	r3, .L718+4
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	beq	.L712
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-20]
	sub	r3, r2, r3
	mov	r2, r3
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-24]
	bl	memcpy
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-20]
	sub	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-24]
	add	r3, r3, r2
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	add	r2, r3, #1
	str	r2, [fp, #-24]
	mov	r2, #47
	strb	r2, [r3]
.L712:
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-24]
	bl	strcpy
	ldr	r3, .L718+8
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #37
	bne	.L713
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	ldr	r2, .L718+8
	ldr	r3, [fp, #-28]
	str	r3, [r2]
	b	.L714
.L715:
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L714:
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L713
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #58
	bne	.L715
.L713:
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #58
	bne	.L716
	ldr	r3, [fp, #-28]
	add	r2, r3, #1
	ldr	r3, [fp, #-32]
	str	r2, [r3]
	b	.L717
.L716:
	ldr	r3, [fp, #-32]
	mov	r2, #0
	str	r2, [r3]
.L717:
	ldr	r0, [fp, #-16]
	bl	stalloc
	mov	r3, r0
.L706:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L719:
	.align	2
.L718:
	.word	stacknleft
	.word	stacknxt
	.word	pathopt
	.size	padvance, .-padvance
	.section	.rodata
	.align	2
.LC92:
	.ascii	"r\000"
	.align	2
.LC93:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	hashcmd
	.syntax unified
	.arm
	.fpu softvfp
	.type	hashcmd, %function
hashcmd:
	@ 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]
	str	r1, [fp, #-44]
	ldr	r3, .L738
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	nop
	ldr	r0, .L738+4
	bl	nextopt
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L737
	mov	r0, #0
	bl	clearcmdentry
	mov	r3, #0
	b	.L735
.L737:
	ldr	r3, .L738+8
	ldr	r3, [r3]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L724
	ldr	r3, .L738+12
	str	r3, [fp, #-32]
	b	.L725
.L729:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	str	r3, [fp, #-28]
	b	.L726
.L728:
	ldr	r3, [fp, #-28]
	ldrsh	r3, [r3, #8]
	cmp	r3, #0
	bne	.L727
	ldr	r0, [fp, #-28]
	bl	printentry
.L727:
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	str	r3, [fp, #-28]
.L726:
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L728
	ldr	r3, [fp, #-32]
	add	r3, r3, #4
	str	r3, [fp, #-32]
.L725:
	ldr	r3, [fp, #-32]
	ldr	r2, .L738+16
	cmp	r3, r2
	bcc	.L729
	mov	r3, #0
	b	.L735
.L724:
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L730
.L734:
	mov	r1, #0
	ldr	r0, [fp, #-20]
	bl	cmdlookup
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	beq	.L731
	ldr	r3, [fp, #-28]
	ldrsh	r3, [r3, #8]
	cmp	r3, #0
	beq	.L732
	ldr	r3, [fp, #-28]
	ldrsh	r3, [r3, #8]
	cmp	r3, #2
	bne	.L731
	ldr	r3, .L738+20
	ldr	r3, [r3]
	cmp	r3, #0
	blt	.L731
.L732:
	bl	delete_cmd_entry
.L731:
	ldr	r3, .L738+24
	ldr	r3, [r3, #8]
	add	r3, r3, #5
	sub	r1, fp, #16
	mov	r2, #1
	ldr	r0, [fp, #-20]
	bl	find_command
	ldr	r3, [fp, #-16]
	cmn	r3, #1
	bne	.L733
	mov	r3, #1
	str	r3, [fp, #-24]
.L733:
	ldr	r3, .L738+8
	ldr	r3, [r3]
	add	r3, r3, #4
	ldr	r2, .L738+8
	str	r3, [r2]
.L730:
	ldr	r3, .L738+8
	ldr	r3, [r3]
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L734
	ldr	r3, [fp, #-24]
.L735:
	ldr	r2, .L738
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L736
	bl	__stack_chk_fail
.L736:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L739:
	.align	2
.L738:
	.word	.LC93
	.word	.LC92
	.word	argptr
	.word	cmdtable
	.word	cmdtable+124
	.word	builtinloc
	.word	varinit+48
	.size	hashcmd, .-hashcmd
	.section	.rodata
	.align	2
.LC94:
	.ascii	"*\000"
	.align	2
.LC95:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	printentry, %function
printentry:
	@ 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, .L745
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-16]
	ldr	r3, .L745+4
	ldr	r3, [r3, #8]
	add	r3, r3, #5
	str	r3, [fp, #-20]
.L741:
	ldr	r3, [fp, #-24]
	add	r2, r3, #11
	sub	r3, fp, #20
	mov	r1, r2
	mov	r0, r3
	bl	padvance
	str	r0, [fp, #-12]
	ldr	r0, [fp, #-12]
	bl	stunalloc
	ldr	r3, [fp, #-16]
	sub	r3, r3, #1
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bge	.L741
	ldr	r3, .L745+8
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-12]
	bl	outstr
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3, #10]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L742
	ldr	r3, .L745+12
	b	.L743
.L742:
	ldr	r3, .L745+16
.L743:
	mov	r1, r3
	ldr	r0, .L745+20
	bl	out1fmt
	nop
	ldr	r3, .L745
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L744
	bl	__stack_chk_fail
.L744:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L746:
	.align	2
.L745:
	.word	.LC95
	.word	varinit+48
	.word	out1
	.word	.LC94
	.word	nullstr
	.word	snlfmt
	.size	printentry, .-printentry
	.section	.rodata
	.align	2
.LC96:
	.ascii	"%builtin\000"
	.align	2
.LC97:
	.ascii	"builtin\000"
	.align	2
.LC98:
	.ascii	"func\000"
	.align	2
.LC99:
	.ascii	"%s not defined in %s\000"
	.align	2
.LC100:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	find_command
	.syntax unified
	.arm
	.fpu softvfp
	.type	find_command, %function
find_command:
	@ args = 0, pretend = 0, frame = 144
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #144
	str	r0, [fp, #-136]
	str	r1, [fp, #-140]
	str	r2, [fp, #-144]
	str	r3, [fp, #-148]
	ldr	r3, .L797
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r1, #47
	ldr	r0, [fp, #-136]
	bl	strchr
	mov	r3, r0
	cmp	r3, #0
	beq	.L748
	ldr	r3, [fp, #-140]
	mvn	r2, #0
	str	r2, [r3, #4]
	ldr	r3, [fp, #-144]
	and	r3, r3, #2
	cmp	r3, #0
	beq	.L749
	b	.L790
.L752:
	ldr	r3, [fp, #-140]
	mvn	r2, #0
	str	r2, [r3]
	b	.L747
.L790:
	sub	r3, fp, #100
	mov	r1, r3
	ldr	r0, [fp, #-136]
	bl	stat
	mov	r3, r0
	cmp	r3, #0
	blt	.L752
.L749:
	ldr	r3, [fp, #-140]
	mov	r2, #0
	str	r2, [r3]
	b	.L747
.L748:
	ldr	r3, .L797+4
	ldr	r3, [r3, #8]
	add	r2, r3, #5
	ldr	r3, [fp, #-148]
	cmp	r2, r3
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-116]
	ldr	r3, [fp, #-116]
	cmp	r3, #0
	bne	.L753
	ldr	r3, [fp, #-144]
	orr	r3, r3, #8
	str	r3, [fp, #-144]
	ldr	r3, [fp, #-148]
	ldr	r1, .L797+8
	mov	r0, r3
	bl	strstr
	mov	r3, r0
	cmp	r3, #0
	beq	.L753
	ldr	r3, [fp, #-144]
	orr	r3, r3, #32
	str	r3, [fp, #-144]
.L753:
	mov	r1, #0
	ldr	r0, [fp, #-136]
	bl	cmdlookup
	str	r0, [fp, #-132]
	ldr	r3, [fp, #-132]
	cmp	r3, #0
	beq	.L754
	ldr	r3, [fp, #-132]
	ldrsh	r3, [r3, #8]
	cmp	r3, #1
	beq	.L755
	cmp	r3, #2
	beq	.L756
	mov	r3, #8
	str	r3, [fp, #-112]
	b	.L757
.L755:
	mov	r3, #4
	str	r3, [fp, #-112]
	b	.L757
.L756:
	mov	r3, #32
	str	r3, [fp, #-112]
	nop
.L757:
	ldr	r2, [fp, #-144]
	ldr	r3, [fp, #-112]
	and	r3, r3, r2
	cmp	r3, #0
	beq	.L758
	mov	r3, #0
	str	r3, [fp, #-116]
	mov	r3, #0
	str	r3, [fp, #-132]
	b	.L754
.L758:
	ldr	r3, [fp, #-132]
	ldrb	r3, [r3, #10]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L791
.L754:
	ldr	r0, [fp, #-136]
	bl	find_builtin
	str	r0, [fp, #-108]
	ldr	r3, [fp, #-108]
	cmp	r3, #0
	beq	.L760
	ldr	r3, [fp, #-108]
	ldr	r3, [r3, #8]
	and	r3, r3, #2
	cmp	r3, #0
	bne	.L792
	ldr	r3, [fp, #-144]
	and	r3, r3, #8
	cmp	r3, #0
	beq	.L762
	ldr	r3, [fp, #-144]
	and	r3, r3, #32
	cmp	r3, #0
	beq	.L792
	b	.L760
.L762:
	ldr	r3, .L797+12
	ldr	r3, [r3]
	cmp	r3, #0
	ble	.L792
.L760:
	mvn	r3, #0
	str	r3, [fp, #-124]
	ldr	r3, [fp, #-132]
	cmp	r3, #0
	beq	.L764
	ldr	r3, [fp, #-132]
	ldrb	r3, [r3, #10]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L764
	ldr	r3, [fp, #-132]
	ldrsh	r3, [r3, #8]
	cmp	r3, #2
	bne	.L765
	ldr	r3, .L797+12
	ldr	r3, [r3]
	str	r3, [fp, #-124]
	b	.L764
.L765:
	ldr	r3, [fp, #-132]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-124]
.L764:
	mov	r3, #2
	str	r3, [fp, #-120]
	mvn	r3, #0
	str	r3, [fp, #-128]
.L766:
	b	.L767
.L783:
	ldr	r0, [fp, #-104]
	bl	stunalloc
	ldr	r3, [fp, #-128]
	add	r3, r3, #1
	str	r3, [fp, #-128]
	ldr	r3, .L797+16
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L768
	ldr	r3, .L797+16
	ldr	r3, [r3]
	ldr	r1, .L797+20
	mov	r0, r3
	bl	prefix
	mov	r3, r0
	cmp	r3, #0
	beq	.L769
	ldr	r3, [fp, #-108]
	cmp	r3, #0
	bne	.L793
	b	.L767
.L769:
	ldr	r3, [fp, #-144]
	and	r3, r3, #4
	cmp	r3, #0
	bne	.L767
	ldr	r3, .L797+16
	ldr	r3, [r3]
	ldr	r1, .L797+24
	mov	r0, r3
	bl	prefix
	mov	r3, r0
	cmp	r3, #0
	bne	.L768
	b	.L767
.L768:
	ldr	r3, [fp, #-104]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #47
	bne	.L794
	ldr	r2, [fp, #-128]
	ldr	r3, [fp, #-124]
	cmp	r2, r3
	bgt	.L794
	ldr	r2, [fp, #-128]
	ldr	r3, [fp, #-124]
	cmp	r2, r3
	bge	.L795
	b	.L767
.L776:
	ldr	r3, .L797+28
	ldr	r3, [r3]
	ldr	r3, [r3]
	cmp	r3, #2
	beq	.L766
	ldr	r3, .L797+28
	ldr	r3, [r3]
	ldr	r3, [r3]
	cmp	r3, #20
	beq	.L766
	ldr	r3, .L797+28
	ldr	r3, [r3]
	ldr	r3, [r3]
	str	r3, [fp, #-120]
	b	.L766
.L794:
	nop
	sub	r3, fp, #100
	mov	r1, r3
	ldr	r0, [fp, #-104]
	bl	stat
	mov	r3, r0
	cmp	r3, #0
	blt	.L776
	mov	r3, #13
	str	r3, [fp, #-120]
	ldr	r3, [fp, #-84]
	and	r3, r3, #61440
	cmp	r3, #32768
	beq	.L777
	b	.L767
.L777:
	ldr	r3, .L797+16
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L778
	ldr	r0, [fp, #-104]
	bl	strlen
	mov	r3, r0
	add	r3, r3, #1
	mov	r0, r3
	bl	stalloc
	ldr	r0, [fp, #-104]
	bl	readcmdfile
	mov	r1, #0
	ldr	r0, [fp, #-136]
	bl	cmdlookup
	str	r0, [fp, #-132]
	ldr	r3, [fp, #-132]
	cmp	r3, #0
	beq	.L779
	ldr	r3, [fp, #-132]
	ldrsh	r3, [r3, #8]
	cmp	r3, #1
	beq	.L780
.L779:
	ldr	r2, [fp, #-104]
	ldr	r1, [fp, #-136]
	ldr	r0, .L797+32
	bl	sh_error
.L780:
	ldr	r0, [fp, #-104]
	bl	stunalloc
	b	.L759
.L778:
	ldr	r3, [fp, #-116]
	cmp	r3, #0
	bne	.L781
	ldr	r3, [fp, #-140]
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-140]
	ldr	r2, [fp, #-128]
	str	r2, [r3, #4]
	b	.L747
.L781:
	ldr	r3, .L797+36
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L797+36
	str	r3, [r2]
	mov	r1, #1
	ldr	r0, [fp, #-136]
	bl	cmdlookup
	str	r0, [fp, #-132]
	ldr	r3, [fp, #-132]
	mov	r2, #0
	strh	r2, [r3, #8]	@ movhi
	ldr	r3, [fp, #-132]
	ldr	r2, [fp, #-128]
	str	r2, [r3, #4]
	ldr	r3, .L797+36
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L797+36
	str	r3, [r2]
	ldr	r3, .L797+36
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L796
	ldr	r3, .L797+40
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L796
	bl	onint
	b	.L796
.L767:
	sub	r3, fp, #148
	ldr	r1, [fp, #-136]
	mov	r0, r3
	bl	padvance
	str	r0, [fp, #-104]
	ldr	r3, [fp, #-104]
	cmp	r3, #0
	bne	.L783
	ldr	r3, [fp, #-132]
	cmp	r3, #0
	beq	.L784
	ldr	r3, [fp, #-116]
	cmp	r3, #0
	beq	.L784
	bl	delete_cmd_entry
.L784:
	ldr	r3, [fp, #-144]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L785
	mov	r1, #4
	ldr	r0, [fp, #-120]
	bl	errmsg
	mov	r3, r0
	mov	r2, r3
	ldr	r1, [fp, #-136]
	ldr	r0, .L797+44
	bl	sh_warnx
.L785:
	ldr	r3, [fp, #-140]
	mvn	r2, #0
	str	r2, [r3]
	b	.L747
.L792:
	nop
	b	.L763
.L793:
	nop
.L763:
	ldr	r3, [fp, #-116]
	cmp	r3, #0
	bne	.L786
	ldr	r3, [fp, #-140]
	mov	r2, #2
	str	r2, [r3]
	ldr	r3, [fp, #-140]
	ldr	r2, [fp, #-108]
	str	r2, [r3, #4]
	b	.L747
.L786:
	ldr	r3, .L797+36
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L797+36
	str	r3, [r2]
	mov	r1, #1
	ldr	r0, [fp, #-136]
	bl	cmdlookup
	str	r0, [fp, #-132]
	ldr	r3, [fp, #-132]
	mov	r2, #2
	strh	r2, [r3, #8]	@ movhi
	ldr	r3, [fp, #-132]
	ldr	r2, [fp, #-108]
	str	r2, [r3, #4]
	ldr	r3, .L797+36
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L797+36
	str	r3, [r2]
	ldr	r3, .L797+36
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L759
	ldr	r3, .L797+40
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L759
	bl	onint
	b	.L759
.L791:
	nop
	b	.L759
.L795:
	nop
	b	.L759
.L796:
	nop
.L759:
	ldr	r3, [fp, #-132]
	mov	r2, #0
	strb	r2, [r3, #10]
	ldr	r3, [fp, #-132]
	ldrsh	r3, [r3, #8]
	mov	r2, r3
	ldr	r3, [fp, #-140]
	str	r2, [r3]
	ldr	r3, [fp, #-140]
	ldr	r2, [fp, #-132]
	ldr	r2, [r2, #4]
	str	r2, [r3, #4]
.L747:
	ldr	r3, .L797
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L789
	bl	__stack_chk_fail
.L789:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L798:
	.align	2
.L797:
	.word	.LC100
	.word	varinit+48
	.word	.LC96
	.word	builtinloc
	.word	pathopt
	.word	.LC97
	.word	.LC98
	.word	dash_errno
	.word	.LC99
	.word	suppressint
	.word	intpending
	.word	.LC90
	.size	find_command, .-find_command
	.align	2
	.global	find_builtin
	.syntax unified
	.arm
	.fpu softvfp
	.type	find_builtin, %function
find_builtin:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	sub	r0, fp, #16
	ldr	r3, .L801
	str	r3, [sp]
	mov	r3, #12
	mov	r2, #45
	ldr	r1, .L801+4
	bl	bsearch
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L802:
	.align	2
.L801:
	.word	pstrcmp
	.word	builtincmd
	.size	find_builtin, .-find_builtin
	.align	2
	.global	hashcd
	.syntax unified
	.arm
	.fpu softvfp
	.type	hashcd, %function
hashcd:
	@ 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, .L810
	str	r3, [fp, #-12]
	b	.L804
.L809:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	b	.L805
.L808:
	ldr	r3, [fp, #-8]
	ldrsh	r3, [r3, #8]
	cmp	r3, #0
	beq	.L806
	ldr	r3, [fp, #-8]
	ldrsh	r3, [r3, #8]
	cmp	r3, #2
	bne	.L807
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #8]
	and	r3, r3, #2
	cmp	r3, #0
	bne	.L807
	ldr	r3, .L810+4
	ldr	r3, [r3]
	cmp	r3, #0
	ble	.L807
.L806:
	ldr	r3, [fp, #-8]
	mov	r2, #1
	strb	r2, [r3, #10]
.L807:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	str	r3, [fp, #-8]
.L805:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L808
	ldr	r3, [fp, #-12]
	add	r3, r3, #4
	str	r3, [fp, #-12]
.L804:
	ldr	r3, [fp, #-12]
	ldr	r2, .L810+8
	cmp	r3, r2
	bcc	.L809
	nop
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L811:
	.align	2
.L810:
	.word	cmdtable
	.word	builtinloc
	.word	cmdtable+124
	.size	hashcd, .-hashcd
	.align	2
	.global	changepath
	.syntax unified
	.arm
	.fpu softvfp
	.type	changepath, %function
changepath:
	@ 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]
	ldr	r3, .L826
	ldr	r3, [r3, #8]
	add	r3, r3, #5
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-20]
	ldr	r3, .L826+4
	str	r3, [fp, #-12]
	mov	r3, #0
	str	r3, [fp, #-16]
	mvn	r3, #0
	str	r3, [fp, #-8]
.L821:
	ldr	r3, [fp, #-24]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r2, r3
	beq	.L813
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L814
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #58
	beq	.L815
.L814:
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #58
	bne	.L816
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L816
.L815:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L816:
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-24]
.L813:
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L825
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #37
	bne	.L819
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bge	.L819
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	ldr	r1, .L826+8
	mov	r0, r3
	bl	prefix
	mov	r3, r0
	cmp	r3, #0
	beq	.L819
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-8]
.L819:
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #58
	bne	.L820
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L820:
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	b	.L821
.L825:
	nop
	ldr	r3, .L826+12
	ldr	r3, [r3]
	cmp	r3, #0
	bge	.L822
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	blt	.L822
	ldr	r2, .L826+12
	ldr	r3, [fp, #-8]
	str	r3, [r2]
.L822:
	ldr	r3, .L826+12
	ldr	r3, [r3]
	cmp	r3, #0
	blt	.L823
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bge	.L823
	mov	r3, #0
	str	r3, [fp, #-12]
.L823:
	ldr	r0, [fp, #-12]
	bl	clearcmdentry
	ldr	r2, .L826+12
	ldr	r3, [fp, #-8]
	str	r3, [r2]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L827:
	.align	2
.L826:
	.word	varinit+48
	.word	9999
	.word	.LC97
	.word	builtinloc
	.size	changepath, .-changepath
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	clearcmdentry, %function
clearcmdentry:
	@ 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, .L838
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L838
	str	r3, [r2]
	ldr	r3, .L838+4
	str	r3, [fp, #-16]
	b	.L829
.L835:
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-12]
	b	.L830
.L834:
	ldr	r3, [fp, #-8]
	ldrsh	r3, [r3, #8]
	cmp	r3, #0
	bne	.L831
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	ble	.L832
.L831:
	ldr	r3, [fp, #-8]
	ldrsh	r3, [r3, #8]
	cmp	r3, #2
	bne	.L833
	ldr	r3, .L838+8
	ldr	r3, [r3]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	bgt	.L833
.L832:
	ldr	r3, [fp, #-8]
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	str	r2, [r3]
	ldr	r0, [fp, #-8]
	bl	free
	b	.L830
.L833:
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-12]
.L830:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L834
	ldr	r3, [fp, #-16]
	add	r3, r3, #4
	str	r3, [fp, #-16]
.L829:
	ldr	r3, [fp, #-16]
	ldr	r2, .L838+12
	cmp	r3, r2
	bcc	.L835
	ldr	r3, .L838
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L838
	str	r3, [r2]
	ldr	r3, .L838
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L837
	ldr	r3, .L838+16
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L837
	bl	onint
.L837:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L839:
	.align	2
.L838:
	.word	suppressint
	.word	cmdtable
	.word	builtinloc
	.word	cmdtable+124
	.word	intpending
	.size	clearcmdentry, .-clearcmdentry
	.comm	lastcmdentry,4,4
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	cmdlookup, %function
cmdlookup:
	@ 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]
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #4
	str	r3, [fp, #-20]
	b	.L841
.L842:
	ldr	r3, [fp, #-16]
	add	r2, r3, #1
	str	r2, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-20]
	add	r3, r3, r2
	str	r3, [fp, #-20]
.L841:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L842
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #17
	lsr	r3, r3, #17
	str	r3, [fp, #-20]
	ldr	r1, [fp, #-20]
	ldr	r3, .L850
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #4
	mov	r3, r2
	lsl	r3, r3, #5
	sub	r3, r3, r2
	sub	r2, r1, r3
	lsl	r3, r2, #2
	ldr	r2, .L850+4
	add	r3, r3, r2
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	b	.L843
.L846:
	ldr	r3, [fp, #-12]
	add	r3, r3, #11
	ldr	r1, [fp, #-24]
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	beq	.L849
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	str	r3, [fp, #-12]
.L843:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L846
	b	.L845
.L849:
	nop
.L845:
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	beq	.L847
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L847
	ldr	r0, [fp, #-24]
	bl	strlen
	mov	r3, r0
	add	r3, r3, #12
	mov	r0, r3
	bl	ckmalloc
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-12]
	mvn	r2, #0
	strh	r2, [r3, #8]	@ movhi
	ldr	r3, [fp, #-12]
	add	r3, r3, #11
	ldr	r1, [fp, #-24]
	mov	r0, r3
	bl	strcpy
.L847:
	ldr	r2, .L850+8
	ldr	r3, [fp, #-8]
	str	r3, [r2]
	ldr	r3, [fp, #-12]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L851:
	.align	2
.L850:
	.word	138547333
	.word	cmdtable
	.word	lastcmdentry
	.size	cmdlookup, .-cmdlookup
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	delete_cmd_entry, %function
delete_cmd_entry:
	@ 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, .L856
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L856
	str	r3, [r2]
	ldr	r3, .L856+4
	ldr	r3, [r3]
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, .L856+4
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldrsh	r3, [r3, #8]
	cmp	r3, #1
	bne	.L853
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	freefunc
.L853:
	ldr	r0, [fp, #-8]
	bl	free
	ldr	r3, .L856
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L856
	str	r3, [r2]
	ldr	r3, .L856
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L855
	ldr	r3, .L856+8
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L855
	bl	onint
.L855:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L857:
	.align	2
.L856:
	.word	suppressint
	.word	lastcmdentry
	.word	intpending
	.size	delete_cmd_entry, .-delete_cmd_entry
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	addcmdentry, %function
addcmdentry:
	@ 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]
	mov	r1, #1
	ldr	r0, [fp, #-16]
	bl	cmdlookup
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldrsh	r3, [r3, #8]
	cmp	r3, #1
	bne	.L859
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	freefunc
.L859:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	lsl	r3, r3, #16
	asr	r2, r3, #16
	ldr	r3, [fp, #-8]
	strh	r2, [r3, #8]	@ movhi
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-20]
	ldr	r2, [r2, #4]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	strb	r2, [r3, #10]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	addcmdentry, .-addcmdentry
	.section	.rodata
	.align	2
.LC101:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	defun
	.syntax unified
	.arm
	.fpu softvfp
	.type	defun, %function
defun:
	@ 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, .L863
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L863+4
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L863+4
	str	r3, [r2]
	mov	r3, #1
	str	r3, [fp, #-16]
	ldr	r0, [fp, #-24]
	bl	copyfunc
	mov	r3, r0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	sub	r2, fp, #16
	mov	r1, r2
	mov	r0, r3
	bl	addcmdentry
	ldr	r3, .L863+4
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L863+4
	str	r3, [r2]
	ldr	r3, .L863+4
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L861
	ldr	r3, .L863+8
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L861
	bl	onint
.L861:
	nop
	ldr	r3, .L863
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L862
	bl	__stack_chk_fail
.L862:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L864:
	.align	2
.L863:
	.word	.LC101
	.word	suppressint
	.word	intpending
	.size	defun, .-defun
	.align	2
	.global	unsetfunc
	.syntax unified
	.arm
	.fpu softvfp
	.type	unsetfunc, %function
unsetfunc:
	@ 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]
	mov	r1, #0
	ldr	r0, [fp, #-16]
	bl	cmdlookup
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L867
	ldr	r3, [fp, #-8]
	ldrsh	r3, [r3, #8]
	cmp	r3, #1
	bne	.L867
	bl	delete_cmd_entry
.L867:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	unsetfunc, .-unsetfunc
	.align	2
	.global	typecmd
	.syntax unified
	.arm
	.fpu softvfp
	.type	typecmd, %function
typecmd:
	@ 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]
	mov	r3, #0
	str	r3, [fp, #-8]
	mov	r3, #1
	str	r3, [fp, #-12]
	b	.L869
.L870:
	ldr	r3, .L872
	ldr	r0, [r3]
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, #1
	mov	r1, r3
	bl	describe_command
	mov	r2, r0
	ldr	r3, [fp, #-8]
	orr	r3, r3, r2
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L869:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	blt	.L870
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L873:
	.align	2
.L872:
	.word	out1
	.size	typecmd, .-typecmd
	.section	.rodata
	.align	2
.LC102:
	.ascii	" is a shell keyword\000"
	.align	2
.LC103:
	.ascii	" is an alias for %s\000"
	.align	2
.LC104:
	.ascii	"alias \000"
	.align	2
.LC105:
	.ascii	" a tracked alias for\000"
	.align	2
.LC106:
	.ascii	" is%s %s\000"
	.align	2
.LC107:
	.ascii	" is a shell function\000"
	.align	2
.LC108:
	.ascii	"special \000"
	.align	2
.LC109:
	.ascii	" is a %sshell builtin\000"
	.align	2
.LC110:
	.ascii	": not found\012\000"
	.align	2
.LC111:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	describe_command, %function
describe_command:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	str	r2, [fp, #-48]
	ldr	r3, .L905
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L905+4
	ldr	r3, [r3, #8]
	add	r3, r3, #5
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	beq	.L875
	ldr	r1, [fp, #-40]
	ldr	r0, [fp, #-44]
	bl	outstr
.L875:
	ldr	r0, [fp, #-44]
	bl	findkwd
	mov	r3, r0
	cmp	r3, #0
	beq	.L876
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	bne	.L877
	ldr	r3, [fp, #-44]
	b	.L878
.L877:
	ldr	r3, .L905+8
.L878:
	ldr	r1, [fp, #-40]
	mov	r0, r3
	bl	outstr
	b	.L879
.L876:
	mov	r1, #0
	ldr	r0, [fp, #-44]
	bl	lookupalias
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L880
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	beq	.L881
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	mov	r2, r3
	ldr	r1, .L905+12
	ldr	r0, [fp, #-40]
	bl	outfmt
	b	.L879
.L881:
	ldr	r1, [fp, #-40]
	ldr	r0, .L905+16
	bl	outstr
	ldr	r0, [fp, #-24]
	bl	printalias
	mov	r3, #0
	b	.L903
.L880:
	mov	r1, #0
	ldr	r0, [fp, #-44]
	bl	cmdlookup
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L884
	ldr	r3, [fp, #-20]
	ldrsh	r3, [r3, #8]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-12]
	b	.L885
.L884:
	ldr	r3, [fp, #-36]
	sub	r1, fp, #16
	mov	r2, #2
	ldr	r0, [fp, #-44]
	bl	find_command
.L885:
	ldr	r3, [fp, #-16]
	cmp	r3, #2
	beq	.L886
	cmp	r3, #2
	bgt	.L887
	cmp	r3, #0
	beq	.L888
	cmp	r3, #1
	beq	.L889
	b	.L887
.L888:
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	cmn	r3, #1
	bne	.L890
	ldr	r3, [fp, #-44]
	str	r3, [fp, #-28]
	b	.L891
.L890:
	sub	r3, fp, #36
	ldr	r1, [fp, #-44]
	mov	r0, r3
	bl	padvance
	str	r0, [fp, #-28]
	ldr	r0, [fp, #-28]
	bl	stunalloc
	ldr	r3, [fp, #-32]
	sub	r3, r3, #1
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bge	.L890
.L891:
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	beq	.L892
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L893
	ldr	r2, .L905+20
	b	.L894
.L893:
	ldr	r2, .L905+24
.L894:
	ldr	r3, [fp, #-28]
	ldr	r1, .L905+28
	ldr	r0, [fp, #-40]
	bl	outfmt
	b	.L879
.L892:
	ldr	r1, [fp, #-40]
	ldr	r0, [fp, #-28]
	bl	outstr
	b	.L879
.L889:
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	beq	.L896
	ldr	r1, [fp, #-40]
	ldr	r0, .L905+32
	bl	outstr
	b	.L879
.L896:
	ldr	r1, [fp, #-40]
	ldr	r0, [fp, #-44]
	bl	outstr
	b	.L879
.L886:
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	beq	.L898
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L899
	ldr	r3, .L905+36
	b	.L900
.L899:
	ldr	r3, .L905+24
.L900:
	mov	r2, r3
	ldr	r1, .L905+40
	ldr	r0, [fp, #-40]
	bl	outfmt
	b	.L879
.L898:
	ldr	r1, [fp, #-40]
	ldr	r0, [fp, #-44]
	bl	outstr
	b	.L879
.L887:
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	beq	.L902
	ldr	r1, [fp, #-40]
	ldr	r0, .L905+44
	bl	outstr
.L902:
	mov	r3, #127
	b	.L903
.L879:
	ldr	r1, [fp, #-40]
	mov	r0, #10
	bl	outc
	mov	r3, #0
.L903:
	ldr	r2, .L905
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L904
	bl	__stack_chk_fail
.L904:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L906:
	.align	2
.L905:
	.word	.LC111
	.word	varinit+48
	.word	.LC102
	.word	.LC103
	.word	.LC104
	.word	.LC105
	.word	nullstr
	.word	.LC106
	.word	.LC107
	.word	.LC108
	.word	.LC109
	.word	.LC110
	.size	describe_command, .-describe_command
	.section	.rodata
	.align	2
.LC112:
	.ascii	"pvV\000"
	.text
	.align	2
	.global	commandcmd
	.syntax unified
	.arm
	.fpu softvfp
	.type	commandcmd, %function
commandcmd:
	@ 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	r3, #0
	str	r3, [fp, #-16]
	b	.L908
.L910:
	ldr	r3, [fp, #-12]
	cmp	r3, #86
	bne	.L909
	ldr	r3, [fp, #-16]
	orr	r3, r3, #2
	str	r3, [fp, #-16]
	b	.L908
.L909:
	ldr	r3, [fp, #-12]
	cmp	r3, #118
	bne	.L908
	ldr	r3, [fp, #-16]
	orr	r3, r3, #1
	str	r3, [fp, #-16]
.L908:
	ldr	r0, .L913
	bl	nextopt
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L910
	ldr	r3, .L913+4
	ldr	r3, [r3]
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L911
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L911
	ldr	r3, .L913+8
	ldr	r0, [r3]
	ldr	r3, [fp, #-16]
	sub	r3, r3, #1
	mov	r2, r3
	ldr	r1, [fp, #-8]
	bl	describe_command
	mov	r3, r0
	b	.L912
.L911:
	mov	r3, #0
.L912:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L914:
	.align	2
.L913:
	.word	.LC112
	.word	argptr
	.word	out1
	.size	commandcmd, .-commandcmd
	.local	expdest
	.comm	expdest,4,4
	.local	argbackq
	.comm	argbackq,4,4
	.local	ifsfirst
	.comm	ifsfirst,16,4
	.local	ifslastp
	.comm	ifslastp,4,4
	.local	exparg
	.comm	exparg,8,4
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	preglob, %function
preglob:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-12]
	orr	r3, r3, #2
	str	r3, [fp, #-12]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	_rmescapes
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	preglob, .-preglob
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	esclen, %function
esclen:
	@ 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]
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L918
.L920:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L918:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	bls	.L919
	ldr	r3, [fp, #-20]
	sub	r3, r3, #1
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #129
	beq	.L920
.L919:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	esclen, .-esclen
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	getpwhome, %function
getpwhome:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r0, [fp, #-16]
	bl	getpwnam
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L923
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #20]
	b	.L925
.L923:
	mov	r3, #0
.L925:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	getpwhome, .-getpwhome
	.align	2
	.global	expandarg
	.syntax unified
	.arm
	.fpu softvfp
	.type	expandarg, %function
expandarg:
	@ 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, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	ldr	r2, .L933
	str	r3, [r2]
	ldr	r3, .L933+4
	ldr	r3, [r3]
	ldr	r2, .L933+8
	str	r3, [r2]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	ldr	r1, [fp, #-24]
	mov	r0, r3
	bl	argstr
	ldr	r3, .L933+8
	ldr	r3, [r3]
	mov	r1, r3
	mov	r0, #0
	bl	_STPUTC
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	sub	r3, r3, #1
	ldr	r2, .L933+8
	str	r3, [r2]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L931
	ldr	r3, .L933+4
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	sub	r3, r2, r3
	mov	r0, r3
	bl	stalloc
	str	r0, [fp, #-12]
	ldr	r3, .L933+12
	ldr	r2, .L933+12
	str	r2, [r3, #4]
	ldr	r3, [fp, #-24]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L929
	ldr	r1, .L933+12
	ldr	r0, [fp, #-12]
	bl	ifsbreakup
	ldr	r3, .L933+12
	ldr	r3, [r3, #4]
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L933+12
	ldr	r2, .L933+12
	str	r2, [r3, #4]
	ldr	r3, .L933+12
	ldr	r3, [r3]
	ldr	r1, [fp, #-24]
	mov	r0, r3
	bl	expandmeta
	b	.L930
.L929:
	mov	r0, #8
	bl	stalloc
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #4]
	ldr	r3, .L933+12
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r2, .L933+12
	str	r3, [r2, #4]
.L930:
	ldr	r3, .L933+12
	ldr	r3, [r3, #4]
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L933+12
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L932
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #4]
	ldr	r2, .L933+12
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, .L933+12
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-20]
	str	r2, [r3, #4]
	b	.L928
.L931:
	nop
	b	.L928
.L932:
	nop
.L928:
	bl	ifsfree
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L934:
	.align	2
.L933:
	.word	argbackq
	.word	stacknxt
	.word	expdest
	.word	exparg
	.size	expandarg, .-expandarg
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	argstr, %function
argstr:
	@ 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]
	str	r1, [fp, #-44]
	ldr	r3, .L972
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-44]
	and	r3, r3, #384
	cmp	r3, #128
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-44]
	and	r3, r3, #4
	cmp	r3, #0
	bne	.L936
	ldr	r3, [fp, #-36]
	add	r3, r3, #2
	str	r3, [fp, #-36]
	b	.L937
.L936:
	ldr	r3, [fp, #-44]
	and	r3, r3, #64
	cmp	r3, #0
	beq	.L937
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
.L937:
	mov	r3, #0
	str	r3, [fp, #-32]
	mov	r3, #0
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-44]
	and	r3, r3, #2
	cmp	r3, #0
	beq	.L964
	ldr	r3, [fp, #-44]
	bic	r3, r3, #2
	str	r3, [fp, #-44]
.L939:
	ldr	r3, [fp, #-40]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #126
	bne	.L964
	ldr	r2, [fp, #-44]
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-40]
	bl	exptilde
	str	r0, [fp, #-40]
	b	.L960
.L964:
	nop
.L938:
.L960:
	ldr	r3, .L972+4
	ldr	r2, [r3]
	ldr	r3, .L972+8
	ldr	r3, [r3]
	sub	r3, r2, r3
	str	r3, [fp, #-24]
.L963:
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-28]
	add	r3, r2, r3
	ldr	r1, [fp, #-36]
	mov	r0, r3
	bl	strcspn
	mov	r2, r0
	ldr	r3, [fp, #-28]
	add	r3, r3, r2
	str	r3, [fp, #-28]
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-28]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L940
	ldr	r3, [fp, #-12]
	and	r3, r3, #128
	cmp	r3, #0
	beq	.L941
	ldr	r3, [fp, #-12]
	cmn	r3, #121
	bne	.L940
.L941:
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L940:
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	beq	.L942
	ldr	r3, .L972+4
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-40]
	bl	stnputs
	mov	r3, r0
	ldr	r2, .L972+4
	str	r3, [r2]
	ldr	r3, .L972+4
	ldr	r2, [r3]
	ldr	r3, .L972+8
	ldr	r3, [r3]
	sub	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L943
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L943
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	ble	.L943
	mov	r2, #0
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-24]
	bl	recordregion
.L943:
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-24]
.L942:
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	str	r3, [fp, #-40]
	mov	r3, #0
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-12]
	cmp	r3, #61
	beq	.L944
	ldr	r3, [fp, #-12]
	cmp	r3, #61
	bgt	.L945
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L965
	ldr	r3, [fp, #-12]
	cmp	r3, #58
	beq	.L947
	b	.L945
.L944:
	ldr	r3, [fp, #-44]
	and	r3, r3, #64
	cmp	r3, #0
	beq	.L949
	ldr	r3, [fp, #-40]
	sub	r3, r3, #1
	str	r3, [fp, #-40]
	b	.L950
.L949:
	ldr	r3, [fp, #-44]
	orr	r3, r3, #64
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
.L947:
	ldr	r3, [fp, #-40]
	sub	r3, r3, #1
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #126
	bne	.L966
	b	.L939
.L945:
	ldr	r3, [fp, #-12]
	add	r3, r3, #127
	cmp	r3, #7
	ldrls	pc, [pc, r3, asl #2]
	b	.L963
.L953:
	.word	.L958
	.word	.L957
	.word	.L967
	.word	.L955
	.word	.L963
	.word	.L963
	.word	.L954
	.word	.L952
.L952:
	ldr	r3, [fp, #-32]
	eor	r3, r3, #256
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	beq	.L968
	ldr	r3, .L972+12
	mov	r2, #5
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	memcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L968
	ldr	r3, [fp, #-40]
	add	r0, r3, #1
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-32]
	orr	r3, r2, r3
	mov	r1, r3
	bl	evalvar
	mov	r3, r0
	add	r3, r3, #1
	str	r3, [fp, #-40]
	b	.L960
.L968:
	nop
	b	.L959
.L970:
	nop
.L959:
	ldr	r3, [fp, #-44]
	and	r3, r3, #49
	cmp	r3, #0
	beq	.L969
	ldr	r3, [fp, #-40]
	sub	r3, r3, #1
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	b	.L969
.L958:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-32]
	orr	r3, r2, r3
	and	r3, r3, #288
	cmp	r3, #32
	bne	.L970
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #92
	beq	.L970
	b	.L950
.L957:
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-32]
	orr	r3, r2, r3
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	evalvar
	str	r0, [fp, #-40]
	b	.L960
.L955:
	ldr	r3, .L972+16
	ldr	r3, [r3]
	ldr	r0, [r3, #4]
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-32]
	orr	r3, r2, r3
	mov	r1, r3
	bl	expbackq
	ldr	r3, .L972+16
	ldr	r3, [r3]
	ldr	r3, [r3]
	ldr	r2, .L972+16
	str	r3, [r2]
	b	.L960
.L954:
	ldr	r3, [fp, #-40]
	sub	r3, r3, #1
	str	r3, [fp, #-40]
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-32]
	orr	r3, r2, r3
	mov	r0, r3
	bl	expari
	b	.L960
.L966:
	nop
	b	.L963
.L969:
	nop
.L950:
	b	.L963
.L965:
	nop
	b	.L971
.L967:
	nop
.L948:
.L971:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L973:
	.align	2
.L972:
	.word	spclchars.9207
	.word	expdest
	.word	stacknxt
	.word	dolatstr+1
	.word	argbackq
	.size	argstr, .-argstr
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	exptilde, %function
exptilde:
	@ 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, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	ldr	r3, [fp, #-32]
	and	r3, r3, #49
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-8]
	b	.L975
.L983:
	ldrsb	r3, [fp, #-17]
	cmp	r3, #58
	beq	.L976
	cmp	r3, #58
	bgt	.L975
	cmp	r3, #47
	beq	.L989
	cmp	r3, #47
	bgt	.L975
	cmn	r3, #120
	beq	.L978
	cmn	r3, #120
	bgt	.L975
	cmn	r3, #127
	beq	.L979
	cmn	r3, #125
	beq	.L989
	b	.L975
.L979:
	ldr	r3, [fp, #-24]
	b	.L980
.L978:
	ldr	r3, [fp, #-24]
	b	.L980
.L976:
	ldr	r3, [fp, #-32]
	and	r3, r3, #4
	cmp	r3, #0
	bne	.L990
	nop
.L975:
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	strb	r3, [fp, #-17]
	ldrsb	r3, [fp, #-17]
	cmp	r3, #0
	bne	.L983
	b	.L982
.L989:
	nop
	b	.L982
.L990:
	nop
.L982:
	ldr	r3, [fp, #-28]
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L984
	ldr	r0, .L992
	bl	lookupvar
	str	r0, [fp, #-16]
	b	.L985
.L984:
	ldr	r0, [fp, #-8]
	bl	getpwhome
	str	r0, [fp, #-16]
.L985:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L991
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L991
	ldrb	r2, [fp, #-17]	@ zero_extendqisi2
	ldr	r3, [fp, #-28]
	strb	r2, [r3]
	ldr	r3, .L992+4
	ldr	r2, [fp, #-12]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	strtodest
	ldr	r3, [fp, #-28]
	b	.L980
.L991:
	nop
.L988:
	ldrb	r2, [fp, #-17]	@ zero_extendqisi2
	ldr	r3, [fp, #-28]
	strb	r2, [r3]
	ldr	r3, [fp, #-24]
.L980:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L993:
	.align	2
.L992:
	.word	homestr
	.word	sqsyntax+130
	.size	exptilde, .-exptilde
	.align	2
	.global	removerecordregions
	.syntax unified
	.arm
	.fpu softvfp
	.type	removerecordregions, %function
removerecordregions:
	@ 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, .L1010
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1009
	ldr	r3, .L1010+4
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	bge	.L997
	b	.L998
.L1000:
	ldr	r3, .L1010+8
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L1010+8
	str	r3, [r2]
	ldr	r3, .L1010+4
	ldr	r3, [r3]
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, .L1010+4
	ldr	r3, [r3]
	mov	r0, r3
	bl	free
	ldr	r2, .L1010+4
	ldr	r3, [fp, #-8]
	str	r3, [r2]
	ldr	r3, .L1010+8
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L1010+8
	str	r3, [r2]
	ldr	r3, .L1010+8
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L998
	ldr	r3, .L1010+12
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L998
	bl	onint
.L998:
	ldr	r3, .L1010+4
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1000
	ldr	r3, .L1010+4
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	bge	.L1001
	ldr	r3, .L1010
	mov	r2, #0
	str	r2, [r3]
	b	.L994
.L1001:
	ldr	r3, .L1010
	ldr	r2, .L1010+4
	str	r2, [r3]
	ldr	r2, .L1010+4
	ldr	r3, [fp, #-16]
	str	r3, [r2, #8]
	b	.L994
.L997:
	ldr	r3, .L1010
	ldr	r2, .L1010+4
	str	r2, [r3]
	b	.L1003
.L1005:
	ldr	r3, .L1010
	ldr	r3, [r3]
	ldr	r3, [r3]
	ldr	r2, .L1010
	str	r3, [r2]
.L1003:
	ldr	r3, .L1010
	ldr	r3, [r3]
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1006
	ldr	r3, .L1010
	ldr	r3, [r3]
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	bgt	.L1005
	b	.L1006
.L1008:
	ldr	r3, .L1010+8
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L1010+8
	str	r3, [r2]
	ldr	r3, .L1010
	ldr	r3, [r3]
	ldr	r3, [r3]
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r3, .L1010
	ldr	r3, [r3]
	ldr	r3, [r3]
	mov	r0, r3
	bl	free
	ldr	r3, .L1010
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	ldr	r3, .L1010+8
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L1010+8
	str	r3, [r2]
	ldr	r3, .L1010+8
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1006
	ldr	r3, .L1010+12
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1006
	bl	onint
.L1006:
	ldr	r3, .L1010
	ldr	r3, [r3]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1008
	ldr	r3, .L1010
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	bge	.L994
	ldr	r3, .L1010
	ldr	r3, [r3]
	ldr	r2, [fp, #-16]
	str	r2, [r3, #8]
	b	.L994
.L1009:
	nop
.L994:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1011:
	.align	2
.L1010:
	.word	ifslastp
	.word	ifsfirst
	.word	suppressint
	.word	intpending
	.size	removerecordregions, .-removerecordregions
	.section	.rodata
	.align	2
.LC113:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	expari
	.syntax unified
	.arm
	.fpu softvfp
	.type	expari, %function
expari:
	@ args = 0, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	str	r0, [fp, #-56]
	ldr	r3, .L1024
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L1024+4
	ldr	r3, [r3]
	str	r3, [fp, #-44]
	ldr	r3, .L1024+8
	ldr	r3, [r3]
	str	r3, [fp, #-48]
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-44]
	sub	r3, r2, r3
	mov	r2, r3
	sub	r3, fp, #20
	mov	r1, r2
	mov	r0, r3
	bl	pushstackmark
	ldr	r3, [fp, #-48]
	sub	r3, r3, #1
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, [fp, #-48]
	sub	r3, r3, #1
	str	r3, [fp, #-48]
.L1017:
	b	.L1013
.L1014:
	ldr	r3, [fp, #-48]
	sub	r3, r3, #1
	str	r3, [fp, #-48]
.L1013:
	ldr	r3, [fp, #-48]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #134
	bne	.L1014
	ldr	r1, [fp, #-48]
	ldr	r0, [fp, #-44]
	bl	esclen
	mov	r3, r0
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-40]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L1022
	ldr	r3, [fp, #-40]
	mvn	r3, r3
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	str	r3, [fp, #-48]
	b	.L1017
.L1022:
	nop
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-44]
	sub	r3, r2, r3
	str	r3, [fp, #-36]
	ldr	r0, [fp, #-36]
	bl	removerecordregions
	ldr	r2, .L1024+8
	ldr	r3, [fp, #-48]
	str	r3, [r2]
	ldr	r3, [fp, #-56]
	and	r3, r3, #49
	cmp	r3, #0
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L1018
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	mov	r1, #0
	mov	r0, r3
	bl	_rmescapes
.L1018:
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	mov	r0, r3
	bl	arith
	str	r0, [fp, #-28]
	str	r1, [fp, #-24]
	sub	r3, fp, #20
	mov	r0, r3
	bl	popstackmark
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	bl	cvtnum
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-56]
	and	r3, r3, #256
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L1023
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-32]
	add	r3, r2, r3
	mov	r2, #0
	mov	r1, r3
	ldr	r0, [fp, #-36]
	bl	recordregion
.L1023:
	nop
	ldr	r3, .L1024
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L1020
	bl	__stack_chk_fail
.L1020:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1025:
	.align	2
.L1024:
	.word	.LC113
	.word	stacknxt
	.word	expdest
	.size	expari, .-expari
	.section	.rodata
	.align	2
.LC114:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	expbackq, %function
expbackq:
	@ args = 0, pretend = 0, frame = 192
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #192
	str	r0, [fp, #-192]
	str	r1, [fp, #-196]
	ldr	r3, .L1047
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-196]
	and	r3, r3, #256
	cmp	r3, #0
	beq	.L1027
	ldr	r3, .L1047+4
	b	.L1028
.L1027:
	ldr	r3, .L1047+8
.L1028:
	str	r3, [fp, #-172]
	ldr	r3, .L1047+12
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L1047+12
	str	r3, [r2]
	ldr	r3, .L1047+16
	ldr	r2, [r3]
	ldr	r3, .L1047+20
	ldr	r3, [r3]
	sub	r3, r2, r3
	str	r3, [fp, #-168]
	ldr	r2, [fp, #-168]
	sub	r3, fp, #164
	mov	r1, r2
	mov	r0, r3
	bl	pushstackmark
	sub	r3, fp, #152
	mov	r1, r3
	ldr	r0, [fp, #-192]
	bl	evalbackcmd
	sub	r3, fp, #164
	mov	r0, r3
	bl	popstackmark
	ldr	r3, [fp, #-148]
	str	r3, [fp, #-180]
	ldr	r3, [fp, #-144]
	str	r3, [fp, #-184]
	ldr	r3, [fp, #-184]
	cmp	r3, #0
	beq	.L1043
.L1029:
	ldr	r1, [fp, #-184]
	ldr	r3, [fp, #-196]
	and	r3, r3, #49
	ldr	r2, [fp, #-172]
	ldr	r0, [fp, #-180]
	bl	memtodest
	b	.L1030
.L1043:
	nop
.L1030:
	ldr	r3, [fp, #-152]
	cmp	r3, #0
	blt	.L1044
.L1031:
	ldr	r3, [fp, #-152]
	sub	r1, fp, #136
	mov	r2, #128
	mov	r0, r3
	bl	read
	str	r0, [fp, #-184]
	ldr	r3, [fp, #-184]
	cmp	r3, #0
	bge	.L1033
	ldr	r3, .L1047+24
	ldr	r3, [r3]
	ldr	r3, [r3]
	cmp	r3, #4
	beq	.L1031
.L1033:
	ldr	r3, [fp, #-184]
	cmp	r3, #0
	ble	.L1045
	sub	r3, fp, #136
	str	r3, [fp, #-180]
	b	.L1029
.L1044:
	nop
	b	.L1032
.L1045:
	nop
.L1032:
	ldr	r3, [fp, #-148]
	cmp	r3, #0
	beq	.L1035
	ldr	r3, [fp, #-148]
	mov	r0, r3
	bl	free
.L1035:
	ldr	r3, [fp, #-152]
	cmp	r3, #0
	blt	.L1036
	ldr	r3, [fp, #-152]
	mov	r0, r3
	bl	close
	ldr	r3, [fp, #-140]
	mov	r0, r3
	bl	waitforjob
	mov	r3, r0
	ldr	r2, .L1047+28
	str	r3, [r2]
.L1036:
	ldr	r3, .L1047+12
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L1047+12
	str	r3, [r2]
	ldr	r3, .L1047+12
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1037
	ldr	r3, .L1047+32
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1037
	bl	onint
.L1037:
	ldr	r3, .L1047+16
	ldr	r3, [r3]
	str	r3, [fp, #-176]
	b	.L1038
.L1040:
	ldr	r3, [fp, #-176]
	sub	r3, r3, #1
	str	r3, [fp, #-176]
.L1038:
	ldr	r3, .L1047+20
	ldr	r3, [r3]
	ldr	r2, [fp, #-176]
	cmp	r2, r3
	bls	.L1039
	ldr	r3, [fp, #-176]
	sub	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #10
	beq	.L1040
.L1039:
	ldr	r2, .L1047+16
	ldr	r3, [fp, #-176]
	str	r3, [r2]
	ldr	r3, [fp, #-196]
	and	r3, r3, #256
	cmp	r3, #0
	bne	.L1046
	ldr	r3, .L1047+20
	ldr	r3, [r3]
	ldr	r2, [fp, #-176]
	sub	r3, r2, r3
	mov	r2, #0
	mov	r1, r3
	ldr	r0, [fp, #-168]
	bl	recordregion
.L1046:
	nop
	ldr	r3, .L1047
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L1042
	bl	__stack_chk_fail
.L1042:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1048:
	.align	2
.L1047:
	.word	.LC114
	.word	dqsyntax+130
	.word	basesyntax+130
	.word	suppressint
	.word	expdest
	.word	stacknxt
	.word	dash_errno
	.word	back_exitstatus
	.word	intpending
	.size	expbackq, .-expbackq
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	scanleft, %function
scanleft:
	@ args = 8, 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, #-32]
	str	r1, [fp, #-36]
	str	r2, [fp, #-40]
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-36]
	str	r3, [fp, #-16]
.L1054:
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]
	strb	r3, [fp, #-21]
	ldr	r3, [fp, #8]
	cmp	r3, #0
	beq	.L1050
	ldr	r3, [fp, #-16]
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, [fp, #-36]
	str	r3, [fp, #-12]
.L1050:
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-44]
	bl	pmatch
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldrb	r2, [fp, #-21]
	strb	r2, [r3]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L1051
	ldr	r3, [fp, #-20]
	b	.L1052
.L1051:
	ldr	r3, [fp, #4]
	cmp	r3, #0
	beq	.L1053
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #129
	bne	.L1053
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L1053:
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
	ldrb	r3, [fp, #-21]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L1054
	mov	r3, #0
.L1052:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	scanleft, .-scanleft
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	scanright, %function
scanright:
	@ args = 8, 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, #-32]
	str	r1, [fp, #-36]
	str	r2, [fp, #-40]
	str	r3, [fp, #-44]
	mov	r3, #0
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-44]
	sub	r3, r3, #1
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-40]
	str	r3, [fp, #-16]
	b	.L1056
.L1062:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]
	strb	r3, [fp, #-25]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #8]
	cmp	r3, #0
	beq	.L1057
	ldr	r3, [fp, #-16]
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, [fp, #-36]
	str	r3, [fp, #-12]
.L1057:
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-44]
	bl	pmatch
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldrb	r2, [fp, #-25]
	strb	r2, [r3]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L1058
	ldr	r3, [fp, #-20]
	b	.L1059
.L1058:
	ldr	r3, [fp, #-20]
	sub	r3, r3, #1
	str	r3, [fp, #-20]
	ldr	r3, [fp, #4]
	cmp	r3, #0
	beq	.L1060
	ldr	r3, [fp, #-24]
	sub	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bge	.L1061
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-32]
	bl	esclen
	mov	r3, r0
	str	r3, [fp, #-24]
.L1061:
	ldr	r3, [fp, #-24]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L1060
	ldr	r3, [fp, #-24]
	sub	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-20]
	sub	r3, r3, #1
	str	r3, [fp, #-20]
.L1060:
	ldr	r3, [fp, #-16]
	sub	r3, r3, #1
	str	r3, [fp, #-16]
.L1056:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-32]
	cmp	r2, r3
	bcs	.L1062
	mov	r3, #0
.L1059:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	scanright, .-scanright
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	subevalvar, %function
subevalvar:
	@ args = 12, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #68
	str	r0, [fp, #-56]
	str	r1, [fp, #-60]
	str	r2, [fp, #-64]
	str	r3, [fp, #-68]
	ldr	r3, [fp, #12]
	and	r3, r3, #49
	str	r3, [fp, #-32]
	ldr	r3, .L1076
	ldr	r3, [r3]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-68]
	cmp	r3, #5
	beq	.L1064
	ldr	r3, [fp, #-68]
	cmp	r3, #4
	beq	.L1064
	ldr	r3, [fp, #12]
	and	r3, r3, #256
	cmp	r3, #0
	beq	.L1065
	mov	r3, #34
	b	.L1067
.L1065:
	mov	r3, #18
	b	.L1067
.L1064:
	mov	r3, #2
.L1067:
	mov	r1, r3
	ldr	r0, [fp, #-56]
	bl	argstr
	ldr	r3, .L1076+4
	ldr	r3, [r3]
	mov	r1, r3
	mov	r0, #0
	bl	_STPUTC
	mov	r3, r0
	ldr	r2, .L1076+4
	str	r3, [r2]
	ldr	r2, .L1076
	ldr	r3, [fp, #-28]
	str	r3, [r2]
	ldr	r3, .L1076+8
	ldr	r2, [r3]
	ldr	r3, [fp, #4]
	add	r3, r2, r3
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-68]
	cmp	r3, #4
	beq	.L1068
	ldr	r3, [fp, #-68]
	cmp	r3, #5
	bne	.L1069
	mov	r2, #0
	ldr	r1, [fp, #-48]
	ldr	r0, [fp, #-60]
	bl	setvar
	ldr	r3, .L1076+4
	ldr	r3, [r3]
	ldr	r2, [fp, #-48]
	sub	r3, r2, r3
	str	r3, [fp, #-24]
	ldr	r3, .L1076+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	add	r3, r2, r3
	ldr	r2, .L1076+4
	str	r3, [r2]
	ldr	r3, [fp, #-48]
	b	.L1070
.L1068:
	ldr	r3, [fp, #8]
	ldr	r2, [fp, #-48]
	ldr	r1, [fp, #-60]
	ldr	r0, [fp, #-56]
	bl	varunset
.L1069:
	ldr	r3, [fp, #-68]
	sub	r3, r3, #6
	str	r3, [fp, #-68]
	ldr	r3, [fp, #-48]
	str	r3, [fp, #-40]
	ldr	r3, .L1076+8
	ldr	r2, [r3]
	ldr	r3, [fp, #-64]
	add	r3, r2, r3
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	beq	.L1071
	mov	r1, #9
	ldr	r0, [fp, #-48]
	bl	_rmescapes
	str	r0, [fp, #-40]
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-48]
	cmp	r2, r3
	beq	.L1071
	ldr	r3, .L1076+4
	ldr	r3, [r3]
	str	r3, [fp, #-36]
	ldr	r3, .L1076+8
	ldr	r2, [r3]
	ldr	r3, [fp, #4]
	add	r3, r2, r3
	str	r3, [fp, #-48]
.L1071:
	ldr	r3, [fp, #-36]
	sub	r3, r3, #1
	str	r3, [fp, #-36]
	ldr	r3, .L1076+8
	ldr	r2, [r3]
	ldr	r3, [fp, #-64]
	add	r3, r2, r3
	str	r3, [fp, #-60]
	mov	r1, #0
	ldr	r0, [fp, #-60]
	bl	preglob
	ldr	r3, [fp, #-68]
	asr	r3, r3, #1
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-68]
	and	r3, r3, #1
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	beq	.L1072
	ldr	r3, .L1076+12
	b	.L1073
.L1072:
	ldr	r3, .L1076+16
.L1073:
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-20]
	str	r3, [sp, #4]
	ldr	r3, [fp, #-32]
	str	r3, [sp]
	ldr	r4, [fp, #-16]
	ldr	r3, [fp, #-60]
	ldr	r2, [fp, #-36]
	ldr	r1, [fp, #-40]
	ldr	r0, [fp, #-48]
	blx	r4
	str	r0, [fp, #-44]
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	beq	.L1074
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L1075
	ldr	r2, [fp, #-60]
	ldr	r3, [fp, #-44]
	sub	r3, r2, r3
	mov	r2, r3
	ldr	r1, [fp, #-44]
	ldr	r0, [fp, #-48]
	bl	memmove
	ldr	r2, [fp, #-60]
	ldr	r3, [fp, #-44]
	sub	r3, r2, r3
	sub	r3, r3, #1
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	str	r3, [fp, #-44]
.L1075:
	ldr	r3, [fp, #-44]
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, .L1076+4
	ldr	r3, [r3]
	ldr	r2, [fp, #-44]
	sub	r3, r2, r3
	str	r3, [fp, #-24]
	ldr	r3, .L1076+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	add	r3, r2, r3
	ldr	r2, .L1076+4
	str	r3, [r2]
.L1074:
	ldr	r3, [fp, #-44]
.L1070:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L1077:
	.align	2
.L1076:
	.word	argbackq
	.word	expdest
	.word	stacknxt
	.word	scanleft
	.word	scanright
	.size	subevalvar, .-subevalvar
	.section	.rodata
	.align	2
.LC115:
	.ascii	"Bad substitution\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	evalvar, %function
evalvar:
	@ args = 0, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #72
	str	r0, [fp, #-56]
	str	r1, [fp, #-60]
	ldr	r3, [fp, #-56]
	add	r2, r3, #1
	str	r2, [fp, #-56]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	and	r3, r3, #15
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	bne	.L1079
	ldr	r0, .L1114
	bl	sh_error
.L1079:
	ldr	r3, [fp, #-60]
	and	r3, r3, #256
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-56]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	beq	.L1080
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #64
	bne	.L1081
	ldr	r3, .L1114+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1081
.L1080:
	mov	r3, #1
	b	.L1082
.L1081:
	mov	r3, #0
.L1082:
	str	r3, [fp, #-24]
	ldr	r3, .L1114+8
	ldr	r2, [r3]
	ldr	r3, .L1114+12
	ldr	r3, [r3]
	sub	r3, r2, r3
	str	r3, [fp, #-20]
	mov	r1, #61
	ldr	r0, [fp, #-56]
	bl	strchr
	mov	r3, r0
	add	r3, r3, #1
	str	r3, [fp, #-56]
.L1083:
	ldr	r2, [fp, #-60]
	ldr	r1, [fp, #-48]
	ldr	r0, [fp, #-28]
	bl	varvalue
	str	r0, [fp, #-44]
	ldr	r3, [fp, #-48]
	and	r3, r3, #16
	cmp	r3, #0
	beq	.L1084
	ldr	r3, [fp, #-44]
	sub	r3, r3, #1
	str	r3, [fp, #-44]
.L1084:
	ldr	r3, [fp, #-36]
	cmp	r3, #3
	bne	.L1085
	ldr	r3, [fp, #-44]
	mvn	r3, r3
	str	r3, [fp, #-44]
	b	.L1086
.L1085:
	ldr	r3, [fp, #-36]
	cmp	r3, #2
	bne	.L1087
	nop
.L1086:
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	bge	.L1088
	ldr	r3, [fp, #-60]
	orr	r3, r3, #130
	mov	r1, r3
	ldr	r0, [fp, #-56]
	bl	argstr
	b	.L1089
.L1088:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L1108
	b	.L1091
.L1087:
	ldr	r3, [fp, #-36]
	cmp	r3, #5
	beq	.L1092
	ldr	r3, [fp, #-36]
	cmp	r3, #4
	bne	.L1093
.L1092:
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	bge	.L1094
	ldr	r3, [fp, #-60]
	bic	r3, r3, #49
	str	r3, [sp, #8]
	ldr	r3, [fp, #-48]
	str	r3, [sp, #4]
	ldr	r3, [fp, #-20]
	str	r3, [sp]
	ldr	r3, [fp, #-36]
	mov	r2, #0
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-56]
	bl	subevalvar
	mov	r3, r0
	cmp	r3, #0
	beq	.L1109
	ldr	r3, [fp, #-48]
	bic	r3, r3, #16
	str	r3, [fp, #-48]
	ldr	r0, [fp, #-20]
	bl	removerecordregions
	b	.L1083
.L1094:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L1110
	b	.L1091
.L1093:
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	bge	.L1097
	ldr	r3, .L1114+16
	ldrb	r3, [r3, #14]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L1097
	mov	r3, #0
	mov	r2, #0
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-56]
	bl	varunset
.L1097:
	ldr	r3, [fp, #-36]
	cmp	r3, #10
	bne	.L1098
	ldr	r3, [fp, #-44]
	bic	r3, r3, r3, asr #31
	mov	r2, r3
	asr	r3, r2, #31
	mov	r0, r2
	mov	r1, r3
	bl	cvtnum
	b	.L1091
.L1098:
	ldr	r3, [fp, #-36]
	cmp	r3, #1
	bne	.L1099
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L1111
	nop
.L1091:
	ldr	r3, .L1114+8
	ldr	r2, [r3]
	ldr	r3, .L1114+12
	ldr	r3, [r3]
	sub	r3, r2, r3
	ldr	r2, [fp, #-32]
	mov	r1, r3
	ldr	r0, [fp, #-20]
	bl	recordregion
	b	.L1089
.L1099:
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	blt	.L1112
	ldr	r3, .L1114+8
	ldr	r3, [r3]
	mov	r1, r3
	mov	r0, #0
	bl	_STPUTC
	mov	r3, r0
	ldr	r2, .L1114+8
	str	r3, [r2]
	ldr	r3, .L1114+8
	ldr	r2, [r3]
	ldr	r3, .L1114+12
	ldr	r3, [r3]
	sub	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-60]
	str	r3, [sp, #8]
	ldr	r3, [fp, #-48]
	str	r3, [sp, #4]
	ldr	r3, [fp, #-20]
	str	r3, [sp]
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-16]
	mov	r1, #0
	ldr	r0, [fp, #-56]
	bl	subevalvar
	mov	r3, r0
	cmp	r3, #0
	bne	.L1100
	ldr	r3, .L1114+8
	ldr	r2, [r3]
	ldr	r3, .L1114+12
	ldr	r1, [r3]
	ldr	r3, [fp, #-16]
	sub	r3, r3, #1
	add	r3, r1, r3
	sub	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r3, .L1114+8
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	rsb	r2, r2, #0
	add	r3, r3, r2
	ldr	r2, .L1114+8
	str	r3, [r2]
.L1100:
	ldr	r0, [fp, #-20]
	bl	removerecordregions
	b	.L1091
.L1108:
	nop
	b	.L1089
.L1109:
	nop
	b	.L1089
.L1110:
	nop
	b	.L1089
.L1111:
	nop
	b	.L1089
.L1112:
	nop
.L1089:
	ldr	r3, [fp, #-36]
	cmp	r3, #1
	beq	.L1101
	mov	r3, #1
	str	r3, [fp, #-40]
.L1106:
	ldr	r3, [fp, #-56]
	add	r2, r3, #1
	str	r2, [fp, #-56]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmn	r3, #127
	bne	.L1102
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	str	r3, [fp, #-56]
	b	.L1106
.L1102:
	ldr	r3, [fp, #-8]
	cmn	r3, #124
	bne	.L1104
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	blt	.L1106
	ldr	r3, .L1114+20
	ldr	r3, [r3]
	ldr	r3, [r3]
	ldr	r2, .L1114+20
	str	r3, [r2]
	b	.L1106
.L1104:
	ldr	r3, [fp, #-8]
	cmn	r3, #126
	bne	.L1105
	ldr	r3, [fp, #-56]
	add	r2, r3, #1
	str	r2, [fp, #-56]
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #15
	cmp	r3, #1
	beq	.L1106
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
	b	.L1106
.L1105:
	ldr	r3, [fp, #-8]
	cmn	r3, #125
	bne	.L1106
	ldr	r3, [fp, #-40]
	sub	r3, r3, #1
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	beq	.L1113
	b	.L1106
.L1113:
	nop
.L1101:
	ldr	r3, [fp, #-56]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1115:
	.align	2
.L1114:
	.word	.LC115
	.word	shellparam
	.word	expdest
	.word	stacknxt
	.word	optlist
	.word	argbackq
	.size	evalvar, .-evalvar
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	memtodest, %function
memtodest:
	@ 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, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	cmp	r3, #0
	bne	.L1125
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #1
	ldr	r2, .L1127
	ldr	r2, [r2]
	mov	r1, r2
	mov	r0, r3
	bl	makestrspace
	str	r0, [fp, #-12]
.L1124:
	ldr	r3, [fp, #-16]
	add	r2, r3, #1
	str	r2, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L1119
	ldr	r3, [fp, #-28]
	and	r3, r3, #49
	cmp	r3, #0
	beq	.L1120
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #12
	beq	.L1121
	ldr	r3, [fp, #-28]
	and	r3, r3, #1
	cmp	r3, #0
	bne	.L1122
	ldr	r2, .L1127+4
	ldr	r3, [fp, #-24]
	cmp	r3, r2
	beq	.L1120
.L1122:
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #2
	bne	.L1120
.L1121:
	ldr	r3, [fp, #-12]
	add	r2, r3, #1
	str	r2, [fp, #-12]
	mvn	r2, #126
	strb	r2, [r3]
	b	.L1120
.L1119:
	ldr	r3, [fp, #-28]
	and	r3, r3, #2
	cmp	r3, #0
	beq	.L1126
.L1120:
	ldr	r3, [fp, #-12]
	add	r2, r3, #1
	str	r2, [fp, #-12]
	ldr	r2, [fp, #-8]
	and	r2, r2, #255
	strb	r2, [r3]
	b	.L1123
.L1126:
	nop
.L1123:
	ldr	r3, [fp, #-20]
	sub	r3, r3, #1
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L1124
	ldr	r2, .L1127
	ldr	r3, [fp, #-12]
	str	r3, [r2]
	b	.L1116
.L1125:
	nop
.L1116:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1128:
	.align	2
.L1127:
	.word	expdest
	.word	basesyntax+130
	.size	memtodest, .-memtodest
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	strtodest, %function
strtodest:
	@ 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, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r0, [fp, #-16]
	bl	strlen
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-20]
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-16]
	bl	memtodest
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	strtodest, .-strtodest
	.section	.rodata
	.align	2
.LC116:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	varvalue, %function
varvalue:
	@ args = 0, pretend = 0, frame = 72
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #72
	str	r0, [fp, #-64]
	str	r1, [fp, #-68]
	str	r2, [fp, #-72]
	ldr	r3, .L1174
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-72]
	and	r3, r3, #256
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-68]
	and	r3, r3, #15
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #3
	beq	.L1132
	ldr	r3, [fp, #-24]
	cmp	r3, #10
	bne	.L1133
.L1132:
	mov	r3, #1
	b	.L1134
.L1133:
	mov	r3, #0
.L1134:
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L1135
	ldr	r3, [fp, #-72]
	and	r3, r3, #49
	orr	r3, r3, #2
	b	.L1136
.L1135:
	mov	r3, #2
.L1136:
	str	r3, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	beq	.L1137
	ldr	r3, [fp, #-72]
	lsl	r3, r3, #8
	and	r3, r3, #256
	b	.L1138
.L1137:
	mov	r3, #0
.L1138:
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	beq	.L1139
	ldr	r3, .L1174+4
	b	.L1140
.L1139:
	ldr	r3, .L1174+8
.L1140:
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-64]
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r3, r3, #33
	cmp	r3, #31
	ldrls	pc, [pc, r3, asl #2]
	b	.L1141
.L1143:
	.word	.L1150
	.word	.L1141
	.word	.L1149
	.word	.L1148
	.word	.L1141
	.word	.L1141
	.word	.L1141
	.word	.L1141
	.word	.L1141
	.word	.L1147
	.word	.L1141
	.word	.L1141
	.word	.L1146
	.word	.L1141
	.word	.L1141
	.word	.L1145
	.word	.L1145
	.word	.L1145
	.word	.L1145
	.word	.L1145
	.word	.L1145
	.word	.L1145
	.word	.L1145
	.word	.L1145
	.word	.L1145
	.word	.L1141
	.word	.L1141
	.word	.L1141
	.word	.L1141
	.word	.L1141
	.word	.L1144
	.word	.L1142
.L1148:
	ldr	r3, .L1174+12
	ldr	r3, [r3]
	str	r3, [fp, #-52]
	b	.L1151
.L1144:
	ldr	r3, .L1174+16
	ldr	r3, [r3]
	str	r3, [fp, #-52]
	b	.L1151
.L1149:
	ldr	r3, .L1174+20
	ldr	r3, [r3]
	str	r3, [fp, #-52]
	b	.L1151
.L1150:
	ldr	r3, .L1174+24
	ldr	r3, [r3]
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	bne	.L1172
	mvn	r3, #0
	b	.L1170
.L1172:
	nop
.L1151:
	ldr	r3, [fp, #-52]
	mov	r2, r3
	asr	r3, r2, #31
	mov	r0, r2
	mov	r1, r3
	bl	cvtnum
	str	r0, [fp, #-32]
	b	.L1153
.L1146:
	ldr	r3, .L1174+28
	ldr	r3, [r3]
	mov	r1, r3
	mov	r0, #17
	bl	makestrspace
	str	r0, [fp, #-48]
	mov	r3, #16
	str	r3, [fp, #-44]
	b	.L1154
.L1156:
	ldr	r2, .L1174+32
	ldr	r3, [fp, #-44]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L1155
	ldr	r3, [fp, #-48]
	add	r2, r3, #1
	str	r2, [fp, #-48]
	ldr	r1, .L1174+36
	ldr	r2, [fp, #-44]
	add	r2, r1, r2
	ldrb	r2, [r2]	@ zero_extendqisi2
	strb	r2, [r3]
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L1155:
	ldr	r3, [fp, #-44]
	sub	r3, r3, #1
	str	r3, [fp, #-44]
.L1154:
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	bge	.L1156
	ldr	r2, .L1174+28
	ldr	r3, [fp, #-48]
	str	r3, [r2]
	b	.L1153
.L1142:
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	bne	.L1173
.L1147:
	ldr	r3, .L1174+40
	ldr	r3, [r3, #4]
	and	r3, r3, #32
	cmp	r3, #0
	bne	.L1158
	ldr	r3, .L1174+40
	ldr	r3, [r3, #8]
	add	r3, r3, #4
	ldrb	r3, [r3]	@ zero_extendqisi2
	b	.L1159
.L1158:
	mov	r3, #32
.L1159:
	str	r3, [fp, #-40]
	b	.L1157
.L1173:
	nop
.L1157:
	ldr	r3, .L1174+20
	ldr	r3, [r3, #8]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	bne	.L1160
	mvn	r3, #0
	b	.L1170
.L1160:
	ldr	r3, [fp, #-40]
	and	r3, r3, #255
	strb	r3, [fp, #-53]
	b	.L1161
.L1162:
	ldr	r2, [fp, #-16]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-48]
	bl	strtodest
	mov	r2, r0
	ldr	r3, [fp, #-32]
	add	r3, r2, r3
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-36]
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1161
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	beq	.L1161
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
	sub	r0, fp, #53
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-12]
	mov	r1, #1
	bl	memtodest
.L1161:
	ldr	r3, [fp, #-36]
	add	r2, r3, #4
	str	r2, [fp, #-36]
	ldr	r3, [r3]
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	bne	.L1162
	b	.L1153
.L1145:
	ldr	r0, [fp, #-64]
	bl	atoi
	str	r0, [fp, #-52]
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	blt	.L1163
	ldr	r3, .L1174+20
	ldr	r3, [r3]
	ldr	r2, [fp, #-52]
	cmp	r2, r3
	ble	.L1164
.L1163:
	mvn	r3, #0
	b	.L1170
.L1164:
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	beq	.L1165
	ldr	r3, .L1174+20
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-52]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	b	.L1166
.L1165:
	ldr	r3, .L1174+44
	ldr	r3, [r3]
.L1166:
	str	r3, [fp, #-48]
	b	.L1167
.L1141:
	ldr	r0, [fp, #-64]
	bl	lookupvar
	str	r0, [fp, #-48]
.L1167:
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	bne	.L1168
	mvn	r3, #0
	b	.L1170
.L1168:
	ldr	r2, [fp, #-16]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-48]
	bl	strtodest
	mov	r3, r0
	str	r3, [fp, #-32]
	nop
.L1153:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L1169
	ldr	r3, .L1174+28
	ldr	r3, [r3]
	ldr	r2, [fp, #-32]
	rsb	r2, r2, #0
	add	r3, r3, r2
	ldr	r2, .L1174+28
	str	r3, [r2]
.L1169:
	ldr	r3, [fp, #-32]
.L1170:
	ldr	r2, .L1174
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L1171
	bl	__stack_chk_fail
.L1171:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1175:
	.align	2
.L1174:
	.word	.LC116
	.word	dqsyntax+130
	.word	basesyntax+130
	.word	rootpid
	.word	exitstatus
	.word	shellparam
	.word	backgndpid
	.word	expdest
	.word	optlist
	.word	optletters
	.word	varinit
	.word	arg0
	.size	varvalue, .-varvalue
	.align	2
	.global	recordregion
	.syntax unified
	.arm
	.fpu softvfp
	.type	recordregion, %function
recordregion:
	@ 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, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, .L1180
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1177
	ldr	r3, .L1180+4
	str	r3, [fp, #-8]
	b	.L1178
.L1177:
	ldr	r3, .L1180+8
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L1180+8
	str	r3, [r2]
	mov	r0, #16
	bl	ckmalloc
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L1180
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	ldr	r3, .L1180+8
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L1180+8
	str	r3, [r2]
	ldr	r3, .L1180+8
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1178
	ldr	r3, .L1180+12
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1178
	bl	onint
.L1178:
	ldr	r2, .L1180
	ldr	r3, [fp, #-8]
	str	r3, [r2]
	ldr	r3, .L1180
	ldr	r3, [r3]
	ldr	r2, [fp, #-16]
	str	r2, [r3, #4]
	ldr	r3, .L1180
	ldr	r3, [r3]
	ldr	r2, [fp, #-20]
	str	r2, [r3, #8]
	ldr	r3, .L1180
	ldr	r3, [r3]
	ldr	r2, [fp, #-24]
	str	r2, [r3, #12]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1181:
	.align	2
.L1180:
	.word	ifslastp
	.word	ifsfirst
	.word	suppressint
	.word	intpending
	.size	recordregion, .-recordregion
	.align	2
	.global	ifsbreakup
	.syntax unified
	.arm
	.fpu softvfp
	.type	ifsbreakup, %function
ifsbreakup:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	str	r0, [fp, #-48]
	str	r1, [fp, #-52]
	ldr	r3, [fp, #-48]
	str	r3, [fp, #-36]
	ldr	r3, .L1208
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1183
	mov	r3, #0
	str	r3, [fp, #-28]
	mov	r3, #0
	str	r3, [fp, #-24]
	ldr	r3, .L1208+4
	ldr	r3, [r3, #4]
	and	r3, r3, #32
	cmp	r3, #0
	bne	.L1184
	ldr	r3, .L1208+4
	ldr	r3, [r3, #8]
	add	r3, r3, #4
	b	.L1185
.L1184:
	ldr	r3, .L1208+8
.L1185:
	str	r3, [fp, #-20]
	ldr	r3, .L1208+12
	str	r3, [fp, #-40]
.L1202:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	mov	r2, r3
	ldr	r3, [fp, #-48]
	add	r3, r3, r2
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L1186
	ldr	r3, [fp, #-20]
	b	.L1187
.L1186:
	ldr	r3, .L1208+16
.L1187:
	str	r3, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-28]
	b	.L1188
.L1201:
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-32]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #129
	bne	.L1189
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L1189:
	ldr	r3, [fp, #-32]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	strchr
	mov	r3, r0
	cmp	r3, #0
	beq	.L1190
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L1191
	ldr	r2, .L1208+8
	ldr	r3, [fp, #-32]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	mov	r0, r2
	bl	strchr
	mov	r3, r0
	cmp	r3, #0
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-28]
.L1191:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-36]
	cmp	r2, r3
	bne	.L1192
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	beq	.L1192
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-36]
	b	.L1188
.L1192:
	ldr	r3, [fp, #-12]
	mov	r2, #0
	strb	r2, [r3]
	mov	r0, #8
	bl	stalloc
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-36]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-52]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L1193
.L1200:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #8]
	mov	r2, r3
	ldr	r3, [fp, #-48]
	add	r3, r3, r2
	ldr	r2, [fp, #-32]
	cmp	r2, r3
	bcs	.L1205
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-32]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #129
	bne	.L1195
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L1195:
	ldr	r3, [fp, #-32]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	strchr
	mov	r3, r0
	cmp	r3, #0
	bne	.L1196
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-32]
	b	.L1193
.L1196:
	ldr	r2, .L1208+8
	ldr	r3, [fp, #-32]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	mov	r0, r2
	bl	strchr
	mov	r3, r0
	cmp	r3, #0
	bne	.L1197
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	beq	.L1198
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
	mov	r3, #0
	str	r3, [fp, #-28]
	b	.L1200
.L1198:
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-32]
	b	.L1193
.L1197:
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
	b	.L1200
.L1205:
	nop
.L1193:
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-36]
	b	.L1188
.L1190:
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L1188:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #8]
	mov	r2, r3
	ldr	r3, [fp, #-48]
	add	r3, r3, r2
	ldr	r2, [fp, #-32]
	cmp	r2, r3
	bcc	.L1201
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	bne	.L1202
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L1206
.L1183:
	ldr	r3, [fp, #-36]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L1207
	b	.L1203
.L1206:
	nop
.L1203:
	mov	r0, #8
	bl	stalloc
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-36]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-52]
	str	r2, [r3, #4]
	b	.L1182
.L1207:
	nop
.L1182:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1209:
	.align	2
.L1208:
	.word	ifslastp
	.word	varinit
	.word	defifsvar+4
	.word	ifsfirst
	.word	nullstr
	.size	ifsbreakup, .-ifsbreakup
	.align	2
	.global	ifsfree
	.syntax unified
	.arm
	.fpu softvfp
	.type	ifsfree, %function
ifsfree:
	@ 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, .L1216
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L1215
	ldr	r3, .L1216+4
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L1216+4
	str	r3, [r2]
.L1213:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r0, [fp, #-12]
	bl	free
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L1213
	ldr	r3, .L1216
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L1216+4
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L1216+4
	str	r3, [r2]
	ldr	r3, .L1216+4
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1212
	ldr	r3, .L1216+8
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1212
	bl	onint
	b	.L1212
.L1215:
	nop
.L1212:
	ldr	r3, .L1216+12
	mov	r2, #0
	str	r2, [r3]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1217:
	.align	2
.L1216:
	.word	ifsfirst
	.word	suppressint
	.word	intpending
	.word	ifslastp
	.size	ifsfree, .-ifsfree
	.local	expdir
	.comm	expdir,4,4
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	expandmeta, %function
expandmeta:
	@ 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]
	b	.L1219
.L1229:
	ldr	r3, .L1232
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L1230
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	ldr	r1, .L1232+4
	mov	r0, r3
	bl	strpbrk
	mov	r3, r0
	cmp	r3, #0
	beq	.L1231
	ldr	r3, .L1232+8
	ldr	r3, [r3, #4]
	str	r3, [fp, #-16]
	ldr	r3, .L1232+12
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L1232+12
	str	r3, [r2]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	mov	r1, #17
	mov	r0, r3
	bl	preglob
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #2048
	movge	r3, r3
	movlt	r3, #2048
	mov	r0, r3
	bl	ckmalloc
	mov	r3, r0
	ldr	r2, .L1232+16
	str	r3, [r2]
	ldr	r3, .L1232+16
	ldr	r3, [r3]
	ldr	r1, [fp, #-12]
	mov	r0, r3
	bl	expmeta
	ldr	r3, .L1232+16
	ldr	r3, [r3]
	mov	r0, r3
	bl	free
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	beq	.L1223
	ldr	r0, [fp, #-12]
	bl	free
.L1223:
	ldr	r3, .L1232+12
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L1232+12
	str	r3, [r2]
	ldr	r3, .L1232+12
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1224
	ldr	r3, .L1232+20
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1224
	bl	onint
.L1224:
	ldr	r3, .L1232+8
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	bne	.L1225
	b	.L1221
.L1230:
	nop
	b	.L1221
.L1231:
	nop
.L1221:
	ldr	r3, .L1232+8
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-24]
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	mov	r1, #0
	mov	r0, r3
	bl	_rmescapes
	ldr	r3, [fp, #-24]
	ldr	r2, .L1232+8
	str	r3, [r2, #4]
	b	.L1226
.L1225:
	ldr	r3, .L1232+8
	ldr	r3, [r3, #4]
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	mov	r0, r3
	bl	expsort
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-20]
	str	r2, [r3]
	b	.L1227
.L1228:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	str	r3, [fp, #-20]
.L1227:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1228
	ldr	r3, [fp, #-20]
	ldr	r2, .L1232+8
	str	r3, [r2, #4]
.L1226:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	str	r3, [fp, #-24]
.L1219:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L1229
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1233:
	.align	2
.L1232:
	.word	optlist
	.word	metachars.9492
	.word	exparg
	.word	suppressint
	.word	expdir
	.word	intpending
	.size	expandmeta, .-expandmeta
	.section	.rodata
	.align	2
.LC117:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	expmeta, %function
expmeta:
	@ args = 0, pretend = 0, frame = 152
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #152
	str	r0, [fp, #-152]
	str	r1, [fp, #-156]
	ldr	r3, .L1283
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-128]
	ldr	r3, [fp, #-156]
	str	r3, [fp, #-136]
	ldr	r3, [fp, #-156]
	str	r3, [fp, #-144]
	b	.L1235
.L1248:
	ldr	r3, [fp, #-144]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #42
	beq	.L1236
	ldr	r3, [fp, #-144]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #63
	bne	.L1237
.L1236:
	mov	r3, #1
	str	r3, [fp, #-128]
	b	.L1238
.L1237:
	ldr	r3, [fp, #-144]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #91
	bne	.L1239
	ldr	r3, [fp, #-144]
	add	r3, r3, #1
	str	r3, [fp, #-112]
	ldr	r3, [fp, #-112]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #33
	bne	.L1244
	ldr	r3, [fp, #-112]
	add	r3, r3, #1
	str	r3, [fp, #-112]
.L1244:
	ldr	r3, [fp, #-112]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #92
	bne	.L1241
	ldr	r3, [fp, #-112]
	add	r3, r3, #1
	str	r3, [fp, #-112]
.L1241:
	ldr	r3, [fp, #-112]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #47
	beq	.L1238
	ldr	r3, [fp, #-112]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L1238
	ldr	r3, [fp, #-112]
	add	r3, r3, #1
	str	r3, [fp, #-112]
	ldr	r3, [fp, #-112]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #93
	bne	.L1244
	mov	r3, #1
	str	r3, [fp, #-128]
	b	.L1238
.L1239:
	ldr	r3, [fp, #-144]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #92
	bne	.L1245
	ldr	r3, [fp, #-116]
	add	r3, r3, #1
	str	r3, [fp, #-116]
.L1245:
	ldr	r3, [fp, #-116]
	ldr	r2, [fp, #-144]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #47
	bne	.L1238
	ldr	r3, [fp, #-128]
	cmp	r3, #0
	bne	.L1280
	ldr	r3, [fp, #-116]
	add	r3, r3, #1
	ldr	r2, [fp, #-144]
	add	r3, r2, r3
	str	r3, [fp, #-136]
.L1238:
	ldr	r3, [fp, #-116]
	add	r3, r3, #1
	ldr	r2, [fp, #-144]
	add	r3, r2, r3
	str	r3, [fp, #-144]
.L1235:
	mov	r3, #0
	str	r3, [fp, #-116]
	ldr	r3, [fp, #-144]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L1248
	b	.L1247
.L1280:
	nop
.L1247:
	ldr	r3, [fp, #-128]
	cmp	r3, #0
	bne	.L1249
	ldr	r3, .L1283+4
	ldr	r3, [r3]
	ldr	r2, [fp, #-152]
	cmp	r2, r3
	beq	.L1250
	ldr	r3, [fp, #-128]
	add	r3, r3, #1
	str	r3, [fp, #-128]
.L1250:
	ldr	r3, [fp, #-156]
	str	r3, [fp, #-144]
.L1252:
	ldr	r3, [fp, #-144]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #92
	bne	.L1251
	ldr	r3, [fp, #-144]
	add	r3, r3, #1
	str	r3, [fp, #-144]
.L1251:
	ldr	r3, [fp, #-152]
	add	r2, r3, #1
	str	r2, [fp, #-152]
	ldr	r2, [fp, #-144]
	ldrb	r2, [r2]	@ zero_extendqisi2
	strb	r2, [r3]
	ldr	r3, [fp, #-144]
	add	r2, r3, #1
	str	r2, [fp, #-144]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L1252
	ldr	r3, [fp, #-128]
	cmp	r3, #0
	beq	.L1253
	ldr	r3, .L1283+4
	ldr	r3, [r3]
	sub	r2, fp, #100
	mov	r1, r2
	mov	r0, r3
	bl	lstat
	mov	r3, r0
	cmp	r3, #0
	blt	.L1281
.L1253:
	ldr	r3, .L1283+4
	ldr	r3, [r3]
	mov	r0, r3
	bl	addfname
	b	.L1281
.L1249:
	ldr	r3, [fp, #-144]
	str	r3, [fp, #-132]
	ldr	r2, [fp, #-156]
	ldr	r3, [fp, #-136]
	cmp	r2, r3
	bcs	.L1256
	ldr	r3, [fp, #-156]
	str	r3, [fp, #-144]
.L1258:
	ldr	r3, [fp, #-144]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #92
	bne	.L1257
	ldr	r3, [fp, #-144]
	add	r3, r3, #1
	str	r3, [fp, #-144]
.L1257:
	ldr	r2, [fp, #-144]
	add	r3, r2, #1
	str	r3, [fp, #-144]
	ldr	r3, [fp, #-152]
	add	r1, r3, #1
	str	r1, [fp, #-152]
	ldrb	r2, [r2]	@ zero_extendqisi2
	strb	r2, [r3]
	ldr	r2, [fp, #-144]
	ldr	r3, [fp, #-136]
	cmp	r2, r3
	bcc	.L1258
.L1256:
	ldr	r3, .L1283+4
	ldr	r3, [r3]
	ldr	r2, [fp, #-152]
	cmp	r2, r3
	bne	.L1259
	ldr	r3, .L1283+8
	str	r3, [fp, #-140]
	b	.L1260
.L1259:
	ldr	r3, .L1283+4
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, [fp, #-152]
	cmp	r2, r3
	bne	.L1261
	ldr	r3, .L1283+4
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #47
	bne	.L1261
	ldr	r3, .L1283+12
	str	r3, [fp, #-140]
	b	.L1260
.L1261:
	ldr	r3, .L1283+4
	ldr	r3, [r3]
	str	r3, [fp, #-140]
	ldr	r3, [fp, #-152]
	sub	r3, r3, #1
	mov	r2, #0
	strb	r2, [r3]
.L1260:
	ldr	r0, [fp, #-140]
	bl	opendir
	str	r0, [fp, #-108]
	ldr	r3, [fp, #-108]
	cmp	r3, #0
	beq	.L1282
	ldr	r3, .L1283+4
	ldr	r3, [r3]
	ldr	r2, [fp, #-152]
	cmp	r2, r3
	beq	.L1263
	ldr	r3, [fp, #-152]
	sub	r3, r3, #1
	mov	r2, #47
	strb	r2, [r3]
.L1263:
	ldr	r3, [fp, #-132]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L1264
	mov	r3, #1
	str	r3, [fp, #-124]
	b	.L1265
.L1264:
	mov	r3, #0
	str	r3, [fp, #-124]
	ldr	r3, [fp, #-132]
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, [fp, #-116]
	add	r3, r3, #1
	ldr	r2, [fp, #-132]
	add	r3, r2, r3
	str	r3, [fp, #-132]
.L1265:
	mov	r3, #0
	str	r3, [fp, #-120]
	ldr	r3, [fp, #-136]
	str	r3, [fp, #-144]
	ldr	r3, [fp, #-144]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #92
	bne	.L1266
	ldr	r3, [fp, #-144]
	add	r3, r3, #1
	str	r3, [fp, #-144]
.L1266:
	ldr	r3, [fp, #-144]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #46
	bne	.L1268
	ldr	r3, [fp, #-120]
	add	r3, r3, #1
	str	r3, [fp, #-120]
	b	.L1268
.L1274:
	ldr	r3, [fp, #-104]
	ldrb	r3, [r3, #11]	@ zero_extendqisi2
	cmp	r3, #46
	bne	.L1269
	ldr	r3, [fp, #-120]
	cmp	r3, #0
	bne	.L1269
	b	.L1268
.L1269:
	ldr	r3, [fp, #-104]
	add	r3, r3, #11
	mov	r1, r3
	ldr	r0, [fp, #-136]
	bl	pmatch
	mov	r3, r0
	cmp	r3, #0
	beq	.L1268
	ldr	r3, [fp, #-124]
	cmp	r3, #0
	beq	.L1270
	ldr	r3, [fp, #-104]
	add	r3, r3, #11
	mov	r1, r3
	ldr	r0, [fp, #-152]
	bl	strcpy
	ldr	r3, .L1283+4
	ldr	r3, [r3]
	mov	r0, r3
	bl	addfname
	b	.L1268
.L1270:
	ldr	r3, [fp, #-152]
	str	r3, [fp, #-144]
	ldr	r3, [fp, #-104]
	add	r3, r3, #11
	str	r3, [fp, #-140]
	b	.L1271
.L1272:
	nop
.L1271:
	ldr	r2, [fp, #-140]
	add	r3, r2, #1
	str	r3, [fp, #-140]
	ldr	r3, [fp, #-144]
	add	r1, r3, #1
	str	r1, [fp, #-144]
	ldrb	r2, [r2]	@ zero_extendqisi2
	strb	r2, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L1272
	ldr	r3, [fp, #-144]
	sub	r3, r3, #1
	mov	r2, #47
	strb	r2, [r3]
	ldr	r1, [fp, #-132]
	ldr	r0, [fp, #-144]
	bl	expmeta
.L1268:
	ldr	r3, .L1283+16
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1273
	ldr	r0, [fp, #-108]
	bl	readdir
	str	r0, [fp, #-104]
	ldr	r3, [fp, #-104]
	cmp	r3, #0
	bne	.L1274
.L1273:
	ldr	r0, [fp, #-108]
	bl	closedir
	ldr	r3, [fp, #-124]
	cmp	r3, #0
	bne	.L1234
	ldr	r3, [fp, #-116]
	cmp	r3, #0
	beq	.L1276
	mov	r1, #92
	b	.L1277
.L1276:
	mov	r1, #47
.L1277:
	ldr	r3, [fp, #-116]
	mvn	r3, r3
	ldr	r2, [fp, #-132]
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3]
	b	.L1234
.L1281:
	nop
	b	.L1234
.L1282:
	nop
.L1234:
	ldr	r3, .L1283
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L1279
	bl	__stack_chk_fail
.L1279:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1284:
	.align	2
.L1283:
	.word	.LC117
	.word	expdir
	.word	.LC61
	.word	.LC65
	.word	intpending
	.size	expmeta, .-expmeta
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	addfname, %function
addfname:
	@ 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]
	mov	r0, #8
	bl	stalloc
	str	r0, [fp, #-8]
	ldr	r0, [fp, #-16]
	bl	sstrdup
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3, #4]
	ldr	r3, .L1286
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r2, .L1286
	str	r3, [r2, #4]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1287:
	.align	2
.L1286:
	.word	exparg
	.size	addfname, .-addfname
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	expsort, %function
expsort:
	@ 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]
	mov	r3, #0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-8]
	b	.L1289
.L1290:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	str	r3, [fp, #-8]
.L1289:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L1290
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-16]
	bl	msort
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	expsort, .-expsort
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	msort, %function
msort:
	@ 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	r3, [fp, #-36]
	cmp	r3, #1
	bgt	.L1293
	ldr	r3, [fp, #-32]
	b	.L1294
.L1293:
	ldr	r3, [fp, #-36]
	asr	r3, r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-12]
	b	.L1295
.L1296:
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	str	r3, [fp, #-24]
.L1295:
	ldr	r3, [fp, #-12]
	sub	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bge	.L1296
	ldr	r3, [fp, #-20]
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-32]
	ldr	r1, [fp, #-8]
	mov	r0, r3
	bl	msort
	str	r0, [fp, #-20]
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-8]
	sub	r3, r2, r3
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	msort
	str	r0, [fp, #-24]
	sub	r3, fp, #32
	str	r3, [fp, #-16]
.L1300:
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #4]
	mov	r1, r3
	mov	r0, r2
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bge	.L1297
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-24]
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L1300
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-20]
	str	r2, [r3]
	b	.L1299
.L1297:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-20]
	str	r2, [r3]
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L1300
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-24]
	str	r2, [r3]
.L1299:
	ldr	r3, [fp, #-32]
.L1294:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	msort, .-msort
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	patmatch, %function
patmatch:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	mov	r1, #0
	ldr	r0, [fp, #-8]
	bl	preglob
	mov	r3, r0
	ldr	r1, [fp, #-12]
	mov	r0, r3
	bl	pmatch
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	patmatch, .-patmatch
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	ccmatch, %function
ccmatch:
	@ 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, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	ldr	r3, .L1308
	str	r3, [fp, #-12]
	ldr	r3, .L1308+4
	str	r3, [fp, #-16]
	b	.L1304
.L1307:
	ldr	r3, [fp, #-16]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	prefix
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L1305
	ldr	r3, [fp, #-16]
	add	r3, r3, #16
	str	r3, [fp, #-16]
	b	.L1304
.L1305:
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	ldr	r0, [fp, #-28]
	blx	r3
	mov	r3, r0
	b	.L1306
.L1304:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	cmp	r2, r3
	bcc	.L1307
	ldr	r3, [fp, #-32]
	mov	r2, #0
	str	r2, [r3]
	mov	r3, #0
.L1306:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1309:
	.align	2
.L1308:
	.word	classes.9576+192
	.word	classes.9576
	.size	ccmatch, .-ccmatch
	.section	.rodata
	.align	2
.LC118:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	pmatch, %function
pmatch:
	@ 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]
	str	r1, [fp, #-44]
	ldr	r3, .L1351
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-40]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-44]
	str	r3, [fp, #-24]
.L1343:
	ldr	r3, [fp, #-28]
	add	r2, r3, #1
	str	r2, [fp, #-28]
	ldrb	r3, [r3]
	strb	r3, [fp, #-34]
	ldrb	r3, [fp, #-34]	@ zero_extendqisi2
	cmp	r3, #92
	beq	.L1311
	cmp	r3, #92
	bgt	.L1312
	cmp	r3, #91
	beq	.L1313
	cmp	r3, #91
	bgt	.L1312
	cmp	r3, #63
	beq	.L1314
	cmp	r3, #63
	bgt	.L1312
	cmp	r3, #0
	beq	.L1346
	cmp	r3, #42
	beq	.L1316
	b	.L1312
.L1311:
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L1347
	ldr	r3, [fp, #-28]
	add	r2, r3, #1
	str	r2, [fp, #-28]
	ldrb	r3, [r3]
	strb	r3, [fp, #-34]
	b	.L1347
.L1314:
	ldr	r3, [fp, #-24]
	add	r2, r3, #1
	str	r2, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L1348
	mov	r3, #0
	b	.L1320
.L1316:
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]
	strb	r3, [fp, #-34]
	b	.L1322
.L1323:
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]
	strb	r3, [fp, #-34]
.L1322:
	ldrb	r3, [fp, #-34]	@ zero_extendqisi2
	cmp	r3, #42
	beq	.L1323
	ldrb	r3, [fp, #-34]	@ zero_extendqisi2
	cmp	r3, #92
	beq	.L1329
	ldrb	r3, [fp, #-34]	@ zero_extendqisi2
	cmp	r3, #63
	beq	.L1329
	ldrb	r3, [fp, #-34]	@ zero_extendqisi2
	cmp	r3, #42
	beq	.L1329
	ldrb	r3, [fp, #-34]	@ zero_extendqisi2
	cmp	r3, #91
	beq	.L1329
	b	.L1325
.L1327:
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L1326
	mov	r3, #0
	b	.L1320
.L1326:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L1325:
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	ldrb	r2, [fp, #-34]	@ zero_extendqisi2
	cmp	r2, r3
	bne	.L1327
.L1329:
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-28]
	bl	pmatch
	mov	r3, r0
	cmp	r3, #0
	beq	.L1328
	mov	r3, #1
	b	.L1320
.L1328:
	ldr	r3, [fp, #-24]
	add	r2, r3, #1
	str	r2, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L1329
	mov	r3, #0
	b	.L1320
.L1313:
	ldr	r3, [fp, #-28]
	str	r3, [fp, #-12]
	mov	r3, #0
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #33
	bne	.L1330
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L1330:
	mov	r3, #0
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-24]
	add	r2, r3, #1
	str	r2, [fp, #-24]
	ldrb	r3, [r3]
	strb	r3, [fp, #-33]
	ldrb	r3, [fp, #-33]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L1331
	mov	r3, #0
	b	.L1320
.L1331:
	ldr	r3, [fp, #-28]
	add	r2, r3, #1
	str	r2, [fp, #-28]
	ldrb	r3, [r3]
	strb	r3, [fp, #-34]
.L1340:
	ldrb	r3, [fp, #-34]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L1332
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]
	strb	r3, [fp, #-34]
	b	.L1312
.L1332:
	ldrb	r3, [fp, #-34]	@ zero_extendqisi2
	cmp	r3, #91
	bne	.L1333
	ldrb	r3, [fp, #-33]	@ zero_extendqisi2
	sub	r2, fp, #32
	mov	r1, r3
	ldr	r0, [fp, #-28]
	bl	ccmatch
	mov	r3, r0
	cmp	r3, #0
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-16]
	orr	r3, r3, r2
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	beq	.L1336
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-28]
	b	.L1335
.L1333:
	ldrb	r3, [fp, #-34]	@ zero_extendqisi2
	cmp	r3, #92
	bne	.L1336
	ldr	r3, [fp, #-28]
	add	r2, r3, #1
	str	r2, [fp, #-28]
	ldrb	r3, [r3]
	strb	r3, [fp, #-34]
.L1336:
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #45
	bne	.L1337
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #93
	beq	.L1337
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #92
	bne	.L1338
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L1338:
	ldrb	r2, [fp, #-33]	@ zero_extendqisi2
	ldrb	r3, [fp, #-34]	@ zero_extendqisi2
	cmp	r2, r3
	bcc	.L1339
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	ldrb	r2, [fp, #-33]	@ zero_extendqisi2
	cmp	r2, r3
	bhi	.L1339
	mov	r3, #1
	str	r3, [fp, #-16]
.L1339:
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	b	.L1335
.L1337:
	ldrb	r2, [fp, #-33]	@ zero_extendqisi2
	ldrb	r3, [fp, #-34]	@ zero_extendqisi2
	cmp	r2, r3
	bne	.L1335
	mov	r3, #1
	str	r3, [fp, #-16]
.L1335:
	ldr	r3, [fp, #-28]
	add	r2, r3, #1
	str	r2, [fp, #-28]
	ldrb	r3, [r3]
	strb	r3, [fp, #-34]
	ldrb	r3, [fp, #-34]	@ zero_extendqisi2
	cmp	r3, #93
	bne	.L1340
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	bne	.L1349
	mov	r3, #0
	b	.L1320
.L1347:
	nop
.L1312:
	ldr	r3, [fp, #-24]
	add	r2, r3, #1
	str	r2, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	ldrb	r2, [fp, #-34]	@ zero_extendqisi2
	cmp	r2, r3
	beq	.L1350
	mov	r3, #0
	b	.L1320
.L1348:
	nop
	b	.L1343
.L1349:
	nop
	b	.L1343
.L1350:
	nop
	b	.L1343
.L1346:
	nop
.L1317:
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L1344
	mov	r3, #0
	b	.L1320
.L1344:
	mov	r3, #1
.L1320:
	ldr	r2, .L1351
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L1345
	bl	__stack_chk_fail
.L1345:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1352:
	.align	2
.L1351:
	.word	.LC118
	.size	pmatch, .-pmatch
	.align	2
	.global	_rmescapes
	.syntax unified
	.arm
	.fpu softvfp
	.type	_rmescapes, %function
_rmescapes:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	str	r0, [fp, #-48]
	str	r1, [fp, #-52]
	ldr	r1, .L1367
	ldr	r0, [fp, #-48]
	bl	strpbrk
	str	r0, [fp, #-40]
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	bne	.L1354
	ldr	r3, [fp, #-48]
	b	.L1355
.L1354:
	ldr	r3, [fp, #-40]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-48]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-52]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L1356
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-48]
	sub	r3, r2, r3
	str	r3, [fp, #-20]
	ldr	r0, [fp, #-40]
	bl	strlen
	mov	r2, r0
	ldr	r3, [fp, #-20]
	add	r3, r2, r3
	add	r3, r3, #1
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-52]
	and	r3, r3, #8
	cmp	r3, #0
	beq	.L1357
	ldr	r3, .L1367+4
	ldr	r3, [r3]
	ldr	r2, [fp, #-48]
	sub	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r3, .L1367+8
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	makestrspace
	str	r0, [fp, #-32]
	ldr	r3, .L1367+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	str	r3, [fp, #-48]
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-20]
	add	r3, r2, r3
	str	r3, [fp, #-40]
	b	.L1358
.L1357:
	ldr	r3, [fp, #-52]
	and	r3, r3, #16
	cmp	r3, #0
	beq	.L1359
	ldr	r0, [fp, #-16]
	bl	ckmalloc
	str	r0, [fp, #-32]
	b	.L1358
.L1359:
	ldr	r0, [fp, #-16]
	bl	stalloc
	str	r0, [fp, #-32]
.L1358:
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L1356
	ldr	r2, [fp, #-20]
	ldr	r1, [fp, #-48]
	ldr	r0, [fp, #-36]
	bl	mempcpy
	str	r0, [fp, #-36]
.L1356:
	mov	r3, #0
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-52]
	and	r3, r3, #2
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-24]
	b	.L1360
.L1365:
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #136
	bne	.L1361
	ldr	r3, [fp, #-28]
	mvn	r3, r3
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-24]
	b	.L1360
.L1361:
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #129
	bne	.L1362
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L1363
	ldr	r3, [fp, #-36]
	add	r2, r3, #1
	str	r2, [fp, #-36]
	mov	r2, #92
	strb	r2, [r3]
	b	.L1363
.L1362:
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #92
	bne	.L1363
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L1363
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L1364
.L1363:
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-24]
.L1364:
	ldr	r2, [fp, #-40]
	add	r3, r2, #1
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-36]
	add	r1, r3, #1
	str	r1, [fp, #-36]
	ldrb	r2, [r2]	@ zero_extendqisi2
	strb	r2, [r3]
.L1360:
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L1365
	ldr	r3, [fp, #-36]
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, [fp, #-52]
	and	r3, r3, #8
	cmp	r3, #0
	beq	.L1366
	ldr	r2, .L1367+8
	ldr	r3, [fp, #-32]
	str	r3, [r2]
	ldr	r3, .L1367+8
	ldr	r2, [r3]
	ldr	r1, [fp, #-36]
	ldr	r3, [fp, #-32]
	sub	r3, r1, r3
	add	r3, r3, #1
	add	r3, r2, r3
	ldr	r2, .L1367+8
	str	r3, [r2]
.L1366:
	ldr	r3, [fp, #-32]
.L1355:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1368:
	.align	2
.L1367:
	.word	qchars
	.word	stacknxt
	.word	expdest
	.size	_rmescapes, .-_rmescapes
	.section	.rodata
	.align	2
.LC119:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	casematch
	.syntax unified
	.arm
	.fpu softvfp
	.type	casematch, %function
casematch:
	@ 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]
	ldr	r3, .L1374
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #20
	mov	r0, r3
	bl	setstackmark
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #12]
	ldr	r2, .L1374+4
	str	r3, [r2]
	ldr	r3, .L1374+8
	ldr	r3, [r3]
	ldr	r2, .L1374+12
	str	r3, [r2]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #8]
	mov	r1, #18
	mov	r0, r3
	bl	argstr
	ldr	r3, .L1374+12
	ldr	r2, [r3]
	ldr	r3, .L1374+16
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L1370
	bl	growstackstr
	mov	r3, r0
	ldr	r2, .L1374+12
	str	r3, [r2]
	ldr	r3, .L1374+12
	ldr	r3, [r3]
	mov	r2, #0
	strb	r2, [r3]
	b	.L1371
.L1370:
	ldr	r3, .L1374+12
	ldr	r3, [r3]
	mov	r2, #0
	strb	r2, [r3]
.L1371:
	bl	ifsfree
	ldr	r3, .L1374+8
	ldr	r3, [r3]
	ldr	r1, [fp, #-36]
	mov	r0, r3
	bl	patmatch
	str	r0, [fp, #-24]
	sub	r3, fp, #20
	mov	r0, r3
	bl	popstackmark
	ldr	r3, [fp, #-24]
	ldr	r2, .L1374
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L1373
	bl	__stack_chk_fail
.L1373:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1375:
	.align	2
.L1374:
	.word	.LC119
	.word	argbackq
	.word	stacknxt
	.word	expdest
	.word	sstrend
	.size	casematch, .-casematch
	.section	.rodata
	.align	2
.LC120:
	.ascii	"%lld\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	cvtnum, %function
cvtnum:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-20]
	str	r1, [fp, #-16]
	mov	r0, #8
	bl	max_int_length
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r2, .L1378
	ldr	r2, [r2]
	mov	r1, r2
	mov	r0, r3
	bl	makestrspace
	mov	r3, r0
	ldr	r2, .L1378
	str	r3, [r2]
	ldr	r3, .L1378
	ldr	r0, [r3]
	ldr	r1, [fp, #-8]
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	ldr	r2, .L1378+4
	bl	fmtstr
	str	r0, [fp, #-8]
	ldr	r3, .L1378
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	ldr	r2, .L1378
	str	r3, [r2]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1379:
	.align	2
.L1378:
	.word	expdest
	.word	.LC120
	.size	cvtnum, .-cvtnum
	.section	.rodata
	.align	2
.LC121:
	.ascii	"parameter not set\000"
	.align	2
.LC122:
	.ascii	" or null\000"
	.align	2
.LC123:
	.ascii	"%.*s: %s%s\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	varunset, %function
varunset:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	ldr	r3, .L1383
	str	r3, [fp, #-8]
	ldr	r3, .L1383+4
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L1381
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #131
	bne	.L1382
	ldr	r3, [fp, #-28]
	and	r3, r3, #16
	cmp	r3, #0
	beq	.L1381
	ldr	r3, .L1383+8
	str	r3, [fp, #-8]
	b	.L1381
.L1382:
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-12]
.L1381:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-20]
	sub	r3, r2, r3
	sub	r1, r3, #1
	ldr	r3, [fp, #-8]
	str	r3, [sp]
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-20]
	ldr	r0, .L1383+12
	bl	sh_error
.L1384:
	.align	2
.L1383:
	.word	nullstr
	.word	.LC121
	.word	.LC122
	.word	.LC123
	.size	varunset, .-varunset
	.global	plinno
	.data
	.align	2
	.type	plinno, %object
	.size	plinno, 4
plinno:
	.word	1
	.comm	parsenleft,4,4
	.comm	parselleft,4,4
	.comm	parsenextc,4,4
	.comm	basepf,52,4
	.comm	basebuf,8193,4
	.global	parsefile
	.align	2
	.type	parsefile, %object
	.size	parsefile, 4
parsefile:
	.word	basepf
	.comm	whichprompt,4,4
	.text
	.align	2
	.global	pgetc
	.syntax unified
	.arm
	.fpu softvfp
	.type	pgetc, %function
pgetc:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L1389
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L1389
	str	r3, [r2]
	ldr	r3, .L1389
	ldr	r3, [r3]
	cmp	r3, #0
	blt	.L1386
	ldr	r3, .L1389+4
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r1, .L1389+4
	str	r2, [r1]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	b	.L1388
.L1386:
	bl	preadbuffer
	mov	r3, r0
.L1388:
	mov	r0, r3
	pop	{fp, pc}
.L1390:
	.align	2
.L1389:
	.word	parsenleft
	.word	parsenextc
	.size	pgetc, .-pgetc
	.align	2
	.global	pgetc2
	.syntax unified
	.arm
	.fpu softvfp
	.type	pgetc2, %function
pgetc2:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
.L1394:
	ldr	r3, .L1396
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L1396
	str	r3, [r2]
	ldr	r3, .L1396
	ldr	r3, [r3]
	cmp	r3, #0
	blt	.L1392
	ldr	r3, .L1396+4
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r1, .L1396+4
	str	r2, [r1]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	b	.L1393
.L1392:
	bl	preadbuffer
	mov	r3, r0
.L1393:
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmn	r3, #129
	beq	.L1394
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1397:
	.align	2
.L1396:
	.word	parsenleft
	.word	parsenextc
	.size	pgetc2, .-pgetc2
	.section	.rodata
	.align	2
.LC124:
	.ascii	"sh: turning off NDELAY mode\012\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	preadfd, %function
preadfd:
	@ 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, .L1403
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	str	r3, [fp, #-16]
	ldr	r2, .L1403+4
	ldr	r3, [fp, #-16]
	str	r3, [r2]
.L1399:
	ldr	r3, .L1403
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	mov	r2, #8192
	ldr	r1, [fp, #-16]
	mov	r0, r3
	bl	read
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bge	.L1400
	ldr	r3, .L1403+8
	ldr	r3, [r3]
	ldr	r3, [r3]
	cmp	r3, #4
	bne	.L1401
	b	.L1399
.L1401:
	ldr	r3, .L1403
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L1400
	ldr	r3, .L1403+8
	ldr	r3, [r3]
	ldr	r3, [r3]
	cmp	r3, #11
	bne	.L1400
	mov	r2, #0
	mov	r1, #3
	mov	r0, #0
	bl	fcntl
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	blt	.L1400
	ldr	r3, [fp, #-8]
	and	r3, r3, #2048
	cmp	r3, #0
	beq	.L1400
	ldr	r3, [fp, #-8]
	bic	r3, r3, #2048
	str	r3, [fp, #-8]
	ldr	r2, [fp, #-8]
	mov	r1, #4
	mov	r0, #0
	bl	fcntl
	mov	r3, r0
	cmp	r3, #0
	blt	.L1400
	ldr	r3, .L1403+12
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L1403+16
	bl	outstr
	b	.L1399
.L1400:
	ldr	r3, [fp, #-12]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1404:
	.align	2
.L1403:
	.word	parsefile
	.word	parsenextc
	.word	dash_errno
	.word	out2
	.word	.LC124
	.size	preadfd, .-preadfd
	.align	2
	.global	preadbuffer
	.syntax unified
	.arm
	.fpu softvfp
	.type	preadbuffer, %function
preadbuffer:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	b	.L1406
.L1409:
	ldr	r3, .L1422
	ldr	r3, [r3]
	cmn	r3, #1
	bne	.L1407
	ldr	r3, .L1422+4
	ldr	r3, [r3]
	ldr	r3, [r3, #28]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	beq	.L1407
	ldr	r3, .L1422+8
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #32
	beq	.L1407
	ldr	r3, .L1422+8
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #9
	beq	.L1407
	mvn	r3, #128
	b	.L1408
.L1407:
	bl	popstring
	ldr	r3, .L1422
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L1422
	str	r3, [r2]
	ldr	r3, .L1422
	ldr	r3, [r3]
	cmp	r3, #0
	blt	.L1406
	ldr	r3, .L1422+8
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r1, .L1422+8
	str	r2, [r1]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	b	.L1408
.L1406:
	ldr	r3, .L1422+4
	ldr	r3, [r3]
	ldr	r3, [r3, #28]
	cmp	r3, #0
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	cmp	r3, #0
	bne	.L1409
	ldr	r3, .L1422
	ldr	r3, [r3]
	cmn	r3, #99
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	cmp	r3, #0
	bne	.L1410
	ldr	r3, .L1422+4
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L1411
.L1410:
	mvn	r3, #129
	b	.L1408
.L1411:
	ldr	r0, .L1422+12
	bl	flushout
	ldr	r3, .L1422+16
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bgt	.L1412
	nop
.L1413:
	bl	preadfd
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bgt	.L1412
	ldr	r3, .L1422
	mvn	r2, #98
	str	r2, [r3]
	ldr	r3, .L1422
	ldr	r3, [r3]
	ldr	r2, .L1422+16
	str	r3, [r2]
	mvn	r3, #129
	b	.L1408
.L1412:
	ldr	r3, .L1422+8
	ldr	r3, [r3]
	str	r3, [fp, #-16]
.L1419:
	ldr	r3, [fp, #-12]
	sub	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L1414
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	ldr	r2, [fp, #-12]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	memmove
	b	.L1415
.L1414:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-8]
	cmp	r3, #10
	bne	.L1415
	ldr	r3, .L1422+8
	ldr	r3, [r3]
	ldr	r2, [fp, #-16]
	sub	r3, r2, r3
	sub	r3, r3, #1
	ldr	r2, .L1422
	str	r3, [r2]
	b	.L1416
.L1415:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bgt	.L1419
	ldr	r3, .L1422+8
	ldr	r3, [r3]
	ldr	r2, [fp, #-16]
	sub	r3, r2, r3
	sub	r3, r3, #1
	ldr	r2, .L1422
	str	r3, [r2]
	ldr	r3, .L1422
	ldr	r3, [r3]
	cmp	r3, #0
	bge	.L1421
	b	.L1413
.L1421:
	nop
.L1416:
	ldr	r2, .L1422+16
	ldr	r3, [fp, #-12]
	str	r3, [r2]
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]
	strb	r3, [fp, #-17]
	ldr	r3, [fp, #-16]
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, .L1422+20
	ldrb	r3, [r3, #8]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L1420
	ldr	r3, .L1422+8
	ldr	r3, [r3]
	ldr	r2, .L1422+24
	ldr	r2, [r2]
	mov	r1, r2
	mov	r0, r3
	bl	outstr
.L1420:
	ldr	r3, [fp, #-16]
	ldrb	r2, [fp, #-17]
	strb	r2, [r3]
	ldr	r3, .L1422+8
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r1, .L1422+8
	str	r2, [r1]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
.L1408:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1423:
	.align	2
.L1422:
	.word	parsenleft
	.word	parsefile
	.word	parsenextc
	.word	output
	.word	parselleft
	.word	optlist
	.word	out2
	.size	preadbuffer, .-preadbuffer
	.align	2
	.global	pungetc
	.syntax unified
	.arm
	.fpu softvfp
	.type	pungetc, %function
pungetc:
	@ 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, .L1425
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L1425
	str	r3, [r2]
	ldr	r3, .L1425+4
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L1425+4
	str	r3, [r2]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L1426:
	.align	2
.L1425:
	.word	parsenleft
	.word	parsenextc
	.size	pungetc, .-pungetc
	.align	2
	.global	pushstring
	.syntax unified
	.arm
	.fpu softvfp
	.type	pushstring, %function
pushstring:
	@ 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	r0, [fp, #-16]
	bl	strlen
	str	r0, [fp, #-8]
	ldr	r3, .L1433
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L1433
	str	r3, [r2]
	ldr	r3, .L1433+4
	ldr	r3, [r3]
	ldr	r3, [r3, #28]
	cmp	r3, #0
	beq	.L1428
	mov	r0, #20
	bl	ckmalloc
	str	r0, [fp, #-12]
	ldr	r3, .L1433+4
	ldr	r3, [r3]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-12]
	str	r2, [r3]
	ldr	r3, .L1433+4
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #28]
	b	.L1429
.L1428:
	ldr	r3, .L1433+4
	ldr	r2, [r3]
	ldr	r3, .L1433+4
	ldr	r3, [r3]
	add	r2, r2, #32
	str	r2, [r3, #28]
	ldr	r3, [r3, #28]
	str	r3, [fp, #-12]
.L1429:
	ldr	r3, .L1433+8
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	str	r2, [r3, #4]
	ldr	r3, .L1433+12
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-20]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L1430
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #12]
	orr	r2, r3, #1
	ldr	r3, [fp, #-20]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-16]
	str	r2, [r3, #16]
.L1430:
	ldr	r2, .L1433+8
	ldr	r3, [fp, #-16]
	str	r3, [r2]
	ldr	r3, [fp, #-8]
	ldr	r2, .L1433+12
	str	r3, [r2]
	ldr	r3, .L1433
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L1433
	str	r3, [r2]
	ldr	r3, .L1433
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1432
	ldr	r3, .L1433+16
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1432
	bl	onint
.L1432:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1434:
	.align	2
.L1433:
	.word	suppressint
	.word	parsefile
	.word	parsenextc
	.word	parsenleft
	.word	intpending
	.size	pushstring, .-pushstring
	.align	2
	.global	popstring
	.syntax unified
	.arm
	.fpu softvfp
	.type	popstring, %function
popstring:
	@ 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, .L1443
	ldr	r3, [r3]
	ldr	r3, [r3, #28]
	str	r3, [fp, #-8]
	ldr	r3, .L1443+4
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L1443+4
	str	r3, [r2]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	beq	.L1436
	ldr	r3, .L1443+8
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #32
	beq	.L1437
	ldr	r3, .L1443+8
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #9
	bne	.L1438
.L1437:
	ldr	r3, .L1443+12
	ldr	r3, [r3]
	orr	r3, r3, #1
	ldr	r2, .L1443+12
	str	r3, [r2]
.L1438:
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #12]
	ldr	r3, [r3, #8]
	cmp	r2, r3
	beq	.L1439
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #16]
	mov	r0, r3
	bl	free
.L1439:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #12]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #12]
	bic	r2, r2, #1
	str	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #12]
	ldr	r3, [r3, #12]
	and	r3, r3, #2
	cmp	r3, #0
	beq	.L1436
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #12]
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	unalias
.L1436:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	ldr	r2, .L1443+8
	str	r3, [r2]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	ldr	r2, .L1443+16
	str	r3, [r2]
	ldr	r3, .L1443
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	ldr	r2, [r2]
	str	r2, [r3, #28]
	ldr	r3, .L1443
	ldr	r3, [r3]
	add	r3, r3, #32
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	beq	.L1440
	ldr	r0, [fp, #-8]
	bl	free
.L1440:
	ldr	r3, .L1443+4
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L1443+4
	str	r3, [r2]
	ldr	r3, .L1443+4
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1442
	ldr	r3, .L1443+20
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1442
	bl	onint
.L1442:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1444:
	.align	2
.L1443:
	.word	parsefile
	.word	suppressint
	.word	parsenextc
	.word	checkkwd
	.word	parsenleft
	.word	intpending
	.size	popstring, .-popstring
	.section	.rodata
	.align	2
.LC125:
	.ascii	"Can't open %s\000"
	.text
	.align	2
	.global	setinputfile
	.syntax unified
	.arm
	.fpu softvfp
	.type	setinputfile, %function
setinputfile:
	@ 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, .L1453
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L1453
	str	r3, [r2]
	mov	r1, #0
	ldr	r0, [fp, #-16]
	bl	open
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bge	.L1446
	ldr	r3, [fp, #-20]
	and	r3, r3, #2
	cmp	r3, #0
	bne	.L1452
	ldr	r3, .L1453+4
	mov	r2, #127
	str	r2, [r3]
	ldr	r2, [fp, #-16]
	ldr	r1, .L1453+8
	mov	r0, #1
	bl	exerror
.L1446:
	ldr	r3, [fp, #-8]
	cmp	r3, #9
	bgt	.L1449
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-8]
	bl	savefd
	str	r0, [fp, #-8]
.L1449:
	ldr	r3, [fp, #-20]
	and	r3, r3, #1
	mov	r1, r3
	ldr	r0, [fp, #-8]
	bl	setinputfd
	b	.L1448
.L1452:
	nop
.L1448:
	ldr	r3, .L1453
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L1453
	str	r3, [r2]
	ldr	r3, .L1453
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1450
	ldr	r3, .L1453+12
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1450
	bl	onint
.L1450:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1454:
	.align	2
.L1453:
	.word	suppressint
	.word	exitstatus
	.word	.LC125
	.word	intpending
	.size	setinputfile, .-setinputfile
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	setinputfd, %function
setinputfd:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #12
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L1456
	bl	pushfile
	ldr	r3, .L1458
	ldr	r3, [r3]
	mov	r2, #0
	str	r2, [r3, #24]
.L1456:
	ldr	r3, .L1458
	ldr	r3, [r3]
	ldr	r2, [fp, #-16]
	str	r2, [r3, #8]
	ldr	r3, .L1458
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	cmp	r3, #0
	bne	.L1457
	ldr	r3, .L1458
	ldr	r4, [r3]
	ldr	r0, .L1458+4
	bl	ckmalloc
	mov	r3, r0
	str	r3, [r4, #24]
.L1457:
	ldr	r3, .L1458+8
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L1458+8
	ldr	r3, [r3]
	ldr	r2, .L1458+12
	str	r3, [r2]
	ldr	r3, .L1458+16
	mov	r2, #1
	str	r2, [r3]
	nop
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L1459:
	.align	2
.L1458:
	.word	parsefile
	.word	8193
	.word	parsenleft
	.word	parselleft
	.word	plinno
	.size	setinputfd, .-setinputfd
	.align	2
	.global	setinputstring
	.syntax unified
	.arm
	.fpu softvfp
	.type	setinputstring, %function
setinputstring:
	@ 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, .L1463
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L1463
	str	r3, [r2]
	bl	pushfile
	ldr	r2, .L1463+4
	ldr	r3, [fp, #-8]
	str	r3, [r2]
	ldr	r0, [fp, #-8]
	bl	strlen
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L1463+8
	str	r2, [r3]
	ldr	r3, .L1463+12
	ldr	r3, [r3]
	mov	r2, #0
	str	r2, [r3, #24]
	ldr	r3, .L1463+16
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, .L1463
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L1463
	str	r3, [r2]
	ldr	r3, .L1463
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1462
	ldr	r3, .L1463+20
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1462
	bl	onint
.L1462:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1464:
	.align	2
.L1463:
	.word	suppressint
	.word	parsenextc
	.word	parsenleft
	.word	parsefile
	.word	plinno
	.word	intpending
	.size	setinputstring, .-setinputstring
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	pushfile, %function
pushfile:
	@ 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, .L1466
	ldr	r3, [r3]
	ldr	r2, .L1466+4
	ldr	r2, [r2]
	str	r2, [r3, #12]
	ldr	r3, .L1466
	ldr	r3, [r3]
	ldr	r2, .L1466+8
	ldr	r2, [r2]
	str	r2, [r3, #16]
	ldr	r3, .L1466
	ldr	r3, [r3]
	ldr	r2, .L1466+12
	ldr	r2, [r2]
	str	r2, [r3, #20]
	ldr	r3, .L1466
	ldr	r3, [r3]
	ldr	r2, .L1466+16
	ldr	r2, [r2]
	str	r2, [r3, #4]
	mov	r0, #52
	bl	ckmalloc
	str	r0, [fp, #-8]
	ldr	r3, .L1466
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	mvn	r2, #0
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #28]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #32]
	ldr	r2, .L1466
	ldr	r3, [fp, #-8]
	str	r3, [r2]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1467:
	.align	2
.L1466:
	.word	parsefile
	.word	parsenleft
	.word	parselleft
	.word	parsenextc
	.word	plinno
	.size	pushfile, .-pushfile
	.align	2
	.global	popfile
	.syntax unified
	.arm
	.fpu softvfp
	.type	popfile, %function
popfile:
	@ 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, .L1475
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, .L1475+4
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L1475+4
	str	r3, [r2]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	blt	.L1469
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	close
.L1469:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #24]
	cmp	r3, #0
	beq	.L1471
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #24]
	mov	r0, r3
	bl	free
	b	.L1471
.L1472:
	bl	popstring
.L1471:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #28]
	cmp	r3, #0
	bne	.L1472
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldr	r2, .L1475
	str	r3, [r2]
	ldr	r0, [fp, #-8]
	bl	free
	ldr	r3, .L1475
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	ldr	r2, .L1475+8
	str	r3, [r2]
	ldr	r3, .L1475
	ldr	r3, [r3]
	ldr	r3, [r3, #16]
	ldr	r2, .L1475+12
	str	r3, [r2]
	ldr	r3, .L1475
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	ldr	r2, .L1475+16
	str	r3, [r2]
	ldr	r3, .L1475
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	ldr	r2, .L1475+20
	str	r3, [r2]
	ldr	r3, .L1475+4
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L1475+4
	str	r3, [r2]
	ldr	r3, .L1475+4
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1474
	ldr	r3, .L1475+24
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1474
	bl	onint
.L1474:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1476:
	.align	2
.L1475:
	.word	parsefile
	.word	suppressint
	.word	parsenleft
	.word	parselleft
	.word	parsenextc
	.word	plinno
	.word	intpending
	.size	popfile, .-popfile
	.align	2
	.global	popallfiles
	.syntax unified
	.arm
	.fpu softvfp
	.type	popallfiles, %function
popallfiles:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	b	.L1478
.L1479:
	bl	popfile
.L1478:
	ldr	r3, .L1480
	ldr	r3, [r3]
	ldr	r2, .L1480+4
	cmp	r3, r2
	bne	.L1479
	nop
	nop
	pop	{fp, pc}
.L1481:
	.align	2
.L1480:
	.word	parsefile
	.word	basepf
	.size	popallfiles, .-popallfiles
	.align	2
	.global	closescript
	.syntax unified
	.arm
	.fpu softvfp
	.type	closescript, %function
closescript:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	bl	popallfiles
	ldr	r3, .L1485
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	ble	.L1484
	ldr	r3, .L1485
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	close
	ldr	r3, .L1485
	ldr	r3, [r3]
	mov	r2, #0
	str	r2, [r3, #8]
.L1484:
	nop
	pop	{fp, pc}
.L1486:
	.align	2
.L1485:
	.word	parsefile
	.size	closescript, .-closescript
	.local	jobtab
	.comm	jobtab,4,4
	.local	njobs
	.comm	njobs,4,4
	.comm	backgndpid,4,4
	.local	initialpgrp
	.comm	initialpgrp,4,4
	.data
	.align	2
	.type	ttyfd, %object
	.size	ttyfd, 4
ttyfd:
	.word	-1
	.local	curjob
	.comm	curjob,4,4
	.local	jobless
	.comm	jobless,4,4
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	set_curjob, %function
set_curjob:
	@ 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, .L1497
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-16]
.L1490:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	beq	.L1495
	ldr	r3, [fp, #-8]
	add	r3, r3, #24
	str	r3, [fp, #-16]
	b	.L1490
.L1495:
	nop
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #24]
	ldr	r3, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	beq	.L1491
	ldr	r3, [fp, #-28]
	cmp	r3, #1
	bne	.L1496
.L1492:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L1491
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3, #22]	@ zero_extendqisi2
	cmp	r3, #1
	bne	.L1491
	ldr	r3, [fp, #-8]
	add	r3, r3, #24
	str	r3, [fp, #-16]
	b	.L1492
.L1491:
	ldr	r3, [fp, #-16]
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	str	r2, [r3, #24]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-24]
	str	r2, [r3]
	b	.L1493
.L1496:
	nop
.L1493:
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L1498:
	.align	2
.L1497:
	.word	curjob
	.size	set_curjob, .-set_curjob
	.comm	jobctl,4,4
	.section	.rodata
	.align	2
.LC126:
	.ascii	"/dev/tty\000"
	.align	2
.LC127:
	.ascii	"can't access tty; job control turned off\000"
	.text
	.align	2
	.global	setjobctl
	.syntax unified
	.arm
	.fpu softvfp
	.type	setjobctl, %function
setjobctl:
	@ 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, .L1518
	ldr	r3, [r3]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	beq	.L1515
	ldr	r3, .L1518+4
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1515
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L1503
	mov	r1, #2
	ldr	r0, .L1518+8
	bl	open
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bge	.L1504
	ldr	r3, [fp, #-16]
	add	r3, r3, #3
	str	r3, [fp, #-16]
	b	.L1505
.L1507:
	ldr	r3, [fp, #-16]
	sub	r3, r3, #1
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	blt	.L1516
.L1505:
	ldr	r0, [fp, #-16]
	bl	isatty
	mov	r3, r0
	cmp	r3, #0
	beq	.L1507
.L1504:
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-16]
	bl	savefd
	str	r0, [fp, #-16]
.L1512:
	ldr	r0, [fp, #-16]
	bl	tcgetpgrp
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bge	.L1508
	b	.L1506
.L1516:
	nop
.L1506:
	ldr	r0, .L1518+12
	bl	sh_warnx
	mov	r3, #0
	str	r3, [fp, #-24]
	ldr	r3, .L1518+16
	mov	r2, #0
	strb	r2, [r3, #4]
	b	.L1509
.L1508:
	bl	getpgrp
	mov	r2, r0
	ldr	r3, [fp, #-12]
	cmp	r3, r2
	beq	.L1517
	mov	r1, #21
	mov	r0, #0
	bl	killpg
	b	.L1512
.L1517:
	nop
	ldr	r2, .L1518+20
	ldr	r3, [fp, #-12]
	str	r3, [r2]
	mov	r0, #20
	bl	setsignal
	mov	r0, #22
	bl	setsignal
	mov	r0, #21
	bl	setsignal
	ldr	r3, .L1518+24
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r1, [fp, #-12]
	mov	r0, #0
	bl	setpgid
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-16]
	bl	xtcsetpgrp
	b	.L1513
.L1503:
	ldr	r3, .L1518+28
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	ldr	r3, .L1518+20
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-16]
	bl	xtcsetpgrp
	ldr	r1, [fp, #-12]
	mov	r0, #0
	bl	setpgid
	mov	r0, #20
	bl	setsignal
	mov	r0, #22
	bl	setsignal
	mov	r0, #21
	bl	setsignal
.L1509:
	ldr	r0, [fp, #-16]
	bl	close
	mvn	r3, #0
	str	r3, [fp, #-16]
.L1513:
	ldr	r2, .L1518+28
	ldr	r3, [fp, #-16]
	str	r3, [r2]
	ldr	r2, .L1518
	ldr	r3, [fp, #-24]
	str	r3, [r2]
	b	.L1499
.L1515:
	nop
.L1499:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1519:
	.align	2
.L1518:
	.word	jobctl
	.word	shlvl
	.word	.LC126
	.word	.LC127
	.word	optlist
	.word	initialpgrp
	.word	rootpid
	.word	ttyfd
	.size	setjobctl, .-setjobctl
	.section	.rodata
	.align	2
.LC128:
	.ascii	"Usage: kill [-s sigspec | -signum | -sigspec] [pid "
	.ascii	"| job]... or\012kill -l [exitstatus]\000"
	.align	2
.LC129:
	.ascii	"invalid signal number or name: %s\000"
	.align	2
.LC130:
	.ascii	"ls:\000"
	.align	2
.LC131:
	.ascii	"0\012\000"
	.align	2
.LC132:
	.ascii	"invalid signal number or exit status: %s\000"
	.align	2
.LC133:
	.ascii	"%s\012\000"
	.text
	.align	2
	.global	killcmd
	.syntax unified
	.arm
	.fpu softvfp
	.type	killcmd, %function
killcmd:
	@ 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]
	str	r1, [fp, #-44]
	mvn	r3, #0
	str	r3, [fp, #-32]
	mov	r3, #0
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-40]
	cmp	r3, #1
	bgt	.L1521
	nop
	b	.L1522
.L1547:
	nop
.L1522:
	ldr	r0, .L1549
	bl	sh_error
.L1521:
	ldr	r3, [fp, #-44]
	add	r3, r3, #4
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-44]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #45
	bne	.L1523
	ldr	r3, [fp, #-44]
	ldr	r3, [r3]
	add	r3, r3, #1
	mov	r1, #1
	mov	r0, r3
	bl	decode_signal
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bge	.L1524
	b	.L1525
.L1528:
	ldr	r3, [fp, #-16]
	cmp	r3, #115
	beq	.L1526
	mov	r3, #1
	str	r3, [fp, #-28]
	b	.L1525
.L1526:
	ldr	r3, .L1549+4
	ldr	r3, [r3]
	mov	r1, #1
	mov	r0, r3
	bl	decode_signal
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bge	.L1548
	ldr	r3, .L1549+4
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L1549+8
	bl	sh_error
.L1548:
	nop
.L1525:
	ldr	r0, .L1549+12
	bl	nextopt
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L1528
	ldr	r3, .L1549+16
	ldr	r3, [r3]
	str	r3, [fp, #-44]
	b	.L1523
.L1524:
	ldr	r3, [fp, #-44]
	add	r3, r3, #4
	str	r3, [fp, #-44]
.L1523:
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L1529
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bge	.L1529
	mov	r3, #15
	str	r3, [fp, #-32]
.L1529:
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	blt	.L1530
	ldr	r3, [fp, #-44]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1531
.L1530:
	mov	r2, #1
	b	.L1532
.L1531:
	mov	r2, #0
.L1532:
	ldr	r3, [fp, #-28]
	cmp	r2, r3
	bne	.L1547
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	beq	.L1534
	ldr	r3, .L1549+20
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-44]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1535
	ldr	r1, [fp, #-8]
	ldr	r0, .L1549+24
	bl	outstr
	mov	r3, #1
	str	r3, [fp, #-24]
	b	.L1536
.L1537:
	ldr	r2, .L1549+28
	ldr	r3, [fp, #-24]
	ldr	r3, [r2, r3, lsl #2]
	mov	r2, r3
	ldr	r1, .L1549+32
	ldr	r0, [fp, #-8]
	bl	outfmt
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L1536:
	ldr	r3, [fp, #-24]
	cmp	r3, #64
	ble	.L1537
	mov	r3, #0
	b	.L1538
.L1535:
	ldr	r3, [fp, #-44]
	ldr	r3, [r3]
	mov	r0, r3
	bl	number
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-32]
	cmp	r3, #128
	ble	.L1539
	ldr	r3, [fp, #-32]
	sub	r3, r3, #128
	str	r3, [fp, #-32]
.L1539:
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	ble	.L1540
	ldr	r3, [fp, #-32]
	cmp	r3, #64
	bgt	.L1540
	ldr	r2, .L1549+28
	ldr	r3, [fp, #-32]
	ldr	r3, [r2, r3, lsl #2]
	mov	r2, r3
	ldr	r1, .L1549+32
	ldr	r0, [fp, #-8]
	bl	outfmt
	mov	r3, #0
	b	.L1538
.L1540:
	ldr	r3, [fp, #-44]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L1549+36
	bl	sh_error
.L1534:
	mov	r3, #0
	str	r3, [fp, #-24]
.L1546:
	ldr	r3, [fp, #-44]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #37
	bne	.L1541
	ldr	r3, [fp, #-44]
	ldr	r3, [r3]
	mov	r1, #0
	mov	r0, r3
	bl	getjob
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #12]
	ldr	r3, [r3]
	rsb	r3, r3, #0
	str	r3, [fp, #-20]
	b	.L1542
.L1541:
	ldr	r3, [fp, #-44]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #45
	bne	.L1543
	ldr	r3, [fp, #-44]
	ldr	r3, [r3]
	add	r3, r3, #1
	mov	r0, r3
	bl	number
	mov	r3, r0
	rsb	r3, r3, #0
	b	.L1544
.L1543:
	ldr	r3, [fp, #-44]
	ldr	r3, [r3]
	mov	r0, r3
	bl	number
	mov	r3, r0
.L1544:
	str	r3, [fp, #-20]
.L1542:
	ldr	r1, [fp, #-32]
	ldr	r0, [fp, #-20]
	bl	kill
	mov	r3, r0
	cmp	r3, #0
	beq	.L1545
	ldr	r3, .L1549+40
	ldr	r3, [r3]
	ldr	r3, [r3]
	mov	r0, r3
	bl	strerror
	mov	r3, r0
	mov	r1, r3
	ldr	r0, .L1549+44
	bl	sh_warnx
	mov	r3, #1
	str	r3, [fp, #-24]
.L1545:
	ldr	r3, [fp, #-44]
	add	r3, r3, #4
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-44]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1546
	ldr	r3, [fp, #-24]
.L1538:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1550:
	.align	2
.L1549:
	.word	.LC128
	.word	optionarg
	.word	.LC129
	.word	.LC130
	.word	argptr
	.word	out1
	.word	.LC131
	.word	signal_names
	.word	snlfmt
	.word	.LC132
	.word	dash_errno
	.word	.LC133
	.size	killcmd, .-killcmd
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	jobno, %function
jobno:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, .L1553
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	sub	r3, r2, r3
	asr	r2, r3, #2
	mov	r3, r2
	lsl	r3, r3, #3
	add	r3, r3, r2
	lsl	r1, r3, #6
	add	r3, r3, r1
	lsl	r3, r3, #3
	add	r3, r3, r2
	lsl	r1, r3, #15
	add	r3, r3, r1
	lsl	r3, r3, #3
	add	r3, r3, r2
	rsb	r3, r3, #0
	add	r3, r3, #1
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L1554:
	.align	2
.L1553:
	.word	jobtab
	.size	jobno, .-jobno
	.section	.rodata
	.align	2
.LC134:
	.ascii	"[%d] \000"
	.text
	.align	2
	.global	fgcmd
	.syntax unified
	.arm
	.fpu softvfp
	.type	fgcmd, %function
fgcmd:
	@ 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]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #102
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-20]
	ldr	r0, .L1560
	bl	nextopt
	ldr	r3, .L1560+4
	ldr	r3, [r3]
	str	r3, [fp, #-28]
	ldr	r3, .L1560+8
	ldr	r3, [r3]
	str	r3, [fp, #-16]
.L1558:
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	mov	r1, #1
	mov	r0, r3
	bl	getjob
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-20]
	cmp	r3, #1
	bne	.L1556
	mov	r1, #1
	ldr	r0, [fp, #-12]
	bl	set_curjob
	ldr	r0, [fp, #-12]
	bl	jobno
	mov	r3, r0
	mov	r2, r3
	ldr	r1, .L1560+12
	ldr	r0, [fp, #-16]
	bl	outfmt
.L1556:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #12]
	ldr	r3, [r3, #8]
	ldr	r1, [fp, #-16]
	mov	r0, r3
	bl	outstr
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-12]
	bl	showpipe
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-12]
	bl	restartjob
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1557
	ldr	r3, [fp, #-28]
	add	r3, r3, #4
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1558
.L1557:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1561:
	.align	2
.L1560:
	.word	nullstr
	.word	argptr
	.word	out1
	.word	.LC134
	.size	fgcmd, .-fgcmd
	.align	2
	.global	bgcmd
	.syntax unified
	.arm
	.fpu softvfp
	.type	bgcmd, %function
bgcmd:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	fgcmd
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	bgcmd, .-bgcmd
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	restartjob, %function
restartjob:
	@ 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]
	ldr	r3, .L1575
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L1575
	str	r3, [r2]
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3, #22]	@ zero_extendqisi2
	cmp	r3, #2
	beq	.L1574
	ldr	r3, [fp, #-24]
	mov	r2, #0
	strb	r2, [r3, #22]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #12]
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L1567
	ldr	r3, .L1575+4
	ldr	r3, [r3]
	ldr	r1, [fp, #-12]
	mov	r0, r3
	bl	xtcsetpgrp
.L1567:
	mov	r1, #18
	ldr	r0, [fp, #-12]
	bl	killpg
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-24]
	ldrh	r3, [r3, #20]
	str	r3, [fp, #-16]
.L1569:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #4]
	and	r3, r3, #255
	cmp	r3, #127
	bne	.L1568
	ldr	r3, [fp, #-20]
	mvn	r2, #0
	str	r2, [r3, #4]
.L1568:
	ldr	r3, [fp, #-20]
	add	r3, r3, #12
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-16]
	sub	r3, r3, #1
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L1569
	b	.L1566
.L1574:
	nop
.L1566:
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L1570
	ldr	r0, [fp, #-24]
	bl	waitforjob
	mov	r3, r0
	b	.L1571
.L1570:
	mov	r3, #0
.L1571:
	str	r3, [fp, #-8]
	ldr	r3, .L1575
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L1575
	str	r3, [r2]
	ldr	r3, .L1575
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1572
	ldr	r3, .L1575+8
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1572
	bl	onint
.L1572:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1576:
	.align	2
.L1575:
	.word	suppressint
	.word	ttyfd
	.word	intpending
	.size	restartjob, .-restartjob
	.section	.rodata
	.align	2
.LC135:
	.ascii	"%s\000"
	.align	2
.LC136:
	.ascii	" (core dumped)\000"
	.align	2
.LC137:
	.ascii	"Done(%d)\000"
	.align	2
.LC138:
	.ascii	"Done\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	sprint_status, %function
sprint_status:
	@ 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, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-20]
	asr	r3, r3, #8
	and	r3, r3, #255
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-20]
	and	r3, r3, #127
	cmp	r3, #0
	beq	.L1578
	ldr	r3, [fp, #-20]
	asr	r3, r3, #8
	and	r3, r3, #255
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-20]
	and	r3, r3, #255
	cmp	r3, #127
	beq	.L1579
	ldr	r3, [fp, #-20]
	and	r3, r3, #127
	str	r3, [fp, #-8]
.L1579:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L1580
	ldr	r3, [fp, #-8]
	cmp	r3, #2
	beq	.L1586
	ldr	r3, [fp, #-8]
	cmp	r3, #13
	beq	.L1586
	ldr	r3, [fp, #-20]
	and	r3, r3, #255
	cmp	r3, #127
	beq	.L1587
.L1580:
	ldr	r0, [fp, #-8]
	bl	strsignal
	mov	r3, r0
	ldr	r2, .L1589
	mov	r1, #32
	ldr	r0, [fp, #-16]
	bl	fmtstr
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-20]
	and	r3, r3, #128
	cmp	r3, #0
	beq	.L1583
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldr	r2, .L1589+4
	mov	r1, #16
	mov	r0, r3
	bl	fmtstr
	mov	r2, r0
	ldr	r3, [fp, #-12]
	add	r3, r3, r2
	str	r3, [fp, #-12]
	b	.L1583
.L1578:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L1588
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L1584
	ldr	r3, [fp, #-8]
	ldr	r2, .L1589+8
	mov	r1, #16
	ldr	r0, [fp, #-16]
	bl	fmtstr
	str	r0, [fp, #-12]
	b	.L1583
.L1584:
	ldr	r2, .L1589+12
	mov	r1, #16
	ldr	r0, [fp, #-16]
	bl	fmtstr
	str	r0, [fp, #-12]
	b	.L1583
.L1586:
	nop
	b	.L1583
.L1587:
	nop
	b	.L1583
.L1588:
	nop
.L1583:
	ldr	r3, [fp, #-12]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1590:
	.align	2
.L1589:
	.word	.LC135
	.word	.LC136
	.word	.LC137
	.word	.LC138
	.size	sprint_status, .-sprint_status
	.section	.rodata
	.align	2
.LC139:
	.ascii	"%d\012\000"
	.align	2
.LC140:
	.ascii	"%d \000"
	.align	2
.LC141:
	.ascii	"Running\000"
	.align	2
.LC142:
	.ascii	" |\012%*c%d \000"
	.align	2
.LC143:
	.ascii	"%s%*c%s\000"
	.align	2
.LC144:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	showjob, %function
showjob:
	@ args = 0, pretend = 0, frame = 120
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #128
	str	r0, [fp, #-112]
	str	r1, [fp, #-116]
	str	r2, [fp, #-120]
	ldr	r3, .L1608
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-116]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-108]
	ldr	r3, [fp, #-120]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L1592
	ldr	r3, [fp, #-108]
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, .L1608+4
	ldr	r0, [fp, #-112]
	bl	outfmt
	b	.L1591
.L1592:
	ldr	r0, [fp, #-116]
	bl	jobno
	mov	r3, r0
	sub	r0, fp, #88
	ldr	r2, .L1608+8
	mov	r1, #16
	bl	fmtstr
	str	r0, [fp, #-104]
	ldr	r3, [fp, #-104]
	str	r3, [fp, #-96]
	ldr	r3, .L1608+12
	ldr	r3, [r3]
	ldr	r2, [fp, #-116]
	cmp	r2, r3
	bne	.L1594
	ldr	r3, [fp, #-104]
	sub	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	mov	r2, #43
	strb	r2, [r3, #-84]
	b	.L1595
.L1594:
	ldr	r3, .L1608+12
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1595
	ldr	r3, .L1608+12
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	ldr	r2, [fp, #-116]
	cmp	r2, r3
	bne	.L1595
	ldr	r3, [fp, #-104]
	sub	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	mov	r2, #45
	strb	r2, [r3, #-84]
.L1595:
	ldr	r3, [fp, #-120]
	and	r3, r3, #4
	cmp	r3, #0
	beq	.L1596
	ldr	r3, [fp, #-104]
	sub	r2, fp, #88
	add	r0, r2, r3
	ldr	r3, [fp, #-108]
	ldr	r3, [r3]
	ldr	r2, .L1608+16
	mov	r1, #16
	bl	fmtstr
	mov	r2, r0
	ldr	r3, [fp, #-104]
	add	r3, r3, r2
	str	r3, [fp, #-104]
.L1596:
	ldr	r3, [fp, #-116]
	ldrh	r3, [r3, #20]
	mov	r2, r3
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-108]
	add	r3, r3, r2
	str	r3, [fp, #-92]
	ldr	r3, [fp, #-116]
	ldrb	r3, [r3, #22]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L1597
	ldr	r3, [fp, #-104]
	sub	r2, fp, #88
	add	r3, r2, r3
	ldr	r2, .L1608+20
	mov	r0, r3
	mov	r1, r2
	mov	r3, #8
	mov	r2, r3
	bl	memcpy
	ldr	r3, [fp, #-104]
	add	r3, r3, #7
	str	r3, [fp, #-104]
	b	.L1600
.L1597:
	ldr	r3, [fp, #-92]
	sub	r3, r3, #12
	ldr	r3, [r3, #4]
	str	r3, [fp, #-100]
	ldr	r3, [fp, #-116]
	ldrb	r3, [r3, #22]	@ zero_extendqisi2
	cmp	r3, #1
	bne	.L1599
	ldr	r3, [fp, #-116]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-100]
.L1599:
	ldr	r3, [fp, #-104]
	sub	r2, fp, #88
	add	r3, r2, r3
	mov	r2, #0
	ldr	r1, [fp, #-100]
	mov	r0, r3
	bl	sprint_status
	mov	r2, r0
	ldr	r3, [fp, #-104]
	add	r3, r3, r2
	str	r3, [fp, #-104]
	b	.L1600
.L1607:
	nop
	ldr	r3, [fp, #-108]
	ldr	r3, [r3]
	sub	r0, fp, #88
	str	r3, [sp, #4]
	mov	r3, #32
	str	r3, [sp]
	ldr	r3, [fp, #-96]
	ldr	r2, .L1608+24
	mov	r1, #48
	bl	fmtstr
	mov	r3, r0
	sub	r3, r3, #3
	str	r3, [fp, #-104]
.L1600:
	ldr	r3, [fp, #-104]
	rsb	r3, r3, #33
	bic	r1, r3, r3, asr #31
	ldr	r3, [fp, #-108]
	ldr	r3, [r3, #8]
	sub	r2, fp, #88
	str	r3, [sp, #4]
	mov	r3, #32
	str	r3, [sp]
	mov	r3, r1
	ldr	r1, .L1608+28
	ldr	r0, [fp, #-112]
	bl	outfmt
	ldr	r3, [fp, #-120]
	and	r3, r3, #4
	cmp	r3, #0
	bne	.L1601
	ldr	r1, [fp, #-112]
	ldr	r0, [fp, #-116]
	bl	showpipe
	b	.L1602
.L1601:
	ldr	r3, [fp, #-108]
	add	r3, r3, #12
	str	r3, [fp, #-108]
	ldr	r2, [fp, #-108]
	ldr	r3, [fp, #-92]
	cmp	r2, r3
	bne	.L1607
	ldr	r1, [fp, #-112]
	mov	r0, #10
	bl	outcslow
	nop
.L1602:
	ldr	r2, [fp, #-116]
	ldrb	r3, [r2, #23]
	bic	r3, r3, #16
	strb	r3, [r2, #23]
	ldr	r3, [fp, #-116]
	ldrb	r3, [r3, #22]	@ zero_extendqisi2
	cmp	r3, #2
	bne	.L1591
	ldr	r0, [fp, #-116]
	bl	freejob
.L1591:
	ldr	r3, .L1608
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L1606
	bl	__stack_chk_fail
.L1606:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1609:
	.align	2
.L1608:
	.word	.LC144
	.word	.LC139
	.word	.LC134
	.word	curjob
	.word	.LC140
	.word	.LC141
	.word	.LC142
	.word	.LC143
	.size	showjob, .-showjob
	.section	.rodata
	.align	2
.LC145:
	.ascii	"lp\000"
	.text
	.align	2
	.global	jobscmd
	.syntax unified
	.arm
	.fpu softvfp
	.type	jobscmd, %function
jobscmd:
	@ 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	r3, #0
	str	r3, [fp, #-16]
	b	.L1611
.L1613:
	ldr	r3, [fp, #-12]
	cmp	r3, #108
	bne	.L1612
	mov	r3, #4
	str	r3, [fp, #-16]
	b	.L1611
.L1612:
	mov	r3, #1
	str	r3, [fp, #-16]
.L1611:
	ldr	r0, .L1618
	bl	nextopt
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L1613
	ldr	r3, .L1618+4
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, .L1618+8
	ldr	r3, [r3]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1614
.L1615:
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	mov	r1, #0
	mov	r0, r3
	bl	getjob
	mov	r3, r0
	ldr	r2, [fp, #-16]
	mov	r1, r3
	ldr	r0, [fp, #-8]
	bl	showjob
	ldr	r3, [fp, #-28]
	add	r3, r3, #4
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1615
	b	.L1616
.L1614:
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-8]
	bl	showjobs
.L1616:
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1619:
	.align	2
.L1618:
	.word	.LC145
	.word	out1
	.word	argptr
	.size	jobscmd, .-jobscmd
	.align	2
	.global	showjobs
	.syntax unified
	.arm
	.fpu softvfp
	.type	showjobs, %function
showjobs:
	@ 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]
	b	.L1621
.L1622:
	nop
.L1621:
	mov	r1, #0
	mov	r0, #0
	bl	dowait
	mov	r3, r0
	cmp	r3, #0
	bgt	.L1622
	ldr	r3, .L1627
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	b	.L1623
.L1626:
	ldr	r3, [fp, #-20]
	and	r3, r3, #8
	cmp	r3, #0
	beq	.L1624
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3, #23]	@ zero_extendqisi2
	and	r3, r3, #16
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L1625
.L1624:
	ldr	r2, [fp, #-20]
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-16]
	bl	showjob
.L1625:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #24]
	str	r3, [fp, #-8]
.L1623:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L1626
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1628:
	.align	2
.L1627:
	.word	curjob
	.size	showjobs, .-showjobs
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	freejob, %function
freejob:
	@ 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, .L1636
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L1636
	str	r3, [r2]
	ldr	r3, [fp, #-16]
	ldrh	r3, [r3, #20]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-12]
	b	.L1630
.L1632:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	ldr	r2, .L1636+4
	cmp	r3, r2
	beq	.L1631
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	free
.L1631:
	ldr	r3, [fp, #-12]
	add	r3, r3, #12
	str	r3, [fp, #-12]
.L1630:
	ldr	r3, [fp, #-8]
	sub	r3, r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bge	.L1632
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	beq	.L1633
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	mov	r0, r3
	bl	free
.L1633:
	ldr	r2, [fp, #-16]
	ldrb	r3, [r2, #23]
	bic	r3, r3, #8
	strb	r3, [r2, #23]
	mov	r1, #2
	ldr	r0, [fp, #-16]
	bl	set_curjob
	ldr	r3, .L1636
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L1636
	str	r3, [r2]
	ldr	r3, .L1636
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1635
	ldr	r3, .L1636+8
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1635
	bl	onint
.L1635:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1637:
	.align	2
.L1636:
	.word	suppressint
	.word	nullstr
	.word	intpending
	.size	freejob, .-freejob
	.align	2
	.global	waitcmd
	.syntax unified
	.arm
	.fpu softvfp
	.type	waitcmd, %function
waitcmd:
	@ 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]
	ldr	r0, .L1668
	bl	nextopt
	mov	r3, #0
	str	r3, [fp, #-16]
	ldr	r3, .L1668+4
	ldr	r3, [r3]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1639
.L1647:
	ldr	r3, .L1668+8
	ldr	r3, [r3]
	str	r3, [fp, #-12]
.L1644:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L1662
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3, #22]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L1663
	ldr	r2, [fp, #-12]
	ldrb	r3, [r2, #23]
	orr	r3, r3, #4
	strb	r3, [r2, #23]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #24]
	str	r3, [fp, #-12]
	b	.L1644
.L1663:
	nop
	mov	r1, #0
	mov	r0, #2
	bl	dowait
	mov	r3, r0
	cmp	r3, #0
	ble	.L1664
	b	.L1647
.L1639:
	mov	r3, #127
	str	r3, [fp, #-16]
.L1658:
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #37
	beq	.L1648
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	mov	r0, r3
	bl	number
	str	r0, [fp, #-8]
	ldr	r3, .L1668+8
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	b	.L1649
.L1666:
	nop
	ldr	r3, [fp, #-20]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-20]
	ldrh	r3, [r3, #20]
	mov	r1, r3
	mov	r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r1
	lsl	r3, r3, #2
	sub	r3, r3, #12
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	beq	.L1665
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #24]
	str	r3, [fp, #-20]
.L1649:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L1666
	b	.L1653
.L1648:
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	mov	r1, #0
	mov	r0, r3
	bl	getjob
	str	r0, [fp, #-20]
	b	.L1656
.L1665:
	nop
	b	.L1656
.L1657:
	mov	r1, #0
	mov	r0, #2
	bl	dowait
	mov	r3, r0
	cmp	r3, #0
	ble	.L1667
.L1656:
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3, #22]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L1657
	ldr	r2, [fp, #-20]
	ldrb	r3, [r2, #23]
	orr	r3, r3, #4
	strb	r3, [r2, #23]
	ldr	r0, [fp, #-20]
	bl	getstatus
	str	r0, [fp, #-16]
.L1653:
	ldr	r3, [fp, #-28]
	add	r3, r3, #4
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1658
	b	.L1641
.L1662:
	nop
.L1641:
	ldr	r3, [fp, #-16]
	b	.L1661
.L1664:
	nop
	b	.L1646
.L1667:
	nop
.L1646:
	ldr	r3, .L1668+12
	ldr	r3, [r3]
	add	r3, r3, #128
	str	r3, [fp, #-16]
	b	.L1641
.L1661:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1669:
	.align	2
.L1668:
	.word	nullstr
	.word	argptr
	.word	curjob
	.word	pendingsigs
	.size	waitcmd, .-waitcmd
	.section	.rodata
	.align	2
.LC146:
	.ascii	"No such job: %s\000"
	.align	2
.LC147:
	.ascii	"No current job\000"
	.align	2
.LC148:
	.ascii	"No previous job\000"
	.align	2
.LC149:
	.ascii	"%s: ambiguous\000"
	.align	2
.LC150:
	.ascii	"job %s not created under job control\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	getjob, %function
getjob:
	@ 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]
	str	r1, [fp, #-44]
	ldr	r3, .L1701
	str	r3, [fp, #-24]
	ldr	r3, .L1701+4
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-40]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L1692
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #37
	bne	.L1693
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L1694
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L1676
	ldr	r3, [fp, #-12]
	cmp	r3, #43
	beq	.L1695
	ldr	r3, [fp, #-12]
	cmp	r3, #37
	bne	.L1677
	b	.L1695
.L1692:
	nop
	b	.L1672
.L1694:
	nop
	b	.L1672
.L1695:
	nop
.L1672:
	ldr	r3, .L1701+8
	str	r3, [fp, #-24]
	b	.L1678
.L1677:
	ldr	r3, [fp, #-12]
	cmp	r3, #45
	bne	.L1676
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	beq	.L1679
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #24]
	str	r3, [fp, #-32]
.L1679:
	ldr	r3, .L1701+12
	str	r3, [fp, #-24]
.L1678:
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L1696
	b	.L1674
.L1676:
	ldr	r0, [fp, #-20]
	bl	is_number
	mov	r3, r0
	cmp	r3, #0
	beq	.L1682
	ldr	r0, [fp, #-20]
	bl	atoi
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, .L1701+16
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	bcs	.L1682
	ldr	r3, .L1701+20
	ldr	r1, [r3]
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #2
	sub	r3, r3, #28
	add	r3, r1, r3
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	ldrb	r3, [r3, #23]	@ zero_extendqisi2
	and	r3, r3, #8
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L1697
	b	.L1681
.L1682:
	ldr	r3, .L1701+24
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #63
	bne	.L1684
	ldr	r3, .L1701+28
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L1684:
	mov	r3, #0
	str	r3, [fp, #-28]
.L1688:
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	beq	.L1698
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #12]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r1, [fp, #-20]
	mov	r0, r2
	blx	r3
	mov	r3, r0
	cmp	r3, #0
	beq	.L1686
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L1699
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-28]
	ldr	r3, .L1701+32
	str	r3, [fp, #-24]
.L1686:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #24]
	str	r3, [fp, #-32]
	b	.L1688
.L1696:
	nop
.L1681:
	ldr	r3, .L1701+36
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	beq	.L1689
	ldr	r3, [fp, #-32]
	ldrb	r3, [r3, #23]	@ zero_extendqisi2
	and	r3, r3, #2
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L1700
.L1689:
	ldr	r3, [fp, #-32]
	b	.L1691
.L1693:
	nop
	b	.L1674
.L1697:
	nop
	b	.L1674
.L1698:
	nop
	b	.L1674
.L1699:
	nop
	b	.L1674
.L1700:
	nop
.L1674:
	ldr	r1, [fp, #-40]
	ldr	r0, [fp, #-24]
	bl	sh_error
.L1691:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1702:
	.align	2
.L1701:
	.word	.LC146
	.word	curjob
	.word	.LC147
	.word	.LC148
	.word	njobs
	.word	jobtab
	.word	prefix
	.word	strstr
	.word	.LC149
	.word	.LC150
	.size	getjob, .-getjob
	.align	2
	.global	makejob
	.syntax unified
	.arm
	.fpu softvfp
	.type	makejob, %function
makejob:
	@ 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, .L1718
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r3, .L1718+4
	ldr	r3, [r3]
	str	r3, [fp, #-8]
.L1711:
	ldr	r3, [fp, #-12]
	sub	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bge	.L1704
	bl	growjobtab
	str	r0, [fp, #-8]
	b	.L1705
.L1704:
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3, #23]	@ zero_extendqisi2
	and	r3, r3, #8
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L1715
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3, #22]	@ zero_extendqisi2
	cmp	r3, #2
	bne	.L1716
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3, #23]	@ zero_extendqisi2
	and	r3, r3, #4
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L1716
	ldr	r3, .L1718+8
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1717
	ldr	r0, [fp, #-8]
	bl	freejob
	b	.L1705
.L1716:
	nop
	b	.L1709
.L1717:
	nop
.L1709:
	ldr	r3, [fp, #-8]
	add	r3, r3, #28
	str	r3, [fp, #-8]
	b	.L1711
.L1715:
	nop
.L1705:
	mov	r2, #28
	mov	r1, #0
	ldr	r0, [fp, #-8]
	bl	memset
	ldr	r3, .L1718+8
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1712
	ldr	r2, [fp, #-8]
	ldrb	r3, [r2, #23]
	orr	r3, r3, #2
	strb	r3, [r2, #23]
.L1712:
	ldr	r3, .L1718+12
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #24]
	ldr	r2, .L1718+12
	ldr	r3, [fp, #-8]
	str	r3, [r2]
	ldr	r2, [fp, #-8]
	ldrb	r3, [r2, #23]
	orr	r3, r3, #8
	strb	r3, [r2, #23]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-20]
	cmp	r3, #1
	ble	.L1713
	ldr	r2, [fp, #-20]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r0, r3
	bl	ckmalloc
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3, #12]
.L1713:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1719:
	.align	2
.L1718:
	.word	njobs
	.word	jobtab
	.word	jobctl
	.word	curjob
	.size	makejob, .-makejob
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	growjobtab, %function
growjobtab:
	@ 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, .L1727
	ldr	r2, [r3]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #2
	str	r3, [fp, #-16]
	ldr	r3, .L1727+4
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-16]
	add	r3, r3, #112
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	ckrealloc
	str	r0, [fp, #-12]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-24]
	sub	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L1721
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-20]
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	add	r3, r2, r3
	str	r3, [fp, #-24]
	b	.L1722
.L1724:
	ldr	r3, [fp, #-20]
	sub	r3, r3, #28
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-24]
	sub	r3, r3, #28
	str	r3, [fp, #-24]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-20]
	add	r3, r2, r3
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L1723
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-20]
	add	r3, r2, r3
	ldr	r1, [r3, #12]
	ldr	r2, [fp, #-8]
	ldr	r0, [fp, #-12]
	ldr	r3, [fp, #-20]
	add	r3, r0, r3
	add	r2, r1, r2
	str	r2, [r3, #12]
.L1723:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-20]
	add	r3, r2, r3
	ldr	r3, [r3, #24]
	cmp	r3, #0
	beq	.L1722
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-20]
	add	r3, r2, r3
	ldr	r1, [r3, #24]
	ldr	r2, [fp, #-8]
	ldr	r0, [fp, #-12]
	ldr	r3, [fp, #-20]
	add	r3, r0, r3
	add	r2, r1, r2
	str	r2, [r3, #24]
.L1722:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L1724
	ldr	r3, .L1727+8
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1721
	ldr	r3, .L1727+8
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	ldr	r2, .L1727+8
	str	r3, [r2]
.L1721:
	ldr	r3, .L1727
	ldr	r3, [r3]
	add	r3, r3, #4
	ldr	r2, .L1727
	str	r3, [r2]
	ldr	r2, .L1727+4
	ldr	r3, [fp, #-12]
	str	r3, [r2]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	add	r3, r3, #84
	str	r3, [fp, #-24]
.L1725:
	ldr	r2, [fp, #-24]
	ldrb	r3, [r2, #23]
	bic	r3, r3, #8
	strb	r3, [r2, #23]
	ldr	r3, [fp, #-24]
	sub	r3, r3, #28
	str	r3, [fp, #-24]
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-12]
	cmp	r2, r3
	bcs	.L1725
	ldr	r3, [fp, #-12]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1728:
	.align	2
.L1727:
	.word	njobs
	.word	jobtab
	.word	curjob
	.size	growjobtab, .-growjobtab
	.section	.rodata
	.align	2
.LC151:
	.ascii	"/dev/null\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	forkchild, %function
forkchild:
	@ 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, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, .L1738
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, .L1738
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L1738
	str	r3, [r2]
	bl	closescript
	bl	clear_traps
	ldr	r3, .L1738+4
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	cmp	r3, #2
	beq	.L1730
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3, #23]	@ zero_extendqisi2
	and	r3, r3, #2
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L1730
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L1730
	ldr	r3, [fp, #-16]
	ldrh	r3, [r3, #20]
	cmp	r3, #0
	bne	.L1731
	bl	getpid
	str	r0, [fp, #-12]
	b	.L1732
.L1731:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	ldr	r3, [r3]
	str	r3, [fp, #-12]
.L1732:
	ldr	r1, [fp, #-12]
	mov	r0, #0
	bl	setpgid
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L1733
	ldr	r3, .L1738+8
	ldr	r3, [r3]
	ldr	r1, [fp, #-12]
	mov	r0, r3
	bl	xtcsetpgrp
.L1733:
	mov	r0, #20
	bl	setsignal
	mov	r0, #22
	bl	setsignal
	b	.L1734
.L1730:
	ldr	r3, [fp, #-24]
	cmp	r3, #1
	bne	.L1734
	mov	r0, #2
	bl	ignoresig
	mov	r0, #3
	bl	ignoresig
	ldr	r3, [fp, #-16]
	ldrh	r3, [r3, #20]
	cmp	r3, #0
	bne	.L1734
	mov	r0, #0
	bl	close
	mov	r1, #0
	ldr	r0, .L1738+12
	bl	open
	mov	r3, r0
	cmp	r3, #0
	beq	.L1734
	ldr	r1, .L1738+12
	ldr	r0, .L1738+16
	bl	sh_error
.L1734:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L1735
	ldr	r3, .L1738+20
	ldrb	r3, [r3, #3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L1735
	mov	r0, #2
	bl	setsignal
	mov	r0, #3
	bl	setsignal
	mov	r0, #15
	bl	setsignal
.L1735:
	ldr	r3, .L1738+24
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	b	.L1736
.L1737:
	ldr	r0, [fp, #-16]
	bl	freejob
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #24]
	str	r3, [fp, #-16]
.L1736:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L1737
	ldr	r3, .L1738+28
	mov	r2, #0
	str	r2, [r3]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1739:
	.align	2
.L1738:
	.word	shlvl
	.word	jobctl
	.word	ttyfd
	.word	.LC151
	.word	.LC125
	.word	optlist
	.word	curjob
	.word	jobless
	.size	forkchild, .-forkchild
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	forkparent, %function
forkparent:
	@ 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, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L1741
	nop
.L1743:
	ldr	r3, .L1749
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1742
	mov	r1, #0
	mov	r0, #0
	bl	dowait
	mov	r3, r0
	cmp	r3, #0
	bgt	.L1743
.L1742:
	ldr	r3, .L1749
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L1749
	str	r3, [r2]
	b	.L1740
.L1741:
	ldr	r3, [fp, #-24]
	cmp	r3, #2
	beq	.L1745
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3, #23]	@ zero_extendqisi2
	and	r3, r3, #2
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L1745
	ldr	r3, [fp, #-16]
	ldrh	r3, [r3, #20]
	cmp	r3, #0
	bne	.L1746
	ldr	r3, [fp, #-28]
	str	r3, [fp, #-12]
	b	.L1747
.L1746:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	ldr	r3, [r3]
	str	r3, [fp, #-12]
.L1747:
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-28]
	bl	setpgid
.L1745:
	ldr	r3, [fp, #-24]
	cmp	r3, #1
	bne	.L1748
	ldr	r2, .L1749+4
	ldr	r3, [fp, #-28]
	str	r3, [r2]
	mov	r1, #1
	ldr	r0, [fp, #-16]
	bl	set_curjob
.L1748:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L1740
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-16]
	ldrh	r3, [r3, #20]
	add	r1, r3, #1
	lsl	r1, r1, #16
	lsr	r0, r1, #16
	ldr	r1, [fp, #-16]
	strh	r0, [r1, #20]	@ movhi
	mov	r1, r3
	mov	r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r1
	lsl	r3, r3, #2
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-28]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	mvn	r2, #0
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	ldr	r2, .L1749+8
	str	r2, [r3, #8]
	ldr	r3, .L1749+12
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1740
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L1740
	ldr	r0, [fp, #-20]
	bl	commandtext
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
.L1740:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1750:
	.align	2
.L1749:
	.word	jobless
	.word	backgndpid
	.word	nullstr
	.word	jobctl
	.size	forkparent, .-forkparent
	.section	.rodata
	.align	2
.LC152:
	.ascii	"Cannot fork\000"
	.text
	.align	2
	.global	forkshell
	.syntax unified
	.arm
	.fpu softvfp
	.type	forkshell, %function
forkshell:
	@ 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, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	bl	fork
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bge	.L1752
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L1753
	ldr	r0, [fp, #-16]
	bl	freejob
.L1753:
	ldr	r0, .L1757
	bl	sh_error
.L1752:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L1754
	ldr	r2, [fp, #-24]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	forkchild
	b	.L1755
.L1754:
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-24]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	forkparent
.L1755:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1758:
	.align	2
.L1757:
	.word	.LC152
	.size	forkshell, .-forkshell
	.align	2
	.global	waitforjob
	.syntax unified
	.arm
	.fpu softvfp
	.type	waitforjob, %function
waitforjob:
	@ 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]
	b	.L1760
.L1761:
	ldr	r1, [fp, #-16]
	mov	r0, #1
	bl	dowait
.L1760:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3, #22]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L1761
	ldr	r0, [fp, #-16]
	bl	getstatus
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3, #23]	@ zero_extendqisi2
	and	r3, r3, #2
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L1762
	ldr	r3, .L1765
	ldr	r3, [r3]
	ldr	r2, .L1765+4
	ldr	r2, [r2]
	mov	r1, r2
	mov	r0, r3
	bl	xtcsetpgrp
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3, #23]	@ zero_extendqisi2
	and	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L1762
	mov	r0, #2
	bl	raise
.L1762:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3, #22]	@ zero_extendqisi2
	cmp	r3, #2
	bne	.L1763
	ldr	r0, [fp, #-16]
	bl	freejob
.L1763:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1766:
	.align	2
.L1765:
	.word	ttyfd
	.word	rootpid
	.size	waitforjob, .-waitforjob
	.section	.rodata
	.align	2
.LC153:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	dowait, %function
dowait:
	@ args = 0, pretend = 0, frame = 96
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #96
	str	r0, [fp, #-96]
	str	r1, [fp, #-100]
	ldr	r3, .L1793
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-84]
	ldr	r3, .L1793+4
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L1793+4
	str	r3, [r2]
	sub	r3, fp, #92
	mov	r1, r3
	ldr	r0, [fp, #-96]
	bl	waitproc
	str	r0, [fp, #-72]
	ldr	r3, [fp, #-72]
	cmp	r3, #0
	ble	.L1787
	ldr	r3, .L1793+8
	ldr	r3, [r3]
	str	r3, [fp, #-88]
	b	.L1770
.L1779:
	ldr	r3, [fp, #-88]
	ldrb	r3, [r3, #22]	@ zero_extendqisi2
	cmp	r3, #2
	beq	.L1788
	mov	r3, #2
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-88]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-88]
	ldrh	r3, [r3, #20]
	mov	r1, r3
	mov	r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r1
	lsl	r3, r3, #2
	add	r3, r2, r3
	str	r3, [fp, #-68]
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-76]
.L1777:
	ldr	r3, [fp, #-76]
	ldr	r3, [r3]
	ldr	r2, [fp, #-72]
	cmp	r2, r3
	bne	.L1773
	ldr	r2, [fp, #-92]
	ldr	r3, [fp, #-76]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-88]
	str	r3, [fp, #-84]
.L1773:
	ldr	r3, [fp, #-76]
	ldr	r3, [r3, #4]
	cmn	r3, #1
	bne	.L1774
	mov	r3, #0
	str	r3, [fp, #-80]
.L1774:
	ldr	r3, [fp, #-80]
	cmp	r3, #0
	beq	.L1789
	ldr	r3, [fp, #-76]
	ldr	r3, [r3, #4]
	and	r3, r3, #255
	cmp	r3, #127
	bne	.L1776
	ldr	r3, [fp, #-76]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-88]
	str	r2, [r3, #16]
	mov	r3, #1
	str	r3, [fp, #-80]
	b	.L1776
.L1789:
	nop
.L1776:
	ldr	r3, [fp, #-76]
	add	r3, r3, #12
	str	r3, [fp, #-76]
	ldr	r2, [fp, #-76]
	ldr	r3, [fp, #-68]
	cmp	r2, r3
	bcc	.L1777
	ldr	r3, [fp, #-84]
	cmp	r3, #0
	bne	.L1790
	b	.L1772
.L1788:
	nop
.L1772:
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #24]
	str	r3, [fp, #-88]
.L1770:
	ldr	r3, [fp, #-88]
	cmp	r3, #0
	bne	.L1779
	ldr	r3, [fp, #-92]
	and	r3, r3, #255
	cmp	r3, #127
	beq	.L1791
	ldr	r3, .L1793+12
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L1793+12
	str	r3, [r2]
	b	.L1791
.L1790:
	nop
.L1778:
	ldr	r3, [fp, #-80]
	cmp	r3, #0
	beq	.L1792
	ldr	r2, [fp, #-84]
	ldrb	r3, [r2, #23]
	orr	r3, r3, #16
	strb	r3, [r2, #23]
	ldr	r3, [fp, #-84]
	ldrb	r3, [r3, #22]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-80]
	cmp	r3, r2
	beq	.L1792
	ldr	r3, [fp, #-80]
	and	r2, r3, #255
	ldr	r3, [fp, #-84]
	strb	r2, [r3, #22]
	ldr	r3, [fp, #-80]
	cmp	r3, #1
	bne	.L1792
	mov	r1, #0
	ldr	r0, [fp, #-84]
	bl	set_curjob
	b	.L1769
.L1787:
	nop
	b	.L1769
.L1791:
	nop
	b	.L1769
.L1792:
	nop
.L1769:
	ldr	r3, .L1793+4
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L1793+4
	str	r3, [r2]
	ldr	r3, .L1793+4
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1781
	ldr	r3, .L1793+16
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1781
	bl	onint
.L1781:
	ldr	r3, [fp, #-84]
	cmp	r3, #0
	beq	.L1782
	ldr	r2, [fp, #-84]
	ldr	r3, [fp, #-100]
	cmp	r2, r3
	bne	.L1782
	ldr	r1, [fp, #-92]
	sub	r3, fp, #60
	mov	r2, #1
	mov	r0, r3
	bl	sprint_status
	str	r0, [fp, #-64]
	ldr	r3, [fp, #-64]
	cmp	r3, #0
	beq	.L1782
	sub	r2, fp, #60
	ldr	r3, [fp, #-64]
	add	r3, r2, r3
	mov	r2, #10
	strb	r2, [r3]
	ldr	r3, [fp, #-64]
	add	r3, r3, #1
	sub	r2, fp, #4
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3, #-56]
	ldr	r3, .L1793+20
	ldr	r2, [r3]
	sub	r3, fp, #60
	mov	r1, r2
	mov	r0, r3
	bl	outstr
.L1782:
	ldr	r3, [fp, #-72]
	ldr	r2, .L1793
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L1785
	bl	__stack_chk_fail
.L1785:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1794:
	.align	2
.L1793:
	.word	.LC153
	.word	suppressint
	.word	curjob
	.word	jobless
	.word	intpending
	.word	out2
	.size	dowait, .-dowait
	.section	.rodata
	.align	2
.LC154:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	waitproc, %function
waitproc:
	@ 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]
	str	r1, [fp, #-284]
	ldr	r3, .L1804
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-280]
	cmp	r3, #1
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-272]
	ldr	r3, .L1804+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1801
	ldr	r3, [fp, #-272]
	orr	r3, r3, #2
	str	r3, [fp, #-272]
.L1801:
	ldr	r3, .L1804+8
	mov	r2, #0
	str	r2, [r3]
	mov	r2, #0
	ldr	r1, [fp, #-272]
	ldr	r0, [fp, #-284]
	bl	wait3
	str	r0, [fp, #-268]
	ldr	r3, [fp, #-268]
	cmp	r3, #0
	bne	.L1797
	ldr	r3, [fp, #-280]
	cmp	r3, #0
	beq	.L1797
	mov	r3, #0
	str	r3, [fp, #-280]
	sub	r3, fp, #264
	mov	r0, r3
	bl	sigfillset
	sub	r2, fp, #136
	sub	r3, fp, #264
	mov	r1, r3
	mov	r0, #2
	bl	sigprocmask
	b	.L1798
.L1800:
	sub	r3, fp, #136
	mov	r0, r3
	bl	sigsuspend
.L1798:
	ldr	r3, .L1804+8
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1799
	ldr	r3, .L1804+12
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1800
.L1799:
	bl	sigclearmask
	ldr	r3, .L1804+8
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1801
.L1797:
	ldr	r3, [fp, #-268]
	ldr	r2, .L1804
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L1803
	bl	__stack_chk_fail
.L1803:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1805:
	.align	2
.L1804:
	.word	.LC154
	.word	jobctl
	.word	gotsigchld
	.word	pendingsigs
	.size	waitproc, .-waitproc
	.comm	job_warning,4,4
	.section	.rodata
	.align	2
.LC155:
	.ascii	"You have stopped jobs.\012\000"
	.text
	.align	2
	.global	stoppedjobs
	.syntax unified
	.arm
	.fpu softvfp
	.type	stoppedjobs, %function
stoppedjobs:
	@ 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]
	ldr	r3, .L1812
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1810
	ldr	r3, .L1812+4
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L1811
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3, #22]	@ zero_extendqisi2
	cmp	r3, #1
	bne	.L1811
	ldr	r3, .L1812+8
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L1812+12
	bl	outstr
	ldr	r3, .L1812
	mov	r2, #2
	str	r2, [r3]
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
	b	.L1808
.L1810:
	nop
	b	.L1808
.L1811:
	nop
.L1808:
	ldr	r3, [fp, #-12]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1813:
	.align	2
.L1812:
	.word	job_warning
	.word	curjob
	.word	out2
	.word	.LC155
	.size	stoppedjobs, .-stoppedjobs
	.local	cmdnextc
	.comm	cmdnextc,4,4
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	commandtext, %function
commandtext:
	@ 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, .L1816
	ldr	r3, [r3]
	ldr	r2, .L1816+4
	str	r3, [r2]
	ldr	r0, [fp, #-16]
	bl	cmdtxt
	ldr	r3, .L1816
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r0, [fp, #-8]
	bl	savestr
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1817:
	.align	2
.L1816:
	.word	stacknxt
	.word	cmdnextc
	.size	commandtext, .-commandtext
	.section	.rodata
	.align	2
.LC156:
	.ascii	" | \000"
	.align	2
.LC157:
	.ascii	"; \000"
	.align	2
.LC158:
	.ascii	" && \000"
	.align	2
.LC159:
	.ascii	" || \000"
	.align	2
.LC160:
	.ascii	"if \000"
	.align	2
.LC161:
	.ascii	"; then \000"
	.align	2
.LC162:
	.ascii	"; else \000"
	.align	2
.LC163:
	.ascii	"; fi\000"
	.align	2
.LC164:
	.ascii	"(\000"
	.align	2
.LC165:
	.ascii	")\000"
	.align	2
.LC166:
	.ascii	"while \000"
	.align	2
.LC167:
	.ascii	"until \000"
	.align	2
.LC168:
	.ascii	"; done\000"
	.align	2
.LC169:
	.ascii	"; do \000"
	.align	2
.LC170:
	.ascii	"for \000"
	.align	2
.LC171:
	.ascii	" in \000"
	.align	2
.LC172:
	.ascii	"() { ... }\000"
	.align	2
.LC173:
	.ascii	"<<...\000"
	.align	2
.LC174:
	.ascii	"case \000"
	.align	2
.LC175:
	.ascii	") \000"
	.align	2
.LC176:
	.ascii	";; \000"
	.align	2
.LC177:
	.ascii	">\000"
	.align	2
.LC178:
	.ascii	">|\000"
	.align	2
.LC179:
	.ascii	">>\000"
	.align	2
.LC180:
	.ascii	">&\000"
	.align	2
.LC181:
	.ascii	"<\000"
	.align	2
.LC182:
	.ascii	"<&\000"
	.align	2
.LC183:
	.ascii	"<>\000"
	.align	2
.LC184:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	cmdtxt, %function
cmdtxt:
	@ 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]
	ldr	r3, .L1866
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	beq	.L1864
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	cmp	r3, #25
	ldrls	pc, [pc, r3, asl #2]
	b	.L1821
.L1823:
	.word	.L1844
	.word	.L1821
	.word	.L1843
	.word	.L1843
	.word	.L1842
	.word	.L1841
	.word	.L1840
	.word	.L1839
	.word	.L1838
	.word	.L1837
	.word	.L1836
	.word	.L1835
	.word	.L1834
	.word	.L1821
	.word	.L1833
	.word	.L1832
	.word	.L1831
	.word	.L1830
	.word	.L1829
	.word	.L1828
	.word	.L1827
	.word	.L1826
	.word	.L1825
	.word	.L1824
	.word	.L1824
	.word	.L1822
.L1821:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-20]
.L1847:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	cmdtxt
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L1865
	ldr	r0, .L1866+4
	bl	cmdputs
	b	.L1847
.L1865:
	nop
	b	.L1818
.L1839:
	ldr	r3, .L1866+8
	str	r3, [fp, #-16]
	b	.L1849
.L1841:
	ldr	r3, .L1866+12
	str	r3, [fp, #-16]
	b	.L1849
.L1840:
	ldr	r3, .L1866+16
	str	r3, [fp, #-16]
.L1849:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	cmdtxt
	ldr	r0, [fp, #-16]
	bl	cmdputs
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-32]
	b	.L1850
.L1843:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-32]
	b	.L1850
.L1822:
	ldr	r0, .L1866+20
	bl	cmdputs
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-32]
.L1850:
	ldr	r0, [fp, #-32]
	bl	cmdtxt
	b	.L1818
.L1838:
	ldr	r0, .L1866+24
	bl	cmdputs
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	cmdtxt
	ldr	r0, .L1866+28
	bl	cmdputs
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	beq	.L1851
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	cmdtxt
	ldr	r0, .L1866+32
	bl	cmdputs
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-32]
	b	.L1852
.L1851:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-32]
.L1852:
	ldr	r3, .L1866+36
	str	r3, [fp, #-16]
	b	.L1853
.L1842:
	ldr	r0, .L1866+40
	bl	cmdputs
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-32]
	ldr	r3, .L1866+44
	str	r3, [fp, #-16]
	b	.L1853
.L1837:
	ldr	r3, .L1866+48
	str	r3, [fp, #-16]
	b	.L1854
.L1836:
	ldr	r3, .L1866+52
	str	r3, [fp, #-16]
.L1854:
	ldr	r0, [fp, #-16]
	bl	cmdputs
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	cmdtxt
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-32]
	ldr	r3, .L1866+56
	str	r3, [fp, #-16]
.L1855:
	ldr	r0, .L1866+60
	bl	cmdputs
.L1853:
	ldr	r0, [fp, #-32]
	bl	cmdtxt
	b	.L1856
.L1835:
	ldr	r0, .L1866+64
	bl	cmdputs
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #16]
	mov	r0, r3
	bl	cmdputs
	ldr	r0, .L1866+68
	bl	cmdputs
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #8]
	mov	r1, #1
	mov	r0, r3
	bl	cmdlist
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-32]
	ldr	r3, .L1866+56
	str	r3, [fp, #-16]
	b	.L1855
.L1833:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	cmdputs
	ldr	r3, .L1866+72
	str	r3, [fp, #-16]
	b	.L1856
.L1844:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #12]
	mov	r1, #1
	mov	r0, r3
	bl	cmdlist
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #16]
	mov	r1, #0
	mov	r0, r3
	bl	cmdlist
	b	.L1818
.L1832:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-16]
.L1856:
	ldr	r0, [fp, #-16]
	bl	cmdputs
	b	.L1818
.L1824:
	ldr	r3, .L1866+76
	str	r3, [fp, #-16]
	b	.L1856
.L1834:
	ldr	r0, .L1866+80
	bl	cmdputs
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #8]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	cmdputs
	ldr	r0, .L1866+68
	bl	cmdputs
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-24]
	b	.L1857
.L1858:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	cmdtxt
	ldr	r0, .L1866+84
	bl	cmdputs
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #12]
	mov	r0, r3
	bl	cmdtxt
	ldr	r0, .L1866+88
	bl	cmdputs
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-24]
.L1857:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L1858
	ldr	r3, .L1866+92
	str	r3, [fp, #-16]
	b	.L1856
.L1831:
	ldr	r3, .L1866+96
	str	r3, [fp, #-16]
	b	.L1859
.L1830:
	ldr	r3, .L1866+100
	str	r3, [fp, #-16]
	b	.L1859
.L1827:
	ldr	r3, .L1866+104
	str	r3, [fp, #-16]
	b	.L1859
.L1826:
	ldr	r3, .L1866+108
	str	r3, [fp, #-16]
	b	.L1859
.L1829:
	ldr	r3, .L1866+112
	str	r3, [fp, #-16]
	b	.L1859
.L1825:
	ldr	r3, .L1866+116
	str	r3, [fp, #-16]
	b	.L1859
.L1828:
	ldr	r3, .L1866+120
	str	r3, [fp, #-16]
.L1859:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #8]
	and	r3, r3, #255
	add	r3, r3, #48
	and	r3, r3, #255
	strb	r3, [fp, #-12]
	mov	r3, #0
	strb	r3, [fp, #-11]
	sub	r3, fp, #12
	mov	r0, r3
	bl	cmdputs
	ldr	r0, [fp, #-16]
	bl	cmdputs
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	cmp	r3, #21
	beq	.L1860
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	cmp	r3, #22
	bne	.L1861
.L1860:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #12]
	and	r3, r3, #255
	add	r3, r3, #48
	and	r3, r3, #255
	strb	r3, [fp, #-12]
	sub	r3, fp, #12
	str	r3, [fp, #-16]
	b	.L1856
.L1861:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-32]
	b	.L1850
.L1864:
	nop
.L1818:
	ldr	r3, .L1866
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L1862
	bl	__stack_chk_fail
.L1862:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1867:
	.align	2
.L1866:
	.word	.LC184
	.word	.LC156
	.word	.LC157
	.word	.LC158
	.word	.LC159
	.word	.LC29
	.word	.LC160
	.word	.LC161
	.word	.LC162
	.word	.LC163
	.word	.LC164
	.word	.LC165
	.word	.LC166
	.word	.LC167
	.word	.LC168
	.word	.LC169
	.word	.LC170
	.word	.LC171
	.word	.LC172
	.word	.LC173
	.word	.LC174
	.word	.LC175
	.word	.LC176
	.word	.LC35
	.word	.LC177
	.word	.LC178
	.word	.LC179
	.word	.LC180
	.word	.LC181
	.word	.LC182
	.word	.LC183
	.size	cmdtxt, .-cmdtxt
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	cmdlist, %function
cmdlist:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	b	.L1869
.L1872:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L1870
	ldr	r0, .L1873
	bl	cmdputs
.L1870:
	ldr	r0, [fp, #-8]
	bl	cmdtxt
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L1871
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L1871
	ldr	r0, .L1873
	bl	cmdputs
.L1871:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-8]
.L1869:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L1872
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1874:
	.align	2
.L1873:
	.word	spcstr
	.size	cmdlist, .-cmdlist
	.section	.rodata
	.align	2
.LC185:
	.ascii	"${#\000"
	.align	2
.LC186:
	.ascii	"${\000"
	.align	2
.LC187:
	.ascii	"\"}\000"
	.align	2
.LC188:
	.ascii	"$(...)\000"
	.align	2
.LC189:
	.ascii	"$((\000"
	.align	2
.LC190:
	.ascii	"))\000"
	.align	2
.LC191:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	cmdputs, %function
cmdputs:
	@ 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, .L1912
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #32
	strh	r3, [fp, #-12]	@ movhi
	mov	r3, #0
	str	r3, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-16]
	ldr	r0, [fp, #-40]
	bl	strlen
	mov	r3, r0
	add	r3, r3, #1
	lsl	r3, r3, #3
	ldr	r2, .L1912+4
	ldr	r2, [r2]
	mov	r1, r2
	mov	r0, r3
	bl	makestrspace
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-40]
	str	r3, [fp, #-32]
	b	.L1876
.L1905:
	mov	r3, #0
	str	r3, [fp, #-28]
	ldrsb	r3, [fp, #-33]
	cmp	r3, #92
	beq	.L1877
	cmp	r3, #92
	bgt	.L1908
	cmn	r3, #120
	bgt	.L1879
	cmn	r3, #127
	bge	.L1880
	b	.L1908
.L1891:
	sub	r3, r3, #34
	cmp	r3, #27
	ldrls	pc, [pc, r3, asl #2]
	b	.L1908
.L1882:
	.word	.L1877
	.word	.L1908
	.word	.L1877
	.word	.L1908
	.word	.L1908
	.word	.L1877
	.word	.L1908
	.word	.L1908
	.word	.L1908
	.word	.L1908
	.word	.L1908
	.word	.L1908
	.word	.L1908
	.word	.L1908
	.word	.L1908
	.word	.L1908
	.word	.L1908
	.word	.L1908
	.word	.L1908
	.word	.L1908
	.word	.L1908
	.word	.L1908
	.word	.L1908
	.word	.L1908
	.word	.L1908
	.word	.L1908
	.word	.L1908
	.word	.L1881
.L1880:
	add	r3, r3, #127
	cmp	r3, #7
	ldrls	pc, [pc, r3, asl #2]
	b	.L1908
.L1884:
	.word	.L1890
	.word	.L1889
	.word	.L1888
	.word	.L1887
	.word	.L1908
	.word	.L1886
	.word	.L1885
	.word	.L1883
.L1879:
	cmp	r3, #61
	bgt	.L1908
	cmp	r3, #34
	bge	.L1891
	b	.L1908
.L1890:
	ldr	r3, [fp, #-32]
	add	r2, r3, #1
	str	r2, [fp, #-32]
	ldrb	r3, [r3]	@ zero_extendqisi2
	strb	r3, [fp, #-33]
	b	.L1892
.L1889:
	ldr	r3, [fp, #-32]
	add	r2, r3, #1
	str	r2, [fp, #-32]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	and	r3, r3, #15
	cmp	r3, #10
	bne	.L1893
	ldr	r3, .L1912+8
	str	r3, [fp, #-28]
	b	.L1895
.L1893:
	ldr	r3, .L1912+12
	str	r3, [fp, #-28]
	b	.L1895
.L1888:
	ldr	r3, [fp, #-16]
	and	r3, r3, #1
	cmp	r3, #0
	bne	.L1896
	ldr	r3, .L1912+16
	b	.L1897
.L1896:
	ldr	r3, .L1912+20
.L1897:
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-16]
	asr	r3, r3, #1
	str	r3, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L1895
.L1887:
	ldr	r3, .L1912+24
	str	r3, [fp, #-28]
	b	.L1895
.L1886:
	ldr	r3, .L1912+28
	str	r3, [fp, #-28]
	b	.L1895
.L1885:
	ldr	r3, .L1912+32
	str	r3, [fp, #-28]
	b	.L1895
.L1883:
	ldr	r3, [fp, #-16]
	eor	r3, r3, #1
	str	r3, [fp, #-16]
	mov	r3, #34
	strb	r3, [fp, #-33]
	b	.L1892
.L1881:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L1909
	ldr	r3, [fp, #-20]
	and	r3, r3, #15
	cmp	r3, #1
	beq	.L1899
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #1
	str	r3, [fp, #-16]
.L1899:
	ldr	r3, [fp, #-20]
	and	r3, r3, #15
	lsl	r3, r3, #2
	ldr	r2, .L1912+36
	add	r3, r3, r2
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-20]
	and	r3, r3, #16
	cmp	r3, #0
	beq	.L1910
	mov	r3, #58
	strb	r3, [fp, #-33]
	b	.L1892
.L1877:
	ldrb	r3, [fp, #-33]	@ zero_extendqisi2
	strb	r3, [fp, #-12]
	sub	r3, fp, #12
	str	r3, [fp, #-28]
	mov	r3, #92
	strb	r3, [fp, #-33]
	b	.L1892
.L1908:
	nop
	b	.L1892
.L1909:
	nop
.L1892:
	ldr	r3, [fp, #-24]
	add	r2, r3, #1
	str	r2, [fp, #-24]
	ldrb	r2, [fp, #-33]	@ zero_extendqisi2
	strb	r2, [r3]
	b	.L1902
.L1910:
	nop
.L1902:
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L1911
	b	.L1876
.L1911:
	nop
.L1895:
	b	.L1903
.L1904:
	ldr	r3, [fp, #-24]
	add	r2, r3, #1
	str	r2, [fp, #-24]
	ldrb	r2, [fp, #-33]	@ zero_extendqisi2
	strb	r2, [r3]
.L1903:
	ldr	r3, [fp, #-28]
	add	r2, r3, #1
	str	r2, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	strb	r3, [fp, #-33]
	ldrsb	r3, [fp, #-33]
	cmp	r3, #0
	bne	.L1904
.L1876:
	ldr	r3, [fp, #-32]
	add	r2, r3, #1
	str	r2, [fp, #-32]
	ldrb	r3, [r3]	@ zero_extendqisi2
	strb	r3, [fp, #-33]
	ldrsb	r3, [fp, #-33]
	cmp	r3, #0
	bne	.L1905
	ldr	r3, [fp, #-16]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L1906
	ldr	r3, [fp, #-24]
	add	r2, r3, #1
	str	r2, [fp, #-24]
	mov	r2, #34
	strb	r2, [r3]
.L1906:
	ldr	r3, [fp, #-24]
	mov	r2, #0
	strb	r2, [r3]
	ldr	r2, .L1912+4
	ldr	r3, [fp, #-24]
	str	r3, [r2]
	nop
	ldr	r3, .L1912
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L1907
	bl	__stack_chk_fail
.L1907:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1913:
	.align	2
.L1912:
	.word	.LC191
	.word	cmdnextc
	.word	.LC185
	.word	.LC186
	.word	.LC187+1
	.word	.LC187
	.word	.LC188
	.word	.LC189
	.word	.LC190
	.word	vstype.10386
	.size	cmdputs, .-cmdputs
	.section	.rodata
	.align	2
.LC192:
	.ascii	" | %s\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	showpipe, %function
showpipe:
	@ 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]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-16]
	ldrh	r3, [r3, #20]
	mov	r1, r3
	mov	r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r1
	lsl	r3, r3, #2
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	add	r3, r3, #12
	str	r3, [fp, #-12]
	b	.L1915
.L1916:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	mov	r2, r3
	ldr	r1, .L1917
	ldr	r0, [fp, #-20]
	bl	outfmt
	ldr	r3, [fp, #-12]
	add	r3, r3, #12
	str	r3, [fp, #-12]
.L1915:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-8]
	cmp	r2, r3
	bcc	.L1916
	ldr	r1, [fp, #-20]
	mov	r0, #10
	bl	outcslow
	bl	flushall
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1918:
	.align	2
.L1917:
	.word	.LC192
	.size	showpipe, .-showpipe
	.section	.rodata
	.align	2
.LC193:
	.ascii	"Cannot set tty process group (%s)\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	xtcsetpgrp, %function
xtcsetpgrp:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	tcsetpgrp
	mov	r3, r0
	cmp	r3, #0
	beq	.L1921
	ldr	r3, .L1922
	ldr	r3, [r3]
	ldr	r3, [r3]
	mov	r0, r3
	bl	strerror
	mov	r3, r0
	mov	r1, r3
	ldr	r0, .L1922+4
	bl	sh_error
.L1921:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1923:
	.align	2
.L1922:
	.word	dash_errno
	.word	.LC193
	.size	xtcsetpgrp, .-xtcsetpgrp
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	getstatus, %function
getstatus:
	@ 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]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-16]
	ldrh	r3, [r3, #20]
	mov	r1, r3
	mov	r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r1
	lsl	r3, r3, #2
	sub	r3, r3, #12
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	asr	r3, r3, #8
	and	r3, r3, #255
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-8]
	and	r3, r3, #127
	cmp	r3, #0
	beq	.L1925
	ldr	r3, [fp, #-8]
	asr	r3, r3, #8
	and	r3, r3, #255
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-8]
	and	r3, r3, #255
	cmp	r3, #127
	beq	.L1926
	ldr	r3, [fp, #-8]
	and	r3, r3, #127
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #2
	bne	.L1926
	ldr	r2, [fp, #-16]
	ldrb	r3, [r2, #23]
	orr	r3, r3, #1
	strb	r3, [r2, #23]
.L1926:
	ldr	r3, [fp, #-12]
	add	r3, r3, #128
	str	r3, [fp, #-12]
.L1925:
	ldr	r3, [fp, #-12]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	getstatus, .-getstatus
	.local	mailtime
	.comm	mailtime,40,4
	.local	changed
	.comm	changed,4,4
	.section	.rodata
	.align	2
.LC194:
	.ascii	"you have mail\000"
	.align	2
.LC195:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	chkmail
	.syntax unified
	.arm
	.fpu softvfp
	.type	chkmail, %function
chkmail:
	@ args = 0, pretend = 0, frame = 128
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #128
	ldr	r3, .L1946
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #112
	mov	r0, r3
	bl	setstackmark
	ldr	r3, .L1946+4
	ldr	r3, [r3, #4]
	and	r3, r3, #32
	cmp	r3, #0
	bne	.L1929
	ldr	r3, .L1946+4
	ldr	r3, [r3, #8]
	add	r3, r3, #9
	b	.L1930
.L1929:
	ldr	r3, .L1946+8
	ldr	r3, [r3, #8]
	add	r3, r3, #5
.L1930:
	str	r3, [fp, #-128]
	ldr	r3, .L1946+12
	str	r3, [fp, #-120]
	b	.L1931
.L1942:
	sub	r3, fp, #128
	ldr	r1, .L1946+16
	mov	r0, r3
	bl	padvance
	str	r0, [fp, #-116]
	ldr	r3, [fp, #-116]
	cmp	r3, #0
	beq	.L1944
	ldr	r3, [fp, #-116]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L1945
	ldr	r3, [fp, #-116]
	str	r3, [fp, #-124]
	b	.L1936
.L1937:
	ldr	r3, [fp, #-124]
	add	r3, r3, #1
	str	r3, [fp, #-124]
.L1936:
	ldr	r3, [fp, #-124]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L1937
	ldr	r3, [fp, #-124]
	sub	r3, r3, #1
	mov	r2, #0
	strb	r2, [r3]
	sub	r3, fp, #100
	mov	r1, r3
	ldr	r0, [fp, #-116]
	bl	stat
	mov	r3, r0
	cmp	r3, #0
	bge	.L1938
	ldr	r3, [fp, #-120]
	mov	r2, #0
	str	r2, [r3]
	b	.L1935
.L1938:
	ldr	r3, .L1946+20
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1939
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-120]
	ldr	r3, [r3]
	cmp	r2, r3
	beq	.L1939
	ldr	r3, .L1946+24
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1940
	ldr	r3, .L1946+24
	ldr	r3, [r3]
	b	.L1941
.L1940:
	ldr	r3, .L1946+28
.L1941:
	mov	r2, r3
	ldr	r1, .L1946+32
	ldr	r0, .L1946+36
	bl	outfmt
.L1939:
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-120]
	str	r2, [r3]
	b	.L1935
.L1945:
	nop
.L1935:
	ldr	r3, [fp, #-120]
	add	r3, r3, #4
	str	r3, [fp, #-120]
.L1931:
	ldr	r2, .L1946+40
	ldr	r3, [fp, #-120]
	cmp	r3, r2
	bcc	.L1942
	b	.L1933
.L1944:
	nop
.L1933:
	ldr	r3, .L1946+20
	mov	r2, #0
	str	r2, [r3]
	sub	r3, fp, #112
	mov	r0, r3
	bl	popstackmark
	nop
	ldr	r3, .L1946
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L1943
	bl	__stack_chk_fail
.L1943:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1947:
	.align	2
.L1946:
	.word	.LC195
	.word	varinit+32
	.word	varinit+16
	.word	mailtime
	.word	nullstr
	.word	changed
	.word	pathopt
	.word	.LC194
	.word	snlfmt
	.word	errout
	.word	mailtime+40
	.size	chkmail, .-chkmail
	.align	2
	.global	changemail
	.syntax unified
	.arm
	.fpu softvfp
	.type	changemail, %function
changemail:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, .L1949
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L1949
	str	r3, [r2]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L1950:
	.align	2
.L1949:
	.word	changed
	.size	changemail, .-changemail
	.comm	rootpid,4,4
	.comm	shlvl,4,4
	.comm	dash_errno,4,4
	.section	.rodata
	.align	2
.LC196:
	.ascii	"/etc/profile\000"
	.align	2
.LC197:
	.ascii	"$HOME/.profile\000"
	.align	2
.LC198:
	.ascii	"ENV\000"
	.align	2
.LC199:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ args = 0, pretend = 0, frame = 440
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #440
	str	r0, [fp, #-440]
	str	r1, [fp, #-444]
	ldr	r3, .L1974
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	bl	__errno_location
	mov	r3, r0
	ldr	r2, .L1974+4
	str	r3, [r2]
	mov	r3, #0
	str	r3, [fp, #-436]
	sub	r3, fp, #404
	mov	r0, r3
	bl	_setjmp
	mov	r3, r0
	cmp	r3, #0
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L1953
	bl	reset
	ldr	r3, .L1974+8
	ldr	r3, [r3]
	str	r3, [fp, #-428]
	ldr	r3, [fp, #-436]
	str	r3, [fp, #-424]
	ldr	r3, [fp, #-428]
	cmp	r3, #4
	beq	.L1954
	ldr	r3, [fp, #-424]
	cmp	r3, #0
	beq	.L1954
	ldr	r3, .L1974+12
	ldrb	r3, [r3, #3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L1954
	ldr	r3, .L1974+16
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1955
.L1954:
	bl	exitshell
.L1955:
	ldr	r3, [fp, #-428]
	cmp	r3, #0
	bne	.L1956
	ldr	r3, .L1974+20
	ldr	r3, [r3]
	mov	r1, r3
	mov	r0, #10
	bl	outcslow
.L1956:
	sub	r3, fp, #416
	mov	r0, r3
	bl	popstackmark
	ldr	r3, .L1974+24
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L1974+28
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1957
	bl	onint
.L1957:
	ldr	r3, [fp, #-424]
	cmp	r3, #1
	beq	.L1969
	ldr	r3, [fp, #-424]
	cmp	r3, #2
	beq	.L1970
	ldr	r3, [fp, #-424]
	cmp	r3, #3
	bne	.L1971
	b	.L1963
.L1953:
	ldr	r2, .L1974+32
	sub	r3, fp, #404
	str	r3, [r2]
	bl	getpid
	mov	r3, r0
	ldr	r2, .L1974+36
	str	r3, [r2]
	bl	init
	sub	r3, fp, #416
	mov	r0, r3
	bl	setstackmark
	ldr	r1, [fp, #-444]
	ldr	r0, [fp, #-440]
	bl	procargs
	mov	r3, r0
	str	r3, [fp, #-432]
	ldr	r3, [fp, #-432]
	cmp	r3, #0
	beq	.L1972
	mov	r3, #1
	str	r3, [fp, #-436]
	ldr	r0, .L1974+40
	bl	read_profile
	b	.L1959
.L1969:
	nop
.L1959:
	mov	r3, #2
	str	r3, [fp, #-436]
	ldr	r0, .L1974+44
	bl	read_profile
	b	.L1961
.L1970:
	nop
	b	.L1961
.L1972:
	nop
.L1961:
	mov	r3, #3
	str	r3, [fp, #-436]
	ldr	r3, .L1974+12
	ldrb	r3, [r3, #3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L1965
	ldr	r0, .L1974+48
	bl	lookupvar
	mov	r3, r0
	str	r3, [fp, #-420]
	ldr	r3, [fp, #-420]
	cmp	r3, #0
	beq	.L1965
	ldr	r3, [fp, #-420]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L1965
	ldr	r0, [fp, #-420]
	bl	read_profile
.L1965:
	sub	r3, fp, #416
	mov	r0, r3
	bl	popstackmark
.L1963:
	mov	r3, #4
	str	r3, [fp, #-436]
	ldr	r3, .L1974+52
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1966
	ldr	r3, .L1974+52
	ldr	r2, [r3]
	ldr	r3, .L1974+12
	ldrb	r3, [r3, #6]	@ zero_extendqisi2
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	mov	r1, r3
	mov	r0, r2
	bl	evalstring
.L1966:
	ldr	r3, .L1974+12
	ldrb	r3, [r3, #6]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L1973
	ldr	r3, .L1974+52
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1967
	b	.L1973
.L1971:
	nop
	b	.L1964
.L1973:
	nop
.L1964:
	mov	r0, #1
	bl	cmdloop
.L1967:
	bl	exitshell
.L1975:
	.align	2
.L1974:
	.word	.LC199
	.word	dash_errno
	.word	exception
	.word	optlist
	.word	shlvl
	.word	out2
	.word	suppressint
	.word	intpending
	.word	handler
	.word	rootpid
	.word	.LC196
	.word	.LC197
	.word	.LC198
	.word	minusc
	.size	main, .-main
	.section	.rodata
	.align	2
.LC200:
	.ascii	"\012Use \"exit\" to leave shell.\012\000"
	.align	2
.LC201:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	cmdloop, %function
cmdloop:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	str	r0, [fp, #-48]
	ldr	r3, .L1989
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-36]
	mov	r3, #0
	str	r3, [fp, #-32]
.L1985:
	sub	r3, fp, #20
	mov	r0, r3
	bl	setstackmark
	ldr	r3, .L1989+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1977
	ldr	r3, .L1989+8
	ldr	r3, [r3]
	mov	r1, #8
	mov	r0, r3
	bl	showjobs
.L1977:
	mov	r3, #0
	str	r3, [fp, #-40]
	ldr	r3, .L1989+12
	ldrb	r3, [r3, #3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L1978
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	beq	.L1978
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
	bl	chkmail
.L1978:
	ldr	r0, [fp, #-40]
	bl	parsecmd
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-28]
	ldr	r2, .L1989+16
	cmp	r3, r2
	bne	.L1979
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	beq	.L1980
	ldr	r3, [fp, #-32]
	cmp	r3, #49
	bgt	.L1980
	bl	stoppedjobs
	mov	r3, r0
	cmp	r3, #0
	bne	.L1981
	ldr	r3, .L1989+12
	ldrb	r3, [r3, #2]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L1988
	ldr	r3, .L1989+8
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L1989+20
	bl	outstr
.L1981:
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
	b	.L1983
.L1979:
	ldr	r3, .L1989+12
	ldrb	r3, [r3, #5]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L1983
	ldr	r3, .L1989+24
	ldr	r3, [r3]
	cmp	r3, #2
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, .L1989+24
	str	r2, [r3]
	mov	r3, #0
	str	r3, [fp, #-32]
	mov	r1, #0
	ldr	r0, [fp, #-28]
	bl	evaltree
	ldr	r3, .L1989+28
	ldr	r3, [r3]
	str	r3, [fp, #-36]
.L1983:
	sub	r3, fp, #20
	mov	r0, r3
	bl	popstackmark
	ldr	r3, .L1989+32
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L1985
	ldr	r3, .L1989+32
	ldr	r3, [r3]
	bic	r3, r3, #4
	ldr	r2, .L1989+32
	str	r3, [r2]
	b	.L1980
.L1988:
	nop
.L1980:
	ldr	r3, [fp, #-36]
	ldr	r2, .L1989
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L1987
	bl	__stack_chk_fail
.L1987:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1990:
	.align	2
.L1989:
	.word	.LC201
	.word	jobctl
	.word	out2
	.word	optlist
	.word	tokpushback
	.word	.LC200
	.word	job_warning
	.word	exitstatus
	.word	evalskip
	.size	cmdloop, .-cmdloop
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	read_profile, %function
read_profile:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r0, [fp, #-8]
	bl	expandstr
	str	r0, [fp, #-8]
	mov	r1, #3
	ldr	r0, [fp, #-8]
	bl	setinputfile
	mov	r3, r0
	cmp	r3, #0
	blt	.L1994
	mov	r0, #0
	bl	cmdloop
	bl	popfile
	b	.L1991
.L1994:
	nop
.L1991:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	read_profile, .-read_profile
	.align	2
	.global	readcmdfile
	.syntax unified
	.arm
	.fpu softvfp
	.type	readcmdfile, %function
readcmdfile:
	@ 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
	ldr	r0, [fp, #-8]
	bl	setinputfile
	mov	r0, #0
	bl	cmdloop
	bl	popfile
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	readcmdfile, .-readcmdfile
	.section	.rodata
	.align	2
.LC202:
	.ascii	"%s: not found\000"
	.align	2
.LC203:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	find_dot_file, %function
find_dot_file:
	@ args = 0, pretend = 0, frame = 112
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #112
	str	r0, [fp, #-112]
	ldr	r3, .L2004
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L2004+4
	ldr	r3, [r3, #8]
	add	r3, r3, #5
	str	r3, [fp, #-108]
	mov	r1, #47
	ldr	r0, [fp, #-112]
	bl	strchr
	mov	r3, r0
	cmp	r3, #0
	beq	.L1999
	ldr	r3, [fp, #-112]
	b	.L2002
.L2001:
	sub	r3, fp, #100
	mov	r1, r3
	ldr	r0, [fp, #-104]
	bl	stat
	mov	r3, r0
	cmp	r3, #0
	bne	.L2000
	ldr	r3, [fp, #-84]
	and	r3, r3, #61440
	cmp	r3, #32768
	bne	.L2000
	ldr	r3, [fp, #-104]
	b	.L2002
.L2000:
	ldr	r0, [fp, #-104]
	bl	stunalloc
.L1999:
	sub	r3, fp, #108
	ldr	r1, [fp, #-112]
	mov	r0, r3
	bl	padvance
	str	r0, [fp, #-104]
	ldr	r3, [fp, #-104]
	cmp	r3, #0
	bne	.L2001
	ldr	r1, [fp, #-112]
	ldr	r0, .L2004+8
	bl	sh_error
.L2002:
	ldr	r2, .L2004
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L2003
	bl	__stack_chk_fail
.L2003:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2005:
	.align	2
.L2004:
	.word	.LC203
	.word	varinit+48
	.word	.LC202
	.size	find_dot_file, .-find_dot_file
	.align	2
	.global	dotcmd
	.syntax unified
	.arm
	.fpu softvfp
	.type	dotcmd, %function
dotcmd:
	@ 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]
	mov	r3, #0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-16]
	cmp	r3, #1
	ble	.L2007
	ldr	r3, [fp, #-20]
	add	r3, r3, #4
	ldr	r3, [r3]
	mov	r0, r3
	bl	find_dot_file
	str	r0, [fp, #-8]
	mov	r1, #1
	ldr	r0, [fp, #-8]
	bl	setinputfile
	ldr	r2, .L2009
	ldr	r3, [fp, #-8]
	str	r3, [r2]
	mov	r0, #0
	bl	cmdloop
	str	r0, [fp, #-12]
	bl	popfile
.L2007:
	ldr	r3, [fp, #-12]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2010:
	.align	2
.L2009:
	.word	commandname
	.size	dotcmd, .-dotcmd
	.align	2
	.global	exitcmd
	.syntax unified
	.arm
	.fpu softvfp
	.type	exitcmd, %function
exitcmd:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	bl	stoppedjobs
	mov	r3, r0
	cmp	r3, #0
	beq	.L2012
	mov	r3, #0
	b	.L2015
.L2012:
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	ble	.L2014
	ldr	r3, [fp, #-12]
	add	r3, r3, #4
	ldr	r3, [r3]
	mov	r0, r3
	bl	number
	mov	r3, r0
	ldr	r2, .L2016
	str	r3, [r2]
.L2014:
	mov	r0, #4
	bl	exraise
.L2015:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2017:
	.align	2
.L2016:
	.word	exitstatus
	.size	exitcmd, .-exitcmd
	.section	.rodata
	.align	2
.LC204:
	.ascii	"Out of space\000"
	.text
	.align	2
	.global	ckmalloc
	.syntax unified
	.arm
	.fpu softvfp
	.type	ckmalloc, %function
ckmalloc:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r0, [fp, #-16]
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L2019
	ldr	r0, .L2021
	bl	sh_error
.L2019:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2022:
	.align	2
.L2021:
	.word	.LC204
	.size	ckmalloc, .-ckmalloc
	.align	2
	.global	ckrealloc
	.syntax unified
	.arm
	.fpu softvfp
	.type	ckrealloc, %function
ckrealloc:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	realloc
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L2024
	ldr	r0, .L2026
	bl	sh_error
.L2024:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2027:
	.align	2
.L2026:
	.word	.LC204
	.size	ckrealloc, .-ckrealloc
	.align	2
	.global	savestr
	.syntax unified
	.arm
	.fpu softvfp
	.type	savestr, %function
savestr:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r0, [fp, #-16]
	bl	strdup
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L2029
	ldr	r0, .L2031
	bl	sh_error
.L2029:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2032:
	.align	2
.L2031:
	.word	.LC204
	.size	savestr, .-savestr
	.comm	stackbase,508,4
	.global	stackp
	.data
	.align	2
	.type	stackp, %object
	.size	stackp, 4
stackp:
	.word	stackbase
	.global	stacknxt
	.align	2
	.type	stacknxt, %object
	.size	stacknxt, 4
stacknxt:
	.word	stackbase+4
	.global	stacknleft
	.align	2
	.type	stacknleft, %object
	.size	stacknleft, 4
stacknleft:
	.word	504
	.global	sstrend
	.align	2
	.type	sstrend, %object
	.size	sstrend, 4
sstrend:
	.word	stackbase+508
	.text
	.align	2
	.global	stalloc
	.syntax unified
	.arm
	.fpu softvfp
	.type	stalloc, %function
stalloc:
	@ 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]
	ldr	r3, [fp, #-32]
	add	r3, r3, #7
	bic	r3, r3, #7
	str	r3, [fp, #-20]
	ldr	r3, .L2039
	ldr	r3, [r3]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	bls	.L2034
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #504
	bcs	.L2035
	mov	r3, #504
	str	r3, [fp, #-24]
.L2035:
	ldr	r3, [fp, #-24]
	add	r3, r3, #4
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	bcs	.L2036
	ldr	r0, .L2039+4
	bl	sh_error
.L2036:
	ldr	r3, .L2039+8
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L2039+8
	str	r3, [r2]
	ldr	r0, [fp, #-16]
	bl	ckmalloc
	str	r0, [fp, #-12]
	ldr	r3, .L2039+12
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	str	r2, [r3]
	ldr	r3, [fp, #-12]
	add	r3, r3, #4
	ldr	r2, .L2039+16
	str	r3, [r2]
	ldr	r2, .L2039
	ldr	r3, [fp, #-24]
	str	r3, [r2]
	ldr	r3, .L2039+16
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	add	r3, r2, r3
	ldr	r2, .L2039+20
	str	r3, [r2]
	ldr	r2, .L2039+12
	ldr	r3, [fp, #-12]
	str	r3, [r2]
	ldr	r3, .L2039+8
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L2039+8
	str	r3, [r2]
	ldr	r3, .L2039+8
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L2034
	ldr	r3, .L2039+24
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L2034
	bl	onint
.L2034:
	ldr	r3, .L2039+16
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, .L2039+16
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	add	r3, r2, r3
	ldr	r2, .L2039+16
	str	r3, [r2]
	ldr	r3, .L2039
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	sub	r3, r2, r3
	ldr	r2, .L2039
	str	r3, [r2]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2040:
	.align	2
.L2039:
	.word	stacknleft
	.word	.LC204
	.word	suppressint
	.word	stackp
	.word	stacknxt
	.word	sstrend
	.word	intpending
	.size	stalloc, .-stalloc
	.align	2
	.global	stunalloc
	.syntax unified
	.arm
	.fpu softvfp
	.type	stunalloc, %function
stunalloc:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, .L2042
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	sub	r3, r2, r3
	mov	r2, r3
	ldr	r3, .L2042+4
	ldr	r3, [r3]
	add	r3, r2, r3
	ldr	r2, .L2042+4
	str	r3, [r2]
	ldr	r2, .L2042
	ldr	r3, [fp, #-8]
	str	r3, [r2]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L2043:
	.align	2
.L2042:
	.word	stacknxt
	.word	stacknleft
	.size	stunalloc, .-stunalloc
	.align	2
	.global	pushstackmark
	.syntax unified
	.arm
	.fpu softvfp
	.type	pushstackmark, %function
pushstackmark:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, .L2045
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	ldr	r3, .L2045+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #4]
	ldr	r3, .L2045+8
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r0, [fp, #-12]
	bl	grabstackblock
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2046:
	.align	2
.L2045:
	.word	stackp
	.word	stacknxt
	.word	stacknleft
	.size	pushstackmark, .-pushstackmark
	.align	2
	.global	setstackmark
	.syntax unified
	.arm
	.fpu softvfp
	.type	setstackmark, %function
setstackmark:
	@ 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, .L2050
	ldr	r3, [r3]
	add	r2, r3, #4
	ldr	r3, .L2050+4
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L2048
	ldr	r3, .L2050
	ldr	r3, [r3]
	ldr	r2, .L2050+8
	cmp	r3, r2
	beq	.L2048
	mov	r3, #1
	b	.L2049
.L2048:
	mov	r3, #0
.L2049:
	mov	r1, r3
	ldr	r0, [fp, #-8]
	bl	pushstackmark
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2051:
	.align	2
.L2050:
	.word	stackp
	.word	stacknxt
	.word	stackbase
	.size	setstackmark, .-setstackmark
	.align	2
	.global	popstackmark
	.syntax unified
	.arm
	.fpu softvfp
	.type	popstackmark, %function
popstackmark:
	@ 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, .L2057
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L2057
	str	r3, [r2]
	b	.L2053
.L2054:
	ldr	r3, .L2057+4
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldr	r2, .L2057+4
	str	r3, [r2]
	ldr	r0, [fp, #-8]
	bl	free
.L2053:
	ldr	r3, [fp, #-16]
	ldr	r2, [r3]
	ldr	r3, .L2057+4
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L2054
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	ldr	r2, .L2057+8
	str	r3, [r2]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	ldr	r2, .L2057+12
	str	r3, [r2]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	add	r3, r2, r3
	ldr	r2, .L2057+16
	str	r3, [r2]
	ldr	r3, .L2057
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L2057
	str	r3, [r2]
	ldr	r3, .L2057
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L2056
	ldr	r3, .L2057+20
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L2056
	bl	onint
.L2056:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2058:
	.align	2
.L2057:
	.word	suppressint
	.word	stackp
	.word	stacknxt
	.word	stacknleft
	.word	sstrend
	.word	intpending
	.size	popstackmark, .-popstackmark
	.align	2
	.global	growstackblock
	.syntax unified
	.arm
	.fpu softvfp
	.type	growstackblock, %function
growstackblock:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	ldr	r3, .L2067
	ldr	r3, [r3]
	lsl	r3, r3, #1
	str	r3, [fp, #-32]
	ldr	r3, .L2067
	ldr	r3, [r3]
	ldr	r2, [fp, #-32]
	cmp	r2, r3
	bcs	.L2060
	ldr	r0, .L2067+4
	bl	sh_error
.L2060:
	ldr	r3, [fp, #-32]
	cmp	r3, #127
	bhi	.L2061
	ldr	r3, [fp, #-32]
	add	r3, r3, #128
	str	r3, [fp, #-32]
.L2061:
	ldr	r3, .L2067+8
	ldr	r3, [r3]
	add	r2, r3, #4
	ldr	r3, .L2067+12
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L2062
	ldr	r3, .L2067+8
	ldr	r3, [r3]
	ldr	r2, .L2067+16
	cmp	r3, r2
	beq	.L2062
	ldr	r3, .L2067+20
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L2067+20
	str	r3, [r2]
	ldr	r3, .L2067+8
	ldr	r3, [r3]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-32]
	add	r3, r3, #4
	str	r3, [fp, #-20]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-28]
	bl	ckrealloc
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-24]
	str	r2, [r3]
	ldr	r2, .L2067+8
	ldr	r3, [fp, #-28]
	str	r3, [r2]
	ldr	r3, [fp, #-28]
	add	r3, r3, #4
	ldr	r2, .L2067+12
	str	r3, [r2]
	ldr	r2, .L2067
	ldr	r3, [fp, #-32]
	str	r3, [r2]
	ldr	r3, [fp, #-28]
	add	r2, r3, #4
	ldr	r3, [fp, #-32]
	add	r3, r2, r3
	ldr	r2, .L2067+24
	str	r3, [r2]
	ldr	r3, .L2067+20
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L2067+20
	str	r3, [r2]
	ldr	r3, .L2067+20
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L2065
	ldr	r3, .L2067+28
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L2065
	bl	onint
	b	.L2065
.L2062:
	ldr	r3, .L2067+12
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	ldr	r3, .L2067
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r0, [fp, #-32]
	bl	stalloc
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-12]
	mov	r2, r3
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-8]
	bl	memcpy
	mov	r3, r0
	ldr	r2, .L2067+12
	str	r3, [r2]
	ldr	r3, .L2067
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	add	r3, r2, r3
	ldr	r2, .L2067
	str	r3, [r2]
	b	.L2066
.L2065:
	nop
.L2066:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2068:
	.align	2
.L2067:
	.word	stacknleft
	.word	.LC204
	.word	stackp
	.word	stacknxt
	.word	stackbase
	.word	suppressint
	.word	sstrend
	.word	intpending
	.size	growstackblock, .-growstackblock
	.align	2
	.global	growstackstr
	.syntax unified
	.arm
	.fpu softvfp
	.type	growstackstr, %function
growstackstr:
	@ 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, .L2071
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	bl	growstackblock
	ldr	r3, .L2071+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2072:
	.align	2
.L2071:
	.word	stacknleft
	.word	stacknxt
	.size	growstackstr, .-growstackstr
	.align	2
	.global	makestrspace
	.syntax unified
	.arm
	.fpu softvfp
	.type	makestrspace, %function
makestrspace:
	@ 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]
	ldr	r3, .L2080
	ldr	r3, [r3]
	ldr	r2, [fp, #-28]
	sub	r3, r2, r3
	str	r3, [fp, #-16]
.L2076:
	ldr	r3, .L2080+4
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-16]
	sub	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	bcs	.L2079
	bl	growstackblock
	b	.L2076
.L2079:
	nop
	ldr	r3, .L2080
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2081:
	.align	2
.L2080:
	.word	stacknxt
	.word	stacknleft
	.size	makestrspace, .-makestrspace
	.align	2
	.global	stnputs
	.syntax unified
	.arm
	.fpu softvfp
	.type	stnputs, %function
stnputs:
	@ 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	r1, [fp, #-16]
	ldr	r0, [fp, #-12]
	bl	makestrspace
	str	r0, [fp, #-16]
	ldr	r2, [fp, #-12]
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-16]
	bl	mempcpy
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	stnputs, .-stnputs
	.align	2
	.global	stputs
	.syntax unified
	.arm
	.fpu softvfp
	.type	stputs, %function
stputs:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	strlen
	mov	r3, r0
	ldr	r2, [fp, #-12]
	mov	r1, r3
	ldr	r0, [fp, #-8]
	bl	stnputs
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	stputs, .-stputs
	.section	.rodata
	.align	2
.LC205:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	readcmd_handle_line, %function
readcmd_handle_line:
	@ 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]
	str	r1, [fp, #-44]
	ldr	r3, .L2094
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L2094+4
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	ldr	r3, .L2094+4
	ldr	r3, [r3]
	ldr	r2, [fp, #-40]
	sub	r3, r2, r3
	mov	r0, r3
	bl	stalloc
	str	r0, [fp, #-40]
	ldr	r0, [fp, #-32]
	bl	sstrdup
	str	r0, [fp, #-28]
	sub	r3, fp, #16
	str	r3, [fp, #-12]
	sub	r3, fp, #16
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	ifsbreakup
	ldr	r3, [fp, #-12]
	mov	r2, #0
	str	r2, [r3]
	bl	ifsfree
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-36]
.L2091:
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	bne	.L2087
.L2088:
	ldr	r3, [fp, #-44]
	ldr	r3, [r3]
	mov	r2, #0
	ldr	r1, .L2094+8
	mov	r0, r3
	bl	setvar
	ldr	r3, [fp, #-44]
	add	r3, r3, #4
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-44]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L2088
	b	.L2086
.L2087:
	ldr	r3, [fp, #-44]
	add	r3, r3, #4
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L2090
	ldr	r3, [fp, #-36]
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L2090
	ldr	r3, [fp, #-36]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-40]
	sub	r3, r2, r3
	str	r3, [fp, #-24]
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-24]
	add	r3, r2, r3
	str	r3, [fp, #-20]
	mov	r1, #0
	ldr	r0, [fp, #-20]
	bl	_rmescapes
	ldr	r3, [fp, #-44]
	ldr	r3, [r3]
	mov	r2, #0
	ldr	r1, [fp, #-20]
	mov	r0, r3
	bl	setvar
	b	.L2086
.L2090:
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #4]
	mov	r1, #0
	mov	r0, r3
	bl	_rmescapes
	ldr	r3, [fp, #-44]
	ldr	r0, [r3]
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #4]
	mov	r2, #0
	mov	r1, r3
	bl	setvar
	ldr	r3, [fp, #-36]
	ldr	r3, [r3]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-44]
	add	r3, r3, #4
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-44]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L2091
.L2086:
	ldr	r3, .L2094
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L2093
	bl	__stack_chk_fail
.L2093:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2095:
	.align	2
.L2094:
	.word	.LC205
	.word	stacknxt
	.word	nullstr
	.size	readcmd_handle_line, .-readcmd_handle_line
	.section	.rodata
	.align	2
.LC206:
	.ascii	"p:r\000"
	.align	2
.LC207:
	.ascii	"arg count\000"
	.align	2
.LC208:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	readcmd
	.syntax unified
	.arm
	.fpu softvfp
	.type	readcmd, %function
readcmd:
	@ args = 0, pretend = 0, frame = 64
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #64
	str	r0, [fp, #-64]
	str	r1, [fp, #-68]
	ldr	r3, .L2126
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-52]
	mov	r3, #0
	str	r3, [fp, #-48]
	b	.L2097
.L2099:
	ldr	r3, [fp, #-32]
	cmp	r3, #112
	bne	.L2098
	ldr	r3, .L2126+4
	ldr	r3, [r3]
	str	r3, [fp, #-48]
	b	.L2097
.L2098:
	mov	r3, #1
	str	r3, [fp, #-52]
.L2097:
	ldr	r0, .L2126+8
	bl	nextopt
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L2099
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	beq	.L2100
	mov	r0, #0
	bl	isatty
	mov	r3, r0
	cmp	r3, #0
	beq	.L2100
	ldr	r3, .L2126+12
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-48]
	bl	outstr
.L2100:
	ldr	r3, .L2126+16
	ldr	r3, [r3]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L2101
	ldr	r0, .L2126+20
	bl	sh_error
.L2101:
	mov	r3, #0
	str	r3, [fp, #-36]
	ldr	r3, .L2126+24
	ldr	r3, [r3]
	str	r3, [fp, #-44]
	b	.L2102
.L2122:
	cmp	r3, #1
	beq	.L2123
	ldr	r3, .L2126+28
	ldr	r3, [r3]
	ldr	r3, [r3]
	cmp	r3, #4
	bne	.L2103
	ldr	r3, .L2126+32
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L2103
	b	.L2106
.L2103:
	mov	r3, #1
	str	r3, [fp, #-36]
	b	.L2107
.L2123:
	nop
	ldrb	r3, [fp, #-53]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L2108
	b	.L2106
.L2108:
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	blt	.L2109
	ldrb	r3, [fp, #-53]	@ zero_extendqisi2
	cmp	r3, #10
	bne	.L2124
	b	.L2111
.L2109:
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	bne	.L2113
	ldrb	r3, [fp, #-53]	@ zero_extendqisi2
	cmp	r3, #92
	bne	.L2113
	ldr	r3, .L2126+24
	ldr	r3, [r3]
	ldr	r2, [fp, #-44]
	sub	r3, r2, r3
	str	r3, [fp, #-40]
	b	.L2106
.L2113:
	ldrb	r3, [fp, #-53]	@ zero_extendqisi2
	cmp	r3, #10
	beq	.L2125
	b	.L2112
.L2124:
	nop
.L2112:
	ldr	r3, [fp, #-44]
	str	r3, [fp, #-20]
	mov	r3, #2
	str	r3, [fp, #-16]
	ldr	r3, .L2126+36
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	sub	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	cmp	r2, r3
	bls	.L2114
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	makestrspace
	str	r0, [fp, #-44]
.L2114:
	ldrb	r3, [fp, #-53]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r0, .L2126+40
	bl	strchr
	mov	r3, r0
	cmp	r3, #0
	beq	.L2115
	ldr	r3, [fp, #-44]
	add	r2, r3, #1
	str	r2, [fp, #-44]
	mvn	r2, #126
	strb	r2, [r3]
.L2115:
	ldr	r3, [fp, #-44]
	add	r2, r3, #1
	str	r2, [fp, #-44]
	ldrb	r2, [fp, #-53]	@ zero_extendqisi2
	strb	r2, [r3]
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	blt	.L2106
	nop
.L2111:
	mov	r2, #0
	ldr	r1, [fp, #-40]
	ldr	r0, [fp, #-24]
	bl	recordregion
.L2102:
	ldr	r3, .L2126+24
	ldr	r3, [r3]
	ldr	r2, [fp, #-44]
	sub	r3, r2, r3
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	sub	r3, r3, #1
	str	r3, [fp, #-40]
.L2106:
	nop
	sub	r3, fp, #53
	mov	r2, #1
	mov	r1, r3
	mov	r0, #0
	bl	read
	mov	r3, r0
	cmp	r3, #0
	beq	.L2103
	b	.L2122
.L2125:
	nop
.L2107:
	ldr	r3, .L2126+24
	ldr	r3, [r3]
	ldr	r2, [fp, #-44]
	sub	r3, r2, r3
	mov	r2, #0
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	recordregion
	ldr	r3, .L2126+36
	ldr	r3, [r3]
	ldr	r2, [fp, #-44]
	cmp	r2, r3
	bne	.L2117
	bl	growstackstr
	str	r0, [fp, #-44]
	ldr	r3, [fp, #-44]
	mov	r2, #0
	strb	r2, [r3]
	b	.L2118
.L2117:
	ldr	r3, [fp, #-44]
	mov	r2, #0
	strb	r2, [r3]
.L2118:
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	ldr	r1, [fp, #-28]
	mov	r0, r3
	bl	readcmd_handle_line
	ldr	r3, [fp, #-36]
	ldr	r2, .L2126
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L2120
	bl	__stack_chk_fail
.L2120:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2127:
	.align	2
.L2126:
	.word	.LC208
	.word	optionarg
	.word	.LC206
	.word	out2
	.word	argptr
	.word	.LC207
	.word	stacknxt
	.word	dash_errno
	.word	pendingsigs
	.word	sstrend
	.word	qchars
	.size	readcmd, .-readcmd
	.section	.rodata
	.align	2
.LC209:
	.ascii	"S\000"
	.align	2
.LC212:
	.ascii	"%.4o\012\000"
	.align	2
.LC213:
	.ascii	"augo\000"
	.align	2
.LC214:
	.ascii	"=+-\000"
	.align	2
.LC215:
	.ascii	"rwxugoXs\000"
	.align	2
.LC216:
	.ascii	"Illegal mode: %s\000"
	.align	2
.LC210:
	.ascii	"ugo\000"
	.align	2
.LC211:
	.ascii	"rwx\000"
	.align	2
.LC217:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	umaskcmd
	.syntax unified
	.arm
	.fpu softvfp
	.type	umaskcmd, %function
umaskcmd:
	@ args = 0, pretend = 0, frame = 72
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #72
	str	r0, [fp, #-72]
	str	r1, [fp, #-76]
	ldr	r3, .L2181
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-52]
	b	.L2129
.L2130:
	mov	r3, #1
	str	r3, [fp, #-52]
.L2129:
	ldr	r0, .L2181+4
	bl	nextopt
	str	r0, [fp, #-56]
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	bne	.L2130
	ldr	r3, .L2181+8
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L2181+8
	str	r3, [r2]
	mov	r0, #0
	bl	umask
	mov	r3, r0
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	mov	r0, r3
	bl	umask
	ldr	r3, .L2181+8
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L2181+8
	str	r3, [r2]
	ldr	r3, .L2181+8
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L2131
	ldr	r3, .L2181+12
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L2131
	bl	onint
.L2131:
	ldr	r3, .L2181+16
	ldr	r3, [r3]
	ldr	r3, [r3]
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	bne	.L2132
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	beq	.L2133
	ldr	r3, [fp, #-32]
	mvn	r3, r3
	str	r3, [fp, #-32]
	sub	r3, fp, #28
	str	r3, [fp, #-60]
	mov	r3, #0
	str	r3, [fp, #-56]
	b	.L2134
.L2138:
	ldr	r3, [fp, #-60]
	add	r2, r3, #1
	str	r2, [fp, #-60]
	ldr	r1, .L2181+20
	ldr	r2, [fp, #-56]
	add	r2, r1, r2
	ldrb	r2, [r2]	@ zero_extendqisi2
	strb	r2, [r3]
	ldr	r3, [fp, #-60]
	add	r2, r3, #1
	str	r2, [fp, #-60]
	mov	r2, #61
	strb	r2, [r3]
	mov	r3, #0
	str	r3, [fp, #-48]
	b	.L2135
.L2137:
	ldr	r2, [fp, #-56]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r2, r3, r2
	ldr	r3, [fp, #-48]
	add	r3, r2, r3
	rsb	r3, r3, #8
	ldr	r2, [fp, #-32]
	asr	r3, r2, r3
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L2136
	ldr	r3, [fp, #-60]
	add	r2, r3, #1
	str	r2, [fp, #-60]
	ldr	r1, .L2181+24
	ldr	r2, [fp, #-48]
	add	r2, r1, r2
	ldrb	r2, [r2]	@ zero_extendqisi2
	strb	r2, [r3]
.L2136:
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-48]
.L2135:
	ldr	r3, [fp, #-48]
	cmp	r3, #2
	ble	.L2137
	ldr	r3, [fp, #-60]
	add	r2, r3, #1
	str	r2, [fp, #-60]
	mov	r2, #44
	strb	r2, [r3]
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	str	r3, [fp, #-56]
.L2134:
	ldr	r3, [fp, #-56]
	cmp	r3, #2
	ble	.L2138
	ldr	r3, [fp, #-60]
	sub	r3, r3, #1
	mov	r2, #0
	strb	r2, [r3]
	sub	r3, fp, #28
	mov	r1, r3
	ldr	r0, .L2181+28
	bl	out1fmt
	b	.L2139
.L2133:
	ldr	r1, [fp, #-32]
	ldr	r0, .L2181+32
	bl	out1fmt
	b	.L2139
.L2132:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-60]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #2048
	cmp	r3, #0
	beq	.L2140
	mov	r3, #0
	str	r3, [fp, #-44]
.L2143:
	ldr	r3, [fp, #-60]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #55
	bhi	.L2141
	ldr	r3, [fp, #-60]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #47
	bhi	.L2142
.L2141:
	ldr	r3, .L2181+16
	ldr	r3, [r3]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L2181+36
	bl	sh_error
.L2142:
	ldr	r3, [fp, #-44]
	lsl	r2, r3, #3
	ldr	r3, [fp, #-60]
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r3, r3, #48
	add	r3, r2, r3
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-60]
	add	r3, r3, #1
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-60]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L2143
	b	.L2144
.L2140:
	ldr	r3, [fp, #-32]
	mvn	r3, r3
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-44]
	mov	r3, #0
	str	r3, [fp, #-40]
	b	.L2145
.L2153:
	ldr	r3, [fp, #-60]
	add	r2, r3, #1
	str	r2, [fp, #-60]
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r3, r3, #97
	cmp	r3, #20
	ldrls	pc, [pc, r3, asl #2]
	b	.L2146
.L2148:
	.word	.L2151
	.word	.L2146
	.word	.L2146
	.word	.L2146
	.word	.L2146
	.word	.L2146
	.word	.L2150
	.word	.L2146
	.word	.L2146
	.word	.L2146
	.word	.L2146
	.word	.L2146
	.word	.L2146
	.word	.L2146
	.word	.L2149
	.word	.L2146
	.word	.L2146
	.word	.L2146
	.word	.L2146
	.word	.L2146
	.word	.L2147
.L2151:
	ldr	r3, [fp, #-40]
	orr	r3, r3, #73
	str	r3, [fp, #-40]
	b	.L2146
.L2147:
	ldr	r3, [fp, #-40]
	orr	r3, r3, #64
	str	r3, [fp, #-40]
	b	.L2146
.L2150:
	ldr	r3, [fp, #-40]
	orr	r3, r3, #8
	str	r3, [fp, #-40]
	b	.L2146
.L2149:
	ldr	r3, [fp, #-40]
	orr	r3, r3, #1
	str	r3, [fp, #-40]
	nop
.L2146:
	ldr	r3, [fp, #-60]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L2152
	ldr	r3, [fp, #-60]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r0, .L2181+40
	bl	strchr
	mov	r3, r0
	cmp	r3, #0
	bne	.L2153
.L2152:
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	bne	.L2154
	mov	r3, #73
	str	r3, [fp, #-40]
.L2154:
	ldr	r3, [fp, #-60]
	ldrb	r3, [r3]
	strb	r3, [fp, #-61]
	ldrb	r3, [fp, #-61]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r0, .L2181+44
	bl	strchr
	mov	r3, r0
	cmp	r3, #0
	beq	.L2178
	ldr	r3, [fp, #-60]
	add	r3, r3, #1
	str	r3, [fp, #-60]
	mov	r3, #0
	str	r3, [fp, #-36]
	b	.L2157
.L2169:
	ldr	r3, [fp, #-60]
	add	r2, r3, #1
	str	r2, [fp, #-60]
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r3, r3, #88
	cmp	r3, #32
	ldrls	pc, [pc, r3, asl #2]
	b	.L2157
.L2159:
	.word	.L2166
	.word	.L2157
	.word	.L2157
	.word	.L2157
	.word	.L2157
	.word	.L2157
	.word	.L2157
	.word	.L2157
	.word	.L2157
	.word	.L2157
	.word	.L2157
	.word	.L2157
	.word	.L2157
	.word	.L2157
	.word	.L2157
	.word	.L2165
	.word	.L2157
	.word	.L2157
	.word	.L2157
	.word	.L2157
	.word	.L2157
	.word	.L2157
	.word	.L2157
	.word	.L2164
	.word	.L2157
	.word	.L2157
	.word	.L2163
	.word	.L2180
	.word	.L2157
	.word	.L2161
	.word	.L2157
	.word	.L2160
	.word	.L2158
.L2163:
	ldr	r3, [fp, #-36]
	orr	r3, r3, #4
	str	r3, [fp, #-36]
	b	.L2157
.L2160:
	ldr	r3, [fp, #-36]
	orr	r3, r3, #2
	str	r3, [fp, #-36]
	b	.L2157
.L2158:
	ldr	r3, [fp, #-36]
	orr	r3, r3, #1
	str	r3, [fp, #-36]
	b	.L2157
.L2161:
	ldr	r3, [fp, #-32]
	asr	r3, r3, #6
	ldr	r2, [fp, #-36]
	orr	r3, r2, r3
	str	r3, [fp, #-36]
	b	.L2157
.L2165:
	ldr	r3, [fp, #-32]
	asr	r3, r3, #3
	ldr	r2, [fp, #-36]
	orr	r3, r2, r3
	str	r3, [fp, #-36]
	b	.L2157
.L2164:
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-32]
	orr	r3, r2, r3
	str	r3, [fp, #-36]
	b	.L2157
.L2166:
	ldr	r3, [fp, #-32]
	and	r3, r3, #73
	cmp	r3, #0
	beq	.L2157
	ldr	r3, [fp, #-36]
	orr	r3, r3, #1
	str	r3, [fp, #-36]
	b	.L2157
.L2180:
	nop
.L2157:
	ldr	r3, [fp, #-60]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L2168
	ldr	r3, [fp, #-60]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r0, .L2181+48
	bl	strchr
	mov	r3, r0
	cmp	r3, #0
	bne	.L2169
.L2168:
	ldr	r3, [fp, #-36]
	and	r2, r3, #7
	ldr	r3, [fp, #-40]
	mul	r3, r2, r3
	str	r3, [fp, #-36]
	ldrb	r3, [fp, #-61]	@ zero_extendqisi2
	cmp	r3, #61
	beq	.L2170
	cmp	r3, #61
	bgt	.L2171
	cmp	r3, #43
	beq	.L2172
	cmp	r3, #45
	bne	.L2171
	ldr	r3, [fp, #-36]
	mvn	r3, r3
	ldr	r2, [fp, #-44]
	and	r3, r3, r2
	str	r3, [fp, #-44]
	b	.L2171
.L2170:
	ldr	r2, [fp, #-40]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	mvn	r2, r3
	ldr	r3, [fp, #-44]
	and	r3, r3, r2
	ldr	r2, [fp, #-36]
	orr	r3, r2, r3
	str	r3, [fp, #-44]
	b	.L2171
.L2172:
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-36]
	orr	r3, r2, r3
	str	r3, [fp, #-44]
.L2171:
	ldr	r3, [fp, #-60]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #44
	bne	.L2173
	mov	r3, #0
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-60]
	add	r3, r3, #1
	str	r3, [fp, #-60]
	b	.L2145
.L2173:
	ldr	r3, [fp, #-60]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r0, .L2181+44
	bl	strchr
	mov	r3, r0
	cmp	r3, #0
	beq	.L2179
.L2145:
	ldr	r3, [fp, #-60]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L2146
	b	.L2156
.L2178:
	nop
	b	.L2156
.L2179:
	nop
.L2156:
	ldr	r3, [fp, #-60]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L2175
	ldr	r3, .L2181+16
	ldr	r3, [r3]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L2181+52
	bl	sh_error
.L2175:
	ldr	r3, [fp, #-44]
	mvn	r3, r3
	str	r3, [fp, #-44]
.L2144:
	ldr	r3, [fp, #-44]
	mov	r0, r3
	bl	umask
.L2139:
	mov	r3, #0
	ldr	r2, .L2181
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L2177
	bl	__stack_chk_fail
.L2177:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2182:
	.align	2
.L2181:
	.word	.LC217
	.word	.LC209
	.word	suppressint
	.word	intpending
	.word	argptr
	.word	.LC210
	.word	.LC211
	.word	.LC133
	.word	.LC212
	.word	illnum
	.word	.LC213
	.word	.LC214
	.word	.LC215
	.word	.LC216
	.size	umaskcmd, .-umaskcmd
	.section	.rodata
	.align	2
.LC218:
	.ascii	"time(seconds)\000"
	.align	2
.LC219:
	.ascii	"file(blocks)\000"
	.align	2
.LC220:
	.ascii	"data(kbytes)\000"
	.align	2
.LC221:
	.ascii	"stack(kbytes)\000"
	.align	2
.LC222:
	.ascii	"coredump(blocks)\000"
	.align	2
.LC223:
	.ascii	"memory(kbytes)\000"
	.align	2
.LC224:
	.ascii	"locked memory(kbytes)\000"
	.align	2
.LC225:
	.ascii	"process\000"
	.align	2
.LC226:
	.ascii	"nofiles\000"
	.align	2
.LC227:
	.ascii	"vmemory(kbytes)\000"
	.align	2
.LC228:
	.ascii	"locks\000"
	.align	2
	.type	limits, %object
	.size	limits, 192
limits:
	.word	.LC218
	.word	0
	.word	1
	.byte	116
	.space	3
	.word	.LC219
	.word	1
	.word	512
	.byte	102
	.space	3
	.word	.LC220
	.word	2
	.word	1024
	.byte	100
	.space	3
	.word	.LC221
	.word	3
	.word	1024
	.byte	115
	.space	3
	.word	.LC222
	.word	4
	.word	512
	.byte	99
	.space	3
	.word	.LC223
	.word	5
	.word	1024
	.byte	109
	.space	3
	.word	.LC224
	.word	8
	.word	1024
	.byte	108
	.space	3
	.word	.LC225
	.word	6
	.word	1
	.byte	112
	.space	3
	.word	.LC226
	.word	7
	.word	1
	.byte	110
	.space	3
	.word	.LC227
	.word	9
	.word	1024
	.byte	118
	.space	3
	.word	.LC228
	.word	10
	.word	1
	.byte	119
	.space	3
	.word	0
	.word	0
	.word	0
	.byte	0
	.space	3
	.align	2
.LC229:
	.ascii	"unlimited\012\000"
	.global	__aeabi_uidiv
	.align	2
.LC230:
	.ascii	"%lld\012\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	printlim, %function
printlim:
	@ 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, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L2184
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	str	r3, [fp, #-8]
.L2184:
	ldr	r3, [fp, #-8]
	cmn	r3, #1
	bne	.L2185
	ldr	r0, .L2188
	bl	out1fmt
	b	.L2187
.L2185:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	mov	r1, r3
	ldr	r0, [fp, #-8]
	bl	__aeabi_uidiv
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r2, r3
	mov	r3, #0
	ldr	r0, .L2188+4
	bl	out1fmt
.L2187:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2189:
	.align	2
.L2188:
	.word	.LC229
	.word	.LC230
	.size	printlim, .-printlim
	.section	.rodata
	.align	2
.LC231:
	.ascii	"HSatfdscmlpnvw\000"
	.align	2
.LC232:
	.ascii	"too many arguments\000"
	.align	2
.LC233:
	.ascii	"unlimited\000"
	.align	2
.LC234:
	.ascii	"bad number\000"
	.align	2
.LC235:
	.ascii	"%-20s \000"
	.align	2
.LC236:
	.ascii	"error setting limit (%s)\000"
	.align	2
.LC237:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	ulimitcmd
	.syntax unified
	.arm
	.fpu softvfp
	.type	ulimitcmd, %function
ulimitcmd:
	@ args = 0, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	str	r0, [fp, #-56]
	str	r1, [fp, #-60]
	ldr	r3, .L2217
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-52]
	mov	r3, #3
	str	r3, [fp, #-48]
	mov	r3, #0
	str	r3, [fp, #-40]
	mov	r3, #102
	str	r3, [fp, #-36]
	b	.L2191
.L2196:
	ldr	r3, [fp, #-28]
	cmp	r3, #97
	beq	.L2192
	ldr	r3, [fp, #-28]
	cmp	r3, #97
	bgt	.L2193
	ldr	r3, [fp, #-28]
	cmp	r3, #72
	beq	.L2194
	ldr	r3, [fp, #-28]
	cmp	r3, #83
	beq	.L2195
	b	.L2193
.L2194:
	mov	r3, #2
	str	r3, [fp, #-48]
	b	.L2191
.L2195:
	mov	r3, #1
	str	r3, [fp, #-48]
	b	.L2191
.L2192:
	mov	r3, #1
	str	r3, [fp, #-40]
	b	.L2191
.L2193:
	ldr	r3, [fp, #-28]
	str	r3, [fp, #-36]
.L2191:
	ldr	r0, .L2217+4
	bl	nextopt
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L2196
	ldr	r3, .L2217+8
	str	r3, [fp, #-44]
	b	.L2197
.L2198:
	ldr	r3, [fp, #-44]
	add	r3, r3, #16
	str	r3, [fp, #-44]
.L2197:
	ldr	r3, [fp, #-44]
	ldrb	r3, [r3, #12]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-36]
	cmp	r3, r2
	bne	.L2198
	ldr	r3, .L2217+12
	ldr	r3, [r3]
	ldr	r3, [r3]
	cmp	r3, #0
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L2199
	ldr	r3, .L2217+12
	ldr	r3, [r3]
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	bne	.L2200
	ldr	r3, .L2217+12
	ldr	r3, [r3]
	add	r3, r3, #4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L2201
.L2200:
	ldr	r0, .L2217+16
	bl	sh_error
.L2201:
	ldr	r1, .L2217+20
	ldr	r0, [fp, #-32]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L2202
	mvn	r3, #0
	str	r3, [fp, #-52]
	b	.L2199
.L2202:
	mov	r3, #0
	str	r3, [fp, #-52]
	b	.L2203
.L2205:
	ldr	r2, [fp, #-52]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #1
	mov	r2, r3
	ldr	r3, [fp, #-20]
	add	r3, r2, r3
	sub	r3, r3, #48
	str	r3, [fp, #-52]
.L2203:
	ldr	r3, [fp, #-32]
	add	r2, r3, #1
	str	r2, [fp, #-32]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #47
	ble	.L2204
	ldr	r3, [fp, #-20]
	cmp	r3, #57
	ble	.L2205
.L2204:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L2206
	ldr	r0, .L2217+24
	bl	sh_error
.L2206:
	ldr	r3, [fp, #-44]
	ldr	r3, [r3, #8]
	mov	r2, r3
	ldr	r3, [fp, #-52]
	mul	r3, r2, r3
	str	r3, [fp, #-52]
.L2199:
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	beq	.L2207
	ldr	r3, .L2217+8
	str	r3, [fp, #-44]
	b	.L2208
.L2209:
	ldr	r3, [fp, #-44]
	ldr	r3, [r3, #4]
	mov	r2, r3
	sub	r3, fp, #16
	mov	r1, r3
	mov	r0, r2
	bl	getrlimit
	ldr	r3, [fp, #-44]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L2217+28
	bl	out1fmt
	sub	r3, fp, #16
	ldr	r2, [fp, #-44]
	mov	r1, r3
	ldr	r0, [fp, #-48]
	bl	printlim
	ldr	r3, [fp, #-44]
	add	r3, r3, #16
	str	r3, [fp, #-44]
.L2208:
	ldr	r3, [fp, #-44]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L2209
	mov	r3, #0
	b	.L2215
.L2207:
	ldr	r3, [fp, #-44]
	ldr	r3, [r3, #4]
	mov	r2, r3
	sub	r3, fp, #16
	mov	r1, r3
	mov	r0, r2
	bl	getrlimit
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L2211
	ldr	r3, [fp, #-48]
	and	r3, r3, #2
	cmp	r3, #0
	beq	.L2212
	ldr	r3, [fp, #-52]
	str	r3, [fp, #-12]
.L2212:
	ldr	r3, [fp, #-48]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L2213
	ldr	r3, [fp, #-52]
	str	r3, [fp, #-16]
.L2213:
	ldr	r3, [fp, #-44]
	ldr	r3, [r3, #4]
	mov	r2, r3
	sub	r3, fp, #16
	mov	r1, r3
	mov	r0, r2
	bl	setrlimit
	mov	r3, r0
	cmp	r3, #0
	bge	.L2214
	ldr	r3, .L2217+32
	ldr	r3, [r3]
	ldr	r3, [r3]
	mov	r0, r3
	bl	strerror
	mov	r3, r0
	mov	r1, r3
	ldr	r0, .L2217+36
	bl	sh_error
.L2211:
	sub	r3, fp, #16
	ldr	r2, [fp, #-44]
	mov	r1, r3
	ldr	r0, [fp, #-48]
	bl	printlim
.L2214:
	mov	r3, #0
.L2215:
	ldr	r2, .L2217
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L2216
	bl	__stack_chk_fail
.L2216:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2218:
	.align	2
.L2217:
	.word	.LC237
	.word	.LC231
	.word	limits
	.word	argptr
	.word	.LC232
	.word	.LC233
	.word	.LC234
	.word	.LC235
	.word	dash_errno
	.word	.LC236
	.size	ulimitcmd, .-ulimitcmd
	.comm	nullstr,1,4
	.global	spcstr
	.section	.rodata
	.align	2
	.type	spcstr, %object
	.size	spcstr, 2
spcstr:
	.ascii	" \000"
	.global	snlfmt
	.align	2
	.type	snlfmt, %object
	.size	snlfmt, 4
snlfmt:
	.ascii	"%s\012\000"
	.global	dolatstr
	.align	2
	.type	dolatstr, %object
	.size	dolatstr, 7
dolatstr:
	.ascii	"\210\202\001@=\210\000"
	.global	qchars
	.align	2
	.type	qchars, %object
	.size	qchars, 3
qchars:
	.ascii	"\201\210\000"
	.global	illnum
	.align	2
	.type	illnum, %object
	.size	illnum, 19
illnum:
	.ascii	"Illegal number: %s\000"
	.global	homestr
	.align	2
	.type	homestr, %object
	.size	homestr, 5
homestr:
	.ascii	"HOME\000"
	.text
	.align	2
	.global	prefix
	.syntax unified
	.arm
	.fpu softvfp
	.type	prefix, %function
prefix:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	b	.L2220
.L2222:
	ldr	r3, [fp, #-12]
	add	r2, r3, #1
	str	r2, [fp, #-12]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-8]
	add	r1, r3, #1
	str	r1, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r2, r3
	beq	.L2220
	mov	r3, #0
	b	.L2221
.L2220:
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L2222
	ldr	r3, [fp, #-8]
.L2221:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	prefix, .-prefix
	.align	2
	.global	badnum
	.syntax unified
	.arm
	.fpu softvfp
	.type	badnum, %function
badnum:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r1, [fp, #-8]
	ldr	r0, .L2224
	bl	sh_error
.L2225:
	.align	2
.L2224:
	.word	illnum
	.size	badnum, .-badnum
	.section	.rodata
	.align	2
.LC238:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	atomax
	.syntax unified
	.arm
	.fpu softvfp
	.type	atomax, %function
atomax:
	@ 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]
	ldr	r3, .L2234
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L2234+4
	ldr	r3, [r3]
	mov	r2, #0
	str	r2, [r3]
	sub	r3, fp, #24
	ldr	r2, [fp, #-36]
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	strtoimax
	str	r0, [fp, #-20]
	str	r1, [fp, #-16]
	ldr	r3, .L2234+4
	ldr	r3, [r3]
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L2227
	ldr	r0, [fp, #-32]
	bl	badnum
.L2227:
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-32]
	cmp	r2, r3
	bne	.L2229
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	beq	.L2229
	ldr	r0, [fp, #-32]
	bl	badnum
.L2230:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L2229:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8192
	cmp	r3, #0
	bne	.L2230
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L2231
	ldr	r0, [fp, #-32]
	bl	badnum
.L2231:
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	ldr	r1, .L2234
	ldr	r0, [r1]
	ldr	r1, [fp, #-8]
	eors	r0, r1, r0
	mov	r1, #0
	beq	.L2233
	bl	__stack_chk_fail
.L2233:
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2235:
	.align	2
.L2234:
	.word	.LC238
	.word	dash_errno
	.size	atomax, .-atomax
	.align	2
	.global	atomax10
	.syntax unified
	.arm
	.fpu softvfp
	.type	atomax10, %function
atomax10:
	@ 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, #10
	ldr	r0, [fp, #-8]
	bl	atomax
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	atomax10, .-atomax10
	.align	2
	.global	number
	.syntax unified
	.arm
	.fpu softvfp
	.type	number, %function
number:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r0, [fp, #-16]
	bl	atomax10
	str	r0, [fp, #-12]
	str	r1, [fp, #-8]
	sub	r3, fp, #12
	ldmia	r3, {r2-r3}
	cmp	r2, #0
	sbcs	r3, r3, #0
	blt	.L2239
	sub	r3, fp, #12
	ldmia	r3, {r2-r3}
	mvn	r0, #-2147483648
	mov	r1, #0
	cmp	r0, r2
	sbcs	r3, r1, r3
	bge	.L2240
.L2239:
	ldr	r0, [fp, #-16]
	bl	badnum
.L2240:
	ldr	r3, [fp, #-12]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	number, .-number
	.align	2
	.global	is_number
	.syntax unified
	.arm
	.fpu softvfp
	.type	is_number, %function
is_number:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
.L2245:
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r3, r3, #48
	cmp	r3, #9
	bls	.L2243
	mov	r3, #0
	b	.L2244
.L2243:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L2245
	mov	r3, #1
.L2244:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	is_number, .-is_number
	.section	.rodata
	.align	2
.LC239:
	.ascii	"'\000"
	.text
	.align	2
	.global	single_quote
	.syntax unified
	.arm
	.fpu softvfp
	.type	single_quote, %function
single_quote:
	@ 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, .L2252
	ldr	r3, [r3]
	str	r3, [fp, #-16]
.L2249:
	mov	r1, #39
	ldr	r0, [fp, #-24]
	bl	strchrnul
	mov	r2, r0
	ldr	r3, [fp, #-24]
	sub	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	add	r3, r3, #3
	ldr	r1, [fp, #-16]
	mov	r0, r3
	bl	makestrspace
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	add	r2, r3, #1
	str	r2, [fp, #-8]
	mov	r2, #39
	strb	r2, [r3]
	ldr	r2, [fp, #-12]
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-8]
	bl	mempcpy
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	add	r2, r3, #1
	str	r2, [fp, #-8]
	mov	r2, #39
	strb	r2, [r3]
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-16]
	ldr	r1, .L2252+4
	ldr	r0, [fp, #-24]
	bl	strspn
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L2251
	ldr	r3, [fp, #-12]
	add	r3, r3, #3
	ldr	r1, [fp, #-16]
	mov	r0, r3
	bl	makestrspace
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	add	r2, r3, #1
	str	r2, [fp, #-8]
	mov	r2, #34
	strb	r2, [r3]
	ldr	r2, [fp, #-12]
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-8]
	bl	mempcpy
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	add	r2, r3, #1
	str	r2, [fp, #-8]
	mov	r2, #34
	strb	r2, [r3]
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L2249
	b	.L2248
.L2251:
	nop
.L2248:
	ldr	r3, [fp, #-16]
	add	r2, r3, #1
	str	r2, [fp, #-16]
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, .L2252
	ldr	r3, [r3]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2253:
	.align	2
.L2252:
	.word	stacknxt
	.word	.LC239
	.size	single_quote, .-single_quote
	.align	2
	.global	sstrdup
	.syntax unified
	.arm
	.fpu softvfp
	.type	sstrdup, %function
sstrdup:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r0, [fp, #-16]
	bl	strlen
	mov	r3, r0
	add	r3, r3, #1
	str	r3, [fp, #-8]
	ldr	r0, [fp, #-8]
	bl	stalloc
	mov	r3, r0
	ldr	r2, [fp, #-8]
	ldr	r1, [fp, #-16]
	mov	r0, r3
	bl	memcpy
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	sstrdup, .-sstrdup
	.align	2
	.global	pstrcmp
	.syntax unified
	.arm
	.fpu softvfp
	.type	pstrcmp, %function
pstrcmp:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	mov	r1, r3
	mov	r0, r2
	bl	strcmp
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	pstrcmp, .-pstrcmp
	.align	2
	.global	findstring
	.syntax unified
	.arm
	.fpu softvfp
	.type	findstring, %function
findstring:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	sub	r0, fp, #8
	ldr	r3, .L2260
	str	r3, [sp]
	mov	r3, #4
	ldr	r2, [fp, #-16]
	ldr	r1, [fp, #-12]
	bl	bsearch
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2261:
	.align	2
.L2260:
	.word	pstrcmp
	.size	findstring, .-findstring
	.comm	arg0,4,4
	.comm	shellparam,20,4
	.comm	argptr,4,4
	.comm	optionarg,4,4
	.comm	optptr,4,4
	.comm	minusc,4,4
	.section	.rodata
	.align	2
.LC240:
	.ascii	"errexit\000"
	.align	2
.LC241:
	.ascii	"noglob\000"
	.align	2
.LC242:
	.ascii	"ignoreeof\000"
	.align	2
.LC243:
	.ascii	"interactive\000"
	.align	2
.LC244:
	.ascii	"monitor\000"
	.align	2
.LC245:
	.ascii	"noexec\000"
	.align	2
.LC246:
	.ascii	"stdin\000"
	.align	2
.LC247:
	.ascii	"xtrace\000"
	.align	2
.LC248:
	.ascii	"verbose\000"
	.align	2
.LC249:
	.ascii	"vi\000"
	.align	2
.LC250:
	.ascii	"emacs\000"
	.align	2
.LC251:
	.ascii	"noclobber\000"
	.align	2
.LC252:
	.ascii	"allexport\000"
	.align	2
.LC253:
	.ascii	"notify\000"
	.align	2
.LC254:
	.ascii	"nounset\000"
	.align	2
.LC255:
	.ascii	"nolog\000"
	.align	2
.LC256:
	.ascii	"debug\000"
	.align	2
	.type	optnames, %object
	.size	optnames, 68
optnames:
	.word	.LC240
	.word	.LC241
	.word	.LC242
	.word	.LC243
	.word	.LC244
	.word	.LC245
	.word	.LC246
	.word	.LC247
	.word	.LC248
	.word	.LC249
	.word	.LC250
	.word	.LC251
	.word	.LC252
	.word	.LC253
	.word	.LC254
	.word	.LC255
	.word	.LC256
	.global	optletters
	.align	2
	.type	optletters, %object
	.size	optletters, 17
optletters:
	.ascii	"efIimnsxvVECabu\000\000"
	.comm	optlist,17,4
	.align	2
.LC257:
	.ascii	"-c requires an argument\000"
	.text
	.align	2
	.global	procargs
	.syntax unified
	.arm
	.fpu softvfp
	.type	procargs, %function
procargs:
	@ 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]
	ldr	r3, [fp, #-28]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L2263
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #45
	bne	.L2263
	mov	r3, #1
	b	.L2264
.L2263:
	mov	r3, #0
.L2264:
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, .L2281
	str	r3, [r2]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	ble	.L2265
	ldr	r3, [fp, #-16]
	add	r3, r3, #4
	str	r3, [fp, #-16]
.L2265:
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L2266
.L2267:
	ldr	r2, .L2281+4
	ldr	r3, [fp, #-20]
	add	r3, r2, r3
	mov	r2, #2
	strb	r2, [r3]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L2266:
	ldr	r3, [fp, #-20]
	cmp	r3, #16
	ble	.L2267
	ldr	r2, .L2281+8
	ldr	r3, [fp, #-16]
	str	r3, [r2]
	mov	r0, #1
	bl	options
	mov	r2, r0
	ldr	r3, [fp, #-12]
	orr	r3, r3, r2
	str	r3, [fp, #-12]
	ldr	r3, .L2281+8
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	ldr	r3, .L2281+12
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L2268
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L2269
	ldr	r0, .L2281+16
	bl	sh_error
.L2269:
	ldr	r3, .L2281+4
	mov	r2, #1
	strb	r2, [r3, #6]
.L2268:
	ldr	r3, .L2281+4
	ldrb	r3, [r3, #3]	@ zero_extendqisi2
	cmp	r3, #2
	bne	.L2270
	ldr	r3, .L2281+4
	ldrb	r3, [r3, #6]	@ zero_extendqisi2
	cmp	r3, #1
	bne	.L2270
	mov	r0, #0
	bl	isatty
	mov	r3, r0
	cmp	r3, #0
	beq	.L2270
	mov	r0, #1
	bl	isatty
	mov	r3, r0
	cmp	r3, #0
	beq	.L2270
	ldr	r3, .L2281+4
	mov	r2, #1
	strb	r2, [r3, #3]
.L2270:
	ldr	r3, .L2281+4
	ldrb	r3, [r3, #4]	@ zero_extendqisi2
	cmp	r3, #2
	bne	.L2271
	ldr	r3, .L2281+4
	ldrb	r2, [r3, #3]	@ zero_extendqisi2
	ldr	r3, .L2281+4
	strb	r2, [r3, #4]
.L2271:
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L2272
.L2274:
	ldr	r2, .L2281+4
	ldr	r3, [fp, #-20]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #2
	bne	.L2273
	ldr	r2, .L2281+4
	ldr	r3, [fp, #-20]
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3]
.L2273:
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L2272:
	ldr	r3, [fp, #-20]
	cmp	r3, #16
	ble	.L2274
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L2275
	ldr	r3, [fp, #-16]
	add	r2, r3, #4
	str	r2, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, .L2281+12
	str	r3, [r2]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L2276
	b	.L2277
.L2275:
	ldr	r3, .L2281+4
	ldrb	r3, [r3, #6]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L2276
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	mov	r1, #0
	mov	r0, r3
	bl	setinputfile
.L2277:
	ldr	r3, [fp, #-16]
	add	r2, r3, #4
	str	r2, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, .L2281
	str	r3, [r2]
	ldr	r3, .L2281
	ldr	r3, [r3]
	ldr	r2, .L2281+20
	str	r3, [r2]
.L2276:
	ldr	r2, .L2281+24
	ldr	r3, [fp, #-16]
	str	r3, [r2, #8]
	ldr	r3, .L2281+24
	mov	r2, #1
	str	r2, [r3, #12]
	ldr	r3, .L2281+24
	mvn	r2, #0
	str	r2, [r3, #16]
	b	.L2278
.L2279:
	ldr	r3, .L2281+24
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L2281+24
	str	r3, [r2]
	ldr	r3, [fp, #-16]
	add	r3, r3, #4
	str	r3, [fp, #-16]
.L2278:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L2279
	bl	optschanged
	ldr	r3, [fp, #-12]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2282:
	.align	2
.L2281:
	.word	arg0
	.word	optlist
	.word	argptr
	.word	minusc
	.word	.LC257
	.word	commandname
	.word	shellparam
	.size	procargs, .-procargs
	.align	2
	.global	optschanged
	.syntax unified
	.arm
	.fpu softvfp
	.type	optschanged, %function
optschanged:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L2284
	ldrb	r3, [r3, #3]	@ zero_extendqisi2
	mov	r0, r3
	bl	setinteractive
	ldr	r3, .L2284
	ldrb	r3, [r3, #4]	@ zero_extendqisi2
	mov	r0, r3
	bl	setjobctl
	nop
	pop	{fp, pc}
.L2285:
	.align	2
.L2284:
	.word	optlist
	.size	optschanged, .-optschanged
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	options, %function
options:
	@ 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]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L2288
	ldr	r3, .L2304
	mov	r2, #0
	str	r2, [r3]
	b	.L2288
.L2301:
	ldr	r3, .L2304+4
	ldr	r3, [r3]
	add	r3, r3, #4
	ldr	r2, .L2304+4
	str	r3, [r2]
	ldr	r3, [fp, #-20]
	add	r2, r3, #1
	str	r2, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #45
	bne	.L2289
	mov	r3, #1
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L2290
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #45
	bne	.L2296
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L2296
.L2290:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L2303
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L2293
	ldr	r3, .L2304+8
	mov	r2, #0
	strb	r2, [r3, #8]
	ldr	r3, .L2304+8
	ldrb	r2, [r3, #8]	@ zero_extendqisi2
	ldr	r3, .L2304+8
	strb	r2, [r3, #7]
	b	.L2303
.L2293:
	ldr	r3, .L2304+4
	ldr	r3, [r3]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L2303
	ldr	r3, .L2304+4
	ldr	r3, [r3]
	mov	r0, r3
	bl	setparam
	b	.L2303
.L2289:
	ldr	r3, [fp, #-8]
	cmp	r3, #43
	bne	.L2295
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L2296
.L2295:
	ldr	r3, .L2304+4
	ldr	r3, [r3]
	sub	r3, r3, #4
	ldr	r2, .L2304+4
	str	r3, [r2]
	b	.L2294
.L2300:
	ldr	r3, [fp, #-8]
	cmp	r3, #99
	bne	.L2297
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L2297
	ldr	r2, .L2304
	ldr	r3, [fp, #-20]
	str	r3, [r2]
	b	.L2296
.L2297:
	ldr	r3, [fp, #-8]
	cmp	r3, #108
	bne	.L2298
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L2298
	mov	r3, #1
	str	r3, [fp, #-12]
	b	.L2296
.L2298:
	ldr	r3, [fp, #-8]
	cmp	r3, #111
	bne	.L2299
	ldr	r3, .L2304+4
	ldr	r3, [r3]
	ldr	r3, [r3]
	ldr	r1, [fp, #-16]
	mov	r0, r3
	bl	minus_o
	ldr	r3, .L2304+4
	ldr	r3, [r3]
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L2296
	ldr	r3, .L2304+4
	ldr	r3, [r3]
	add	r3, r3, #4
	ldr	r2, .L2304+4
	str	r3, [r2]
	b	.L2296
.L2299:
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-8]
	bl	setoption
.L2296:
	ldr	r3, [fp, #-20]
	add	r2, r3, #1
	str	r2, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L2300
.L2288:
	ldr	r3, .L2304+4
	ldr	r3, [r3]
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L2301
	b	.L2294
.L2303:
	nop
.L2294:
	ldr	r3, [fp, #-12]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2305:
	.align	2
.L2304:
	.word	minusc
	.word	argptr
	.word	optlist
	.size	options, .-options
	.section	.rodata
	.align	2
.LC258:
	.ascii	"Current option settings\012\000"
	.align	2
.LC259:
	.ascii	"on\000"
	.align	2
.LC260:
	.ascii	"off\000"
	.align	2
.LC261:
	.ascii	"%-16s%s\012\000"
	.align	2
.LC262:
	.ascii	"-o\000"
	.align	2
.LC263:
	.ascii	"+o\000"
	.align	2
.LC264:
	.ascii	"set %s %s\012\000"
	.align	2
.LC265:
	.ascii	"Illegal option -o %s\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	minus_o, %function
minus_o:
	@ 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]
	cmp	r3, #0
	bne	.L2307
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L2308
	ldr	r3, .L2321
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L2321+4
	bl	outstr
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L2309
.L2312:
	ldr	r2, .L2321+8
	ldr	r3, [fp, #-8]
	ldr	r1, [r2, r3, lsl #2]
	ldr	r2, .L2321+12
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L2310
	ldr	r3, .L2321+16
	b	.L2311
.L2310:
	ldr	r3, .L2321+20
.L2311:
	mov	r2, r3
	ldr	r0, .L2321+24
	bl	out1fmt
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L2309:
	ldr	r3, [fp, #-8]
	cmp	r3, #16
	ble	.L2312
	b	.L2306
.L2308:
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L2314
.L2317:
	ldr	r2, .L2321+12
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L2315
	ldr	r1, .L2321+28
	b	.L2316
.L2315:
	ldr	r1, .L2321+32
.L2316:
	ldr	r2, .L2321+8
	ldr	r3, [fp, #-8]
	ldr	r3, [r2, r3, lsl #2]
	mov	r2, r3
	ldr	r0, .L2321+36
	bl	out1fmt
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L2314:
	ldr	r3, [fp, #-8]
	cmp	r3, #16
	ble	.L2317
	b	.L2306
.L2307:
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L2318
.L2320:
	ldr	r2, .L2321+8
	ldr	r3, [fp, #-8]
	ldr	r3, [r2, r3, lsl #2]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L2319
	ldr	r3, [fp, #-20]
	and	r1, r3, #255
	ldr	r2, .L2321+12
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3]
	b	.L2306
.L2319:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L2318:
	ldr	r3, [fp, #-8]
	cmp	r3, #16
	ble	.L2320
	ldr	r1, [fp, #-16]
	ldr	r0, .L2321+40
	bl	sh_error
.L2306:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2322:
	.align	2
.L2321:
	.word	out1
	.word	.LC258
	.word	optnames
	.word	optlist
	.word	.LC259
	.word	.LC260
	.word	.LC261
	.word	.LC262
	.word	.LC263
	.word	.LC264
	.word	.LC265
	.size	minus_o, .-minus_o
	.section	.rodata
	.align	2
.LC266:
	.ascii	"Illegal option -%c\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	setoption, %function
setoption:
	@ 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]
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L2324
.L2329:
	ldr	r2, .L2331
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-16]
	cmp	r3, r2
	bne	.L2325
	ldr	r3, [fp, #-20]
	and	r1, r3, #255
	ldr	r2, .L2331+4
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L2330
	ldr	r3, [fp, #-16]
	cmp	r3, #86
	bne	.L2327
	ldr	r3, .L2331+4
	mov	r2, #0
	strb	r2, [r3, #10]
	b	.L2330
.L2327:
	ldr	r3, [fp, #-16]
	cmp	r3, #69
	bne	.L2330
	ldr	r3, .L2331+4
	mov	r2, #0
	strb	r2, [r3, #9]
	b	.L2330
.L2325:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L2324:
	ldr	r3, [fp, #-8]
	cmp	r3, #16
	ble	.L2329
	ldr	r1, [fp, #-16]
	ldr	r0, .L2331+8
	bl	sh_error
.L2330:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2332:
	.align	2
.L2331:
	.word	optletters
	.word	optlist
	.word	.LC266
	.size	setoption, .-setoption
	.align	2
	.global	setparam
	.syntax unified
	.arm
	.fpu softvfp
	.type	setparam, %function
setparam:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #28
	str	r0, [fp, #-32]
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L2334
.L2335:
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L2334:
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-32]
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L2335
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	lsl	r3, r3, #2
	mov	r0, r3
	bl	ckmalloc
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-24]
	b	.L2336
.L2337:
	ldr	r3, [fp, #-32]
	add	r2, r3, #4
	str	r2, [fp, #-32]
	ldr	r2, [r3]
	ldr	r4, [fp, #-24]
	add	r3, r4, #4
	str	r3, [fp, #-24]
	mov	r0, r2
	bl	savestr
	mov	r3, r0
	str	r3, [r4]
.L2336:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L2337
	ldr	r3, [fp, #-24]
	mov	r2, #0
	str	r2, [r3]
	ldr	r0, .L2338
	bl	freeparam
	ldr	r3, .L2338
	mov	r2, #1
	strb	r2, [r3, #4]
	ldr	r2, .L2338
	ldr	r3, [fp, #-20]
	str	r3, [r2]
	ldr	r2, .L2338
	ldr	r3, [fp, #-16]
	str	r3, [r2, #8]
	ldr	r3, .L2338
	mov	r2, #1
	str	r2, [r3, #12]
	ldr	r3, .L2338
	mvn	r2, #0
	str	r2, [r3, #16]
	nop
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L2339:
	.align	2
.L2338:
	.word	shellparam
	.size	setparam, .-setparam
	.align	2
	.global	freeparam
	.syntax unified
	.arm
	.fpu softvfp
	.type	freeparam, %function
freeparam:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3, #4]
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L2344
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-8]
	b	.L2342
.L2343:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	mov	r0, r3
	bl	free
	ldr	r3, [fp, #-8]
	add	r3, r3, #4
	str	r3, [fp, #-8]
.L2342:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L2343
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	free
.L2344:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	freeparam, .-freeparam
	.section	.rodata
	.align	2
.LC267:
	.ascii	"can't shift that many\000"
	.text
	.align	2
	.global	shiftcmd
	.syntax unified
	.arm
	.fpu softvfp
	.type	shiftcmd, %function
shiftcmd:
	@ 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	r3, #1
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-24]
	cmp	r3, #1
	ble	.L2346
	ldr	r3, [fp, #-28]
	add	r3, r3, #4
	ldr	r3, [r3]
	mov	r0, r3
	bl	number
	str	r0, [fp, #-16]
.L2346:
	ldr	r3, .L2354
	ldr	r3, [r3]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	ble	.L2347
	ldr	r0, .L2354+4
	bl	sh_error
.L2347:
	ldr	r3, .L2354+8
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L2354+8
	str	r3, [r2]
	ldr	r3, .L2354
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	sub	r3, r2, r3
	ldr	r2, .L2354
	str	r3, [r2]
	ldr	r3, .L2354
	ldr	r3, [r3, #8]
	str	r3, [fp, #-12]
	b	.L2348
.L2350:
	ldr	r3, .L2354
	ldrb	r3, [r3, #4]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L2349
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	mov	r0, r3
	bl	free
.L2349:
	ldr	r3, [fp, #-12]
	add	r3, r3, #4
	str	r3, [fp, #-12]
.L2348:
	ldr	r3, [fp, #-16]
	sub	r3, r3, #1
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bge	.L2350
	ldr	r3, .L2354
	ldr	r3, [r3, #8]
	str	r3, [fp, #-8]
	nop
.L2351:
	ldr	r2, [fp, #-12]
	add	r3, r2, #4
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-8]
	add	r1, r3, #4
	str	r1, [fp, #-8]
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L2351
	ldr	r3, .L2354
	mov	r2, #1
	str	r2, [r3, #12]
	ldr	r3, .L2354
	mvn	r2, #0
	str	r2, [r3, #16]
	ldr	r3, .L2354+8
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L2354+8
	str	r3, [r2]
	ldr	r3, .L2354+8
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L2352
	ldr	r3, .L2354+12
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L2352
	bl	onint
.L2352:
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2355:
	.align	2
.L2354:
	.word	shellparam
	.word	.LC267
	.word	suppressint
	.word	intpending
	.size	shiftcmd, .-shiftcmd
	.align	2
	.global	setcmd
	.syntax unified
	.arm
	.fpu softvfp
	.type	setcmd, %function
setcmd:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	bne	.L2357
	mov	r2, #32
	mov	r1, #0
	ldr	r0, .L2361
	bl	showvars
	mov	r3, r0
	b	.L2358
.L2357:
	ldr	r3, .L2361+4
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L2361+4
	str	r3, [r2]
	mov	r0, #0
	bl	options
	bl	optschanged
	ldr	r3, .L2361+8
	ldr	r3, [r3]
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L2359
	ldr	r3, .L2361+8
	ldr	r3, [r3]
	mov	r0, r3
	bl	setparam
.L2359:
	ldr	r3, .L2361+4
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L2361+4
	str	r3, [r2]
	ldr	r3, .L2361+4
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L2360
	ldr	r3, .L2361+12
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L2360
	bl	onint
.L2360:
	mov	r3, #0
.L2358:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2362:
	.align	2
.L2361:
	.word	nullstr
	.word	suppressint
	.word	argptr
	.word	intpending
	.size	setcmd, .-setcmd
	.align	2
	.global	getoptsreset
	.syntax unified
	.arm
	.fpu softvfp
	.type	getoptsreset, %function
getoptsreset:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r0, [fp, #-8]
	bl	number
	mov	r3, r0
	cmp	r3, #0
	bne	.L2365
	mov	r3, #1
.L2365:
	ldr	r2, .L2366
	str	r3, [r2, #12]
	ldr	r3, .L2366
	mvn	r2, #0
	str	r2, [r3, #16]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2367:
	.align	2
.L2366:
	.word	shellparam
	.size	getoptsreset, .-getoptsreset
	.section	.rodata
	.align	2
.LC268:
	.ascii	"Usage: getopts optstring var [arg]\000"
	.text
	.align	2
	.global	getoptscmd
	.syntax unified
	.arm
	.fpu softvfp
	.type	getoptscmd, %function
getoptscmd:
	@ 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]
	cmp	r3, #2
	bgt	.L2369
	ldr	r0, .L2373
	bl	sh_error
.L2369:
	ldr	r3, [fp, #-16]
	cmp	r3, #3
	bne	.L2370
	ldr	r3, .L2373+4
	ldr	r3, [r3, #8]
	str	r3, [fp, #-8]
	ldr	r3, .L2373+4
	ldr	r3, [r3, #12]
	mov	r2, r3
	ldr	r3, .L2373+4
	ldr	r3, [r3]
	add	r3, r3, #1
	cmp	r2, r3
	bls	.L2371
	ldr	r3, .L2373+4
	mov	r2, #1
	str	r2, [r3, #12]
	ldr	r3, .L2373+4
	mvn	r2, #0
	str	r2, [r3, #16]
	b	.L2371
.L2370:
	ldr	r3, [fp, #-20]
	add	r3, r3, #12
	str	r3, [fp, #-8]
	ldr	r3, .L2373+4
	ldr	r3, [r3, #12]
	mov	r2, r3
	ldr	r3, [fp, #-16]
	sub	r3, r3, #2
	cmp	r2, r3
	bls	.L2371
	ldr	r3, .L2373+4
	mov	r2, #1
	str	r2, [r3, #12]
	ldr	r3, .L2373+4
	mvn	r2, #0
	str	r2, [r3, #16]
.L2371:
	ldr	r3, [fp, #-20]
	add	r3, r3, #4
	ldr	r0, [r3]
	ldr	r3, [fp, #-20]
	add	r3, r3, #8
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	mov	r1, r3
	bl	getopts
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2374:
	.align	2
.L2373:
	.word	.LC268
	.word	shellparam
	.size	getoptscmd, .-getoptscmd
	.section	.rodata
	.align	2
.LC269:
	.ascii	"OPTARG\000"
	.align	2
.LC270:
	.ascii	"Illegal option -%c\012\000"
	.align	2
.LC271:
	.ascii	"No arg for -%c option\012\000"
	.align	2
.LC272:
	.ascii	"OPTIND\000"
	.align	2
.LC273:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	getopts, %function
getopts:
	@ args = 0, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #64
	str	r0, [fp, #-48]
	str	r1, [fp, #-52]
	str	r2, [fp, #-56]
	ldr	r3, .L2400
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #63
	strb	r3, [fp, #-37]
	mov	r3, #0
	str	r3, [fp, #-28]
	ldr	r3, .L2400+4
	ldr	r3, [r3, #12]
	str	r3, [fp, #-20]
	ldr	r3, .L2400+4
	ldr	r3, [r3, #16]
	str	r3, [fp, #-16]
	ldr	r3, .L2400+4
	mvn	r2, #0
	str	r2, [r3, #12]
	ldr	r3, [fp, #-20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	ldr	r2, [fp, #-56]
	add	r3, r2, r3
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-20]
	cmp	r3, #1
	ble	.L2376
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	blt	.L2376
	ldr	r3, [fp, #-24]
	sub	r3, r3, #4
	ldr	r3, [r3]
	mov	r0, r3
	bl	strlen
	mov	r2, r0
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	bcs	.L2377
.L2376:
	mov	r3, #0
	str	r3, [fp, #-36]
	b	.L2378
.L2377:
	ldr	r3, [fp, #-24]
	sub	r3, r3, #4
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	str	r3, [fp, #-36]
.L2378:
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	beq	.L2379
	ldr	r3, [fp, #-36]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L2380
.L2379:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	beq	.L2398
	ldr	r3, [fp, #-36]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #45
	bne	.L2398
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-36]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L2382
.L2398:
	nop
	b	.L2381
.L2399:
	nop
.L2381:
	mov	r3, #0
	str	r3, [fp, #-36]
	mov	r3, #1
	str	r3, [fp, #-28]
	b	.L2383
.L2382:
	ldr	r3, [fp, #-24]
	add	r3, r3, #4
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-36]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #45
	bne	.L2380
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L2399
.L2380:
	ldr	r3, [fp, #-36]
	add	r2, r3, #1
	str	r2, [fp, #-36]
	ldrb	r3, [r3]
	strb	r3, [fp, #-37]
	ldr	r3, [fp, #-48]
	str	r3, [fp, #-32]
	b	.L2384
.L2388:
	ldr	r3, [fp, #-32]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L2385
	ldr	r3, [fp, #-48]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #58
	bne	.L2386
	ldrb	r3, [fp, #-37]
	strb	r3, [fp, #-12]
	mov	r3, #0
	strb	r3, [fp, #-11]
	sub	r3, fp, #12
	mov	r2, #0
	mov	r1, r3
	ldr	r0, .L2400+8
	bl	setvar
	b	.L2387
.L2386:
	ldrb	r3, [fp, #-37]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r1, .L2400+12
	ldr	r0, .L2400+16
	bl	outfmt
	ldr	r0, .L2400+8
	bl	unsetvar
.L2387:
	mov	r3, #63
	strb	r3, [fp, #-37]
	b	.L2383
.L2385:
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #58
	bne	.L2384
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L2384:
	ldr	r3, [fp, #-32]
	ldrb	r3, [r3]	@ zero_extendqisi2
	ldrb	r2, [fp, #-37]	@ zero_extendqisi2
	cmp	r2, r3
	bne	.L2388
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #58
	bne	.L2389
	ldr	r3, [fp, #-36]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L2390
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	bne	.L2390
	ldr	r3, [fp, #-48]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #58
	bne	.L2391
	ldrb	r3, [fp, #-37]
	strb	r3, [fp, #-12]
	mov	r3, #0
	strb	r3, [fp, #-11]
	sub	r3, fp, #12
	mov	r2, #0
	mov	r1, r3
	ldr	r0, .L2400+8
	bl	setvar
	mov	r3, #58
	strb	r3, [fp, #-37]
	b	.L2383
.L2391:
	ldrb	r3, [fp, #-37]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r1, .L2400+20
	ldr	r0, .L2400+16
	bl	outfmt
	ldr	r0, .L2400+8
	bl	unsetvar
	mov	r3, #63
	strb	r3, [fp, #-37]
	b	.L2383
.L2390:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r2, [fp, #-36]
	cmp	r2, r3
	bne	.L2393
	ldr	r3, [fp, #-24]
	add	r3, r3, #4
	str	r3, [fp, #-24]
.L2393:
	mov	r2, #0
	ldr	r1, [fp, #-36]
	ldr	r0, .L2400+8
	bl	setvar
	mov	r3, #0
	str	r3, [fp, #-36]
	b	.L2383
.L2389:
	mov	r2, #0
	ldr	r1, .L2400+24
	ldr	r0, .L2400+8
	bl	setvar
.L2383:
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-56]
	sub	r3, r2, r3
	asr	r3, r3, #2
	add	r3, r3, #1
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	mov	r2, r3
	asr	r3, r2, #31
	mov	r1, #64
	str	r1, [sp]
	ldr	r0, .L2400+28
	bl	setvarint
	ldrb	r3, [fp, #-37]
	strb	r3, [fp, #-12]
	mov	r3, #0
	strb	r3, [fp, #-11]
	sub	r3, fp, #12
	mov	r2, #0
	mov	r1, r3
	ldr	r0, [fp, #-52]
	bl	setvar
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	beq	.L2394
	ldr	r3, [fp, #-24]
	sub	r3, r3, #4
	ldr	r3, [r3]
	ldr	r2, [fp, #-36]
	sub	r3, r2, r3
	b	.L2395
.L2394:
	mvn	r3, #0
.L2395:
	ldr	r2, .L2400+4
	str	r3, [r2, #16]
	ldr	r2, .L2400+4
	ldr	r3, [fp, #-20]
	str	r3, [r2, #12]
	ldr	r3, [fp, #-28]
	ldr	r2, .L2400
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L2397
	bl	__stack_chk_fail
.L2397:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2401:
	.align	2
.L2400:
	.word	.LC273
	.word	shellparam
	.word	.LC269
	.word	.LC270
	.word	errout
	.word	.LC271
	.word	nullstr
	.word	.LC272
	.size	getopts, .-getopts
	.section	.rodata
	.align	2
.LC274:
	.ascii	"No arg for -%c option\000"
	.text
	.align	2
	.global	nextopt
	.syntax unified
	.arm
	.fpu softvfp
	.type	nextopt, %function
nextopt:
	@ 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, .L2413
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L2403
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L2404
.L2403:
	ldr	r3, .L2413+4
	ldr	r3, [r3]
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L2405
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #45
	bne	.L2405
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L2406
.L2405:
	mov	r3, #0
	b	.L2407
.L2406:
	ldr	r3, .L2413+4
	ldr	r3, [r3]
	add	r3, r3, #4
	ldr	r2, .L2413+4
	str	r3, [r2]
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #45
	bne	.L2404
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L2404
	mov	r3, #0
	b	.L2407
.L2404:
	ldr	r3, [fp, #-12]
	add	r2, r3, #1
	str	r2, [fp, #-12]
	ldrb	r3, [r3]
	strb	r3, [fp, #-13]
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-8]
	b	.L2408
.L2410:
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L2409
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r0, .L2413+8
	bl	sh_error
.L2409:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #58
	bne	.L2408
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L2408:
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	ldrb	r2, [fp, #-13]	@ zero_extendqisi2
	cmp	r2, r3
	bne	.L2410
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #58
	bne	.L2411
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L2412
	ldr	r3, .L2413+4
	ldr	r3, [r3]
	add	r2, r3, #4
	ldr	r1, .L2413+4
	str	r2, [r1]
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L2412
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r0, .L2413+12
	bl	sh_error
.L2412:
	ldr	r2, .L2413+16
	ldr	r3, [fp, #-12]
	str	r3, [r2]
	mov	r3, #0
	str	r3, [fp, #-12]
.L2411:
	ldr	r2, .L2413
	ldr	r3, [fp, #-12]
	str	r3, [r2]
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
.L2407:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2414:
	.align	2
.L2413:
	.word	optptr
	.word	argptr
	.word	.LC266
	.word	.LC274
	.word	optionarg
	.size	nextopt, .-nextopt
	.comm	heredoclist,4,4
	.comm	doprompt,4,4
	.comm	needprompt,4,4
	.comm	lasttoken,4,4
	.comm	tokpushback,4,4
	.comm	wordtext,4,4
	.comm	checkkwd,4,4
	.comm	backquotelist,4,4
	.comm	redirnode,4,4
	.comm	heredoc,4,4
	.comm	quoteflag,4,4
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	isassignment, %function
isassignment:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r0, [fp, #-16]
	bl	endofname
	str	r0, [fp, #-8]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-8]
	cmp	r2, r3
	bne	.L2416
	mov	r3, #0
	b	.L2417
.L2416:
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #61
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
.L2417:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	isassignment, .-isassignment
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	realeofmark, %function
realeofmark:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L2419
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	beq	.L2419
	mov	r3, #1
	b	.L2421
.L2419:
	mov	r3, #0
.L2421:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	realeofmark, .-realeofmark
	.align	2
	.global	parsecmd
	.syntax unified
	.arm
	.fpu softvfp
	.type	parsecmd, %function
parsecmd:
	@ 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, .L2427
	mov	r2, #0
	str	r2, [r3]
	ldr	r2, .L2427+4
	ldr	r3, [fp, #-16]
	str	r3, [r2]
	ldr	r3, .L2427+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L2423
	ldr	r3, .L2427+4
	ldr	r3, [r3]
	mov	r0, r3
	bl	setprompt
.L2423:
	ldr	r3, .L2427+8
	mov	r2, #0
	str	r2, [r3]
	bl	readtoken
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L2424
	ldr	r3, .L2427
	b	.L2425
.L2424:
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	bne	.L2426
	mov	r3, #0
	b	.L2425
.L2426:
	ldr	r3, .L2427
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L2427
	str	r3, [r2]
	mov	r0, #1
	bl	list
	mov	r3, r0
.L2425:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2428:
	.align	2
.L2427:
	.word	tokpushback
	.word	doprompt
	.word	needprompt
	.size	parsecmd, .-parsecmd
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	list, %function
list:
	@ 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, .L2450
	mov	r2, #7
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	cmp	r3, #2
	bne	.L2430
	bl	peektoken
	mov	r3, r0
	ldr	r2, .L2450+4
	ldrb	r3, [r2, r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L2430
	mov	r3, #0
	b	.L2431
.L2430:
	mov	r3, #0
	str	r3, [fp, #-20]
.L2448:
	bl	andor
	str	r0, [fp, #-16]
	bl	readtoken
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #3
	bne	.L2432
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L2433
	ldr	r3, [fp, #-16]
	mov	r2, #1
	str	r2, [r3, #4]
	b	.L2432
.L2433:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	cmp	r3, #2
	beq	.L2434
	mov	r0, #16
	bl	stalloc
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-16]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-16]
.L2434:
	ldr	r3, [fp, #-16]
	mov	r2, #3
	str	r2, [r3]
.L2432:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L2435
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-20]
	b	.L2436
.L2435:
	mov	r0, #12
	bl	stalloc
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r2, #7
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-20]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-16]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-20]
.L2436:
	ldr	r3, [fp, #-12]
	cmp	r3, #3
	bgt	.L2437
	ldr	r3, [fp, #-12]
	cmp	r3, #2
	bge	.L2438
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L2439
	ldr	r3, [fp, #-12]
	cmp	r3, #1
	beq	.L2440
	b	.L2437
.L2438:
	bl	readtoken
	str	r0, [fp, #-12]
.L2440:
	ldr	r3, [fp, #-12]
	cmp	r3, #1
	bne	.L2441
	bl	parseheredoc
	ldr	r3, [fp, #-24]
	cmp	r3, #1
	bne	.L2442
	ldr	r3, [fp, #-20]
	b	.L2431
.L2441:
	ldr	r3, .L2450+8
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L2450+8
	str	r3, [r2]
.L2442:
	ldr	r3, .L2450
	mov	r2, #7
	str	r2, [r3]
	bl	peektoken
	mov	r3, r0
	ldr	r2, .L2450+4
	ldrb	r3, [r2, r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L2449
	ldr	r3, [fp, #-20]
	b	.L2431
.L2439:
	ldr	r3, .L2450+12
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L2445
	bl	parseheredoc
	b	.L2446
.L2445:
	bl	pungetc
.L2446:
	ldr	r3, .L2450+8
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L2450+8
	str	r3, [r2]
	ldr	r3, [fp, #-20]
	b	.L2431
.L2437:
	ldr	r3, [fp, #-24]
	cmp	r3, #1
	bne	.L2447
	mvn	r0, #0
	bl	synexpect
.L2447:
	ldr	r3, .L2450+8
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L2450+8
	str	r3, [r2]
	ldr	r3, [fp, #-20]
	b	.L2431
.L2449:
	nop
	b	.L2448
.L2431:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2451:
	.align	2
.L2450:
	.word	checkkwd
	.word	tokendlist
	.word	tokpushback
	.word	heredoclist
	.size	list, .-list
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	andor, %function
andor:
	@ 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	pipeline
	str	r0, [fp, #-20]
.L2457:
	bl	readtoken
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #4
	bne	.L2453
	mov	r3, #5
	str	r3, [fp, #-16]
	b	.L2454
.L2453:
	ldr	r3, [fp, #-16]
	cmp	r3, #5
	bne	.L2455
	mov	r3, #6
	str	r3, [fp, #-16]
	b	.L2454
.L2455:
	ldr	r3, .L2459
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L2459
	str	r3, [r2]
	ldr	r3, [fp, #-20]
	b	.L2458
.L2454:
	ldr	r3, .L2459+4
	mov	r2, #7
	str	r2, [r3]
	bl	pipeline
	str	r0, [fp, #-12]
	mov	r0, #12
	bl	stalloc
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-20]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-20]
	b	.L2457
.L2458:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2460:
	.align	2
.L2459:
	.word	tokpushback
	.word	checkkwd
	.size	andor, .-andor
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	pipeline, %function
pipeline:
	@ 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, #0
	str	r3, [fp, #-20]
	bl	readtoken
	mov	r3, r0
	cmp	r3, #13
	bne	.L2462
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-20]
	ldr	r3, .L2468
	mov	r2, #3
	str	r2, [r3]
	b	.L2463
.L2462:
	ldr	r3, .L2468+4
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L2468+4
	str	r3, [r2]
.L2463:
	bl	command
	str	r0, [fp, #-28]
	bl	readtoken
	mov	r3, r0
	cmp	r3, #6
	bne	.L2464
	mov	r0, #12
	bl	stalloc
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	mov	r2, #0
	str	r2, [r3, #4]
	mov	r0, #8
	bl	stalloc
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-24]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-28]
	str	r2, [r3, #4]
.L2465:
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-12]
	mov	r0, #8
	bl	stalloc
	str	r0, [fp, #-24]
	ldr	r3, .L2468
	mov	r2, #7
	str	r2, [r3]
	bl	command
	mov	r2, r0
	ldr	r3, [fp, #-24]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-24]
	str	r2, [r3]
	bl	readtoken
	mov	r3, r0
	cmp	r3, #6
	beq	.L2465
	ldr	r3, [fp, #-24]
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-28]
.L2464:
	ldr	r3, .L2468+4
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L2468+4
	str	r3, [r2]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L2466
	mov	r0, #8
	bl	stalloc
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r2, #25
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-28]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	b	.L2467
.L2466:
	ldr	r3, [fp, #-28]
.L2467:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2469:
	.align	2
.L2468:
	.word	checkkwd
	.word	tokpushback
	.size	pipeline, .-pipeline
	.section	.rodata
	.align	2
.LC275:
	.ascii	"Bad for loop variable\000"
	.align	2
.LC276:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	command, %function
command:
	@ args = 0, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	ldr	r3, .L2519
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-52]
	sub	r3, fp, #52
	str	r3, [fp, #-24]
	ldr	r3, .L2519+4
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	bl	readtoken
	mov	r3, r0
	sub	r3, r3, #7
	cmp	r3, #20
	ldrls	pc, [pc, r3, asl #2]
	b	.L2471
.L2473:
	.word	.L2479
	.word	.L2471
	.word	.L2471
	.word	.L2471
	.word	.L2478
	.word	.L2478
	.word	.L2471
	.word	.L2477
	.word	.L2471
	.word	.L2471
	.word	.L2471
	.word	.L2471
	.word	.L2471
	.word	.L2471
	.word	.L2476
	.word	.L2475
	.word	.L2471
	.word	.L2471
	.word	.L2474
	.word	.L2474
	.word	.L2472
.L2471:
	mvn	r0, #0
	bl	synexpect
.L2475:
	mov	r0, #16
	bl	stalloc
	str	r0, [fp, #-48]
	ldr	r3, [fp, #-48]
	mov	r2, #8
	str	r2, [r3]
	mov	r0, #0
	bl	list
	mov	r2, r0
	ldr	r3, [fp, #-48]
	str	r2, [r3, #4]
	bl	readtoken
	mov	r3, r0
	cmp	r3, #24
	beq	.L2480
	mov	r0, #24
	bl	synexpect
.L2480:
	mov	r0, #0
	bl	list
	mov	r2, r0
	ldr	r3, [fp, #-48]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-48]
	str	r3, [fp, #-44]
	b	.L2481
.L2483:
	mov	r0, #16
	bl	stalloc
	mov	r2, r0
	ldr	r3, [fp, #-44]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-44]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-44]
	mov	r2, #8
	str	r2, [r3]
	mov	r0, #0
	bl	list
	mov	r2, r0
	ldr	r3, [fp, #-44]
	str	r2, [r3, #4]
	bl	readtoken
	mov	r3, r0
	cmp	r3, #24
	beq	.L2482
	mov	r0, #24
	bl	synexpect
.L2482:
	mov	r0, #0
	bl	list
	mov	r2, r0
	ldr	r3, [fp, #-44]
	str	r2, [r3, #8]
.L2481:
	bl	readtoken
	mov	r3, r0
	cmp	r3, #17
	beq	.L2483
	ldr	r3, .L2519+8
	ldr	r3, [r3]
	cmp	r3, #18
	bne	.L2484
	mov	r0, #0
	bl	list
	mov	r2, r0
	ldr	r3, [fp, #-44]
	str	r2, [r3, #12]
	b	.L2485
.L2484:
	ldr	r3, [fp, #-44]
	mov	r2, #0
	str	r2, [r3, #12]
	ldr	r3, .L2519+12
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L2519+12
	str	r3, [r2]
.L2485:
	mov	r3, #20
	str	r3, [fp, #-28]
	b	.L2486
.L2474:
	mov	r0, #12
	bl	stalloc
	str	r0, [fp, #-48]
	ldr	r3, .L2519+8
	ldr	r3, [r3]
	cmp	r3, #26
	bne	.L2487
	mov	r2, #9
	b	.L2488
.L2487:
	mov	r2, #10
.L2488:
	ldr	r3, [fp, #-48]
	str	r2, [r3]
	mov	r0, #0
	bl	list
	mov	r2, r0
	ldr	r3, [fp, #-48]
	str	r2, [r3, #4]
	bl	readtoken
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #15
	beq	.L2489
	mov	r0, #15
	bl	synexpect
.L2489:
	mov	r0, #0
	bl	list
	mov	r2, r0
	ldr	r3, [fp, #-48]
	str	r2, [r3, #8]
	mov	r3, #16
	str	r3, [fp, #-28]
	b	.L2486
.L2476:
	bl	readtoken
	mov	r3, r0
	cmp	r3, #12
	bne	.L2490
	ldr	r3, .L2519+16
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L2490
	ldr	r3, .L2519+20
	ldr	r3, [r3]
	mov	r0, r3
	bl	goodname
	mov	r3, r0
	cmp	r3, #0
	bne	.L2491
.L2490:
	ldr	r0, .L2519+24
	bl	synerror
.L2491:
	mov	r0, #20
	bl	stalloc
	str	r0, [fp, #-48]
	ldr	r3, [fp, #-48]
	mov	r2, #11
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	ldr	r2, [fp, #-20]
	str	r2, [r3, #4]
	ldr	r3, .L2519+20
	ldr	r2, [r3]
	ldr	r3, [fp, #-48]
	str	r2, [r3, #16]
	ldr	r3, .L2519+28
	mov	r2, #7
	str	r2, [r3]
	bl	readtoken
	mov	r3, r0
	cmp	r3, #23
	bne	.L2492
	sub	r3, fp, #56
	str	r3, [fp, #-40]
	b	.L2493
.L2494:
	mov	r0, #16
	bl	stalloc
	str	r0, [fp, #-44]
	ldr	r3, [fp, #-44]
	mov	r2, #15
	str	r2, [r3]
	ldr	r3, .L2519+20
	ldr	r2, [r3]
	ldr	r3, [fp, #-44]
	str	r2, [r3, #8]
	ldr	r3, .L2519+32
	ldr	r2, [r3]
	ldr	r3, [fp, #-44]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-44]
	str	r2, [r3]
	ldr	r3, [fp, #-44]
	add	r3, r3, #4
	str	r3, [fp, #-40]
.L2493:
	bl	readtoken
	mov	r3, r0
	cmp	r3, #12
	beq	.L2494
	ldr	r3, [fp, #-40]
	mov	r2, #0
	str	r2, [r3]
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-48]
	str	r2, [r3, #8]
	ldr	r3, .L2519+8
	ldr	r3, [r3]
	cmp	r3, #1
	beq	.L2495
	ldr	r3, .L2519+8
	ldr	r3, [r3]
	cmp	r3, #2
	beq	.L2495
	mvn	r0, #0
	bl	synexpect
.L2492:
	mov	r0, #16
	bl	stalloc
	str	r0, [fp, #-44]
	ldr	r3, [fp, #-44]
	mov	r2, #15
	str	r2, [r3]
	ldr	r3, [fp, #-44]
	ldr	r2, .L2519+36
	str	r2, [r3, #8]
	ldr	r3, [fp, #-44]
	mov	r2, #0
	str	r2, [r3, #12]
	ldr	r3, [fp, #-44]
	mov	r2, #0
	str	r2, [r3, #4]
	ldr	r3, [fp, #-48]
	ldr	r2, [fp, #-44]
	str	r2, [r3, #8]
	ldr	r3, .L2519+8
	ldr	r3, [r3]
	cmp	r3, #2
	beq	.L2495
	ldr	r3, .L2519+12
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L2519+12
	str	r3, [r2]
.L2495:
	ldr	r3, .L2519+28
	mov	r2, #7
	str	r2, [r3]
	bl	readtoken
	mov	r3, r0
	cmp	r3, #15
	beq	.L2496
	mov	r0, #15
	bl	synexpect
.L2496:
	mov	r0, #0
	bl	list
	mov	r2, r0
	ldr	r3, [fp, #-48]
	str	r2, [r3, #12]
	mov	r3, #16
	str	r3, [fp, #-28]
	b	.L2486
.L2477:
	mov	r0, #16
	bl	stalloc
	str	r0, [fp, #-48]
	ldr	r3, [fp, #-48]
	mov	r2, #12
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	ldr	r2, [fp, #-20]
	str	r2, [r3, #4]
	bl	readtoken
	mov	r3, r0
	cmp	r3, #12
	beq	.L2497
	mov	r0, #12
	bl	synexpect
.L2497:
	mov	r0, #16
	bl	stalloc
	str	r0, [fp, #-44]
	ldr	r3, [fp, #-48]
	ldr	r2, [fp, #-44]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-44]
	mov	r2, #15
	str	r2, [r3]
	ldr	r3, .L2519+20
	ldr	r2, [r3]
	ldr	r3, [fp, #-44]
	str	r2, [r3, #8]
	ldr	r3, .L2519+32
	ldr	r2, [r3]
	ldr	r3, [fp, #-44]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-44]
	mov	r2, #0
	str	r2, [r3, #4]
	ldr	r3, .L2519+28
	mov	r2, #7
	str	r2, [r3]
	bl	readtoken
	mov	r3, r0
	cmp	r3, #23
	beq	.L2498
	mov	r0, #23
	bl	synexpect
.L2498:
	ldr	r3, [fp, #-48]
	add	r3, r3, #12
	str	r3, [fp, #-36]
.L2499:
	ldr	r3, .L2519+28
	mov	r2, #6
	str	r2, [r3]
	bl	readtoken
	str	r0, [fp, #-28]
	b	.L2500
.L2507:
	ldr	r3, .L2519+8
	ldr	r3, [r3]
	cmp	r3, #7
	bne	.L2501
	bl	readtoken
.L2501:
	mov	r0, #16
	bl	stalloc
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	ldr	r3, [fp, #-12]
	mov	r2, #13
	str	r2, [r3]
	ldr	r3, [fp, #-12]
	add	r3, r3, #8
	str	r3, [fp, #-40]
.L2504:
	mov	r0, #16
	bl	stalloc
	mov	r3, r0
	str	r3, [fp, #-56]
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-40]
	str	r2, [r3]
	ldr	r3, [fp, #-56]
	mov	r2, #15
	str	r2, [r3]
	ldr	r3, [fp, #-56]
	ldr	r2, .L2519+20
	ldr	r2, [r2]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-56]
	ldr	r2, .L2519+32
	ldr	r2, [r2]
	str	r2, [r3, #12]
	bl	readtoken
	mov	r3, r0
	cmp	r3, #6
	bne	.L2517
	ldr	r3, [fp, #-56]
	add	r3, r3, #4
	str	r3, [fp, #-40]
	bl	readtoken
	b	.L2504
.L2517:
	nop
	ldr	r3, [fp, #-56]
	mov	r2, #0
	str	r2, [r3, #4]
	ldr	r3, .L2519+8
	ldr	r3, [r3]
	cmp	r3, #8
	beq	.L2505
	mov	r0, #8
	bl	synexpect
.L2505:
	mov	r0, #2
	bl	list
	mov	r2, r0
	ldr	r3, [fp, #-12]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-12]
	add	r3, r3, #4
	str	r3, [fp, #-36]
	ldr	r3, .L2519+28
	mov	r2, #6
	str	r2, [r3]
	bl	readtoken
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-28]
	cmp	r3, #19
	beq	.L2500
	ldr	r3, [fp, #-28]
	cmp	r3, #9
	beq	.L2499
	mov	r0, #9
	bl	synexpect
.L2500:
	ldr	r3, [fp, #-28]
	cmp	r3, #19
	bne	.L2507
	ldr	r3, [fp, #-36]
	mov	r2, #0
	str	r2, [r3]
	b	.L2508
.L2479:
	mov	r0, #16
	bl	stalloc
	str	r0, [fp, #-48]
	ldr	r3, [fp, #-48]
	mov	r2, #4
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	ldr	r2, [fp, #-20]
	str	r2, [r3, #4]
	mov	r0, #0
	bl	list
	mov	r2, r0
	ldr	r3, [fp, #-48]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-48]
	mov	r2, #0
	str	r2, [r3, #12]
	mov	r3, #8
	str	r3, [fp, #-28]
	b	.L2486
.L2472:
	mov	r0, #0
	bl	list
	str	r0, [fp, #-48]
	mov	r3, #28
	str	r3, [fp, #-28]
	b	.L2486
.L2478:
	ldr	r3, .L2519+12
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L2519+12
	str	r3, [r2]
	bl	simplecmd
	mov	r3, r0
	b	.L2514
.L2486:
	bl	readtoken
	mov	r2, r0
	ldr	r3, [fp, #-28]
	cmp	r3, r2
	beq	.L2518
	ldr	r0, [fp, #-28]
	bl	synexpect
.L2518:
	nop
.L2508:
	ldr	r3, .L2519+28
	mov	r2, #3
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-32]
	b	.L2510
.L2511:
	ldr	r3, .L2519+40
	ldr	r3, [r3]
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-44]
	str	r2, [r3]
	ldr	r3, [fp, #-44]
	add	r3, r3, #4
	str	r3, [fp, #-32]
	bl	parsefname
.L2510:
	bl	readtoken
	mov	r3, r0
	cmp	r3, #11
	beq	.L2511
	ldr	r3, .L2519+12
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L2519+12
	str	r3, [r2]
	ldr	r3, [fp, #-32]
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	beq	.L2512
	ldr	r3, [fp, #-48]
	ldr	r3, [r3]
	cmp	r3, #4
	beq	.L2513
	mov	r0, #16
	bl	stalloc
	str	r0, [fp, #-44]
	ldr	r3, [fp, #-44]
	mov	r2, #2
	str	r2, [r3]
	ldr	r3, [fp, #-44]
	ldr	r2, [fp, #-20]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-44]
	ldr	r2, [fp, #-48]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-44]
	str	r3, [fp, #-48]
.L2513:
	ldr	r2, [fp, #-52]
	ldr	r3, [fp, #-48]
	str	r2, [r3, #12]
.L2512:
	ldr	r3, [fp, #-48]
.L2514:
	ldr	r2, .L2519
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L2515
	bl	__stack_chk_fail
.L2515:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2520:
	.align	2
.L2519:
	.word	.LC276
	.word	plinno
	.word	lasttoken
	.word	tokpushback
	.word	quoteflag
	.word	wordtext
	.word	.LC275
	.word	checkkwd
	.word	backquotelist
	.word	dolatstr
	.word	redirnode
	.size	command, .-command
	.section	.rodata
	.align	2
.LC277:
	.ascii	"Bad function name\000"
	.align	2
.LC278:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	simplecmd, %function
simplecmd:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	ldr	r3, .L2537
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-36]
	mov	r3, #0
	str	r3, [fp, #-52]
	sub	r3, fp, #52
	str	r3, [fp, #-40]
	mov	r3, #0
	str	r3, [fp, #-48]
	sub	r3, fp, #48
	str	r3, [fp, #-32]
	mov	r3, #0
	str	r3, [fp, #-44]
	sub	r3, fp, #44
	str	r3, [fp, #-28]
	mov	r3, #1
	str	r3, [fp, #-24]
	ldr	r3, .L2537+4
	ldr	r3, [r3]
	str	r3, [fp, #-20]
.L2534:
	ldr	r2, .L2537+8
	ldr	r3, [fp, #-24]
	str	r3, [r2]
	bl	readtoken
	mov	r3, r0
	cmp	r3, #12
	beq	.L2522
	cmp	r3, #12
	bgt	.L2523
	cmp	r3, #7
	beq	.L2524
	cmp	r3, #11
	beq	.L2525
	b	.L2523
.L2522:
	mov	r0, #16
	bl	stalloc
	str	r0, [fp, #-36]
	ldr	r3, [fp, #-36]
	mov	r2, #15
	str	r2, [r3]
	ldr	r3, .L2537+12
	ldr	r2, [r3]
	ldr	r3, [fp, #-36]
	str	r2, [r3, #8]
	ldr	r3, .L2537+16
	ldr	r2, [r3]
	ldr	r3, [fp, #-36]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L2526
	ldr	r3, .L2537+12
	ldr	r3, [r3]
	mov	r0, r3
	bl	isassignment
	mov	r3, r0
	cmp	r3, #0
	beq	.L2526
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-36]
	str	r2, [r3]
	ldr	r3, [fp, #-36]
	add	r3, r3, #4
	str	r3, [fp, #-32]
	b	.L2528
.L2526:
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-36]
	str	r2, [r3]
	ldr	r3, [fp, #-36]
	add	r3, r3, #4
	str	r3, [fp, #-40]
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L2528
.L2525:
	ldr	r3, .L2537+20
	ldr	r3, [r3]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-36]
	str	r2, [r3]
	ldr	r3, [fp, #-36]
	add	r3, r3, #4
	str	r3, [fp, #-28]
	bl	parsefname
	b	.L2528
.L2524:
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	beq	.L2523
	ldr	r3, [fp, #-52]
	add	r3, r3, #4
	ldr	r2, [fp, #-40]
	cmp	r2, r3
	bne	.L2523
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	bne	.L2523
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	bne	.L2523
	bl	readtoken
	mov	r3, r0
	cmp	r3, #8
	beq	.L2529
	mov	r0, #8
	bl	synexpect
.L2529:
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-16]
	ldr	r0, [fp, #-16]
	bl	goodname
	mov	r3, r0
	cmp	r3, #0
	beq	.L2530
	ldr	r0, [fp, #-16]
	bl	find_builtin
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L2531
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L2531
.L2530:
	ldr	r0, .L2537+24
	bl	synerror
.L2531:
	ldr	r3, [fp, #-36]
	mov	r2, #14
	str	r2, [r3]
	ldr	r3, .L2537+8
	mov	r2, #7
	str	r2, [r3]
	ldr	r3, [fp, #-36]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-36]
	str	r2, [r3, #8]
	ldr	r3, .L2537+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-36]
	str	r2, [r3, #4]
	bl	command
	mov	r2, r0
	ldr	r3, [fp, #-36]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-36]
	b	.L2535
.L2523:
	ldr	r3, .L2537+28
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L2537+28
	str	r3, [r2]
	nop
.L2533:
	ldr	r3, [fp, #-40]
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-32]
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-28]
	mov	r2, #0
	str	r2, [r3]
	mov	r0, #20
	bl	stalloc
	str	r0, [fp, #-36]
	ldr	r3, [fp, #-36]
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-20]
	str	r2, [r3, #4]
	ldr	r2, [fp, #-52]
	ldr	r3, [fp, #-36]
	str	r2, [r3, #12]
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-36]
	str	r2, [r3, #8]
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-36]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-36]
	b	.L2535
.L2528:
	b	.L2534
.L2535:
	ldr	r2, .L2537
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L2536
	bl	__stack_chk_fail
.L2536:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2538:
	.align	2
.L2537:
	.word	.LC278
	.word	plinno
	.word	checkkwd
	.word	wordtext
	.word	backquotelist
	.word	redirnode
	.word	.LC277
	.word	tokpushback
	.size	simplecmd, .-simplecmd
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	makename, %function
makename:
	@ 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	r0, #16
	bl	stalloc
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r2, #15
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #4]
	ldr	r3, .L2541
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, .L2541+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2542:
	.align	2
.L2541:
	.word	wordtext
	.word	backquotelist
	.size	makename, .-makename
	.section	.rodata
	.align	2
.LC279:
	.ascii	"Bad fd number\000"
	.text
	.align	2
	.global	fixredir
	.syntax unified
	.arm
	.fpu softvfp
	.type	fixredir, %function
fixredir:
	@ 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, [fp, #-16]
	cmp	r3, #0
	bne	.L2544
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #16]
.L2544:
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r3, r3, #48
	cmp	r3, #9
	bhi	.L2545
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L2545
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r2, r3, #48
	ldr	r3, [fp, #-8]
	str	r2, [r3, #12]
	b	.L2546
.L2545:
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #45
	bne	.L2547
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L2547
	ldr	r3, [fp, #-8]
	mvn	r2, #0
	str	r2, [r3, #12]
	b	.L2546
.L2547:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L2548
	ldr	r0, .L2549
	bl	synerror
.L2548:
	bl	makename
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3, #16]
	nop
.L2546:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2550:
	.align	2
.L2549:
	.word	.LC279
	.size	fixredir, .-fixredir
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	parsefname, %function
parsefname:
	@ 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, .L2563
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	cmp	r3, #23
	bne	.L2552
	ldr	r3, .L2563+4
	mov	r2, #8
	str	r2, [r3]
.L2552:
	bl	readtoken
	mov	r3, r0
	cmp	r3, #12
	beq	.L2553
	mvn	r0, #0
	bl	synexpect
.L2553:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	cmp	r3, #23
	bne	.L2554
	ldr	r3, .L2563+8
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, .L2563+12
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L2555
	ldr	r3, [fp, #-12]
	mov	r2, #24
	str	r2, [r3]
.L2555:
	ldr	r3, .L2563+16
	ldr	r3, [r3]
	mov	r1, #0
	mov	r0, r3
	bl	_rmescapes
	ldr	r3, .L2563+16
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L2563+20
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L2556
	ldr	r2, .L2563+20
	ldr	r3, [fp, #-8]
	str	r3, [r2]
	b	.L2562
.L2556:
	ldr	r3, .L2563+20
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	b	.L2558
.L2559:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	str	r3, [fp, #-16]
.L2558:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L2559
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	b	.L2562
.L2554:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	cmp	r3, #21
	beq	.L2560
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	cmp	r3, #22
	bne	.L2561
.L2560:
	ldr	r3, .L2563+16
	ldr	r3, [r3]
	mov	r2, #0
	mov	r1, r3
	ldr	r0, [fp, #-12]
	bl	fixredir
	b	.L2562
.L2561:
	bl	makename
	mov	r2, r0
	ldr	r3, [fp, #-12]
	str	r2, [r3, #12]
.L2562:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2564:
	.align	2
.L2563:
	.word	redirnode
	.word	checkkwd
	.word	heredoc
	.word	quoteflag
	.word	wordtext
	.word	heredoclist
	.size	parsefname, .-parsefname
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	parseheredoc, %function
parseheredoc:
	@ 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, .L2571
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r3, .L2571
	mov	r2, #0
	str	r2, [r3]
	b	.L2566
.L2570:
	ldr	r3, .L2571+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L2567
	mov	r0, #2
	bl	setprompt
.L2567:
	bl	pgetc
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	ldr	r3, [r3]
	cmp	r3, #23
	bne	.L2568
	ldr	r1, .L2571+8
	b	.L2569
.L2568:
	ldr	r1, .L2571+12
.L2569:
	ldr	r3, [fp, #-12]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #12]
	bl	readtoken1
	mov	r0, #16
	bl	stalloc
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r2, #15
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #4]
	ldr	r3, .L2571+16
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, .L2571+20
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	str	r3, [fp, #-12]
.L2566:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L2570
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2572:
	.align	2
.L2571:
	.word	heredoclist
	.word	needprompt
	.word	sqsyntax+130
	.word	dqsyntax+130
	.word	wordtext
	.word	backquotelist
	.size	parseheredoc, .-parseheredoc
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	peektoken, %function
peektoken:
	@ 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	readtoken
	str	r0, [fp, #-8]
	ldr	r3, .L2575
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L2575
	str	r3, [r2]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2576:
	.align	2
.L2575:
	.word	tokpushback
	.size	peektoken, .-peektoken
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	readtoken, %function
readtoken:
	@ 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, .L2590
	ldr	r3, [r3]
	str	r3, [fp, #-16]
.L2578:
	bl	xxreadtoken
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-16]
	and	r3, r3, #4
	cmp	r3, #0
	beq	.L2579
	b	.L2580
.L2581:
	bl	parseheredoc
	bl	xxreadtoken
	str	r0, [fp, #-20]
.L2580:
	ldr	r3, [fp, #-20]
	cmp	r3, #1
	beq	.L2581
.L2579:
	ldr	r3, [fp, #-20]
	cmp	r3, #12
	bne	.L2588
	ldr	r3, .L2590+4
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L2588
	ldr	r3, [fp, #-16]
	and	r3, r3, #2
	cmp	r3, #0
	beq	.L2585
	ldr	r3, .L2590+8
	ldr	r3, [r3]
	mov	r0, r3
	bl	findkwd
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L2585
	ldr	r3, [fp, #-12]
	ldr	r2, .L2590+12
	sub	r3, r3, r2
	asr	r3, r3, #2
	add	r3, r3, #13
	str	r3, [fp, #-20]
	ldr	r2, .L2590+16
	ldr	r3, [fp, #-20]
	str	r3, [r2]
	b	.L2584
.L2585:
	ldr	r3, .L2590
	ldr	r3, [r3]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L2589
	ldr	r3, .L2590+8
	ldr	r3, [r3]
	mov	r1, #1
	mov	r0, r3
	bl	lookupalias
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L2589
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L2578
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	ldr	r1, [fp, #-8]
	mov	r0, r3
	bl	pushstring
	b	.L2578
.L2588:
	nop
	b	.L2584
.L2589:
	nop
.L2584:
	ldr	r3, .L2590
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-20]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2591:
	.align	2
.L2590:
	.word	checkkwd
	.word	quoteflag
	.word	wordtext
	.word	parsekwd
	.word	lasttoken
	.size	readtoken, .-readtoken
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	xxreadtoken, %function
xxreadtoken:
	@ 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, .L2625
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L2593
	ldr	r3, .L2625
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L2625+4
	ldr	r3, [r3]
	b	.L2594
.L2593:
	ldr	r3, .L2625+8
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L2620
	mov	r0, #2
	bl	setprompt
.L2620:
	ldr	r3, .L2625+12
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L2625+12
	str	r3, [r2]
	ldr	r3, .L2625+12
	ldr	r3, [r3]
	cmp	r3, #0
	blt	.L2596
	ldr	r3, .L2625+16
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r1, .L2625+16
	str	r2, [r1]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	b	.L2597
.L2596:
	bl	preadbuffer
	mov	r3, r0
.L2597:
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #124
	beq	.L2598
	ldr	r3, [fp, #-8]
	cmp	r3, #124
	bgt	.L2621
	ldr	r3, [fp, #-8]
	cmp	r3, #92
	beq	.L2600
	ldr	r3, [fp, #-8]
	cmp	r3, #92
	bgt	.L2621
	ldr	r3, [fp, #-8]
	cmp	r3, #59
	bgt	.L2621
	ldr	r3, [fp, #-8]
	cmp	r3, #9
	bge	.L2601
	ldr	r3, [fp, #-8]
	cmn	r3, #130
	beq	.L2602
	ldr	r3, [fp, #-8]
	cmn	r3, #129
	beq	.L2622
	b	.L2621
.L2601:
	ldr	r3, [fp, #-8]
	sub	r3, r3, #9
	cmp	r3, #50
	ldrls	pc, [pc, r3, asl #2]
	b	.L2621
.L2605:
	.word	.L2622
	.word	.L2610
	.word	.L2621
	.word	.L2621
	.word	.L2621
	.word	.L2621
	.word	.L2621
	.word	.L2621
	.word	.L2621
	.word	.L2621
	.word	.L2621
	.word	.L2621
	.word	.L2621
	.word	.L2621
	.word	.L2621
	.word	.L2621
	.word	.L2621
	.word	.L2621
	.word	.L2621
	.word	.L2621
	.word	.L2621
	.word	.L2621
	.word	.L2621
	.word	.L2622
	.word	.L2621
	.word	.L2621
	.word	.L2624
	.word	.L2621
	.word	.L2621
	.word	.L2608
	.word	.L2621
	.word	.L2607
	.word	.L2606
	.word	.L2621
	.word	.L2621
	.word	.L2621
	.word	.L2621
	.word	.L2621
	.word	.L2621
	.word	.L2621
	.word	.L2621
	.word	.L2621
	.word	.L2621
	.word	.L2621
	.word	.L2621
	.word	.L2621
	.word	.L2621
	.word	.L2621
	.word	.L2621
	.word	.L2621
	.word	.L2604
.L2624:
	nop
.L2613:
	bl	pgetc
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #10
	beq	.L2612
	ldr	r3, [fp, #-8]
	cmn	r3, #130
	bne	.L2613
.L2612:
	bl	pungetc
	b	.L2611
.L2600:
	bl	pgetc
	mov	r3, r0
	cmp	r3, #10
	bne	.L2614
	ldr	r3, .L2625+20
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L2625+20
	str	r3, [r2]
	ldr	r3, .L2625+24
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L2623
	mov	r0, #2
	bl	setprompt
	b	.L2623
.L2614:
	bl	pungetc
	b	.L2616
.L2610:
	ldr	r3, .L2625+20
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L2625+20
	str	r3, [r2]
	ldr	r3, .L2625+24
	ldr	r3, [r3]
	ldr	r2, .L2625+8
	str	r3, [r2]
	ldr	r3, .L2625+4
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, .L2625+4
	ldr	r3, [r3]
	b	.L2594
.L2602:
	ldr	r3, .L2625+4
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L2625+4
	ldr	r3, [r3]
	b	.L2594
.L2608:
	bl	pgetc
	mov	r3, r0
	cmp	r3, #38
	bne	.L2617
	ldr	r3, .L2625+4
	mov	r2, #4
	str	r2, [r3]
	ldr	r3, .L2625+4
	ldr	r3, [r3]
	b	.L2594
.L2617:
	bl	pungetc
	ldr	r3, .L2625+4
	mov	r2, #3
	str	r2, [r3]
	ldr	r3, .L2625+4
	ldr	r3, [r3]
	b	.L2594
.L2598:
	bl	pgetc
	mov	r3, r0
	cmp	r3, #124
	bne	.L2618
	ldr	r3, .L2625+4
	mov	r2, #5
	str	r2, [r3]
	ldr	r3, .L2625+4
	ldr	r3, [r3]
	b	.L2594
.L2618:
	bl	pungetc
	ldr	r3, .L2625+4
	mov	r2, #6
	str	r2, [r3]
	ldr	r3, .L2625+4
	ldr	r3, [r3]
	b	.L2594
.L2604:
	bl	pgetc
	mov	r3, r0
	cmp	r3, #59
	bne	.L2619
	ldr	r3, .L2625+4
	mov	r2, #9
	str	r2, [r3]
	ldr	r3, .L2625+4
	ldr	r3, [r3]
	b	.L2594
.L2619:
	bl	pungetc
	ldr	r3, .L2625+4
	mov	r2, #2
	str	r2, [r3]
	ldr	r3, .L2625+4
	ldr	r3, [r3]
	b	.L2594
.L2607:
	ldr	r3, .L2625+4
	mov	r2, #7
	str	r2, [r3]
	ldr	r3, .L2625+4
	ldr	r3, [r3]
	b	.L2594
.L2606:
	ldr	r3, .L2625+4
	mov	r2, #8
	str	r2, [r3]
	ldr	r3, .L2625+4
	ldr	r3, [r3]
	b	.L2594
.L2622:
	nop
	b	.L2620
.L2623:
	nop
.L2611:
	b	.L2620
.L2621:
	nop
.L2616:
	ldr	r1, .L2625+28
	mov	r3, #0
	mov	r2, #0
	ldr	r0, [fp, #-8]
	bl	readtoken1
	mov	r3, r0
.L2594:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2626:
	.align	2
.L2625:
	.word	tokpushback
	.word	lasttoken
	.word	needprompt
	.word	parsenleft
	.word	parsenextc
	.word	plinno
	.word	doprompt
	.word	basesyntax+130
	.size	xxreadtoken, .-xxreadtoken
	.section	.rodata
	.align	2
.LC280:
	.ascii	"Missing '))'\000"
	.align	2
.LC281:
	.ascii	"Unterminated quoted string\000"
	.align	2
.LC282:
	.ascii	"Missing '}'\000"
	.align	2
.LC283:
	.ascii	"EOF in backquote substitution\000"
	.align	2
.LC284:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	readtoken1, %function
readtoken1:
	@ args = 0, pretend = 0, frame = 160
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #160
	str	r0, [fp, #-152]
	str	r1, [fp, #-156]
	str	r2, [fp, #-160]
	str	r3, [fp, #-164]
	ldr	r3, .L2796
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-152]
	str	r3, [fp, #-140]
	mov	r3, #0
	str	r3, [fp, #-128]
	ldr	r2, .L2796+4
	ldr	r3, [fp, #-156]
	cmp	r3, r2
	bne	.L2628
	mov	r3, #1
	str	r3, [fp, #-128]
.L2628:
	mov	r3, #0
	str	r3, [fp, #-132]
	mov	r3, #0
	str	r3, [fp, #-144]
	mov	r3, #0
	str	r3, [fp, #-124]
	mov	r3, #0
	str	r3, [fp, #-120]
	mov	r3, #0
	str	r3, [fp, #-116]
	mov	r3, #0
	str	r3, [fp, #-112]
	ldr	r3, .L2796+100
	ldr	r3, [r3]
	str	r3, [fp, #-136]
.L2629:
	nop
.L2630:
	ldr	r0, [fp, #-160]
	bl	realeofmark
	mov	r3, r0
	cmp	r3, #0
	beq	.L2631
	b	.L2772
.L2631:
	ldr	r3, [fp, #-136]
	str	r3, [fp, #-52]
	mov	r3, #4
	str	r3, [fp, #-48]
	ldr	r3, .L2796+8
	ldr	r2, [r3]
	ldr	r3, [fp, #-52]
	sub	r3, r2, r3
	str	r3, [fp, #-44]
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-44]
	cmp	r2, r3
	bls	.L2632
	ldr	r1, [fp, #-52]
	ldr	r0, [fp, #-48]
	bl	makestrspace
	str	r0, [fp, #-136]
.L2632:
	ldr	r3, [fp, #-140]
	ldr	r2, [fp, #-156]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #14
	ldrls	pc, [pc, r3, asl #2]
	b	.L2633
.L2635:
	.word	.L2648
	.word	.L2647
	.word	.L2646
	.word	.L2645
	.word	.L2644
	.word	.L2643
	.word	.L2642
	.word	.L2775
	.word	.L2640
	.word	.L2639
	.word	.L2638
	.word	.L2776
	.word	.L2636
	.word	.L2633
	.word	.L2777
.L2647:
	ldr	r2, .L2796+12
	ldr	r3, [fp, #-156]
	cmp	r3, r2
	beq	.L2778
	ldr	r3, [fp, #-136]
	add	r2, r3, #1
	str	r2, [fp, #-136]
	ldr	r2, [fp, #-140]
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, .L2796+80
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L2796+80
	str	r3, [r2]
	ldr	r3, .L2796+88
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L2651
	mov	r0, #2
	bl	setprompt
.L2651:
	bl	pgetc
	str	r0, [fp, #-140]
	b	.L2629
.L2648:
	ldr	r3, [fp, #-136]
	add	r2, r3, #1
	str	r2, [fp, #-136]
	ldr	r2, [fp, #-140]
	and	r2, r2, #255
	strb	r2, [r3]
	b	.L2652
.L2636:
	ldr	r3, [fp, #-160]
	cmp	r3, #0
	beq	.L2653
	ldr	r3, [fp, #-128]
	cmp	r3, #0
	beq	.L2654
.L2653:
	ldr	r3, [fp, #-136]
	add	r2, r3, #1
	str	r2, [fp, #-136]
	mvn	r2, #126
	strb	r2, [r3]
.L2654:
	ldr	r3, [fp, #-136]
	add	r2, r3, #1
	str	r2, [fp, #-136]
	ldr	r2, [fp, #-140]
	and	r2, r2, #255
	strb	r2, [r3]
	b	.L2652
.L2646:
	bl	pgetc2
	str	r0, [fp, #-140]
	ldr	r3, [fp, #-140]
	cmn	r3, #130
	bne	.L2655
	ldr	r3, [fp, #-136]
	add	r2, r3, #1
	str	r2, [fp, #-136]
	mvn	r2, #126
	strb	r2, [r3]
	ldr	r3, [fp, #-136]
	add	r2, r3, #1
	str	r2, [fp, #-136]
	mov	r2, #92
	strb	r2, [r3]
	bl	pungetc
	b	.L2779
.L2655:
	ldr	r3, [fp, #-140]
	cmp	r3, #10
	bne	.L2657
	ldr	r3, .L2796+80
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L2796+80
	str	r3, [r2]
	ldr	r3, .L2796+88
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L2779
	mov	r0, #2
	bl	setprompt
	b	.L2779
.L2657:
	ldr	r3, [fp, #-128]
	cmp	r3, #0
	beq	.L2658
	ldr	r3, [fp, #-140]
	cmp	r3, #92
	beq	.L2658
	ldr	r3, [fp, #-140]
	cmp	r3, #96
	beq	.L2658
	ldr	r3, [fp, #-140]
	cmp	r3, #36
	beq	.L2658
	ldr	r3, [fp, #-140]
	cmp	r3, #34
	bne	.L2659
	ldr	r3, [fp, #-160]
	cmp	r3, #0
	beq	.L2658
.L2659:
	ldr	r3, [fp, #-136]
	add	r2, r3, #1
	str	r2, [fp, #-136]
	mov	r2, #92
	strb	r2, [r3]
.L2658:
	ldr	r3, [fp, #-136]
	add	r2, r3, #1
	str	r2, [fp, #-136]
	mvn	r2, #126
	strb	r2, [r3]
	ldr	r3, [fp, #-136]
	add	r2, r3, #1
	str	r2, [fp, #-136]
	ldr	r2, [fp, #-140]
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-132]
	add	r3, r3, #1
	str	r3, [fp, #-132]
	b	.L2779
.L2645:
	ldr	r3, .L2796+16
	str	r3, [fp, #-156]
.L2660:
	ldr	r3, [fp, #-160]
	cmp	r3, #0
	bne	.L2780
	ldr	r3, [fp, #-136]
	add	r2, r3, #1
	str	r2, [fp, #-136]
	mvn	r2, #119
	strb	r2, [r3]
	b	.L2780
.L2644:
	ldr	r3, .L2796+4
	str	r3, [fp, #-156]
	mov	r3, #1
	str	r3, [fp, #-128]
	b	.L2660
.L2643:
	ldr	r3, [fp, #-160]
	cmp	r3, #0
	beq	.L2662
	ldr	r3, [fp, #-124]
	cmp	r3, #0
	bne	.L2662
	ldr	r3, [fp, #-136]
	add	r2, r3, #1
	str	r2, [fp, #-136]
	ldr	r2, [fp, #-140]
	and	r2, r2, #255
	strb	r2, [r3]
	b	.L2652
.L2662:
	ldr	r3, [fp, #-112]
	cmp	r3, #0
	bne	.L2663
	ldr	r3, .L2796+12
	str	r3, [fp, #-156]
	mov	r3, #0
	str	r3, [fp, #-128]
.L2663:
	ldr	r3, [fp, #-132]
	add	r3, r3, #1
	str	r3, [fp, #-132]
	b	.L2660
.L2665:
	b	.L2652
.L2640:
	ldr	r3, [fp, #-124]
	cmp	r3, #0
	ble	.L2666
	ldr	r3, [fp, #-124]
	sub	r3, r3, #1
	str	r3, [fp, #-124]
	ldr	r3, [fp, #-112]
	cmp	r3, #0
	ble	.L2667
	ldr	r3, [fp, #-112]
	sub	r3, r3, #1
	str	r3, [fp, #-112]
.L2667:
	ldr	r3, [fp, #-136]
	add	r2, r3, #1
	str	r2, [fp, #-136]
	mvn	r2, #124
	strb	r2, [r3]
	b	.L2652
.L2666:
	ldr	r3, [fp, #-136]
	add	r2, r3, #1
	str	r2, [fp, #-136]
	ldr	r2, [fp, #-140]
	and	r2, r2, #255
	strb	r2, [r3]
	b	.L2652
.L2639:
	ldr	r3, [fp, #-116]
	add	r3, r3, #1
	str	r3, [fp, #-116]
	ldr	r3, [fp, #-136]
	add	r2, r3, #1
	str	r2, [fp, #-136]
	ldr	r2, [fp, #-140]
	and	r2, r2, #255
	strb	r2, [r3]
	b	.L2652
.L2638:
	ldr	r3, [fp, #-116]
	cmp	r3, #0
	ble	.L2669
	ldr	r3, [fp, #-136]
	add	r2, r3, #1
	str	r2, [fp, #-136]
	ldr	r2, [fp, #-140]
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-116]
	sub	r3, r3, #1
	str	r3, [fp, #-116]
	b	.L2781
.L2669:
	bl	pgetc
	mov	r3, r0
	cmp	r3, #41
	bne	.L2671
	ldr	r3, [fp, #-136]
	add	r2, r3, #1
	str	r2, [fp, #-136]
	mvn	r2, #120
	strb	r2, [r3]
	ldr	r3, [fp, #-120]
	sub	r3, r3, #1
	str	r3, [fp, #-120]
	ldr	r3, [fp, #-120]
	cmp	r3, #0
	bne	.L2781
	ldr	r3, [fp, #-104]
	str	r3, [fp, #-156]
	b	.L2781
.L2671:
	bl	pungetc
	ldr	r3, [fp, #-136]
	add	r2, r3, #1
	str	r2, [fp, #-136]
	mov	r2, #41
	strb	r2, [r3]
	b	.L2781
.L2642:
	mov	r3, #1
	str	r3, [fp, #-108]
	b	.L2672
.L2774:
.L2673:
	b	.L2652
.L2633:
	ldr	r3, [fp, #-124]
	cmp	r3, #0
	beq	.L2782
	ldr	r3, [fp, #-140]
	cmn	r3, #129
	beq	.L2652
	ldr	r3, [fp, #-136]
	add	r2, r3, #1
	str	r2, [fp, #-136]
	ldr	r2, [fp, #-140]
	and	r2, r2, #255
	strb	r2, [r3]
	b	.L2652
.L2777:
	nop
	b	.L2652
.L2779:
	nop
	b	.L2652
.L2780:
	nop
	b	.L2652
.L2781:
	nop
.L2652:
	ldr	r3, .L2796+20
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L2796+20
	str	r3, [r2]
	ldr	r3, .L2796+20
	ldr	r3, [r3]
	cmp	r3, #0
	blt	.L2675
	ldr	r3, .L2796+24
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r1, .L2796+24
	str	r2, [r1]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	b	.L2676
.L2675:
	bl	preadbuffer
	mov	r3, r0
.L2676:
	str	r3, [fp, #-140]
	b	.L2631
.L2776:
	nop
	b	.L2650
.L2778:
	nop
	b	.L2650
.L2782:
	nop
.L2650:
	ldr	r2, .L2796+104
	ldr	r3, [fp, #-156]
	cmp	r3, r2
	bne	.L2677
	ldr	r0, .L2796+28
	bl	synerror
.L2677:
	ldr	r2, .L2796+12
	ldr	r3, [fp, #-156]
	cmp	r3, r2
	beq	.L2678
	ldr	r3, [fp, #-160]
	cmp	r3, #0
	bne	.L2678
	ldr	r0, .L2796+32
	bl	synerror
.L2678:
	ldr	r3, [fp, #-124]
	cmp	r3, #0
	beq	.L2679
	ldr	r0, .L2796+36
	bl	synerror
.L2679:
	ldr	r3, [fp, #-136]
	add	r2, r3, #1
	str	r2, [fp, #-136]
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, .L2796+100
	ldr	r3, [r3]
	ldr	r2, [fp, #-136]
	sub	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r3, .L2796+100
	ldr	r3, [r3]
	str	r3, [fp, #-136]
	ldr	r3, [fp, #-160]
	cmp	r3, #0
	bne	.L2680
	ldr	r3, [fp, #-140]
	cmp	r3, #62
	beq	.L2681
	ldr	r3, [fp, #-140]
	cmp	r3, #60
	bne	.L2682
.L2681:
	ldr	r3, [fp, #-132]
	cmp	r3, #0
	bne	.L2682
	ldr	r3, [fp, #-12]
	cmp	r3, #2
	bgt	.L2682
	ldr	r3, [fp, #-136]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L2783
	ldr	r3, [fp, #-136]
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r3, r3, #48
	cmp	r3, #9
	bls	.L2783
.L2682:
	bl	pungetc
.L2680:
	ldr	r2, .L2796+40
	ldr	r3, [fp, #-132]
	str	r3, [r2]
	ldr	r3, [fp, #-144]
	ldr	r2, .L2796+44
	str	r3, [r2]
	ldr	r3, [fp, #-12]
	mov	r0, r3
	bl	grabstackblock
	ldr	r2, .L2796+48
	ldr	r3, [fp, #-136]
	str	r3, [r2]
	ldr	r3, .L2796+52
	mov	r2, #12
	str	r2, [r3]
	ldr	r3, .L2796+52
	ldr	r3, [r3]
	b	.L2770
.L2772:
	ldr	r3, [fp, #-140]
	cmn	r3, #129
	bne	.L2688
	bl	pgetc2
	str	r0, [fp, #-140]
.L2688:
	ldr	r3, [fp, #-164]
	cmp	r3, #0
	beq	.L2689
	b	.L2690
.L2691:
	bl	pgetc2
	str	r0, [fp, #-140]
.L2690:
	ldr	r3, [fp, #-140]
	cmp	r3, #9
	beq	.L2691
.L2689:
	ldr	r3, .L2796+100
	ldr	r3, [r3]
	ldr	r2, [fp, #-136]
	sub	r3, r2, r3
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-160]
	str	r3, [fp, #-100]
	b	.L2692
.L2695:
	ldr	r3, [fp, #-100]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-140]
	cmp	r3, r2
	bne	.L2784
	bl	pgetc2
	str	r0, [fp, #-140]
	ldr	r3, [fp, #-100]
	add	r3, r3, #1
	str	r3, [fp, #-100]
.L2692:
	ldr	r1, [fp, #-136]
	ldr	r0, [fp, #-140]
	bl	_STPUTC
	str	r0, [fp, #-136]
	ldr	r3, [fp, #-100]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L2695
	ldr	r3, [fp, #-140]
	cmp	r3, #10
	beq	.L2696
	ldr	r3, [fp, #-140]
	cmn	r3, #130
	bne	.L2785
.L2696:
	mvn	r3, #129
	str	r3, [fp, #-140]
	ldr	r3, .L2796+80
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L2796+80
	str	r3, [r2]
	ldr	r3, .L2796+88
	ldr	r3, [r3]
	ldr	r2, .L2796+84
	str	r3, [r2]
	b	.L2697
.L2784:
	nop
	b	.L2694
.L2785:
	nop
.L2694:
	ldr	r3, .L2796+100
	ldr	r2, [r3]
	ldr	r3, [fp, #-64]
	add	r3, r3, #1
	add	r3, r2, r3
	str	r3, [fp, #-100]
	ldr	r2, [fp, #-136]
	ldr	r3, [fp, #-100]
	sub	r3, r2, r3
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	beq	.L2697
	ldr	r3, [fp, #-140]
	lsr	r3, r3, #31
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-60]
	sub	r3, r3, r2
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-100]
	sub	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-140]
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	beq	.L2697
	ldr	r3, [fp, #-60]
	add	r3, r3, #1
	add	r3, r3, #7
	lsr	r3, r3, #3
	lsl	r3, r3, #3
	sub	sp, sp, r3
	mov	r3, sp
	add	r3, r3, #7
	lsr	r3, r3, #3
	lsl	r3, r3, #3
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-60]
	mov	r2, r3
	ldr	r1, [fp, #-100]
	ldr	r0, [fp, #-56]
	bl	mempcpy
	mov	r3, r0
	mov	r2, #0
	strb	r2, [r3]
	mov	r1, #0
	ldr	r0, [fp, #-56]
	bl	pushstring
.L2697:
	ldr	r3, .L2796+100
	ldr	r2, [r3]
	ldr	r3, [fp, #-64]
	add	r3, r2, r3
	str	r3, [fp, #-136]
	b	.L2631
.L2783:
	nop
.L2684:
	ldr	r3, [fp, #-136]
	ldrb	r3, [r3]
	strb	r3, [fp, #-145]
	mov	r0, #20
	bl	stalloc
	str	r0, [fp, #-96]
	ldr	r3, [fp, #-140]
	cmp	r3, #62
	bne	.L2698
	ldr	r3, [fp, #-96]
	mov	r2, #1
	str	r2, [r3, #8]
	bl	pgetc
	str	r0, [fp, #-140]
	ldr	r3, [fp, #-140]
	cmp	r3, #62
	bne	.L2699
	ldr	r3, [fp, #-96]
	mov	r2, #20
	str	r2, [r3]
	b	.L2700
.L2699:
	ldr	r3, [fp, #-140]
	cmp	r3, #124
	bne	.L2701
	ldr	r3, [fp, #-96]
	mov	r2, #17
	str	r2, [r3]
	b	.L2700
.L2701:
	ldr	r3, [fp, #-140]
	cmp	r3, #38
	bne	.L2702
	ldr	r3, [fp, #-96]
	mov	r2, #21
	str	r2, [r3]
	b	.L2700
.L2702:
	ldr	r3, [fp, #-96]
	mov	r2, #16
	str	r2, [r3]
	bl	pungetc
	b	.L2700
.L2698:
	ldr	r3, [fp, #-96]
	mov	r2, #0
	str	r2, [r3, #8]
	bl	pgetc
	str	r0, [fp, #-140]
	ldr	r3, [fp, #-140]
	cmp	r3, #62
	beq	.L2703
	ldr	r3, [fp, #-140]
	cmp	r3, #62
	bgt	.L2704
	ldr	r3, [fp, #-140]
	cmp	r3, #38
	beq	.L2705
	ldr	r3, [fp, #-140]
	cmp	r3, #60
	bne	.L2704
	mov	r0, #16
	bl	stalloc
	str	r0, [fp, #-96]
	ldr	r3, [fp, #-96]
	mov	r2, #0
	str	r2, [r3, #8]
	ldr	r3, [fp, #-96]
	mov	r2, #23
	str	r2, [r3]
	mov	r0, #16
	bl	stalloc
	mov	r3, r0
	ldr	r2, .L2796+56
	str	r3, [r2]
	ldr	r3, .L2796+56
	ldr	r3, [r3]
	ldr	r2, [fp, #-96]
	str	r2, [r3, #4]
	bl	pgetc
	str	r0, [fp, #-140]
	ldr	r3, [fp, #-140]
	cmp	r3, #45
	bne	.L2706
	ldr	r3, .L2796+56
	ldr	r3, [r3]
	mov	r2, #1
	str	r2, [r3, #12]
	b	.L2700
.L2706:
	ldr	r3, .L2796+56
	ldr	r3, [r3]
	mov	r2, #0
	str	r2, [r3, #12]
	bl	pungetc
	b	.L2700
.L2705:
	ldr	r3, [fp, #-96]
	mov	r2, #22
	str	r2, [r3]
	b	.L2700
.L2703:
	ldr	r3, [fp, #-96]
	mov	r2, #19
	str	r2, [r3]
	b	.L2700
.L2704:
	ldr	r3, [fp, #-96]
	mov	r2, #18
	str	r2, [r3]
	bl	pungetc
	nop
.L2700:
	ldrb	r3, [fp, #-145]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L2708
	ldrb	r3, [fp, #-145]	@ zero_extendqisi2
	sub	r2, r3, #48
	ldr	r3, [fp, #-96]
	str	r2, [r3, #8]
.L2708:
	ldr	r2, .L2796+60
	ldr	r3, [fp, #-96]
	str	r3, [r2]
	nop
.L2685:
	ldr	r3, .L2796+52
	mov	r2, #11
	str	r2, [r3]
	ldr	r3, .L2796+52
	ldr	r3, [r3]
	b	.L2770
.L2775:
	nop
.L2664:
	bl	pgetc
	str	r0, [fp, #-140]
	ldr	r3, .L2796+64
	ldr	r3, [r3]
	and	r3, r3, #8
	cmp	r3, #0
	bne	.L2709
	ldr	r3, [fp, #-140]
	cmn	r3, #128
	blt	.L2709
	ldr	r3, [fp, #-140]
	cmp	r3, #40
	beq	.L2710
	ldr	r3, [fp, #-140]
	cmp	r3, #123
	beq	.L2710
	ldr	r3, [fp, #-140]
	cmp	r3, #95
	beq	.L2710
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-140]
	and	r3, r3, #255
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #1024
	cmp	r3, #0
	bne	.L2710
	ldr	r3, [fp, #-140]
	lsl	r3, r3, #24
	asr	r3, r3, #24
	add	r3, r3, #130
	ldr	r2, .L2796+68
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #17
	cmp	r3, #0
	bne	.L2710
.L2709:
	ldr	r3, [fp, #-136]
	add	r2, r3, #1
	str	r2, [fp, #-136]
	mov	r2, #36
	strb	r2, [r3]
	bl	pungetc
	b	.L2665
.L2710:
	ldr	r3, [fp, #-140]
	cmp	r3, #40
	bne	.L2712
	bl	pgetc
	mov	r3, r0
	cmp	r3, #40
	beq	.L2786
	bl	pungetc
	mov	r3, #0
	str	r3, [fp, #-108]
	b	.L2672
.L2795:
	nop
.L2716:
	b	.L2665
.L2712:
	ldr	r3, [fp, #-136]
	add	r2, r3, #1
	str	r2, [fp, #-136]
	mvn	r2, #125
	strb	r2, [r3]
	ldr	r3, .L2796+100
	ldr	r3, [r3]
	ldr	r2, [fp, #-136]
	sub	r3, r2, r3
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-136]
	add	r3, r3, #1
	str	r3, [fp, #-136]
	mov	r3, #1
	str	r3, [fp, #-92]
	ldr	r3, [fp, #-140]
	cmp	r3, #123
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L2787
	bl	pgetc
	str	r0, [fp, #-140]
	mov	r3, #0
	str	r3, [fp, #-92]
	b	.L2728
.L2787:
	nop
.L2717:
.L2728:
	ldr	r3, [fp, #-140]
	cmp	r3, #95
	beq	.L2720
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-140]
	and	r3, r3, #255
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #1024
	cmp	r3, #0
	beq	.L2719
.L2720:
	ldr	r1, [fp, #-136]
	ldr	r0, [fp, #-140]
	bl	_STPUTC
	str	r0, [fp, #-136]
	bl	pgetc
	str	r0, [fp, #-140]
	ldr	r3, [fp, #-140]
	cmp	r3, #95
	beq	.L2720
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-140]
	and	r3, r3, #255
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8
	cmp	r3, #0
	bne	.L2720
	b	.L2721
.L2719:
	ldr	r3, [fp, #-140]
	sub	r3, r3, #48
	cmp	r3, #9
	bhi	.L2722
.L2723:
	ldr	r1, [fp, #-136]
	ldr	r0, [fp, #-140]
	bl	_STPUTC
	str	r0, [fp, #-136]
	bl	pgetc
	str	r0, [fp, #-140]
	ldr	r3, [fp, #-140]
	sub	r3, r3, #48
	cmp	r3, #9
	bls	.L2723
	b	.L2721
.L2722:
	ldr	r3, [fp, #-140]
	lsl	r3, r3, #24
	asr	r3, r3, #24
	add	r3, r3, #130
	ldr	r2, .L2796+68
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #17
	cmp	r3, #0
	beq	.L2788
	ldr	r3, [fp, #-140]
	str	r3, [fp, #-88]
	bl	pgetc
	str	r0, [fp, #-140]
	ldr	r3, [fp, #-92]
	cmp	r3, #0
	bne	.L2725
	ldr	r3, [fp, #-88]
	cmp	r3, #35
	bne	.L2725
	mov	r3, #10
	str	r3, [fp, #-92]
	ldr	r3, [fp, #-140]
	cmp	r3, #95
	beq	.L2728
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-140]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8
	cmp	r3, #0
	beq	.L2727
	b	.L2728
.L2727:
	ldr	r3, [fp, #-140]
	str	r3, [fp, #-88]
	bl	pgetc
	str	r0, [fp, #-140]
	ldr	r3, [fp, #-88]
	cmp	r3, #125
	beq	.L2729
	ldr	r3, [fp, #-140]
	cmp	r3, #125
	beq	.L2725
.L2729:
	bl	pungetc
	mov	r3, #0
	str	r3, [fp, #-92]
	ldr	r3, [fp, #-88]
	str	r3, [fp, #-140]
	mov	r3, #35
	str	r3, [fp, #-88]
.L2725:
	ldr	r3, [fp, #-136]
	add	r2, r3, #1
	str	r2, [fp, #-136]
	ldr	r2, [fp, #-88]
	and	r2, r2, #255
	strb	r2, [r3]
.L2721:
	ldr	r3, [fp, #-92]
	cmp	r3, #0
	bne	.L2789
	ldr	r3, [fp, #-140]
	cmp	r3, #58
	beq	.L2731
	ldr	r3, [fp, #-140]
	cmp	r3, #58
	bgt	.L2732
	ldr	r3, [fp, #-140]
	cmp	r3, #35
	beq	.L2733
	ldr	r3, [fp, #-140]
	cmp	r3, #37
	beq	.L2733
	b	.L2732
.L2731:
	mov	r3, #16
	str	r3, [fp, #-92]
	bl	pgetc
	str	r0, [fp, #-140]
.L2732:
	ldr	r1, [fp, #-140]
	ldr	r0, .L2796+72
	bl	strchr
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	beq	.L2790
	ldr	r3, [fp, #-32]
	ldr	r2, .L2796+72
	sub	r3, r3, r2
	add	r3, r3, #1
	ldr	r2, [fp, #-92]
	orr	r3, r2, r3
	str	r3, [fp, #-92]
	b	.L2740
.L2733:
	ldr	r3, [fp, #-140]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-140]
	cmp	r3, #35
	bne	.L2736
	mov	r3, #8
	b	.L2737
.L2736:
	mov	r3, #6
.L2737:
	str	r3, [fp, #-92]
	bl	pgetc
	str	r0, [fp, #-140]
	ldr	r2, [fp, #-140]
	ldr	r3, [fp, #-36]
	cmp	r2, r3
	bne	.L2738
	ldr	r3, [fp, #-92]
	add	r3, r3, #1
	str	r3, [fp, #-92]
	b	.L2740
.L2738:
	bl	pungetc
	b	.L2740
.L2788:
	nop
	b	.L2730
.L2789:
	nop
.L2730:
	bl	pungetc
	b	.L2740
.L2790:
	nop
.L2740:
	ldr	r3, .L2796+100
	ldr	r2, [r3]
	ldr	r3, [fp, #-40]
	add	r3, r2, r3
	ldr	r2, [fp, #-92]
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-92]
	cmp	r3, #1
	beq	.L2741
	ldr	r3, [fp, #-124]
	add	r3, r3, #1
	str	r3, [fp, #-124]
	ldr	r3, [fp, #-128]
	cmp	r3, #0
	beq	.L2741
	ldr	r3, [fp, #-112]
	add	r3, r3, #1
	str	r3, [fp, #-112]
.L2741:
	ldr	r1, [fp, #-136]
	mov	r0, #61
	bl	_STPUTC
	str	r0, [fp, #-136]
	b	.L2665
.L2672:
	mov	r3, #0
	str	r3, [fp, #-80]
	ldr	r3, .L2796+100
	ldr	r3, [r3]
	ldr	r2, [fp, #-136]
	sub	r3, r2, r3
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	beq	.L2742
	ldr	r3, [fp, #-28]
	add	r3, r3, #7
	lsr	r3, r3, #3
	lsl	r3, r3, #3
	sub	sp, sp, r3
	mov	r3, sp
	add	r3, r3, #7
	lsr	r3, r3, #3
	lsl	r3, r3, #3
	str	r3, [fp, #-80]
	ldr	r3, .L2796+100
	ldr	r3, [r3]
	ldr	r2, [fp, #-28]
	mov	r1, r3
	ldr	r0, [fp, #-80]
	bl	memcpy
.L2742:
	ldr	r3, [fp, #-108]
	cmp	r3, #0
	beq	.L2743
	ldr	r3, .L2796+100
	ldr	r3, [r3]
	str	r3, [fp, #-72]
.L2758:
	ldr	r3, .L2796+84
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L2744
	mov	r0, #2
	bl	setprompt
.L2744:
	bl	pgetc
	str	r0, [fp, #-68]
	ldr	r3, [fp, #-68]
	cmp	r3, #96
	beq	.L2791
	ldr	r3, [fp, #-68]
	cmp	r3, #96
	bgt	.L2792
	ldr	r3, [fp, #-68]
	cmp	r3, #92
	beq	.L2747
	ldr	r3, [fp, #-68]
	cmp	r3, #92
	bgt	.L2792
	ldr	r3, [fp, #-68]
	cmn	r3, #129
	bgt	.L2748
	ldr	r3, [fp, #-68]
	cmn	r3, #130
	bge	.L2749
	b	.L2792
.L2748:
	ldr	r3, [fp, #-68]
	cmp	r3, #10
	beq	.L2750
	b	.L2792
.L2797:
	.align	2
.L2796:
	.word	.LC284
	.word	dqsyntax+130
	.word	sstrend
	.word	basesyntax+130
	.word	sqsyntax+130
	.word	parsenleft
	.word	parsenextc
	.word	.LC280
	.word	.LC281
	.word	.LC282
	.word	quoteflag
	.word	backquotelist
	.word	wordtext
	.word	lasttoken
	.word	heredoc
	.word	redirnode
	.word	checkkwd
	.word	is_type
	.word	types.11306
	.word	.LC283
	.word	plinno
	.word	needprompt
	.word	doprompt
	.word	tokpushback
	.word	stacknleft
	.word	stacknxt
	.word	arisyntax+130
	.word	.LC284
.L2747:
	bl	pgetc
	str	r0, [fp, #-68]
	ldr	r3, [fp, #-68]
	cmp	r3, #10
	bne	.L2752
	ldr	r3, .L2796+80
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L2796+80
	str	r3, [r2]
	ldr	r3, .L2796+88
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L2793
	mov	r0, #2
	bl	setprompt
	b	.L2793
.L2752:
	ldr	r3, [fp, #-68]
	cmp	r3, #92
	beq	.L2755
	ldr	r3, [fp, #-68]
	cmp	r3, #96
	beq	.L2755
	ldr	r3, [fp, #-68]
	cmp	r3, #36
	beq	.L2755
	ldr	r3, [fp, #-128]
	cmp	r3, #0
	beq	.L2756
	ldr	r3, [fp, #-68]
	cmp	r3, #34
	beq	.L2755
.L2756:
	ldr	r1, [fp, #-72]
	mov	r0, #92
	bl	_STPUTC
	str	r0, [fp, #-72]
.L2755:
	ldr	r3, [fp, #-68]
	cmn	r3, #128
	bge	.L2794
.L2749:
	ldr	r0, .L2796+76
	bl	synerror
.L2750:
	ldr	r3, .L2796+80
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L2796+80
	str	r3, [r2]
	ldr	r3, .L2796+88
	ldr	r3, [r3]
	ldr	r2, .L2796+84
	str	r3, [r2]
	b	.L2757
.L2792:
	nop
	b	.L2757
.L2794:
	nop
.L2757:
	ldr	r1, [fp, #-72]
	ldr	r0, [fp, #-68]
	bl	_STPUTC
	str	r0, [fp, #-72]
	b	.L2758
.L2793:
	nop
	b	.L2758
.L2791:
	nop
.L2751:
	ldr	r1, [fp, #-72]
	mov	r0, #0
	bl	_STPUTC
	str	r0, [fp, #-72]
	ldr	r3, .L2796+100
	ldr	r3, [r3]
	ldr	r2, [fp, #-72]
	sub	r3, r2, r3
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L2743
	ldr	r3, .L2796+100
	ldr	r3, [r3]
	ldr	r2, [fp, #-72]
	sub	r3, r2, r3
	mov	r0, r3
	bl	stalloc
	str	r0, [fp, #-20]
	ldr	r0, [fp, #-20]
	bl	setinputstring
.L2743:
	sub	r3, fp, #144
	str	r3, [fp, #-84]
	b	.L2759
.L2760:
	ldr	r3, [fp, #-84]
	ldr	r3, [r3]
	str	r3, [fp, #-84]
.L2759:
	ldr	r3, [fp, #-84]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L2760
	mov	r0, #8
	bl	stalloc
	mov	r2, r0
	ldr	r3, [fp, #-84]
	str	r2, [r3]
	ldr	r3, [fp, #-84]
	ldr	r3, [r3]
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-108]
	cmp	r3, #0
	beq	.L2761
	ldr	r3, .L2796+88
	ldr	r3, [r3]
	str	r3, [fp, #-76]
	ldr	r3, .L2796+88
	mov	r2, #0
	str	r2, [r3]
.L2761:
	mov	r0, #2
	bl	list
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-108]
	cmp	r3, #0
	beq	.L2762
	ldr	r2, .L2796+88
	ldr	r3, [fp, #-76]
	str	r3, [r2]
	b	.L2763
.L2762:
	bl	readtoken
	mov	r3, r0
	cmp	r3, #8
	beq	.L2763
	mov	r0, #8
	bl	synexpect
.L2763:
	ldr	r3, [fp, #-84]
	ldr	r3, [r3]
	ldr	r2, [fp, #-16]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-108]
	cmp	r3, #0
	beq	.L2765
	bl	popfile
	ldr	r3, .L2796+92
	mov	r2, #0
	str	r2, [r3]
	b	.L2765
.L2766:
	bl	growstackblock
.L2765:
	ldr	r3, .L2796+96
	ldr	r3, [r3]
	ldr	r2, [fp, #-28]
	cmp	r2, r3
	bcs	.L2766
	ldr	r3, .L2796+100
	ldr	r3, [r3]
	str	r3, [fp, #-136]
	ldr	r3, [fp, #-80]
	cmp	r3, #0
	beq	.L2767
	ldr	r2, [fp, #-28]
	ldr	r1, [fp, #-80]
	ldr	r0, [fp, #-136]
	bl	memcpy
	ldr	r2, [fp, #-136]
	ldr	r3, [fp, #-28]
	add	r3, r2, r3
	str	r3, [fp, #-136]
.L2767:
	ldr	r3, [fp, #-136]
	add	r2, r3, #1
	str	r2, [fp, #-136]
	mvn	r2, #123
	strb	r2, [r3]
	ldr	r3, [fp, #-108]
	cmp	r3, #0
	beq	.L2795
	b	.L2774
.L2786:
	nop
.L2714:
	ldr	r3, [fp, #-120]
	add	r3, r3, #1
	str	r3, [fp, #-120]
	ldr	r3, [fp, #-120]
	cmp	r3, #1
	bne	.L2769
	ldr	r3, [fp, #-156]
	str	r3, [fp, #-104]
	ldr	r3, .L2796+104
	str	r3, [fp, #-156]
.L2769:
	ldr	r3, [fp, #-136]
	add	r2, r3, #1
	str	r2, [fp, #-136]
	mvn	r2, #121
	strb	r2, [r3]
	nop
.L2715:
	b	.L2665
.L2770:
	ldr	r2, .L2796+108
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L2771
	bl	__stack_chk_fail
.L2771:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	readtoken1, .-readtoken1
	.align	2
	.global	endofname
	.syntax unified
	.arm
	.fpu softvfp
	.type	endofname, %function
endofname:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #95
	beq	.L2801
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #1024
	cmp	r3, #0
	bne	.L2801
	ldr	r3, [fp, #-8]
	b	.L2800
.L2803:
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #95
	beq	.L2801
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8
	cmp	r3, #0
	beq	.L2804
.L2801:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L2803
	b	.L2802
.L2804:
	nop
.L2802:
	ldr	r3, [fp, #-8]
.L2800:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	endofname, .-endofname
	.section	.rodata
	.align	2
.LC285:
	.ascii	"%s unexpected (expecting %s)\000"
	.align	2
.LC286:
	.ascii	"%s unexpected\000"
	.align	2
.LC287:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	synexpect, %function
synexpect:
	@ args = 0, pretend = 0, frame = 80
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #88
	str	r0, [fp, #-80]
	ldr	r3, .L2809
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-80]
	cmp	r3, #0
	blt	.L2806
	ldr	r3, .L2809+4
	ldr	r3, [r3]
	ldr	r2, .L2809+8
	ldr	r2, [r2, r3, lsl #2]
	ldr	r1, .L2809+8
	ldr	r3, [fp, #-80]
	ldr	r3, [r1, r3, lsl #2]
	sub	r0, fp, #72
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, .L2809+12
	mov	r1, #64
	bl	fmtstr
	b	.L2807
.L2806:
	ldr	r3, .L2809+4
	ldr	r3, [r3]
	ldr	r2, .L2809+8
	ldr	r3, [r2, r3, lsl #2]
	sub	r0, fp, #72
	ldr	r2, .L2809+16
	mov	r1, #64
	bl	fmtstr
.L2807:
	sub	r3, fp, #72
	mov	r0, r3
	bl	synerror
.L2810:
	.align	2
.L2809:
	.word	.LC287
	.word	lasttoken
	.word	tokname
	.word	.LC285
	.word	.LC286
	.size	synexpect, .-synexpect
	.section	.rodata
	.align	2
.LC288:
	.ascii	"Syntax error: %s\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	synerror, %function
synerror:
	@ 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, .L2812
	ldr	r3, [r3]
	ldr	r2, .L2812+4
	str	r3, [r2]
	ldr	r1, [fp, #-8]
	ldr	r0, .L2812+8
	bl	sh_error
.L2813:
	.align	2
.L2812:
	.word	plinno
	.word	errlinno
	.word	.LC288
	.size	synerror, .-synerror
	.section	.rodata
	.align	2
.LC289:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	setprompt, %function
setprompt:
	@ 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]
	ldr	r3, .L2818
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L2818+4
	mov	r2, #0
	str	r2, [r3]
	ldr	r2, .L2818+8
	ldr	r3, [fp, #-32]
	str	r3, [r2]
	mov	r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L2817
	ldr	r3, .L2818+12
	ldr	r2, [r3]
	sub	r3, fp, #20
	mov	r1, r2
	mov	r0, r3
	bl	pushstackmark
	mov	r0, #0
	bl	getprompt
	mov	r2, r0
	ldr	r3, .L2818+16
	ldr	r3, [r3]
	mov	r1, r3
	mov	r0, r2
	bl	outstr
	sub	r3, fp, #20
	mov	r0, r3
	bl	popstackmark
.L2817:
	nop
	ldr	r3, .L2818
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L2816
	bl	__stack_chk_fail
.L2816:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2819:
	.align	2
.L2818:
	.word	.LC289
	.word	needprompt
	.word	whichprompt
	.word	stacknleft
	.word	out2
	.size	setprompt, .-setprompt
	.section	.rodata
	.align	2
.LC290:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	expandstr
	.syntax unified
	.arm
	.fpu softvfp
	.type	expandstr, %function
expandstr:
	@ 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, .L2823
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r0, [fp, #-40]
	bl	setinputstring
	ldr	r3, .L2823+4
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	ldr	r3, .L2823+4
	mov	r2, #0
	str	r2, [r3]
	bl	pgetc
	ldr	r1, .L2823+8
	mov	r3, #0
	mov	r2, #1
	bl	readtoken1
	ldr	r2, .L2823+4
	ldr	r3, [fp, #-32]
	str	r3, [r2]
	bl	popfile
	mov	r3, #15
	str	r3, [fp, #-28]
	mov	r3, #0
	str	r3, [fp, #-24]
	ldr	r3, .L2823+12
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	ldr	r3, .L2823+16
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	sub	r3, fp, #28
	mov	r2, #256
	mov	r1, #0
	mov	r0, r3
	bl	expandarg
	ldr	r3, .L2823+20
	ldr	r3, [r3]
	ldr	r2, .L2823
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L2822
	bl	__stack_chk_fail
.L2822:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2824:
	.align	2
.L2823:
	.word	.LC290
	.word	doprompt
	.word	dqsyntax+130
	.word	wordtext
	.word	backquotelist
	.word	stacknxt
	.size	expandstr, .-expandstr
	.align	2
	.global	getprompt
	.syntax unified
	.arm
	.fpu softvfp
	.type	getprompt, %function
getprompt:
	@ 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, .L2830
	ldr	r3, [r3]
	cmp	r3, #1
	beq	.L2826
	cmp	r3, #2
	beq	.L2827
	ldr	r3, .L2830+4
	b	.L2828
.L2826:
	ldr	r3, .L2830+8
	ldr	r3, [r3, #8]
	add	r3, r3, #4
	str	r3, [fp, #-8]
	b	.L2829
.L2827:
	ldr	r3, .L2830+12
	ldr	r3, [r3, #8]
	add	r3, r3, #4
	str	r3, [fp, #-8]
	nop
.L2829:
	ldr	r0, [fp, #-8]
	bl	expandstr
	mov	r3, r0
.L2828:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2831:
	.align	2
.L2830:
	.word	whichprompt
	.word	nullstr
	.word	varinit+64
	.word	varinit+80
	.size	getprompt, .-getprompt
	.align	2
	.global	findkwd
	.syntax unified
	.arm
	.fpu softvfp
	.type	findkwd, %function
findkwd:
	@ 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	r2, #16
	ldr	r1, .L2834
	ldr	r0, [fp, #-8]
	bl	findstring
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2835:
	.align	2
.L2834:
	.word	parsekwd
	.size	findkwd, .-findkwd
	.comm	redirlist,4,4
	.align	2
	.global	redirect
	.syntax unified
	.arm
	.fpu softvfp
	.type	redirect, %function
redirect:
	@ 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]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	beq	.L2848
	mov	r3, #0
	str	r3, [fp, #-24]
	ldr	r3, .L2851
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L2851
	str	r3, [r2]
	ldr	r3, [fp, #-36]
	and	r3, r3, #1
	cmp	r3, #0
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L2839
	ldr	r3, .L2851+4
	ldr	r3, [r3]
	str	r3, [fp, #-24]
.L2839:
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-28]
.L2846:
	ldr	r0, [fp, #-28]
	bl	openredirect
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmn	r3, #1
	blt	.L2849
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L2842
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	add	r3, r3, #4
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmn	r3, #2
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L2843
	mvn	r3, #0
	str	r3, [fp, #-20]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	cmp	r2, r3
	beq	.L2843
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-16]
	bl	savefd
	str	r0, [fp, #-20]
	mvn	r3, #0
	str	r3, [fp, #-16]
.L2843:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-12]
	cmp	r2, r3
	bne	.L2844
	mvn	r3, #2
	str	r3, [fp, #-20]
.L2844:
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-20]
	str	r2, [r3]
.L2842:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	cmp	r2, r3
	beq	.L2850
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-28]
	bl	dupredirect
	b	.L2841
.L2849:
	nop
	b	.L2841
.L2850:
	nop
.L2841:
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L2846
	ldr	r3, .L2851
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L2851
	str	r3, [r2]
	ldr	r3, .L2851
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L2847
	ldr	r3, .L2851+8
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L2847
	bl	onint
.L2847:
	ldr	r3, [fp, #-36]
	and	r3, r3, #3
	cmp	r3, #0
	beq	.L2836
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	blt	.L2836
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #12]
	ldr	r2, .L2851+12
	str	r3, [r2, #16]
	b	.L2836
.L2848:
	nop
.L2836:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2852:
	.align	2
.L2851:
	.word	suppressint
	.word	redirlist
	.word	intpending
	.word	preverrout
	.size	redirect, .-redirect
	.section	.rodata
	.align	2
.LC291:
	.ascii	"cannot create %s: %s\000"
	.align	2
.LC292:
	.ascii	"cannot open %s: %s\000"
	.align	2
.LC293:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	openredirect, %function
openredirect:
	@ args = 0, pretend = 0, frame = 112
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #112
	str	r0, [fp, #-112]
	ldr	r3, .L2885
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-112]
	ldr	r3, [r3]
	sub	r3, r3, #16
	cmp	r3, #6
	ldrls	pc, [pc, r3, asl #2]
	b	.L2854
.L2856:
	.word	.L2861
	.word	.L2860
	.word	.L2859
	.word	.L2858
	.word	.L2857
	.word	.L2855
	.word	.L2855
.L2859:
	ldr	r3, [fp, #-112]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-108]
	mov	r1, #0
	ldr	r0, [fp, #-108]
	bl	open
	str	r0, [fp, #-104]
	ldr	r3, [fp, #-104]
	cmp	r3, #0
	bge	.L2878
	b	.L2876
.L2858:
	ldr	r3, [fp, #-112]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-108]
	ldr	r2, .L2885+4
	mov	r1, #66
	ldr	r0, [fp, #-108]
	bl	open
	str	r0, [fp, #-104]
	ldr	r3, [fp, #-104]
	cmp	r3, #0
	bge	.L2879
	b	.L2866
.L2861:
	ldr	r3, .L2885+8
	ldrb	r3, [r3, #11]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L2860
	ldr	r3, [fp, #-112]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-108]
	sub	r3, fp, #100
	mov	r1, r3
	ldr	r0, [fp, #-108]
	bl	stat
	mov	r3, r0
	cmp	r3, #0
	bge	.L2867
	ldr	r2, .L2885+4
	mov	r1, #193
	ldr	r0, [fp, #-108]
	bl	open
	str	r0, [fp, #-104]
	ldr	r3, [fp, #-104]
	cmp	r3, #0
	bge	.L2880
	b	.L2866
.L2867:
	ldr	r3, [fp, #-84]
	and	r3, r3, #61440
	cmp	r3, #32768
	beq	.L2869
	ldr	r2, .L2885+4
	mov	r1, #1
	ldr	r0, [fp, #-108]
	bl	open
	str	r0, [fp, #-104]
	ldr	r3, [fp, #-104]
	cmp	r3, #0
	blt	.L2881
	sub	r3, fp, #100
	mov	r1, r3
	ldr	r0, [fp, #-104]
	bl	fstat
	mov	r3, r0
	cmp	r3, #0
	bge	.L2880
	ldr	r3, [fp, #-84]
	and	r3, r3, #61440
	cmp	r3, #32768
	bne	.L2880
	ldr	r0, [fp, #-104]
	bl	close
	ldr	r3, .L2885+12
	ldr	r3, [r3]
	mov	r2, #17
	str	r2, [r3]
	b	.L2866
.L2869:
	ldr	r3, .L2885+12
	ldr	r3, [r3]
	mov	r2, #17
	str	r2, [r3]
	b	.L2866
.L2860:
	ldr	r3, [fp, #-112]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-108]
	ldr	r2, .L2885+4
	ldr	r1, .L2885+16
	ldr	r0, [fp, #-108]
	bl	open
	str	r0, [fp, #-104]
	ldr	r3, [fp, #-104]
	cmp	r3, #0
	bge	.L2882
	b	.L2866
.L2857:
	ldr	r3, [fp, #-112]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-108]
	ldr	r2, .L2885+4
	ldr	r1, .L2885+20
	ldr	r0, [fp, #-108]
	bl	open
	str	r0, [fp, #-104]
	ldr	r3, [fp, #-104]
	cmp	r3, #0
	bge	.L2883
	b	.L2866
.L2855:
	ldr	r3, [fp, #-112]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-104]
	ldr	r3, [fp, #-112]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-104]
	cmp	r2, r3
	bne	.L2884
	mvn	r3, #1
	str	r3, [fp, #-104]
	b	.L2884
.L2854:
	ldr	r0, [fp, #-112]
	bl	openhere
	str	r0, [fp, #-104]
	b	.L2864
.L2878:
	nop
	b	.L2864
.L2879:
	nop
	b	.L2864
.L2880:
	nop
	b	.L2864
.L2882:
	nop
	b	.L2864
.L2883:
	nop
	b	.L2864
.L2884:
	nop
.L2864:
	ldr	r3, [fp, #-104]
	ldr	r2, .L2885
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L2875
	b	.L2877
.L2881:
	nop
.L2866:
	ldr	r3, .L2885+12
	ldr	r3, [r3]
	ldr	r3, [r3]
	mov	r1, #2
	mov	r0, r3
	bl	errmsg
	mov	r3, r0
	mov	r2, r3
	ldr	r1, [fp, #-108]
	ldr	r0, .L2885+24
	bl	sh_error
.L2876:
.L2863:
	ldr	r3, .L2885+12
	ldr	r3, [r3]
	ldr	r3, [r3]
	mov	r1, #1
	mov	r0, r3
	bl	errmsg
	mov	r3, r0
	mov	r2, r3
	ldr	r1, [fp, #-108]
	ldr	r0, .L2885+28
	bl	sh_error
.L2877:
	bl	__stack_chk_fail
.L2875:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2886:
	.align	2
.L2885:
	.word	.LC293
	.word	438
	.word	optlist
	.word	dash_errno
	.word	577
	.word	1089
	.word	.LC291
	.word	.LC292
	.size	openredirect, .-openredirect
	.section	.rodata
	.align	2
.LC294:
	.ascii	"%d: %s\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	dupredirect, %function
dupredirect:
	@ 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]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-8]
	mov	r3, #0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	cmp	r3, #21
	beq	.L2888
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	cmp	r3, #22
	bne	.L2889
.L2888:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	blt	.L2890
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-20]
	bl	dup2
	mov	r3, r0
	cmp	r3, #0
	bge	.L2896
	ldr	r3, .L2898
	ldr	r3, [r3]
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	b	.L2892
.L2890:
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-20]
	b	.L2894
.L2889:
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-20]
	bl	dup2
	mov	r3, r0
	cmp	r3, #0
	bge	.L2894
	ldr	r3, .L2898
	ldr	r3, [r3]
	ldr	r3, [r3]
	str	r3, [fp, #-12]
.L2894:
	ldr	r0, [fp, #-20]
	bl	close
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bge	.L2897
	nop
.L2892:
	ldr	r0, [fp, #-12]
	bl	strerror
	mov	r3, r0
	mov	r2, r3
	ldr	r1, [fp, #-20]
	ldr	r0, .L2898+4
	bl	sh_error
.L2896:
	nop
	b	.L2887
.L2897:
	nop
.L2887:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2899:
	.align	2
.L2898:
	.word	dash_errno
	.word	.LC294
	.size	dupredirect, .-dupredirect
	.section	.rodata
	.align	2
.LC295:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	openhere, %function
openhere:
	@ 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]
	ldr	r3, .L2908
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-20]
	sub	r3, fp, #16
	mov	r0, r3
	bl	pipe
	mov	r3, r0
	cmp	r3, #0
	bge	.L2901
	ldr	r0, .L2908+4
	bl	sh_error
.L2901:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #12]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	cmp	r3, #24
	bne	.L2902
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #12]
	mov	r2, #256
	mov	r1, #0
	mov	r0, r3
	bl	expandarg
	ldr	r3, .L2908+8
	ldr	r3, [r3]
	str	r3, [fp, #-24]
.L2902:
	ldr	r0, [fp, #-24]
	bl	strlen
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #4096
	bhi	.L2903
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-20]
	ldr	r1, [fp, #-24]
	mov	r0, r3
	bl	xwrite
	b	.L2904
.L2903:
	mov	r2, #2
	mov	r1, #0
	mov	r0, #0
	bl	forkshell
	mov	r3, r0
	cmp	r3, #0
	bne	.L2907
	ldr	r3, [fp, #-16]
	mov	r0, r3
	bl	close
	mov	r1, #1
	mov	r0, #2
	bl	signal
	mov	r1, #1
	mov	r0, #3
	bl	signal
	mov	r1, #1
	mov	r0, #1
	bl	signal
	mov	r1, #1
	mov	r0, #20
	bl	signal
	mov	r1, #0
	mov	r0, #13
	bl	signal
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-20]
	ldr	r1, [fp, #-24]
	mov	r0, r3
	bl	xwrite
	mov	r0, #0
	bl	_exit
.L2907:
	nop
.L2904:
	ldr	r3, [fp, #-12]
	mov	r0, r3
	bl	close
	ldr	r3, [fp, #-16]
	ldr	r2, .L2908
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L2906
	bl	__stack_chk_fail
.L2906:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2909:
	.align	2
.L2908:
	.word	.LC295
	.word	.LC81
	.word	stacknxt
	.size	openhere, .-openhere
	.align	2
	.global	popredir
	.syntax unified
	.arm
	.fpu softvfp
	.type	popredir, %function
popredir:
	@ 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, .L2923
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L2923
	str	r3, [r2]
	ldr	r3, .L2923+4
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L2911
.L2918:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	cmn	r3, #2
	bgt	.L2912
	cmn	r3, #3
	bge	.L2920
	b	.L2914
.L2912:
	cmn	r3, #1
	bne	.L2914
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L2921
	ldr	r0, [fp, #-12]
	bl	close
	b	.L2921
.L2914:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L2917
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	ldr	r1, [fp, #-12]
	mov	r0, r3
	bl	dup2
.L2917:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	close
	b	.L2916
.L2920:
	nop
	b	.L2916
.L2921:
	nop
.L2916:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L2911:
	ldr	r3, [fp, #-12]
	cmp	r3, #9
	ble	.L2918
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldr	r2, .L2923+4
	str	r3, [r2]
	ldr	r0, [fp, #-8]
	bl	free
	ldr	r3, .L2923
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L2923
	str	r3, [r2]
	ldr	r3, .L2923
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L2922
	ldr	r3, .L2923+8
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L2922
	bl	onint
.L2922:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2924:
	.align	2
.L2923:
	.word	suppressint
	.word	redirlist
	.word	intpending
	.size	popredir, .-popredir
	.align	2
	.global	savefd
	.syntax unified
	.arm
	.fpu softvfp
	.type	savefd, %function
savefd:
	@ 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]
	mov	r2, #10
	mov	r1, #0
	ldr	r0, [fp, #-16]
	bl	fcntl
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bge	.L2926
	ldr	r3, .L2931
	ldr	r3, [r3]
	ldr	r3, [r3]
	b	.L2927
.L2926:
	mov	r3, #0
.L2927:
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #9
	beq	.L2928
	ldr	r0, [fp, #-20]
	bl	close
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L2929
	ldr	r0, [fp, #-8]
	bl	strerror
	mov	r3, r0
	mov	r2, r3
	ldr	r1, [fp, #-16]
	ldr	r0, .L2931+4
	bl	sh_error
.L2929:
	mov	r2, #1
	mov	r1, #2
	ldr	r0, [fp, #-12]
	bl	fcntl
.L2928:
	ldr	r3, [fp, #-12]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2932:
	.align	2
.L2931:
	.word	dash_errno
	.word	.LC294
	.size	savefd, .-savefd
	.section	.rodata
	.align	2
.LC296:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	redirectsafe
	.syntax unified
	.arm
	.fpu softvfp
	.type	redirectsafe, %function
redirectsafe:
	@ args = 0, pretend = 0, frame = 424
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #424
	str	r0, [fp, #-424]
	str	r1, [fp, #-428]
	ldr	r3, .L2940
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L2940+4
	ldr	r3, [r3]
	str	r3, [fp, #-412]
	ldr	r3, .L2940+8
	ldr	r3, [r3]
	str	r3, [fp, #-416]
	sub	r3, fp, #404
	mov	r0, r3
	bl	_setjmp
	mov	r3, r0
	lsl	r3, r3, #1
	str	r3, [fp, #-408]
	ldr	r3, [fp, #-408]
	cmp	r3, #0
	bne	.L2935
	ldr	r2, .L2940+4
	sub	r3, fp, #404
	str	r3, [r2]
	ldr	r1, [fp, #-428]
	ldr	r0, [fp, #-424]
	bl	redirect
.L2935:
	ldr	r3, [fp, #-412]
	ldr	r2, .L2940+4
	str	r3, [r2]
	ldr	r3, [fp, #-408]
	cmp	r3, #0
	beq	.L2936
	ldr	r3, .L2940+12
	ldr	r3, [r3]
	cmp	r3, #1
	beq	.L2936
	ldr	r3, .L2940+4
	ldr	r3, [r3]
	mov	r1, #1
	mov	r0, r3
	bl	longjmp
.L2936:
	ldr	r3, [fp, #-416]
	ldr	r2, .L2940+8
	str	r3, [r2]
	ldr	r3, .L2940+8
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L2937
	ldr	r3, .L2940+16
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L2937
	bl	onint
.L2937:
	ldr	r3, [fp, #-408]
	ldr	r2, .L2940
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L2939
	bl	__stack_chk_fail
.L2939:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2941:
	.align	2
.L2940:
	.word	.LC296
	.word	handler
	.word	suppressint
	.word	exception
	.word	intpending
	.size	redirectsafe, .-redirectsafe
	.align	2
	.global	unwindredir
	.syntax unified
	.arm
	.fpu softvfp
	.type	unwindredir, %function
unwindredir:
	@ 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]
	b	.L2943
.L2944:
	mov	r0, #0
	bl	popredir
.L2943:
	ldr	r3, .L2945
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	bne	.L2944
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2946:
	.align	2
.L2945:
	.word	redirlist
	.size	unwindredir, .-unwindredir
	.align	2
	.global	pushredir
	.syntax unified
	.arm
	.fpu softvfp
	.type	pushredir, %function
pushredir:
	@ 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, .L2954
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L2953
	mov	r0, #44
	bl	ckmalloc
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	ldr	r2, .L2954
	ldr	r3, [fp, #-8]
	str	r3, [r2]
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L2950
.L2951:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mvn	r2, #1
	str	r2, [r3, #4]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L2950:
	ldr	r3, [fp, #-16]
	cmp	r3, #9
	ble	.L2951
	b	.L2949
.L2953:
	nop
.L2949:
	ldr	r3, [fp, #-12]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2955:
	.align	2
.L2954:
	.word	redirlist
	.size	pushredir, .-pushredir
	.local	trap
	.comm	trap,260,4
	.comm	trapcnt,4,4
	.comm	sigmode,64,4
	.local	gotsig
	.comm	gotsig,64,4
	.comm	pendingsigs,4,4
	.comm	gotsigchld,4,4
	.section	.rodata
	.align	2
.LC297:
	.ascii	"trap -- %s %s\012\000"
	.align	2
.LC298:
	.ascii	"trap: %s: bad trap\012\000"
	.text
	.align	2
	.global	trapcmd
	.syntax unified
	.arm
	.fpu softvfp
	.type	trapcmd, %function
trapcmd:
	@ 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]
	ldr	r0, .L2974
	bl	nextopt
	ldr	r3, .L2974+4
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L2957
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L2958
.L2960:
	ldr	r2, .L2974+8
	ldr	r3, [fp, #-8]
	ldr	r3, [r2, r3, lsl #2]
	cmp	r3, #0
	beq	.L2959
	ldr	r2, .L2974+8
	ldr	r3, [fp, #-8]
	ldr	r3, [r2, r3, lsl #2]
	mov	r0, r3
	bl	single_quote
	mov	r1, r0
	ldr	r2, .L2974+12
	ldr	r3, [fp, #-8]
	ldr	r3, [r2, r3, lsl #2]
	mov	r2, r3
	ldr	r0, .L2974+16
	bl	out1fmt
.L2959:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L2958:
	ldr	r3, [fp, #-8]
	cmp	r3, #64
	ble	.L2960
	mov	r3, #0
	b	.L2961
.L2957:
	ldr	r3, [fp, #-12]
	add	r3, r3, #4
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L2962
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L2964
.L2962:
	ldr	r3, [fp, #-12]
	add	r2, r3, #4
	str	r2, [fp, #-12]
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	b	.L2964
.L2973:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	mov	r1, #0
	mov	r0, r3
	bl	decode_signal
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bge	.L2965
	ldr	r3, .L2974+20
	ldr	r0, [r3]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, .L2974+24
	bl	outfmt
	mov	r3, #1
	b	.L2961
.L2965:
	ldr	r3, .L2974+28
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L2974+28
	str	r3, [r2]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L2966
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #45
	bne	.L2967
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L2967
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L2966
.L2967:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L2968
	ldr	r3, .L2974+32
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L2974+32
	str	r3, [r2]
.L2968:
	ldr	r0, [fp, #-16]
	bl	savestr
	str	r0, [fp, #-16]
.L2966:
	ldr	r2, .L2974+8
	ldr	r3, [fp, #-8]
	ldr	r3, [r2, r3, lsl #2]
	cmp	r3, #0
	beq	.L2969
	ldr	r2, .L2974+8
	ldr	r3, [fp, #-8]
	ldr	r3, [r2, r3, lsl #2]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L2970
	ldr	r3, .L2974+32
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L2974+32
	str	r3, [r2]
.L2970:
	ldr	r2, .L2974+8
	ldr	r3, [fp, #-8]
	ldr	r3, [r2, r3, lsl #2]
	mov	r0, r3
	bl	free
.L2969:
	ldr	r1, .L2974+8
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-16]
	str	r2, [r1, r3, lsl #2]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L2971
	ldr	r0, [fp, #-8]
	bl	setsignal
.L2971:
	ldr	r3, .L2974+28
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L2974+28
	str	r3, [r2]
	ldr	r3, .L2974+28
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L2972
	ldr	r3, .L2974+36
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L2972
	bl	onint
.L2972:
	ldr	r3, [fp, #-12]
	add	r3, r3, #4
	str	r3, [fp, #-12]
.L2964:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L2973
	mov	r3, #0
.L2961:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2975:
	.align	2
.L2974:
	.word	nullstr
	.word	argptr
	.word	trap
	.word	signal_names
	.word	.LC297
	.word	out2
	.word	.LC298
	.word	suppressint
	.word	trapcnt
	.word	intpending
	.size	trapcmd, .-trapcmd
	.align	2
	.global	clear_traps
	.syntax unified
	.arm
	.fpu softvfp
	.type	clear_traps, %function
clear_traps:
	@ 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, .L2982
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L2982
	str	r3, [r2]
	ldr	r3, .L2982+4
	str	r3, [fp, #-8]
	b	.L2977
.L2979:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L2978
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L2978
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	mov	r0, r3
	bl	free
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r2, .L2982+4
	cmp	r3, r2
	beq	.L2978
	ldr	r3, [fp, #-8]
	ldr	r2, .L2982+4
	sub	r3, r3, r2
	asr	r3, r3, #2
	mov	r0, r3
	bl	setsignal
.L2978:
	ldr	r3, [fp, #-8]
	add	r3, r3, #4
	str	r3, [fp, #-8]
.L2977:
	ldr	r3, [fp, #-8]
	ldr	r2, .L2982+8
	cmp	r3, r2
	bcc	.L2979
	ldr	r3, .L2982+12
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L2982
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L2982
	str	r3, [r2]
	ldr	r3, .L2982
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L2981
	ldr	r3, .L2982+16
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L2981
	bl	onint
.L2981:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2983:
	.align	2
.L2982:
	.word	suppressint
	.word	trap
	.word	trap+260
	.word	trapcnt
	.word	intpending
	.size	clear_traps, .-clear_traps
	.section	.rodata
	.align	2
.LC299:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	setsignal
	.syntax unified
	.arm
	.fpu softvfp
	.type	setsignal, %function
setsignal:
	@ args = 0, pretend = 0, frame = 168
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #168
	str	r0, [fp, #-168]
	ldr	r3, .L3020
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r2, .L3020+4
	ldr	r3, [fp, #-168]
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-152]
	ldr	r3, [fp, #-152]
	cmp	r3, #0
	bne	.L2985
	mov	r3, #1
	str	r3, [fp, #-156]
	b	.L2986
.L2985:
	ldr	r3, [fp, #-152]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L2987
	mov	r3, #2
	str	r3, [fp, #-156]
	b	.L2986
.L2987:
	mov	r3, #3
	str	r3, [fp, #-156]
.L2986:
	ldr	r3, .L3020+8
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L3014
	ldr	r3, [fp, #-156]
	cmp	r3, #1
	bne	.L3014
	ldr	r3, [fp, #-168]
	sub	r3, r3, #2
	cmp	r3, #20
	ldrls	pc, [pc, r3, asl #2]
	b	.L2988
.L2990:
	.word	.L2992
	.word	.L2991
	.word	.L2988
	.word	.L2988
	.word	.L2988
	.word	.L2988
	.word	.L2988
	.word	.L2988
	.word	.L2988
	.word	.L2988
	.word	.L2988
	.word	.L2988
	.word	.L2988
	.word	.L2991
	.word	.L2988
	.word	.L2988
	.word	.L2988
	.word	.L2988
	.word	.L2989
	.word	.L2988
	.word	.L2989
.L2992:
	ldr	r3, .L3020+12
	ldrb	r3, [r3, #3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L2993
	ldr	r3, .L3020+16
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L2993
	ldr	r3, .L3020+12
	ldrb	r3, [r3, #6]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L3015
.L2993:
	mov	r3, #2
	str	r3, [fp, #-156]
	b	.L3015
.L2991:
	ldr	r3, .L3020+12
	ldrb	r3, [r3, #3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L3016
	mov	r3, #3
	str	r3, [fp, #-156]
	b	.L3016
.L2989:
	ldr	r3, .L3020+12
	ldrb	r3, [r3, #4]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L3017
	mov	r3, #3
	str	r3, [fp, #-156]
	b	.L3017
.L3014:
	nop
	b	.L2988
.L3015:
	nop
	b	.L2988
.L3016:
	nop
	b	.L2988
.L3017:
	nop
.L2988:
	ldr	r3, [fp, #-168]
	cmp	r3, #17
	bne	.L2997
	mov	r3, #2
	str	r3, [fp, #-156]
.L2997:
	ldr	r3, [fp, #-168]
	sub	r3, r3, #1
	ldr	r2, .L3020+20
	add	r3, r3, r2
	str	r3, [fp, #-152]
	ldr	r3, [fp, #-152]
	ldrb	r3, [r3]
	strb	r3, [fp, #-157]
	ldrb	r3, [fp, #-157]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L2998
	sub	r3, fp, #148
	mov	r2, r3
	mov	r1, #0
	ldr	r0, [fp, #-168]
	bl	sigaction
	mov	r3, r0
	cmn	r3, #1
	beq	.L3018
	ldr	r3, [fp, #-148]
	cmp	r3, #1
	bne	.L3001
	ldr	r3, .L3020+12
	ldrb	r3, [r3, #4]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L3002
	ldr	r3, [fp, #-168]
	cmp	r3, #20
	beq	.L3003
	ldr	r3, [fp, #-168]
	cmp	r3, #21
	beq	.L3003
	ldr	r3, [fp, #-168]
	cmp	r3, #22
	bne	.L3002
.L3003:
	mov	r3, #3
	strb	r3, [fp, #-157]
	b	.L2998
.L3002:
	mov	r3, #4
	strb	r3, [fp, #-157]
	b	.L2998
.L3001:
	mov	r3, #5
	strb	r3, [fp, #-157]
.L2998:
	ldrb	r3, [fp, #-157]	@ zero_extendqisi2
	cmp	r3, #4
	beq	.L3019
	ldrb	r3, [fp, #-157]	@ zero_extendqisi2
	ldr	r2, [fp, #-156]
	cmp	r2, r3
	beq	.L3019
	ldr	r3, [fp, #-156]
	cmp	r3, #2
	beq	.L3007
	ldr	r3, [fp, #-156]
	cmp	r3, #3
	beq	.L3008
	b	.L3013
.L3007:
	ldr	r3, .L3020+24
	str	r3, [fp, #-148]
	b	.L3010
.L3008:
	mov	r3, #1
	str	r3, [fp, #-148]
	b	.L3010
.L3013:
	mov	r3, #0
	str	r3, [fp, #-148]
.L3010:
	ldr	r3, [fp, #-156]
	and	r2, r3, #255
	ldr	r3, [fp, #-152]
	strb	r2, [r3]
	mov	r3, #0
	str	r3, [fp, #-16]
	sub	r3, fp, #148
	add	r3, r3, #4
	mov	r0, r3
	bl	sigfillset
	sub	r3, fp, #148
	mov	r2, #0
	mov	r1, r3
	ldr	r0, [fp, #-168]
	bl	sigaction
	b	.L2984
.L3018:
	nop
	b	.L2984
.L3019:
	nop
.L2984:
	ldr	r3, .L3020
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L3012
	bl	__stack_chk_fail
.L3012:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3021:
	.align	2
.L3020:
	.word	.LC299
	.word	trap
	.word	shlvl
	.word	optlist
	.word	minusc
	.word	sigmode
	.word	onsig
	.size	setsignal, .-setsignal
	.align	2
	.global	ignoresig
	.syntax unified
	.arm
	.fpu softvfp
	.type	ignoresig, %function
ignoresig:
	@ 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]
	sub	r3, r3, #1
	ldr	r2, .L3024
	ldrb	r3, [r2, r3]	@ zero_extendqisi2
	cmp	r3, #3
	beq	.L3023
	ldr	r3, [fp, #-8]
	sub	r3, r3, #1
	ldr	r2, .L3024
	ldrb	r3, [r2, r3]	@ zero_extendqisi2
	cmp	r3, #4
	beq	.L3023
	mov	r1, #1
	ldr	r0, [fp, #-8]
	bl	signal
.L3023:
	ldr	r3, [fp, #-8]
	sub	r3, r3, #1
	ldr	r2, .L3024
	mov	r1, #4
	strb	r1, [r2, r3]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3025:
	.align	2
.L3024:
	.word	sigmode
	.size	ignoresig, .-ignoresig
	.align	2
	.global	onsig
	.syntax unified
	.arm
	.fpu softvfp
	.type	onsig, %function
onsig:
	@ 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, #17
	bne	.L3027
	ldr	r3, .L3031
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, .L3031+4
	ldr	r3, [r3, #68]
	cmp	r3, #0
	beq	.L3030
.L3027:
	ldr	r3, [fp, #-8]
	sub	r3, r3, #1
	ldr	r2, .L3031+8
	mov	r1, #1
	strb	r1, [r2, r3]
	ldr	r2, .L3031+12
	ldr	r3, [fp, #-8]
	str	r3, [r2]
	ldr	r3, [fp, #-8]
	cmp	r3, #2
	bne	.L3026
	ldr	r3, .L3031+4
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L3026
	ldr	r3, .L3031+16
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L3029
	bl	onint
.L3029:
	ldr	r3, .L3031+20
	mov	r2, #1
	str	r2, [r3]
	b	.L3026
.L3030:
	nop
.L3026:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3032:
	.align	2
.L3031:
	.word	gotsigchld
	.word	trap
	.word	gotsig
	.word	pendingsigs
	.word	suppressint
	.word	intpending
	.size	onsig, .-onsig
	.align	2
	.global	dotrap
	.syntax unified
	.arm
	.fpu softvfp
	.type	dotrap, %function
dotrap:
	@ 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, .L3044
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r3, .L3044+4
	mov	r2, #0
	str	r2, [r3]
	mov	r3, #0
	str	r3, [fp, #-16]
	ldr	r3, .L3044+8
	str	r3, [fp, #-20]
	b	.L3034
.L3039:
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L3040
	ldr	r3, [fp, #-20]
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	ldr	r2, .L3044+12
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L3041
	mov	r1, #0
	ldr	r0, [fp, #-8]
	bl	evalstring
	ldr	r2, .L3044
	ldr	r3, [fp, #-12]
	str	r3, [r2]
	ldr	r3, .L3044+16
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L3042
	b	.L3036
.L3040:
	nop
	b	.L3036
.L3041:
	nop
.L3036:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L3034:
	ldr	r3, [fp, #-16]
	cmp	r3, #63
	ble	.L3039
	b	.L3043
.L3042:
	nop
.L3043:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3045:
	.align	2
.L3044:
	.word	exitstatus
	.word	pendingsigs
	.word	gotsig
	.word	trap
	.word	evalskip
	.size	dotrap, .-dotrap
	.align	2
	.global	setinteractive
	.syntax unified
	.arm
	.fpu softvfp
	.type	setinteractive, %function
setinteractive:
	@ 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]
	add	r3, r3, #1
	str	r3, [fp, #-8]
	ldr	r3, .L3050
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	beq	.L3049
	ldr	r2, .L3050
	ldr	r3, [fp, #-8]
	str	r3, [r2]
	mov	r0, #2
	bl	setsignal
	mov	r0, #3
	bl	setsignal
	mov	r0, #15
	bl	setsignal
	b	.L3046
.L3049:
	nop
.L3046:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3051:
	.align	2
.L3050:
	.word	is_interactive.11556
	.size	setinteractive, .-setinteractive
	.section	.rodata
	.align	2
.LC300:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	exitshell
	.syntax unified
	.arm
	.fpu softvfp
	.type	exitshell, %function
exitshell:
	@ args = 0, pretend = 0, frame = 408
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #408
	ldr	r3, .L3062
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L3062+4
	ldr	r3, [r3]
	str	r3, [fp, #-412]
	sub	r3, fp, #404
	mov	r0, r3
	bl	_setjmp
	mov	r3, r0
	cmp	r3, #0
	beq	.L3054
	ldr	r3, .L3062+8
	ldr	r3, [r3]
	cmp	r3, #4
	bne	.L3060
	ldr	r3, .L3062+4
	ldr	r3, [r3]
	str	r3, [fp, #-412]
	b	.L3060
.L3054:
	ldr	r2, .L3062+12
	sub	r3, fp, #404
	str	r3, [r2]
	ldr	r3, .L3062+16
	ldr	r3, [r3]
	str	r3, [fp, #-408]
	ldr	r3, [fp, #-408]
	cmp	r3, #0
	beq	.L3061
	ldr	r3, .L3062+16
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L3062+20
	mov	r2, #0
	str	r2, [r3]
	mov	r1, #0
	ldr	r0, [fp, #-408]
	bl	evalstring
	b	.L3059
.L3056:
.L3060:
	nop
	b	.L3059
.L3061:
	nop
.L3059:
	sub	r3, fp, #404
	mov	r0, r3
	bl	_setjmp
	mov	r3, r0
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L3057
	mov	r0, #0
	bl	setjobctl
.L3057:
	bl	flushall
	ldr	r3, [fp, #-412]
	mov	r0, r3
	bl	_exit
.L3063:
	.align	2
.L3062:
	.word	.LC300
	.word	exitstatus
	.word	exception
	.word	handler
	.word	trap
	.word	evalskip
	.size	exitshell, .-exitshell
	.align	2
	.global	decode_signal
	.syntax unified
	.arm
	.fpu softvfp
	.type	decode_signal, %function
decode_signal:
	@ 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	r0, [fp, #-16]
	bl	is_number
	mov	r3, r0
	cmp	r3, #0
	beq	.L3065
	ldr	r0, [fp, #-16]
	bl	atoi
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #64
	ble	.L3066
	mvn	r3, #0
	b	.L3067
.L3066:
	ldr	r3, [fp, #-8]
	b	.L3067
.L3065:
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-8]
	b	.L3068
.L3070:
	ldr	r2, .L3071
	ldr	r3, [fp, #-8]
	ldr	r3, [r2, r3, lsl #2]
	cmp	r3, #0
	beq	.L3069
	ldr	r2, .L3071
	ldr	r3, [fp, #-8]
	ldr	r3, [r2, r3, lsl #2]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	strcasecmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L3069
	ldr	r3, [fp, #-8]
	b	.L3067
.L3069:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L3068:
	ldr	r3, [fp, #-8]
	cmp	r3, #64
	ble	.L3070
	mvn	r3, #0
.L3067:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3072:
	.align	2
.L3071:
	.word	signal_names
	.size	decode_signal, .-decode_signal
	.global	output
	.data
	.align	2
	.type	output, %object
	.size	output, 24
output:
	.word	0
	.word	0
	.word	0
	.word	8192
	.word	1
	.word	0
	.global	errout
	.align	2
	.type	errout, %object
	.size	errout, 24
errout:
	.word	0
	.word	0
	.word	0
	.word	0
	.word	2
	.word	0
	.comm	preverrout,24,4
	.global	out1
	.align	2
	.type	out1, %object
	.size	out1, 4
out1:
	.word	output
	.global	out2
	.align	2
	.type	out2, %object
	.size	out2, 4
out2:
	.word	errout
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	__outstr, %function
__outstr:
	@ 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, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	sub	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-28]
	cmp	r2, r3
	bcc	.L3074
	nop
	b	.L3075
.L3088:
	nop
.L3075:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	ldr	r2, [fp, #-28]
	ldr	r1, [fp, #-24]
	mov	r0, r3
	bl	mempcpy
	mov	r2, r0
	ldr	r3, [fp, #-32]
	str	r2, [r3]
	b	.L3073
.L3074:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L3077
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L3078
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #16]
	cmn	r3, #3
	bne	.L3079
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	bls	.L3079
	ldr	r3, [fp, #-28]
	str	r3, [fp, #-16]
.L3079:
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L3080
.L3078:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #16]
	cmn	r3, #3
	bne	.L3081
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-12]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-28]
	cmp	r2, r3
	bcc	.L3082
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #1
	str	r3, [fp, #-16]
	b	.L3083
.L3082:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-28]
	add	r3, r2, r3
	str	r3, [fp, #-16]
.L3083:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	cmp	r2, r3
	bcc	.L3087
	nop
.L3080:
	ldr	r3, .L3089
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L3089
	str	r3, [r2]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #8]
	ldr	r1, [fp, #-16]
	mov	r0, r3
	bl	ckrealloc
	mov	r2, r0
	ldr	r3, [fp, #-32]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-16]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	add	r2, r2, r3
	ldr	r3, [fp, #-32]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-12]
	add	r2, r2, r3
	ldr	r3, [fp, #-32]
	str	r2, [r3]
	ldr	r3, .L3089
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L3089
	str	r3, [r2]
	ldr	r3, .L3089
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L3077
	ldr	r3, .L3089+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L3077
	bl	onint
	b	.L3077
.L3081:
	ldr	r0, [fp, #-32]
	bl	flushout
.L3077:
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	sub	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-28]
	cmp	r2, r3
	bhi	.L3088
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #16]
	ldr	r2, [fp, #-28]
	ldr	r1, [fp, #-24]
	mov	r0, r3
	bl	xwrite
	mov	r3, r0
	cmp	r3, #0
	beq	.L3073
	b	.L3084
.L3087:
	nop
.L3084:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #20]
	orr	r2, r3, #1
	ldr	r3, [fp, #-32]
	str	r2, [r3, #20]
.L3073:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3090:
	.align	2
.L3089:
	.word	suppressint
	.word	intpending
	.size	__outstr, .-__outstr
	.align	2
	.global	outstr
	.syntax unified
	.arm
	.fpu softvfp
	.type	outstr, %function
outstr:
	@ 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	r0, [fp, #-16]
	bl	strlen
	str	r0, [fp, #-8]
	ldr	r2, [fp, #-20]
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-16]
	bl	__outstr
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	outstr, .-outstr
	.section	.rodata
	.align	2
.LC301:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	outcslow
	.syntax unified
	.arm
	.fpu softvfp
	.type	outcslow, %function
outcslow:
	@ 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, .L3094
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-16]
	and	r3, r3, #255
	strb	r3, [fp, #-9]
	sub	r3, fp, #9
	ldr	r2, [fp, #-20]
	mov	r1, #1
	mov	r0, r3
	bl	__outstr
	nop
	ldr	r3, .L3094
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L3093
	bl	__stack_chk_fail
.L3093:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3095:
	.align	2
.L3094:
	.word	.LC301
	.size	outcslow, .-outcslow
	.align	2
	.global	flushall
	.syntax unified
	.arm
	.fpu softvfp
	.type	flushall, %function
flushall:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r0, .L3097
	bl	flushout
	nop
	pop	{fp, pc}
.L3098:
	.align	2
.L3097:
	.word	output
	.size	flushall, .-flushall
	.align	2
	.global	flushout
	.syntax unified
	.arm
	.fpu softvfp
	.type	flushout, %function
flushout:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	sub	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L3103
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #16]
	cmp	r3, #0
	blt	.L3103
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r0, [r3, #16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-8]
	mov	r1, r3
	bl	xwrite
	mov	r3, r0
	cmp	r3, #0
	beq	.L3099
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #20]
	orr	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #20]
	b	.L3099
.L3103:
	nop
.L3099:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	flushout, .-flushout
	.section	.rodata
	.align	2
.LC302:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	outfmt
	.syntax unified
	.arm
	.fpu softvfp
	.type	outfmt, %function
outfmt:
	@ args = 4, pretend = 12, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 1
	push	{r1, r2, r3}
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #20
	str	r0, [fp, #-20]
	ldr	r3, [fp, #4]
	str	r3, [fp, #-24]
	ldr	r3, .L3106
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	mov	r3,#0
	add	r3, fp, #8
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-16]
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-20]
	bl	doformat
	nop
	ldr	r3, .L3106
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L3105
	bl	__stack_chk_fail
.L3105:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, lr}
	add	sp, sp, #12
	bx	lr
.L3107:
	.align	2
.L3106:
	.word	.LC302
	.size	outfmt, .-outfmt
	.section	.rodata
	.align	2
.LC303:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	out1fmt
	.syntax unified
	.arm
	.fpu softvfp
	.type	out1fmt, %function
out1fmt:
	@ args = 4, pretend = 16, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 1
	push	{r0, r1, r2, r3}
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	ldr	r3, [fp, #4]
	str	r3, [fp, #-16]
	ldr	r3, .L3110
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	add	r3, fp, #8
	str	r3, [fp, #-12]
	ldr	r3, .L3110+4
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	ldr	r1, [fp, #-16]
	mov	r0, r3
	bl	doformat
	nop
	ldr	r3, .L3110
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L3109
	bl	__stack_chk_fail
.L3109:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, lr}
	add	sp, sp, #16
	bx	lr
.L3111:
	.align	2
.L3110:
	.word	.LC303
	.word	out1
	.size	out1fmt, .-out1fmt
	.section	.rodata
	.align	2
.LC304:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	fmtstr
	.syntax unified
	.arm
	.fpu softvfp
	.type	fmtstr, %function
fmtstr:
	@ args = 4, pretend = 8, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 1
	push	{r2, r3}
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	ldr	r3, [fp, #4]
	str	r3, [fp, #-32]
	ldr	r3, .L3115
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	add	r3, fp, #8
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-32]
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	xvsnprintf
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r2, .L3115
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L3114
	bl	__stack_chk_fail
.L3114:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, lr}
	add	sp, sp, #8
	bx	lr
.L3116:
	.align	2
.L3115:
	.word	.LC304
	.size	fmtstr, .-fmtstr
	.section	.rodata
	.align	2
.LC305:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	doformat
	.syntax unified
	.arm
	.fpu softvfp
	.type	doformat, %function
doformat:
	@ args = 0, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	str	r0, [fp, #-48]
	str	r1, [fp, #-52]
	str	r2, [fp, #-56]
	ldr	r3, .L3125
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-56]
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-48]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3]
	sub	r3, r2, r3
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-48]
	ldr	r0, [r3]
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-52]
	ldr	r1, [fp, #-36]
	bl	xvsnprintf
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bge	.L3118
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #20]
	orr	r2, r3, #1
	ldr	r3, [fp, #-48]
	str	r2, [r3, #20]
	b	.L3117
.L3118:
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-36]
	cmp	r2, r3
	bls	.L3120
	ldr	r3, [fp, #-48]
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	add	r2, r2, r3
	ldr	r3, [fp, #-48]
	str	r2, [r3]
	b	.L3117
.L3120:
	sub	r3, fp, #20
	mov	r0, r3
	bl	setstackmark
	ldr	r2, [fp, #-32]
	ldr	r3, .L3125+4
	ldr	r3, [r3]
	cmp	r2, r3
	movcs	r3, r2
	movcc	r3, r3
	add	r3, r3, #1
	mov	r0, r3
	bl	stalloc
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	mov	r1, r3
	ldr	r3, [fp, #-56]
	ldr	r2, [fp, #-52]
	ldr	r0, [fp, #-28]
	bl	xvsnprintf
	str	r0, [fp, #-24]
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-32]
	cmp	r2, r3
	bne	.L3121
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-48]
	mov	r1, r3
	ldr	r0, [fp, #-28]
	bl	__outstr
	b	.L3122
.L3121:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #20]
	orr	r2, r3, #1
	ldr	r3, [fp, #-48]
	str	r2, [r3, #20]
.L3122:
	sub	r3, fp, #20
	mov	r0, r3
	bl	popstackmark
.L3117:
	ldr	r3, .L3125
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L3124
	bl	__stack_chk_fail
.L3124:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3126:
	.align	2
.L3125:
	.word	.LC305
	.word	stacknleft
	.size	doformat, .-doformat
	.align	2
	.global	xwrite
	.syntax unified
	.arm
	.fpu softvfp
	.type	xwrite, %function
xwrite:
	@ 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, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	str	r3, [fp, #-16]
	b	.L3128
.L3134:
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bge	.L3131
	mvn	r3, #-2147483648
	str	r3, [fp, #-12]
.L3131:
	ldr	r2, [fp, #-12]
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-24]
	bl	write
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bge	.L3130
	ldr	r3, .L3135
	ldr	r3, [r3]
	ldr	r3, [r3]
	cmp	r3, #4
	beq	.L3131
.L3130:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bge	.L3132
	mvn	r3, #0
	b	.L3133
.L3132:
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-32]
	sub	r3, r2, r3
	str	r3, [fp, #-32]
.L3128:
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L3134
	mov	r3, #0
.L3133:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3136:
	.align	2
.L3135:
	.word	dash_errno
	.size	xwrite, .-xwrite
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	xvsnprintf, %function
xvsnprintf:
	@ 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, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	ldr	r3, .L3140
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L3140
	str	r3, [r2]
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-24]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	vsnprintf
	str	r0, [fp, #-8]
	ldr	r3, .L3140
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L3140
	str	r3, [r2]
	ldr	r3, .L3140
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L3138
	ldr	r3, .L3140+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L3138
	bl	onint
.L3138:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3141:
	.align	2
.L3140:
	.word	suppressint
	.word	intpending
	.size	xvsnprintf, .-xvsnprintf
	.local	rval
	.comm	rval,4,4
	.local	gargv
	.comm	gargv,4,4
	.section	.rodata
	.align	2
.LC306:
	.ascii	"usage: printf format [arg ...]\000"
	.align	2
.LC307:
	.ascii	"#-+ 0\000"
	.align	2
.LC308:
	.ascii	"*0123456789\000"
	.align	2
.LC309:
	.ascii	"missing format character\000"
	.align	2
.LC310:
	.ascii	"%s: invalid directive\000"
	.align	2
.LC311:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	printfcmd
	.syntax unified
	.arm
	.fpu softvfp
	.type	printfcmd, %function
printfcmd:
	@ args = 0, pretend = 0, frame = 104
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #112
	str	r0, [fp, #-104]
	str	r1, [fp, #-108]
	ldr	r3, .L3196
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L3196+4
	mov	r2, #0
	str	r2, [r3]
	ldr	r0, .L3196+8
	bl	nextopt
	ldr	r3, .L3196+12
	ldr	r3, [r3]
	str	r3, [fp, #-108]
	ldr	r3, [fp, #-108]
	ldr	r3, [r3]
	str	r3, [fp, #-76]
	ldr	r3, [fp, #-76]
	cmp	r3, #0
	bne	.L3143
	ldr	r0, .L3196+16
	bl	sh_warnx
	b	.L3144
.L3143:
	ldr	r3, [fp, #-108]
	add	r3, r3, #4
	str	r3, [fp, #-108]
	ldr	r2, .L3196+20
	ldr	r3, [fp, #-108]
	str	r3, [r2]
.L3184:
	ldr	r3, [fp, #-76]
	str	r3, [fp, #-88]
	b	.L3145
.L3183:
	ldr	r3, [fp, #-84]
	cmp	r3, #92
	bne	.L3146
	sub	r3, fp, #92
	mov	r1, r3
	ldr	r0, [fp, #-88]
	bl	conv_escape
	str	r0, [fp, #-88]
	ldr	r3, [fp, #-92]
	str	r3, [fp, #-84]
	b	.L3147
.L3146:
	ldr	r3, [fp, #-84]
	cmp	r3, #37
	bne	.L3187
	ldr	r3, [fp, #-88]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #37
	bne	.L3148
	ldr	r3, [fp, #-88]
	add	r3, r3, #1
	str	r3, [fp, #-88]
.L3187:
	nop
.L3147:
	ldr	r3, .L3196+24
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-84]
	bl	outc
	b	.L3145
.L3148:
	ldr	r3, [fp, #-88]
	sub	r3, r3, #1
	str	r3, [fp, #-72]
	sub	r3, fp, #16
	str	r3, [fp, #-80]
	ldr	r1, .L3196+28
	ldr	r0, [fp, #-88]
	bl	strspn
	mov	r2, r0
	ldr	r3, [fp, #-88]
	add	r3, r3, r2
	str	r3, [fp, #-88]
	ldr	r3, [fp, #-88]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #42
	bne	.L3149
	bl	getintmax
	ldr	r3, [fp, #-80]
	add	r2, r3, #4
	str	r2, [fp, #-80]
	mov	r2, r0
	str	r2, [r3]
.L3149:
	ldr	r1, .L3196+32
	ldr	r0, [fp, #-88]
	bl	strspn
	mov	r2, r0
	ldr	r3, [fp, #-88]
	add	r3, r3, r2
	str	r3, [fp, #-88]
	ldr	r3, [fp, #-88]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #46
	bne	.L3150
	ldr	r3, [fp, #-88]
	add	r3, r3, #1
	str	r3, [fp, #-88]
.L3150:
	ldr	r3, [fp, #-88]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #42
	bne	.L3151
	bl	getintmax
	ldr	r3, [fp, #-80]
	add	r2, r3, #4
	str	r2, [fp, #-80]
	mov	r2, r0
	str	r2, [r3]
.L3151:
	ldr	r1, .L3196+32
	ldr	r0, [fp, #-88]
	bl	strspn
	mov	r2, r0
	ldr	r3, [fp, #-88]
	add	r3, r3, r2
	str	r3, [fp, #-88]
	ldr	r3, [fp, #-88]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-84]
	ldr	r3, [fp, #-84]
	cmp	r3, #0
	bne	.L3152
	ldr	r0, .L3196+36
	bl	sh_warnx
	b	.L3144
.L3152:
	ldr	r3, [fp, #-88]
	ldrb	r3, [r3, #1]
	strb	r3, [fp, #-93]
	ldr	r3, [fp, #-88]
	add	r3, r3, #1
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, [fp, #-84]
	sub	r3, r3, #69
	cmp	r3, #51
	ldrls	pc, [pc, r3, asl #2]
	b	.L3154
.L3156:
	.word	.L3159
	.word	.L3154
	.word	.L3159
	.word	.L3154
	.word	.L3154
	.word	.L3154
	.word	.L3154
	.word	.L3154
	.word	.L3154
	.word	.L3154
	.word	.L3154
	.word	.L3154
	.word	.L3154
	.word	.L3154
	.word	.L3154
	.word	.L3154
	.word	.L3154
	.word	.L3154
	.word	.L3154
	.word	.L3155
	.word	.L3154
	.word	.L3154
	.word	.L3154
	.word	.L3154
	.word	.L3154
	.word	.L3154
	.word	.L3154
	.word	.L3154
	.word	.L3154
	.word	.L3161
	.word	.L3160
	.word	.L3158
	.word	.L3159
	.word	.L3159
	.word	.L3159
	.word	.L3154
	.word	.L3158
	.word	.L3154
	.word	.L3154
	.word	.L3154
	.word	.L3154
	.word	.L3154
	.word	.L3155
	.word	.L3154
	.word	.L3154
	.word	.L3154
	.word	.L3157
	.word	.L3154
	.word	.L3155
	.word	.L3154
	.word	.L3154
	.word	.L3155
.L3161:
	bl	getstr
	mov	r3, r0
	mov	r0, r3
	bl	conv_escape_str
	str	r0, [fp, #-56]
	ldr	r3, .L3196+40
	ldr	r3, [r3]
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-88]
	mov	r2, #115
	strb	r2, [r3]
	sub	r3, fp, #16
	ldr	r2, [fp, #-80]
	sub	r3, r2, r3
	cmp	r3, #0
	beq	.L3162
	cmp	r3, #4
	beq	.L3163
	ldr	r1, [fp, #-16]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-52]
	ldr	r0, [fp, #-72]
	bl	out1fmt
	b	.L3188
.L3163:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-52]
	mov	r1, r3
	ldr	r0, [fp, #-72]
	bl	out1fmt
	b	.L3188
.L3162:
	ldr	r1, [fp, #-52]
	ldr	r0, [fp, #-72]
	bl	out1fmt
.L3188:
	nop
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	bne	.L3189
	ldr	r3, [fp, #-88]
	mov	r2, #98
	strb	r2, [r3]
	b	.L3167
.L3160:
	bl	getchr
	str	r0, [fp, #-60]
	sub	r3, fp, #16
	ldr	r2, [fp, #-80]
	sub	r3, r2, r3
	cmp	r3, #0
	beq	.L3168
	cmp	r3, #4
	beq	.L3169
	ldr	r1, [fp, #-16]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-60]
	ldr	r0, [fp, #-72]
	bl	out1fmt
	b	.L3190
.L3169:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-60]
	mov	r1, r3
	ldr	r0, [fp, #-72]
	bl	out1fmt
	b	.L3190
.L3168:
	ldr	r1, [fp, #-60]
	ldr	r0, [fp, #-72]
	bl	out1fmt
.L3190:
	nop
	b	.L3167
.L3157:
	bl	getstr
	str	r0, [fp, #-68]
	sub	r3, fp, #16
	ldr	r2, [fp, #-80]
	sub	r3, r2, r3
	cmp	r3, #0
	beq	.L3171
	cmp	r3, #4
	beq	.L3172
	ldr	r1, [fp, #-16]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-68]
	ldr	r0, [fp, #-72]
	bl	out1fmt
	b	.L3191
.L3172:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-68]
	mov	r1, r3
	ldr	r0, [fp, #-72]
	bl	out1fmt
	b	.L3191
.L3171:
	ldr	r1, [fp, #-68]
	ldr	r0, [fp, #-72]
	bl	out1fmt
.L3191:
	nop
	b	.L3167
.L3158:
	bl	getintmax
	str	r0, [fp, #-44]
	str	r1, [fp, #-40]
	ldr	r1, [fp, #-88]
	ldr	r0, [fp, #-72]
	bl	mklong
	str	r0, [fp, #-64]
	sub	r3, fp, #16
	ldr	r2, [fp, #-80]
	sub	r3, r2, r3
	cmp	r3, #0
	beq	.L3174
	cmp	r3, #4
	beq	.L3175
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-12]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	ldr	r0, [fp, #-64]
	bl	out1fmt
	b	.L3192
.L3175:
	ldr	r1, [fp, #-16]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-64]
	bl	out1fmt
	b	.L3192
.L3174:
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-64]
	bl	out1fmt
.L3192:
	nop
	b	.L3167
.L3155:
	bl	getuintmax
	str	r0, [fp, #-36]
	str	r1, [fp, #-32]
	ldr	r1, [fp, #-88]
	ldr	r0, [fp, #-72]
	bl	mklong
	str	r0, [fp, #-48]
	sub	r3, fp, #16
	ldr	r2, [fp, #-80]
	sub	r3, r2, r3
	cmp	r3, #0
	beq	.L3177
	cmp	r3, #4
	beq	.L3178
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-12]
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	ldr	r0, [fp, #-48]
	bl	out1fmt
	b	.L3193
.L3178:
	ldr	r1, [fp, #-16]
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-48]
	bl	out1fmt
	b	.L3193
.L3177:
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-48]
	bl	out1fmt
.L3193:
	nop
	b	.L3167
.L3159:
	bl	getdouble
	str	r0, [fp, #-28]
	str	r1, [fp, #-24]
	sub	r3, fp, #16
	ldr	r2, [fp, #-80]
	sub	r3, r2, r3
	cmp	r3, #0
	beq	.L3180
	cmp	r3, #4
	beq	.L3181
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-12]
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	ldr	r0, [fp, #-72]
	bl	out1fmt
	b	.L3194
.L3181:
	ldr	r1, [fp, #-16]
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-72]
	bl	out1fmt
	b	.L3194
.L3180:
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-72]
	bl	out1fmt
.L3194:
	nop
	b	.L3167
.L3154:
	ldr	r1, [fp, #-72]
	ldr	r0, .L3196+44
	bl	sh_warnx
	b	.L3144
.L3167:
	ldr	r3, [fp, #-88]
	add	r3, r3, #1
	str	r3, [fp, #-88]
	ldr	r3, [fp, #-88]
	ldrb	r2, [fp, #-93]
	strb	r2, [r3]
.L3145:
	ldr	r3, [fp, #-88]
	add	r2, r3, #1
	str	r2, [fp, #-88]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-84]
	ldr	r3, [fp, #-84]
	cmp	r3, #0
	bne	.L3183
	ldr	r3, .L3196+20
	ldr	r3, [r3]
	ldr	r2, [fp, #-108]
	cmp	r2, r3
	beq	.L3195
	ldr	r3, .L3196+20
	ldr	r3, [r3]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L3184
	b	.L3195
.L3189:
	nop
	b	.L3166
.L3195:
	nop
.L3166:
	ldr	r3, .L3196+4
	ldr	r3, [r3]
	b	.L3185
.L3144:
	mov	r3, #1
.L3185:
	ldr	r2, .L3196
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L3186
	bl	__stack_chk_fail
.L3186:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3197:
	.align	2
.L3196:
	.word	.LC311
	.word	rval
	.word	nullstr
	.word	argptr
	.word	.LC306
	.word	gargv
	.word	out1
	.word	.LC307
	.word	.LC308
	.word	.LC309
	.word	stacknxt
	.word	.LC310
	.size	printfcmd, .-printfcmd
	.section	.rodata
	.align	2
.LC312:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	conv_escape_str, %function
conv_escape_str:
	@ 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]
	ldr	r3, .L3213
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L3213+4
	ldr	r3, [r3]
	str	r3, [fp, #-16]
.L3207:
	ldr	r3, [fp, #-32]
	add	r2, r3, #1
	str	r2, [fp, #-32]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #92
	bne	.L3211
	ldr	r3, [fp, #-32]
	add	r2, r3, #1
	str	r2, [fp, #-32]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #99
	bne	.L3201
	mov	r3, #256
	str	r3, [fp, #-20]
	b	.L3206
.L3201:
	ldr	r3, [fp, #-20]
	cmp	r3, #48
	bne	.L3202
	mov	r3, #3
	strb	r3, [fp, #-25]
	mov	r3, #0
	str	r3, [fp, #-20]
.L3205:
	ldr	r3, [fp, #-32]
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r3, r3, #48
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #7
	bhi	.L3212
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #3
	str	r3, [fp, #-20]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	str	r3, [fp, #-20]
	ldrb	r3, [fp, #-25]
	sub	r3, r3, #1
	strb	r3, [fp, #-25]
	ldrb	r3, [fp, #-25]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L3205
	b	.L3206
.L3212:
	nop
	b	.L3206
.L3202:
	ldr	r3, [fp, #-32]
	sub	r3, r3, #1
	sub	r2, fp, #24
	mov	r1, r2
	mov	r0, r3
	bl	conv_escape
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-20]
	b	.L3206
.L3211:
	nop
.L3206:
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-20]
	bl	_STPUTC
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-20]
	and	r3, r3, #255
	cmp	r3, #0
	bne	.L3207
	ldr	r3, [fp, #-20]
	ldr	r2, .L3213
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L3209
	bl	__stack_chk_fail
.L3209:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3214:
	.align	2
.L3213:
	.word	.LC312
	.word	stacknxt
	.size	conv_escape_str, .-conv_escape_str
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	conv_escape, %function
conv_escape:
	@ 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	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	sub	r3, r3, #48
	cmp	r3, #70
	ldrls	pc, [pc, r3, asl #2]
	b	.L3216
.L3218:
	.word	.L3226
	.word	.L3226
	.word	.L3226
	.word	.L3226
	.word	.L3226
	.word	.L3226
	.word	.L3226
	.word	.L3226
	.word	.L3216
	.word	.L3216
	.word	.L3216
	.word	.L3216
	.word	.L3216
	.word	.L3216
	.word	.L3216
	.word	.L3216
	.word	.L3216
	.word	.L3216
	.word	.L3216
	.word	.L3216
	.word	.L3216
	.word	.L3216
	.word	.L3216
	.word	.L3216
	.word	.L3216
	.word	.L3216
	.word	.L3216
	.word	.L3216
	.word	.L3216
	.word	.L3216
	.word	.L3216
	.word	.L3216
	.word	.L3216
	.word	.L3216
	.word	.L3216
	.word	.L3216
	.word	.L3216
	.word	.L3216
	.word	.L3216
	.word	.L3216
	.word	.L3216
	.word	.L3216
	.word	.L3216
	.word	.L3216
	.word	.L3225
	.word	.L3216
	.word	.L3216
	.word	.L3216
	.word	.L3216
	.word	.L3224
	.word	.L3223
	.word	.L3216
	.word	.L3216
	.word	.L3216
	.word	.L3222
	.word	.L3216
	.word	.L3216
	.word	.L3216
	.word	.L3216
	.word	.L3216
	.word	.L3216
	.word	.L3216
	.word	.L3221
	.word	.L3216
	.word	.L3216
	.word	.L3216
	.word	.L3220
	.word	.L3216
	.word	.L3219
	.word	.L3216
	.word	.L3217
.L3216:
	mov	r3, #92
	str	r3, [fp, #-12]
	b	.L3227
.L3226:
	mov	r3, #3
	str	r3, [fp, #-8]
	mov	r3, #0
	str	r3, [fp, #-12]
.L3229:
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #3
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-16]
	add	r2, r3, #1
	str	r2, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r3, r3, #48
	ldr	r2, [fp, #-12]
	add	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #47
	bls	.L3232
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #55
	bhi	.L3232
	ldr	r3, [fp, #-8]
	sub	r3, r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L3229
	b	.L3232
.L3225:
	mov	r3, #92
	str	r3, [fp, #-12]
	b	.L3230
.L3224:
	mov	r3, #7
	str	r3, [fp, #-12]
	b	.L3230
.L3223:
	mov	r3, #8
	str	r3, [fp, #-12]
	b	.L3230
.L3222:
	mov	r3, #12
	str	r3, [fp, #-12]
	b	.L3230
.L3221:
	mov	r3, #10
	str	r3, [fp, #-12]
	b	.L3230
.L3220:
	mov	r3, #13
	str	r3, [fp, #-12]
	b	.L3230
.L3219:
	mov	r3, #9
	str	r3, [fp, #-12]
	b	.L3230
.L3217:
	mov	r3, #11
	str	r3, [fp, #-12]
	nop
.L3230:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
	b	.L3227
.L3232:
	nop
.L3227:
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	conv_escape, .-conv_escape
	.section	.rodata
	.align	2
.LC313:
	.ascii	"lld\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	mklong, %function
mklong:
	@ 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	r3, #3
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-24]
	sub	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-16]
	add	r3, r3, r2
	str	r3, [fp, #-12]
	ldr	r3, .L3235
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	ldr	r1, [fp, #-8]
	mov	r0, r3
	bl	makestrspace
	str	r0, [fp, #-8]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-16]
	sub	r3, r2, r3
	mov	r2, r3
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-8]
	bl	memcpy
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-16]
	sub	r3, r2, r3
	ldr	r2, [fp, #-8]
	add	r0, r2, r3
	ldr	r3, [fp, #-16]
	sub	r3, r3, #1
	mov	r2, r3
	ldr	r1, .L3235+4
	bl	memcpy
	ldr	r3, [fp, #-12]
	sub	r3, r3, #1
	ldr	r2, [fp, #-8]
	add	r3, r2, r3
	ldr	r2, [fp, #-28]
	ldrb	r2, [r2]	@ zero_extendqisi2
	strb	r2, [r3]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3236:
	.align	2
.L3235:
	.word	stacknxt
	.word	.LC313
	.size	mklong, .-mklong
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	getchr, %function
getchr:
	@ 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
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, .L3240
	ldr	r3, [r3]
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L3238
	ldr	r3, .L3240
	ldr	r3, [r3]
	add	r2, r3, #4
	ldr	r1, .L3240
	str	r2, [r1]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-8]
.L3238:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L3241:
	.align	2
.L3240:
	.word	gargv
	.size	getchr, .-getchr
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	getstr, %function
getstr:
	@ 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, .L3245
	str	r3, [fp, #-8]
	ldr	r3, .L3245+4
	ldr	r3, [r3]
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L3243
	ldr	r3, .L3245+4
	ldr	r3, [r3]
	add	r2, r3, #4
	ldr	r1, .L3245+4
	str	r2, [r1]
	ldr	r3, [r3]
	str	r3, [fp, #-8]
.L3243:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L3246:
	.align	2
.L3245:
	.word	nullstr
	.word	gargv
	.size	getstr, .-getstr
	.section	.rodata
	.align	2
.LC314:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	getintmax, %function
getintmax:
	@ 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, .L3256
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	ldr	r3, .L3256+4
	ldr	r3, [r3]
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L3254
	ldr	r3, .L3256+4
	ldr	r3, [r3]
	add	r3, r3, #4
	ldr	r2, .L3256+4
	str	r3, [r2]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r2, r3, #255
	mov	r3, #0
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #34
	beq	.L3255
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #39
	beq	.L3255
	ldr	r3, .L3256+8
	ldr	r3, [r3]
	mov	r2, #0
	str	r2, [r3]
	sub	r3, fp, #28
	mov	r2, #0
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	strtoimax
	str	r0, [fp, #-20]
	str	r1, [fp, #-16]
	ldr	r3, [fp, #-28]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	check_conversion
	b	.L3249
.L3254:
	nop
	b	.L3249
.L3255:
	nop
.L3249:
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	ldr	r1, .L3256
	ldr	r0, [r1]
	ldr	r1, [fp, #-8]
	eors	r0, r1, r0
	mov	r1, #0
	beq	.L3253
	bl	__stack_chk_fail
.L3253:
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3257:
	.align	2
.L3256:
	.word	.LC314
	.word	gargv
	.word	dash_errno
	.size	getintmax, .-getintmax
	.section	.rodata
	.align	2
.LC315:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	getuintmax, %function
getuintmax:
	@ 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, .L3267
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	ldr	r3, .L3267+4
	ldr	r3, [r3]
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L3265
	ldr	r3, .L3267+4
	ldr	r3, [r3]
	add	r3, r3, #4
	ldr	r2, .L3267+4
	str	r3, [r2]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r2, r3, #255
	mov	r3, #0
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #34
	beq	.L3266
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #39
	beq	.L3266
	ldr	r3, .L3267+8
	ldr	r3, [r3]
	mov	r2, #0
	str	r2, [r3]
	sub	r3, fp, #28
	mov	r2, #0
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	strtoumax
	str	r0, [fp, #-20]
	str	r1, [fp, #-16]
	ldr	r3, [fp, #-28]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	check_conversion
	b	.L3260
.L3265:
	nop
	b	.L3260
.L3266:
	nop
.L3260:
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	ldr	r1, .L3267
	ldr	r0, [r1]
	ldr	r1, [fp, #-8]
	eors	r0, r1, r0
	mov	r1, #0
	beq	.L3264
	bl	__stack_chk_fail
.L3264:
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3268:
	.align	2
.L3267:
	.word	.LC315
	.word	gargv
	.word	dash_errno
	.size	getuintmax, .-getuintmax
	.global	__aeabi_ui2d
	.section	.rodata
	.align	2
.LC316:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	getdouble, %function
getdouble:
	@ 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, .L3276
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L3276+4
	ldr	r3, [r3]
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L3270
	mov	r2, #0
	mov	r3, #0
	b	.L3274
.L3270:
	ldr	r3, .L3276+4
	ldr	r3, [r3]
	add	r3, r3, #4
	ldr	r2, .L3276+4
	str	r3, [r2]
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #34
	beq	.L3272
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #39
	bne	.L3273
.L3272:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r0, r3
	bl	__aeabi_ui2d
	mov	r2, r0
	mov	r3, r1
	b	.L3274
.L3273:
	ldr	r3, .L3276+8
	ldr	r3, [r3]
	mov	r2, #0
	str	r2, [r3]
	sub	r3, fp, #28
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	strtod
	str	r0, [fp, #-20]
	str	r1, [fp, #-16]
	ldr	r3, [fp, #-28]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	check_conversion
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
.L3274:
	ldr	r1, .L3276
	ldr	r0, [r1]
	ldr	r1, [fp, #-8]
	eors	r0, r1, r0
	mov	r1, #0
	beq	.L3275
	bl	__stack_chk_fail
.L3275:
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3277:
	.align	2
.L3276:
	.word	.LC316
	.word	gargv
	.word	dash_errno
	.size	getdouble, .-getdouble
	.section	.rodata
	.align	2
.LC317:
	.ascii	"%s: expected numeric value\000"
	.align	2
.LC318:
	.ascii	"%s: not completely converted\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	check_conversion, %function
check_conversion:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L3279
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-8]
	cmp	r2, r3
	bne	.L3280
	ldr	r1, [fp, #-8]
	ldr	r0, .L3284
	bl	sh_warnx
	b	.L3281
.L3280:
	ldr	r1, [fp, #-8]
	ldr	r0, .L3284+4
	bl	sh_warnx
.L3281:
	ldr	r3, .L3284+8
	mov	r2, #1
	str	r2, [r3]
	b	.L3283
.L3279:
	ldr	r3, .L3284+12
	ldr	r3, [r3]
	ldr	r3, [r3]
	cmp	r3, #34
	bne	.L3283
	mov	r0, #34
	bl	strerror
	mov	r3, r0
	mov	r2, r3
	ldr	r1, [fp, #-8]
	ldr	r0, .L3284+16
	bl	sh_warnx
	ldr	r3, .L3284+8
	mov	r2, #1
	str	r2, [r3]
.L3283:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3285:
	.align	2
.L3284:
	.word	.LC317
	.word	.LC318
	.word	rval
	.word	dash_errno
	.word	.LC90
	.size	check_conversion, .-check_conversion
	.section	.rodata
	.align	2
.LC319:
	.ascii	"-n\000"
	.text
	.align	2
	.global	echocmd
	.syntax unified
	.arm
	.fpu softvfp
	.type	echocmd, %function
echocmd:
	@ 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	r3, #0
	str	r3, [fp, #-16]
	ldr	r3, .L3299
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-28]
	add	r3, r3, #4
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L3295
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	ldr	r1, .L3299+4
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L3289
	ldr	r3, [fp, #-16]
	mvn	r3, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-28]
	add	r3, r3, #4
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L3296
.L3289:
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	mov	r0, r3
	bl	conv_escape_str
	mov	r2, r0
	ldr	r3, [fp, #-16]
	add	r3, r3, r2
	str	r3, [fp, #-16]
	ldr	r3, .L3299+8
	ldr	r3, [r3]
	ldr	r1, [fp, #-8]
	mov	r0, r3
	bl	outstr
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bgt	.L3297
	mov	r3, #32
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-28]
	add	r3, r3, #4
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L3292
	b	.L3288
.L3295:
	nop
	b	.L3288
.L3296:
	nop
.L3288:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L3298
	mov	r3, #10
	str	r3, [fp, #-12]
.L3292:
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-12]
	bl	outc
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L3289
	b	.L3291
.L3297:
	nop
	b	.L3291
.L3298:
	nop
.L3291:
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3300:
	.align	2
.L3299:
	.word	out1
	.word	.LC319
	.word	stacknxt
	.size	echocmd, .-echocmd
	.align	2
	.global	strchrnul
	.syntax unified
	.arm
	.fpu softvfp
	.type	strchrnul, %function
strchrnul:
	@ 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	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	strchr
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L3302
	ldr	r0, [fp, #-16]
	bl	strlen
	mov	r2, r0
	ldr	r3, [fp, #-16]
	add	r3, r3, r2
	str	r3, [fp, #-8]
.L3302:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	strchrnul, .-strchrnul
	.section	.rodata
	.align	2
.LC320:
	.ascii	"-r\000"
	.align	2
.LC321:
	.ascii	"-w\000"
	.align	2
.LC322:
	.ascii	"-x\000"
	.align	2
.LC323:
	.ascii	"-e\000"
	.align	2
.LC324:
	.ascii	"-f\000"
	.align	2
.LC325:
	.ascii	"-d\000"
	.align	2
.LC326:
	.ascii	"-c\000"
	.align	2
.LC327:
	.ascii	"-b\000"
	.align	2
.LC328:
	.ascii	"-p\000"
	.align	2
.LC329:
	.ascii	"-u\000"
	.align	2
.LC330:
	.ascii	"-g\000"
	.align	2
.LC331:
	.ascii	"-k\000"
	.align	2
.LC332:
	.ascii	"-s\000"
	.align	2
.LC333:
	.ascii	"-t\000"
	.align	2
.LC334:
	.ascii	"-z\000"
	.align	2
.LC335:
	.ascii	"-h\000"
	.align	2
.LC336:
	.ascii	"-O\000"
	.align	2
.LC337:
	.ascii	"-G\000"
	.align	2
.LC338:
	.ascii	"-L\000"
	.align	2
.LC339:
	.ascii	"-S\000"
	.align	2
.LC340:
	.ascii	"=\000"
	.align	2
.LC341:
	.ascii	"!=\000"
	.align	2
.LC342:
	.ascii	"-eq\000"
	.align	2
.LC343:
	.ascii	"-ne\000"
	.align	2
.LC344:
	.ascii	"-ge\000"
	.align	2
.LC345:
	.ascii	"-gt\000"
	.align	2
.LC346:
	.ascii	"-le\000"
	.align	2
.LC347:
	.ascii	"-lt\000"
	.align	2
.LC348:
	.ascii	"-nt\000"
	.align	2
.LC349:
	.ascii	"-ot\000"
	.align	2
.LC350:
	.ascii	"-ef\000"
	.align	2
.LC351:
	.ascii	"-a\000"
	.align	2
	.type	ops, %object
	.size	ops, 320
ops:
	.word	.LC320
	.short	1
	.short	0
	.word	.LC321
	.short	2
	.short	0
	.word	.LC322
	.short	3
	.short	0
	.word	.LC323
	.short	4
	.short	0
	.word	.LC324
	.short	5
	.short	0
	.word	.LC325
	.short	6
	.short	0
	.word	.LC326
	.short	7
	.short	0
	.word	.LC327
	.short	8
	.short	0
	.word	.LC328
	.short	9
	.short	0
	.word	.LC329
	.short	14
	.short	0
	.word	.LC330
	.short	15
	.short	0
	.word	.LC331
	.short	16
	.short	0
	.word	.LC332
	.short	12
	.short	0
	.word	.LC333
	.short	13
	.short	0
	.word	.LC334
	.short	22
	.short	0
	.word	.LC319
	.short	23
	.short	0
	.word	.LC335
	.short	11
	.short	0
	.word	.LC336
	.short	20
	.short	0
	.word	.LC337
	.short	21
	.short	0
	.word	.LC338
	.short	11
	.short	0
	.word	.LC339
	.short	10
	.short	0
	.word	.LC340
	.short	24
	.short	1
	.word	.LC341
	.short	25
	.short	1
	.word	.LC181
	.short	26
	.short	1
	.word	.LC177
	.short	27
	.short	1
	.word	.LC342
	.short	28
	.short	1
	.word	.LC343
	.short	29
	.short	1
	.word	.LC344
	.short	30
	.short	1
	.word	.LC345
	.short	31
	.short	1
	.word	.LC346
	.short	32
	.short	1
	.word	.LC347
	.short	33
	.short	1
	.word	.LC348
	.short	17
	.short	1
	.word	.LC349
	.short	18
	.short	1
	.word	.LC350
	.short	19
	.short	1
	.word	.LC29
	.short	34
	.short	2
	.word	.LC351
	.short	35
	.short	3
	.word	.LC262
	.short	36
	.short	3
	.word	.LC164
	.short	37
	.short	4
	.word	.LC165
	.short	38
	.short	4
	.word	0
	.short	0
	.short	0
	.local	t_wp
	.comm	t_wp,4,4
	.local	t_wp_op
	.comm	t_wp_op,4,4
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	getn, %function
getn:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r0, [fp, #-8]
	bl	atomax10
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	getn, .-getn
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	getop, %function
getop:
	@ 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, .L3311
	str	r3, [fp, #-8]
	b	.L3307
.L3310:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L3308
	ldr	r3, [fp, #-8]
	b	.L3309
.L3308:
	ldr	r3, [fp, #-8]
	add	r3, r3, #8
	str	r3, [fp, #-8]
.L3307:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L3310
	mov	r3, #0
.L3309:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3312:
	.align	2
.L3311:
	.word	ops
	.size	getop, .-getop
	.section	.rodata
	.align	2
.LC352:
	.ascii	"missing ]\000"
	.align	2
.LC353:
	.ascii	"unexpected operator\000"
	.text
	.align	2
	.global	testcmd
	.syntax unified
	.arm
	.fpu softvfp
	.type	testcmd, %function
testcmd:
	@ 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]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #91
	bne	.L3314
	ldr	r3, [fp, #-24]
	sub	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-28]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #93
	beq	.L3315
	ldr	r0, .L3323
	bl	sh_error
.L3315:
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-28]
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3]
.L3314:
	ldr	r3, [fp, #-28]
	add	r3, r3, #4
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-24]
	sub	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bgt	.L3316
	mov	r3, #1
	b	.L3317
.L3316:
	ldr	r3, [fp, #-24]
	cmp	r3, #3
	beq	.L3318
	ldr	r3, [fp, #-24]
	cmp	r3, #4
	beq	.L3319
	b	.L3320
.L3318:
	ldr	r3, [fp, #-28]
	add	r3, r3, #4
	ldr	r3, [r3]
	mov	r0, r3
	bl	getop
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L3319
	ldr	r3, [fp, #-12]
	ldrsh	r3, [r3, #6]
	cmp	r3, #1
	bne	.L3319
	mov	r3, #39
	str	r3, [fp, #-16]
	b	.L3321
.L3319:
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	ldr	r1, .L3323+4
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L3320
	ldr	r3, [fp, #-24]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	ldr	r2, [fp, #-28]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, .L3323+8
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L3320
	ldr	r3, [fp, #-24]
	sub	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-28]
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-28]
	add	r3, r3, #4
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-24]
	sub	r3, r3, #1
	str	r3, [fp, #-24]
.L3320:
	ldr	r0, [fp, #-28]
	bl	t_lex
	str	r0, [fp, #-16]
.L3321:
	ldr	r2, .L3323+12
	ldr	r3, [fp, #-28]
	str	r3, [r2]
	ldr	r0, [fp, #-16]
	bl	oexpr
	mov	r3, r0
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-8]
	ldr	r3, .L3323+12
	ldr	r3, [r3]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L3322
	ldr	r3, [fp, #-28]
	add	r3, r3, #4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L3322
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	ldr	r1, .L3323+16
	mov	r0, r3
	bl	syntax
.L3322:
	ldr	r3, [fp, #-8]
.L3317:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3324:
	.align	2
.L3323:
	.word	.LC352
	.word	.LC164
	.word	.LC165
	.word	t_wp
	.word	.LC353
	.size	testcmd, .-testcmd
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	syntax, %function
syntax:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L3326
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L3326
	ldr	r2, [fp, #-12]
	ldr	r1, [fp, #-8]
	ldr	r0, .L3327
	bl	sh_error
.L3326:
	ldr	r1, [fp, #-12]
	ldr	r0, .L3327+4
	bl	sh_error
.L3328:
	.align	2
.L3327:
	.word	.LC90
	.word	.LC135
	.size	syntax, .-syntax
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	oexpr, %function
oexpr:
	@ 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]
	mov	r3, #0
	str	r3, [fp, #-8]
.L3332:
	ldr	r0, [fp, #-16]
	bl	aexpr
	mov	r2, r0
	ldr	r3, [fp, #-8]
	orr	r3, r3, r2
	str	r3, [fp, #-8]
	ldr	r3, .L3336
	ldr	r3, [r3]
	add	r3, r3, #4
	mov	r0, r3
	bl	t_lex
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #36
	bne	.L3335
	ldr	r3, .L3336
	ldr	r3, [r3]
	add	r3, r3, #8
	ldr	r2, .L3336
	str	r3, [r2]
	ldr	r3, .L3336
	ldr	r3, [r3]
	mov	r0, r3
	bl	t_lex
	str	r0, [fp, #-16]
	b	.L3332
.L3335:
	nop
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3337:
	.align	2
.L3336:
	.word	t_wp
	.size	oexpr, .-oexpr
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	aexpr, %function
aexpr:
	@ 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]
	mov	r3, #1
	str	r3, [fp, #-8]
.L3342:
	ldr	r0, [fp, #-16]
	bl	nexpr
	mov	r3, r0
	cmp	r3, #0
	bne	.L3339
	mov	r3, #0
	str	r3, [fp, #-8]
.L3339:
	ldr	r3, .L3346
	ldr	r3, [r3]
	add	r3, r3, #4
	mov	r0, r3
	bl	t_lex
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #35
	bne	.L3345
	ldr	r3, .L3346
	ldr	r3, [r3]
	add	r3, r3, #8
	ldr	r2, .L3346
	str	r3, [r2]
	ldr	r3, .L3346
	ldr	r3, [r3]
	mov	r0, r3
	bl	t_lex
	str	r0, [fp, #-16]
	b	.L3342
.L3345:
	nop
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3347:
	.align	2
.L3346:
	.word	t_wp
	.size	aexpr, .-aexpr
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	nexpr, %function
nexpr:
	@ 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, #34
	bne	.L3349
	ldr	r3, .L3351
	ldr	r3, [r3]
	add	r3, r3, #4
	ldr	r2, .L3351
	str	r3, [r2]
	ldr	r3, .L3351
	ldr	r3, [r3]
	mov	r0, r3
	bl	t_lex
	mov	r3, r0
	mov	r0, r3
	bl	nexpr
	mov	r3, r0
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	b	.L3350
.L3349:
	ldr	r0, [fp, #-8]
	bl	test_primary
	mov	r3, r0
.L3350:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3352:
	.align	2
.L3351:
	.word	t_wp
	.size	nexpr, .-nexpr
	.section	.rodata
	.align	2
.LC354:
	.ascii	"closing paren expected\000"
	.align	2
.LC355:
	.ascii	"argument expected\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	test_primary, %function
test_primary:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L3354
	mov	r3, #0
	b	.L3355
.L3354:
	ldr	r3, [fp, #-16]
	cmp	r3, #37
	bne	.L3356
	ldr	r3, .L3372
	ldr	r3, [r3]
	add	r3, r3, #4
	ldr	r2, .L3372
	str	r3, [r2]
	ldr	r3, .L3372
	ldr	r3, [r3]
	mov	r0, r3
	bl	t_lex
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #38
	bne	.L3357
	mov	r3, #0
	b	.L3355
.L3357:
	ldr	r0, [fp, #-12]
	bl	oexpr
	str	r0, [fp, #-8]
	ldr	r3, .L3372
	ldr	r3, [r3]
	add	r3, r3, #4
	ldr	r2, .L3372
	str	r3, [r2]
	ldr	r3, .L3372
	ldr	r3, [r3]
	mov	r0, r3
	bl	t_lex
	mov	r3, r0
	cmp	r3, #38
	beq	.L3358
	ldr	r1, .L3372+4
	mov	r0, #0
	bl	syntax
.L3358:
	ldr	r3, [fp, #-8]
	b	.L3355
.L3356:
	ldr	r3, .L3372+8
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L3359
	ldr	r3, .L3372+8
	ldr	r3, [r3]
	ldrsh	r3, [r3, #6]
	cmp	r3, #0
	bne	.L3359
	ldr	r3, .L3372
	ldr	r3, [r3]
	add	r3, r3, #4
	ldr	r2, .L3372
	str	r3, [r2]
	ldr	r3, .L3372
	ldr	r3, [r3]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L3360
	ldr	r3, .L3372+8
	ldr	r3, [r3]
	ldr	r3, [r3]
	ldr	r1, .L3372+12
	mov	r0, r3
	bl	syntax
.L3360:
	ldr	r3, [fp, #-16]
	sub	r3, r3, #1
	cmp	r3, #22
	ldrls	pc, [pc, r3, asl #2]
	b	.L3361
.L3363:
	.word	.L3368
	.word	.L3367
	.word	.L3366
	.word	.L3361
	.word	.L3361
	.word	.L3361
	.word	.L3361
	.word	.L3361
	.word	.L3361
	.word	.L3361
	.word	.L3361
	.word	.L3361
	.word	.L3365
	.word	.L3361
	.word	.L3361
	.word	.L3361
	.word	.L3361
	.word	.L3361
	.word	.L3361
	.word	.L3361
	.word	.L3361
	.word	.L3364
	.word	.L3362
.L3364:
	ldr	r3, .L3372
	ldr	r3, [r3]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	b	.L3355
.L3362:
	ldr	r3, .L3372
	ldr	r3, [r3]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	b	.L3355
.L3365:
	ldr	r3, .L3372
	ldr	r3, [r3]
	ldr	r3, [r3]
	mov	r0, r3
	bl	getn
	mov	r2, r0
	mov	r3, r1
	mov	r3, r2
	mov	r0, r3
	bl	isatty
	mov	r3, r0
	b	.L3355
.L3368:
	ldr	r3, .L3372
	ldr	r3, [r3]
	ldr	r3, [r3]
	mov	r1, #4
	mov	r0, r3
	bl	test_file_access
	mov	r3, r0
	b	.L3355
.L3367:
	ldr	r3, .L3372
	ldr	r3, [r3]
	ldr	r3, [r3]
	mov	r1, #2
	mov	r0, r3
	bl	test_file_access
	mov	r3, r0
	b	.L3355
.L3366:
	ldr	r3, .L3372
	ldr	r3, [r3]
	ldr	r3, [r3]
	mov	r1, #1
	mov	r0, r3
	bl	test_file_access
	mov	r3, r0
	b	.L3355
.L3361:
	ldr	r3, .L3372
	ldr	r3, [r3]
	ldr	r3, [r3]
	ldr	r1, [fp, #-16]
	mov	r0, r3
	bl	filstat
	mov	r3, r0
	b	.L3355
.L3359:
	ldr	r3, .L3372
	ldr	r3, [r3]
	add	r3, r3, #4
	mov	r0, r3
	bl	t_lex
	ldr	r3, .L3372+8
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L3369
	ldr	r3, .L3372+8
	ldr	r3, [r3]
	ldrsh	r3, [r3, #6]
	cmp	r3, #1
	bne	.L3369
	mov	r3, #1
	b	.L3370
.L3369:
	mov	r3, #0
.L3370:
	cmp	r3, #0
	beq	.L3371
	bl	test_binop
	mov	r3, r0
	b	.L3355
.L3371:
	ldr	r3, .L3372
	ldr	r3, [r3]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
.L3355:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3373:
	.align	2
.L3372:
	.word	t_wp
	.word	.LC354
	.word	t_wp_op
	.word	.LC355
	.size	test_primary, .-test_primary
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	test_binop, %function
test_binop:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #16
	ldr	r3, .L3391
	ldr	r3, [r3]
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	ldr	r3, .L3391
	ldr	r3, [r3]
	add	r3, r3, #4
	ldr	r2, .L3391
	str	r3, [r2]
	ldr	r3, .L3391
	ldr	r3, [r3]
	mov	r0, r3
	bl	t_lex
	ldr	r3, .L3391+4
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	ldr	r3, .L3391
	ldr	r3, [r3]
	add	r3, r3, #4
	ldr	r2, .L3391
	str	r3, [r2]
	ldr	r3, .L3391
	ldr	r3, [r3]
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L3375
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	ldr	r1, .L3391+8
	mov	r0, r3
	bl	syntax
.L3375:
	ldr	r3, [fp, #-20]
	ldrsh	r3, [r3, #4]
	sub	r3, r3, #17
	cmp	r3, #16
	ldrls	pc, [pc, r3, asl #2]
	b	.L3376
.L3378:
	.word	.L3389
	.word	.L3388
	.word	.L3387
	.word	.L3376
	.word	.L3376
	.word	.L3376
	.word	.L3376
	.word	.L3376
	.word	.L3386
	.word	.L3385
	.word	.L3384
	.word	.L3383
	.word	.L3382
	.word	.L3381
	.word	.L3380
	.word	.L3379
	.word	.L3377
.L3376:
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-24]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	b	.L3390
.L3386:
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-24]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	b	.L3390
.L3385:
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-24]
	bl	strcmp
	mov	r3, r0
	lsr	r3, r3, #31
	and	r3, r3, #255
	b	.L3390
.L3384:
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-24]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	movgt	r3, #1
	movle	r3, #0
	and	r3, r3, #255
	b	.L3390
.L3383:
	ldr	r0, [fp, #-24]
	bl	getn
	mov	r4, r0
	mov	r5, r1
	ldr	r0, [fp, #-16]
	bl	getn
	mov	r2, r0
	mov	r3, r1
	cmp	r5, r3
	cmpeq	r4, r2
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	b	.L3390
.L3382:
	ldr	r0, [fp, #-24]
	bl	getn
	mov	r4, r0
	mov	r5, r1
	ldr	r0, [fp, #-16]
	bl	getn
	mov	r2, r0
	mov	r3, r1
	cmp	r5, r3
	cmpeq	r4, r2
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	b	.L3390
.L3381:
	ldr	r0, [fp, #-24]
	bl	getn
	mov	r4, r0
	mov	r5, r1
	ldr	r0, [fp, #-16]
	bl	getn
	mov	r2, r0
	mov	r3, r1
	cmp	r4, r2
	sbcs	r3, r5, r3
	movge	r3, #1
	movlt	r3, #0
	and	r3, r3, #255
	b	.L3390
.L3380:
	ldr	r0, [fp, #-24]
	bl	getn
	mov	r4, r0
	mov	r5, r1
	ldr	r0, [fp, #-16]
	bl	getn
	mov	r2, r0
	mov	r3, r1
	cmp	r2, r4
	sbcs	r3, r3, r5
	movlt	r3, #1
	movge	r3, #0
	and	r3, r3, #255
	b	.L3390
.L3379:
	ldr	r0, [fp, #-24]
	bl	getn
	mov	r4, r0
	mov	r5, r1
	ldr	r0, [fp, #-16]
	bl	getn
	mov	r2, r0
	mov	r3, r1
	cmp	r2, r4
	sbcs	r3, r3, r5
	movge	r3, #1
	movlt	r3, #0
	and	r3, r3, #255
	b	.L3390
.L3377:
	ldr	r0, [fp, #-24]
	bl	getn
	mov	r4, r0
	mov	r5, r1
	ldr	r0, [fp, #-16]
	bl	getn
	mov	r2, r0
	mov	r3, r1
	cmp	r4, r2
	sbcs	r3, r5, r3
	movlt	r3, #1
	movge	r3, #0
	and	r3, r3, #255
	b	.L3390
.L3389:
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-24]
	bl	newerf
	mov	r3, r0
	b	.L3390
.L3388:
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-24]
	bl	olderf
	mov	r3, r0
	b	.L3390
.L3387:
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-24]
	bl	equalf
	mov	r3, r0
.L3390:
	mov	r0, r3
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L3392:
	.align	2
.L3391:
	.word	t_wp
	.word	t_wp_op
	.word	.LC355
	.size	test_binop, .-test_binop
	.section	.rodata
	.align	2
.LC356:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	filstat, %function
filstat:
	@ args = 0, pretend = 0, frame = 104
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #108
	str	r0, [fp, #-112]
	str	r1, [fp, #-116]
	ldr	r3, .L3416
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	ldr	r3, [fp, #-116]
	cmp	r3, #11
	bne	.L3394
	sub	r3, fp, #108
	mov	r1, r3
	ldr	r0, [fp, #-112]
	bl	lstat
	mov	r3, r0
	cmp	r3, #0
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	b	.L3395
.L3394:
	sub	r3, fp, #108
	mov	r1, r3
	ldr	r0, [fp, #-112]
	bl	stat
	mov	r3, r0
	cmp	r3, #0
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
.L3395:
	cmp	r3, #0
	beq	.L3396
	mov	r3, #0
	b	.L3414
.L3396:
	ldr	r3, [fp, #-116]
	sub	r3, r3, #4
	cmp	r3, #17
	ldrls	pc, [pc, r3, asl #2]
	b	.L3398
.L3400:
	.word	.L3413
	.word	.L3412
	.word	.L3411
	.word	.L3410
	.word	.L3409
	.word	.L3408
	.word	.L3407
	.word	.L3406
	.word	.L3405
	.word	.L3398
	.word	.L3404
	.word	.L3403
	.word	.L3402
	.word	.L3398
	.word	.L3398
	.word	.L3398
	.word	.L3401
	.word	.L3399
.L3413:
	mov	r3, #1
	b	.L3414
.L3412:
	ldr	r3, [fp, #-92]
	and	r3, r3, #61440
	cmp	r3, #32768
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	b	.L3414
.L3411:
	ldr	r3, [fp, #-92]
	and	r3, r3, #61440
	cmp	r3, #16384
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	b	.L3414
.L3410:
	ldr	r3, [fp, #-92]
	and	r3, r3, #61440
	cmp	r3, #8192
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	b	.L3414
.L3409:
	ldr	r3, [fp, #-92]
	and	r3, r3, #61440
	cmp	r3, #24576
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	b	.L3414
.L3408:
	ldr	r3, [fp, #-92]
	and	r3, r3, #61440
	cmp	r3, #4096
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	b	.L3414
.L3407:
	ldr	r3, [fp, #-92]
	and	r3, r3, #61440
	cmp	r3, #49152
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	b	.L3414
.L3406:
	ldr	r3, [fp, #-92]
	and	r3, r3, #61440
	cmp	r3, #40960
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	b	.L3414
.L3404:
	ldr	r3, [fp, #-92]
	and	r3, r3, #2048
	cmp	r3, #0
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	b	.L3414
.L3403:
	ldr	r3, [fp, #-92]
	and	r3, r3, #1024
	cmp	r3, #0
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	b	.L3414
.L3402:
	ldr	r3, [fp, #-92]
	and	r3, r3, #512
	cmp	r3, #0
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	b	.L3414
.L3405:
	ldr	r3, [fp, #-64]
	cmp	r3, #0
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	b	.L3414
.L3401:
	ldr	r4, [fp, #-84]
	bl	geteuid
	mov	r3, r0
	cmp	r4, r3
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	b	.L3414
.L3399:
	ldr	r4, [fp, #-80]
	bl	getegid
	mov	r3, r0
	cmp	r4, r3
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	b	.L3414
.L3398:
	mov	r3, #1
.L3414:
	ldr	r2, .L3416
	ldr	r1, [r2]
	ldr	r2, [fp, #-16]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L3415
	bl	__stack_chk_fail
.L3415:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L3417:
	.align	2
.L3416:
	.word	.LC356
	.size	filstat, .-filstat
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	t_lex, %function
t_lex:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L3419
	ldr	r3, .L3424
	mov	r2, #0
	str	r2, [r3]
	mov	r3, #0
	b	.L3420
.L3419:
	ldr	r0, [fp, #-12]
	bl	getop
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L3421
	ldr	r3, [fp, #-8]
	ldrsh	r3, [r3, #6]
	cmp	r3, #0
	bne	.L3422
	ldr	r0, [fp, #-16]
	bl	isoperand
	mov	r3, r0
	cmp	r3, #0
	bne	.L3421
.L3422:
	ldr	r3, [fp, #-8]
	ldrsh	r3, [r3, #4]
	cmp	r3, #37
	bne	.L3423
	ldr	r3, [fp, #-16]
	add	r3, r3, #4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L3421
.L3423:
	ldr	r2, .L3424
	ldr	r3, [fp, #-8]
	str	r3, [r2]
	ldr	r3, [fp, #-8]
	ldrsh	r3, [r3, #4]
	b	.L3420
.L3421:
	ldr	r3, .L3424
	mov	r2, #0
	str	r2, [r3]
	mov	r3, #39
.L3420:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3425:
	.align	2
.L3424:
	.word	t_wp_op
	.size	t_lex, .-t_lex
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	isoperand, %function
isoperand:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L3427
	mov	r3, #1
	b	.L3428
.L3427:
	ldr	r3, [fp, #-16]
	add	r3, r3, #8
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L3429
	mov	r3, #0
	b	.L3428
.L3429:
	ldr	r0, [fp, #-12]
	bl	getop
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L3430
	ldr	r3, [fp, #-8]
	ldrsh	r3, [r3, #6]
	cmp	r3, #1
	bne	.L3430
	mov	r3, #1
	b	.L3428
.L3430:
	mov	r3, #0
.L3428:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	isoperand, .-isoperand
	.section	.rodata
	.align	2
.LC357:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	newerf, %function
newerf:
	@ args = 0, pretend = 0, frame = 192
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #192
	str	r0, [fp, #-192]
	str	r1, [fp, #-196]
	ldr	r3, .L3437
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #188
	mov	r1, r3
	ldr	r0, [fp, #-192]
	bl	stat
	mov	r3, r0
	cmp	r3, #0
	bne	.L3433
	sub	r3, fp, #100
	mov	r1, r3
	ldr	r0, [fp, #-196]
	bl	stat
	mov	r3, r0
	cmp	r3, #0
	bne	.L3433
	ldr	r2, [fp, #-124]
	ldr	r3, [fp, #-36]
	cmp	r2, r3
	ble	.L3433
	mov	r3, #1
	b	.L3435
.L3433:
	mov	r3, #0
.L3435:
	ldr	r2, .L3437
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L3436
	bl	__stack_chk_fail
.L3436:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3438:
	.align	2
.L3437:
	.word	.LC357
	.size	newerf, .-newerf
	.section	.rodata
	.align	2
.LC358:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	olderf, %function
olderf:
	@ args = 0, pretend = 0, frame = 192
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #192
	str	r0, [fp, #-192]
	str	r1, [fp, #-196]
	ldr	r3, .L3444
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #188
	mov	r1, r3
	ldr	r0, [fp, #-192]
	bl	stat
	mov	r3, r0
	cmp	r3, #0
	bne	.L3440
	sub	r3, fp, #100
	mov	r1, r3
	ldr	r0, [fp, #-196]
	bl	stat
	mov	r3, r0
	cmp	r3, #0
	bne	.L3440
	ldr	r2, [fp, #-124]
	ldr	r3, [fp, #-36]
	cmp	r2, r3
	bge	.L3440
	mov	r3, #1
	b	.L3442
.L3440:
	mov	r3, #0
.L3442:
	ldr	r2, .L3444
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L3443
	bl	__stack_chk_fail
.L3443:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3445:
	.align	2
.L3444:
	.word	.LC358
	.size	olderf, .-olderf
	.section	.rodata
	.align	2
.LC359:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	equalf, %function
equalf:
	@ args = 0, pretend = 0, frame = 192
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #192
	str	r0, [fp, #-192]
	str	r1, [fp, #-196]
	ldr	r3, .L3451
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #188
	mov	r1, r3
	ldr	r0, [fp, #-192]
	bl	stat
	mov	r3, r0
	cmp	r3, #0
	bne	.L3447
	sub	r3, fp, #100
	mov	r1, r3
	ldr	r0, [fp, #-196]
	bl	stat
	mov	r3, r0
	cmp	r3, #0
	bne	.L3447
	sub	r1, fp, #188
	ldmia	r1, {r0-r1}
	sub	r3, fp, #100
	ldmia	r3, {r2-r3}
	cmp	r1, r3
	cmpeq	r0, r2
	bne	.L3447
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-88]
	cmp	r2, r3
	bne	.L3447
	mov	r3, #1
	b	.L3449
.L3447:
	mov	r3, #0
.L3449:
	ldr	r2, .L3451
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L3450
	bl	__stack_chk_fail
.L3450:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3452:
	.align	2
.L3451:
	.word	.LC359
	.size	equalf, .-equalf
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	test_file_access, %function
test_file_access:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	mov	r3, #512
	ldr	r2, [fp, #-12]
	ldr	r1, [fp, #-8]
	mvn	r0, #99
	bl	faccessat
	mov	r3, r0
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	test_file_access, .-test_file_access
	.global	__aeabi_idiv
	.global	__aeabi_ddiv
	.section	.rodata
	.align	2
.LC360:
	.ascii	"%dm%fs %dm%fs\012%dm%fs %dm%fs\012\000"
	.align	2
.LC361:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	timescmd
	.syntax unified
	.arm
	.fpu softvfp
	.type	timescmd, %function
timescmd:
	@ args = 0, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, r10, fp, lr}
	add	fp, sp, #32
	sub	sp, sp, #108
	str	r0, [fp, #-64]
	str	r1, [fp, #-68]
	ldr	r3, .L3458
	ldr	r3, [r3]
	str	r3, [fp, #-40]
	mov	r3,#0
	mov	r0, #2
	bl	sysconf
	str	r0, [fp, #-60]
	sub	r3, fp, #56
	mov	r0, r3
	bl	times
	ldr	r3, [fp, #-56]
	ldr	r1, [fp, #-60]
	mov	r0, r3
	bl	__aeabi_idiv
	mov	r3, r0
	ldr	r2, .L3458+4
	smull	r1, r2, r3, r2
	add	r2, r2, r3
	asr	r2, r2, #5
	asr	r3, r3, #31
	sub	r3, r2, r3
	str	r3, [fp, #-72]
	ldr	r3, [fp, #-56]
	mov	r0, r3
	bl	__aeabi_i2d
	mov	r4, r0
	mov	r5, r1
	ldr	r0, [fp, #-60]
	bl	__aeabi_i2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-84]
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-52]
	ldr	r1, [fp, #-60]
	mov	r0, r3
	bl	__aeabi_idiv
	mov	r3, r0
	ldr	r2, .L3458+4
	smull	r0, r2, r3, r2
	add	r2, r2, r3
	asr	r2, r2, #5
	asr	r3, r3, #31
	sub	r10, r2, r3
	ldr	r3, [fp, #-52]
	mov	r0, r3
	bl	__aeabi_i2d
	mov	r4, r0
	mov	r5, r1
	ldr	r0, [fp, #-60]
	bl	__aeabi_i2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	ldr	r3, [fp, #-48]
	ldr	r1, [fp, #-60]
	mov	r0, r3
	bl	__aeabi_idiv
	mov	r3, r0
	ldr	r2, .L3458+4
	smull	r0, r2, r3, r2
	add	r2, r2, r3
	asr	r2, r2, #5
	asr	r3, r3, #31
	sub	r0, r2, r3
	str	r0, [fp, #-76]
	ldr	r3, [fp, #-48]
	mov	r0, r3
	bl	__aeabi_i2d
	mov	r4, r0
	mov	r5, r1
	ldr	r0, [fp, #-60]
	bl	__aeabi_i2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r8, r2
	mov	r9, r3
	ldr	r3, [fp, #-44]
	ldr	r1, [fp, #-60]
	mov	r0, r3
	bl	__aeabi_idiv
	mov	r3, r0
	ldr	r2, .L3458+4
	smull	ip, r2, r3, r2
	add	r2, r2, r3
	asr	r2, r2, #5
	asr	r3, r3, #31
	sub	ip, r2, r3
	str	ip, [fp, #-88]
	ldr	r3, [fp, #-44]
	mov	r0, r3
	bl	__aeabi_i2d
	mov	r4, r0
	mov	r5, r1
	ldr	r0, [fp, #-60]
	bl	__aeabi_i2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [sp, #40]
	str	r3, [sp, #44]
	ldr	ip, [fp, #-88]
	str	ip, [sp, #32]
	str	r8, [sp, #24]
	str	r9, [sp, #28]
	ldr	r0, [fp, #-76]
	str	r0, [sp, #16]
	str	r6, [sp, #8]
	str	r7, [sp, #12]
	str	r10, [sp]
	sub	r3, fp, #84
	ldmia	r3, {r2-r3}
	ldr	r1, [fp, #-72]
	ldr	r0, .L3458+8
	bl	out1fmt
	mov	r3, #0
	ldr	r2, .L3458
	ldr	r1, [r2]
	ldr	r2, [fp, #-40]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L3457
	bl	__stack_chk_fail
.L3457:
	mov	r0, r3
	sub	sp, fp, #32
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, r10, fp, pc}
.L3459:
	.align	2
.L3458:
	.word	.LC361
	.word	-2004318071
	.word	.LC360
	.size	timescmd, .-timescmd
	.comm	localvar_stack,4,4
	.global	defpathvar
	.section	.rodata
	.align	2
	.type	defpathvar, %object
	.size	defpathvar, 66
defpathvar:
	.ascii	"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/"
	.ascii	"bin:/sbin:/bin\000"
	.global	defifsvar
	.align	2
	.type	defifsvar, %object
	.size	defifsvar, 8
defifsvar:
	.ascii	"IFS= \011\012\000"
	.comm	lineno,4,4
	.global	linenovar
	.data
	.align	2
	.type	linenovar, %object
	.size	linenovar, 19
linenovar:
	.ascii	"LINENO=\000"
	.space	11
	.global	varinit
	.section	.rodata
	.align	2
.LC362:
	.ascii	"MAIL\000\000"
	.align	2
.LC363:
	.ascii	"MAILPATH\000\000"
	.align	2
.LC364:
	.ascii	"PS1=$ \000"
	.align	2
.LC365:
	.ascii	"PS2=> \000"
	.align	2
.LC366:
	.ascii	"PS4=+ \000"
	.align	2
.LC367:
	.ascii	"OPTIND=1\000"
	.data
	.align	2
	.type	varinit, %object
	.size	varinit, 144
varinit:
	.word	0
	.word	12
	.word	defifsvar
	.word	0
	.word	0
	.word	44
	.word	.LC362
	.word	changemail
	.word	0
	.word	44
	.word	.LC363
	.word	changemail
	.word	0
	.word	12
	.word	defpathvar
	.word	changepath
	.word	0
	.word	12
	.word	.LC364
	.word	0
	.word	0
	.word	12
	.word	.LC365
	.word	0
	.word	0
	.word	12
	.word	.LC366
	.word	0
	.word	0
	.word	12
	.word	.LC367
	.word	getoptsreset
	.word	0
	.word	12
	.word	linenovar
	.word	0
	.local	vartab
	.comm	vartab,2084,4
	.section	.rodata
	.align	2
.LC368:
	.ascii	"PS1=# \000"
	.text
	.align	2
	.global	initvar
	.syntax unified
	.arm
	.fpu softvfp
	.type	initvar, %function
initvar:
	@ 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, .L3464
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	add	r3, r3, #144
	str	r3, [fp, #-12]
.L3461:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	hashvar
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #16
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	cmp	r2, r3
	bcc	.L3461
	bl	geteuid
	mov	r3, r0
	cmp	r3, #0
	bne	.L3463
	ldr	r3, .L3464+4
	ldr	r2, .L3464+8
	str	r2, [r3, #8]
.L3463:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3465:
	.align	2
.L3464:
	.word	varinit
	.word	varinit+64
	.word	.LC368
	.size	initvar, .-initvar
	.section	.rodata
	.align	2
.LC369:
	.ascii	"%.*s: bad variable name\000"
	.text
	.align	2
	.global	setvar
	.syntax unified
	.arm
	.fpu softvfp
	.type	setvar, %function
setvar:
	@ 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, #-32]
	str	r1, [fp, #-36]
	str	r2, [fp, #-40]
	ldr	r0, [fp, #-32]
	bl	endofname
	str	r0, [fp, #-20]
	mov	r1, #61
	ldr	r0, [fp, #-20]
	bl	strchrnul
	str	r0, [fp, #-28]
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-32]
	sub	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L3467
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	beq	.L3468
.L3467:
	ldr	r2, [fp, #-32]
	ldr	r1, [fp, #-16]
	ldr	r0, .L3474
	bl	sh_error
.L3468:
	mov	r3, #0
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	bne	.L3469
	ldr	r3, [fp, #-40]
	orr	r3, r3, #32
	str	r3, [fp, #-40]
	b	.L3470
.L3469:
	ldr	r0, [fp, #-36]
	bl	strlen
	str	r0, [fp, #-24]
.L3470:
	ldr	r3, .L3474+4
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L3474+4
	str	r3, [r2]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-24]
	add	r3, r2, r3
	add	r3, r3, #2
	mov	r0, r3
	bl	ckmalloc
	str	r0, [fp, #-12]
	ldr	r2, [fp, #-16]
	ldr	r1, [fp, #-32]
	ldr	r0, [fp, #-12]
	bl	mempcpy
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	beq	.L3471
	ldr	r3, [fp, #-28]
	add	r2, r3, #1
	str	r2, [fp, #-28]
	mov	r2, #61
	strb	r2, [r3]
	ldr	r2, [fp, #-24]
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-28]
	bl	mempcpy
	str	r0, [fp, #-28]
.L3471:
	ldr	r3, [fp, #-28]
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, [fp, #-40]
	orr	r3, r3, #256
	mov	r1, r3
	ldr	r0, [fp, #-12]
	bl	setvareq
	str	r0, [fp, #-8]
	ldr	r3, .L3474+4
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L3474+4
	str	r3, [r2]
	ldr	r3, .L3474+4
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L3472
	ldr	r3, .L3474+8
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L3472
	bl	onint
.L3472:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3475:
	.align	2
.L3474:
	.word	.LC369
	.word	suppressint
	.word	intpending
	.size	setvar, .-setvar
	.section	.rodata
	.align	2
.LC370:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	setvarint
	.syntax unified
	.arm
	.fpu softvfp
	.type	setvarint, %function
setvarint:
	@ args = 4, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #44
	str	r0, [fp, #-32]
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	ldr	r3, .L3479
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	mov	r3, sp
	mov	r4, r3
	mov	r0, #8
	bl	max_int_length
	str	r0, [fp, #-28]
	ldr	ip, [fp, #-28]
	sub	r3, ip, #1
	str	r3, [fp, #-24]
	mov	r3, ip
	mov	r0, r3
	mov	r1, #0
	mov	r2, #0
	mov	r3, #0
	lsl	r3, r1, #3
	orr	r3, r3, r0, lsr #29
	lsl	r2, r0, #3
	mov	r3, ip
	mov	r0, r3
	mov	r1, #0
	mov	r2, #0
	mov	r3, #0
	lsl	r3, r1, #3
	orr	r3, r3, r0, lsr #29
	lsl	r2, r0, #3
	mov	r3, ip
	add	r3, r3, #7
	lsr	r3, r3, #3
	lsl	r3, r3, #3
	sub	sp, sp, r3
	add	r3, sp, #8
	add	r3, r3, #0
	str	r3, [fp, #-20]
	ldr	r1, [fp, #-28]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	ldr	r2, .L3479+4
	ldr	r0, [fp, #-20]
	bl	fmtstr
	ldr	r2, [fp, #4]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-32]
	bl	setvar
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	mov	sp, r4
	ldr	r1, .L3479
	ldr	r0, [r1]
	ldr	r1, [fp, #-16]
	eors	r0, r1, r0
	mov	r1, #0
	beq	.L3478
	bl	__stack_chk_fail
.L3478:
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L3480:
	.align	2
.L3479:
	.word	.LC370
	.word	.LC120
	.size	setvarint, .-setvarint
	.section	.rodata
	.align	2
.LC371:
	.ascii	"%.*s: is read only\000"
	.text
	.align	2
	.global	setvareq
	.syntax unified
	.arm
	.fpu softvfp
	.type	setvareq, %function
setvareq:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #28
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	bl	hashvar
	str	r0, [fp, #-20]
	ldr	r3, .L3501
	ldrb	r3, [r3, #12]	@ zero_extendqisi2
	rsb	r3, r3, #0
	and	r2, r3, #1
	ldr	r3, [fp, #-36]
	orr	r3, r2, r3
	str	r3, [fp, #-36]
	ldr	r1, [fp, #-32]
	ldr	r0, [fp, #-20]
	bl	findvar
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L3482
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	and	r3, r3, #2
	cmp	r3, #0
	beq	.L3483
	ldr	r3, [fp, #-36]
	and	r3, r3, #256
	cmp	r3, #0
	beq	.L3484
	ldr	r0, [fp, #-32]
	bl	free
.L3484:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-16]
	mov	r1, #61
	ldr	r0, [fp, #-16]
	bl	strchrnul
	mov	r2, r0
	ldr	r3, [fp, #-16]
	sub	r3, r2, r3
	ldr	r2, [fp, #-16]
	mov	r1, r3
	ldr	r0, .L3501+4
	bl	sh_error
.L3483:
	ldr	r3, [fp, #-36]
	and	r3, r3, #128
	cmp	r3, #0
	bne	.L3497
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	beq	.L3487
	ldr	r3, [fp, #-36]
	and	r3, r3, #64
	cmp	r3, #0
	bne	.L3487
	ldr	r3, [fp, #-24]
	ldr	r4, [r3, #12]
	mov	r1, #61
	ldr	r0, [fp, #-32]
	bl	strchrnul
	mov	r3, r0
	add	r3, r3, #1
	mov	r0, r3
	blx	r4
.L3487:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	and	r3, r3, #24
	cmp	r3, #0
	bne	.L3488
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	free
.L3488:
	ldr	r3, [fp, #-36]
	and	r2, r3, #39
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	and	r3, r3, #4
	orr	r3, r2, r3
	cmp	r3, #32
	bne	.L3489
	ldr	r3, [fp, #-24]
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	str	r2, [r3]
	ldr	r0, [fp, #-24]
	bl	free
	b	.L3490
.L3500:
	nop
.L3490:
	ldr	r3, [fp, #-36]
	and	r3, r3, #280
	cmp	r3, #256
	bne	.L3498
	ldr	r0, [fp, #-32]
	bl	free
	b	.L3498
.L3489:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	bic	r3, r3, #312
	ldr	r2, [fp, #-36]
	orr	r3, r2, r3
	str	r3, [fp, #-36]
	b	.L3492
.L3482:
	ldr	r3, [fp, #-36]
	and	r3, r3, #128
	cmp	r3, #0
	bne	.L3499
	ldr	r3, [fp, #-36]
	and	r3, r3, #39
	cmp	r3, #32
	beq	.L3500
	mov	r0, #16
	bl	ckmalloc
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-20]
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	mov	r2, #0
	str	r2, [r3, #12]
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-24]
	str	r2, [r3]
.L3492:
	ldr	r3, [fp, #-36]
	and	r3, r3, #280
	cmp	r3, #0
	bne	.L3495
	ldr	r0, [fp, #-32]
	bl	savestr
	str	r0, [fp, #-32]
.L3495:
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-32]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-36]
	str	r2, [r3, #4]
	b	.L3486
.L3497:
	nop
	b	.L3486
.L3498:
	nop
	b	.L3486
.L3499:
	nop
.L3486:
	ldr	r3, [fp, #-24]
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L3502:
	.align	2
.L3501:
	.word	optlist
	.word	.LC371
	.size	setvareq, .-setvareq
	.align	2
	.global	listsetvar
	.syntax unified
	.arm
	.fpu softvfp
	.type	listsetvar, %function
listsetvar:
	@ 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]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L3508
	ldr	r3, .L3509
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L3509
	str	r3, [r2]
.L3506:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	ldr	r1, [fp, #-20]
	mov	r0, r3
	bl	setvareq
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L3506
	ldr	r3, .L3509
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L3509
	str	r3, [r2]
	ldr	r3, .L3509
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L3503
	ldr	r3, .L3509+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L3503
	bl	onint
	b	.L3503
.L3508:
	nop
.L3503:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3510:
	.align	2
.L3509:
	.word	suppressint
	.word	intpending
	.size	listsetvar, .-listsetvar
	.section	.rodata
	.align	2
.LC372:
	.ascii	"%d\000"
	.text
	.align	2
	.global	lookupvar
	.syntax unified
	.arm
	.fpu softvfp
	.type	lookupvar, %function
lookupvar:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r0, [fp, #-16]
	bl	hashvar
	mov	r3, r0
	ldr	r1, [fp, #-16]
	mov	r0, r3
	bl	findvar
	mov	r3, r0
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L3512
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	and	r3, r3, #32
	cmp	r3, #0
	bne	.L3512
	ldr	r2, .L3515
	ldr	r3, [fp, #-8]
	cmp	r3, r2
	bne	.L3513
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	ldr	r2, .L3515+4
	cmp	r3, r2
	bne	.L3513
	ldr	r0, .L3515+8
	ldr	r3, .L3515+12
	ldr	r3, [r3]
	ldr	r2, .L3515+16
	mov	r1, #12
	bl	fmtstr
.L3513:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	mov	r1, #61
	mov	r0, r3
	bl	strchrnul
	mov	r3, r0
	add	r3, r3, #1
	b	.L3514
.L3512:
	mov	r3, #0
.L3514:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3516:
	.align	2
.L3515:
	.word	varinit+128
	.word	linenovar
	.word	linenovar+7
	.word	lineno
	.word	.LC372
	.size	lookupvar, .-lookupvar
	.align	2
	.global	lookupvarint
	.syntax unified
	.arm
	.fpu softvfp
	.type	lookupvarint, %function
lookupvarint:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r0, [fp, #-8]
	bl	lookupvar
	mov	r3, r0
	cmp	r3, #0
	bne	.L3519
	ldr	r3, .L3521
.L3519:
	mov	r1, #0
	mov	r0, r3
	bl	atomax
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3522:
	.align	2
.L3521:
	.word	nullstr
	.size	lookupvarint, .-lookupvarint
	.align	2
	.global	listvars
	.syntax unified
	.arm
	.fpu softvfp
	.type	listvars, %function
listvars:
	@ 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, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	ldr	r3, .L3532
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r3, .L3532+4
	str	r3, [fp, #-20]
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-28]
	orr	r3, r2, r3
	str	r3, [fp, #-8]
.L3528:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	b	.L3524
.L3527:
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	and	r3, r3, r2
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	bne	.L3525
	ldr	r3, .L3532+8
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	bne	.L3526
	bl	growstackstr
	str	r0, [fp, #-12]
.L3526:
	ldr	r3, [fp, #-12]
	add	r2, r3, #4
	str	r2, [fp, #-12]
	ldr	r2, [fp, #-16]
	ldr	r2, [r2, #8]
	str	r2, [r3]
.L3525:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	str	r3, [fp, #-16]
.L3524:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L3527
	ldr	r3, [fp, #-20]
	add	r3, r3, #4
	str	r3, [fp, #-20]
	ldr	r2, .L3532+12
	ldr	r3, [fp, #-20]
	cmp	r3, r2
	bcc	.L3528
	ldr	r3, .L3532+8
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	bne	.L3529
	bl	growstackstr
	str	r0, [fp, #-12]
.L3529:
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	beq	.L3530
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
.L3530:
	ldr	r3, [fp, #-12]
	add	r2, r3, #4
	str	r2, [fp, #-12]
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L3532
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	sub	r3, r2, r3
	mov	r0, r3
	bl	stalloc
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3533:
	.align	2
.L3532:
	.word	stacknxt
	.word	vartab
	.word	sstrend
	.word	vartab+2084
	.size	listvars, .-listvars
	.section	.rodata
	.align	2
.LC373:
	.ascii	"%s%s%.*s%s\012\000"
	.align	2
.LC374:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	showvars
	.syntax unified
	.arm
	.fpu softvfp
	.type	showvars, %function
showvars:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	str	r2, [fp, #-40]
	ldr	r3, .L3542
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #28
	mov	r2, r3
	ldr	r1, [fp, #-40]
	ldr	r0, [fp, #-36]
	bl	listvars
	str	r0, [fp, #-24]
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-24]
	sub	r3, r2, r3
	asr	r3, r3, #2
	mov	r1, r3
	ldr	r3, .L3542+4
	mov	r2, #4
	ldr	r0, [fp, #-24]
	bl	qsort
	ldr	r3, [fp, #-32]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L3535
	ldr	r3, [fp, #-32]
	b	.L3536
.L3535:
	ldr	r3, .L3542+8
.L3536:
	str	r3, [fp, #-12]
	b	.L3537
.L3539:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	mov	r1, #61
	mov	r0, r3
	bl	strchrnul
	str	r0, [fp, #-20]
	ldr	r3, .L3542+12
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L3538
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
	ldr	r0, [fp, #-20]
	bl	single_quote
	str	r0, [fp, #-16]
.L3538:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r2, [fp, #-20]
	sub	r1, r2, r3
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r2, [fp, #-16]
	str	r2, [sp, #4]
	str	r3, [sp]
	mov	r3, r1
	ldr	r2, [fp, #-12]
	ldr	r1, [fp, #-32]
	ldr	r0, .L3542+16
	bl	out1fmt
	ldr	r3, [fp, #-24]
	add	r3, r3, #4
	str	r3, [fp, #-24]
.L3537:
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	bcc	.L3539
	mov	r3, #0
	ldr	r2, .L3542
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L3541
	bl	__stack_chk_fail
.L3541:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3543:
	.align	2
.L3542:
	.word	.LC374
	.word	vpcmp
	.word	spcstr
	.word	nullstr
	.word	.LC373
	.size	showvars, .-showvars
	.section	.rodata
	.align	2
.LC375:
	.ascii	"p\000"
	.text
	.align	2
	.global	exportcmd
	.syntax unified
	.arm
	.fpu softvfp
	.type	exportcmd, %function
exportcmd:
	@ 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]
	ldr	r3, [fp, #-36]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #114
	bne	.L3545
	mov	r3, #2
	b	.L3546
.L3545:
	mov	r3, #1
.L3546:
	str	r3, [fp, #-16]
	ldr	r0, .L3554
	bl	nextopt
	mov	r3, r0
	sub	r3, r3, #112
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L3547
	ldr	r3, .L3554+4
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	beq	.L3547
.L3551:
	mov	r1, #61
	ldr	r0, [fp, #-28]
	bl	strchr
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L3548
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	b	.L3549
.L3548:
	ldr	r0, [fp, #-28]
	bl	hashvar
	mov	r3, r0
	ldr	r1, [fp, #-28]
	mov	r0, r3
	bl	findvar
	mov	r3, r0
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L3549
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-16]
	orr	r2, r2, r3
	ldr	r3, [fp, #-8]
	str	r2, [r3, #4]
	b	.L3550
.L3549:
	ldr	r2, [fp, #-16]
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-28]
	bl	setvar
.L3550:
	ldr	r3, [fp, #-20]
	add	r3, r3, #4
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L3551
	b	.L3552
.L3547:
	ldr	r3, [fp, #-36]
	ldr	r3, [r3]
	mov	r2, #0
	ldr	r1, [fp, #-16]
	mov	r0, r3
	bl	showvars
.L3552:
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3555:
	.align	2
.L3554:
	.word	.LC375
	.word	argptr
	.size	exportcmd, .-exportcmd
	.section	.rodata
	.align	2
.LC376:
	.ascii	"not in a function\000"
	.text
	.align	2
	.global	localcmd
	.syntax unified
	.arm
	.fpu softvfp
	.type	localcmd, %function
localcmd:
	@ 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, .L3561
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L3557
	ldr	r0, .L3561+4
	bl	sh_error
.L3557:
	ldr	r3, .L3561+8
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	b	.L3558
.L3559:
	ldr	r0, [fp, #-8]
	bl	mklocal
.L3558:
	ldr	r3, [fp, #-20]
	add	r2, r3, #4
	str	r2, [fp, #-20]
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L3559
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3562:
	.align	2
.L3561:
	.word	localvar_stack
	.word	.LC376
	.word	argptr
	.size	localcmd, .-localcmd
	.align	2
	.global	mklocal
	.syntax unified
	.arm
	.fpu softvfp
	.type	mklocal, %function
mklocal:
	@ 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]
	ldr	r3, .L3571
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L3571
	str	r3, [r2]
	mov	r0, #16
	bl	ckmalloc
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-32]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #45
	bne	.L3564
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L3564
	mov	r0, #17
	bl	ckmalloc
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r2, .L3571+4
	mov	r0, r3
	mov	r1, r2
	mov	r3, #17
	mov	r2, r3
	bl	memcpy
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-20]
	str	r2, [r3, #12]
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L3565
.L3564:
	ldr	r0, [fp, #-32]
	bl	hashvar
	str	r0, [fp, #-12]
	ldr	r1, [fp, #-32]
	ldr	r0, [fp, #-12]
	bl	findvar
	mov	r3, r0
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	mov	r1, #61
	ldr	r0, [fp, #-32]
	bl	strchr
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L3566
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L3567
	mov	r1, #4
	ldr	r0, [fp, #-32]
	bl	setvareq
	str	r0, [fp, #-24]
	b	.L3568
.L3567:
	mov	r2, #4
	mov	r1, #0
	ldr	r0, [fp, #-32]
	bl	setvar
	str	r0, [fp, #-24]
.L3568:
	ldr	r3, [fp, #-20]
	mov	r2, #32
	str	r2, [r3, #8]
	b	.L3565
.L3566:
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-20]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-20]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	orr	r2, r3, #12
	ldr	r3, [fp, #-24]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L3565
	mov	r1, #0
	ldr	r0, [fp, #-32]
	bl	setvareq
.L3565:
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-24]
	str	r2, [r3, #4]
	ldr	r3, .L3571+8
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-20]
	str	r2, [r3]
	ldr	r3, .L3571+8
	ldr	r3, [r3]
	ldr	r2, [fp, #-20]
	str	r2, [r3, #4]
	ldr	r3, .L3571
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L3571
	str	r3, [r2]
	ldr	r3, .L3571
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L3570
	ldr	r3, .L3571+12
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L3570
	bl	onint
.L3570:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3572:
	.align	2
.L3571:
	.word	suppressint
	.word	optlist
	.word	localvar_stack
	.word	intpending
	.size	mklocal, .-mklocal
	.align	2
	.global	poplocalvars
	.syntax unified
	.arm
	.fpu softvfp
	.type	poplocalvars, %function
poplocalvars:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #36
	str	r0, [fp, #-40]
	ldr	r3, .L3586
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L3586
	str	r3, [r2]
	ldr	r3, .L3586+4
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r2, .L3586+4
	str	r3, [r2]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-32]
	ldr	r0, [fp, #-24]
	bl	free
	b	.L3574
.L3583:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	beq	.L3575
	mov	r3, #4
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #8]
	cmp	r3, #32
	beq	.L3576
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #12]
	cmp	r2, r3
	bne	.L3577
	ldr	r3, [fp, #-28]
	orr	r3, r3, #8
	str	r3, [fp, #-28]
	b	.L3576
.L3577:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #8]
	and	r3, r3, #24
	cmp	r3, #0
	bne	.L3576
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #12]
	mov	r0, r3
	bl	free
.L3576:
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-28]
	mvn	r3, r3
	and	r2, r2, r3
	ldr	r3, [fp, #-16]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-20]
	ldr	r1, [r3, #8]
	ldr	r3, [fp, #-28]
	and	r3, r3, r1
	orr	r2, r2, r3
	ldr	r3, [fp, #-16]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	and	r3, r3, #39
	cmp	r3, #32
	bne	.L3578
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	unsetvar
	b	.L3578
.L3575:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L3579
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #12]
	ldr	r2, .L3586+8
	mov	r0, r2
	mov	r1, r3
	mov	r3, #17
	mov	r2, r3
	bl	memcpy
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #12]
	mov	r0, r3
	bl	free
	bl	optschanged
	b	.L3578
.L3579:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #8]
	cmp	r3, #32
	bne	.L3580
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	bic	r2, r3, #6
	ldr	r3, [fp, #-16]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	unsetvar
	b	.L3578
.L3580:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	beq	.L3581
	ldr	r3, [fp, #-16]
	ldr	r4, [r3, #12]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #12]
	mov	r1, #61
	mov	r0, r3
	bl	strchrnul
	mov	r3, r0
	add	r3, r3, #1
	mov	r0, r3
	blx	r4
.L3581:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	and	r3, r3, #24
	cmp	r3, #0
	bne	.L3582
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	free
.L3582:
	ldr	r3, [fp, #-20]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-20]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-16]
	str	r2, [r3, #8]
.L3578:
	ldr	r0, [fp, #-20]
	bl	free
.L3574:
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L3583
	ldr	r3, .L3586
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L3586
	str	r3, [r2]
	ldr	r3, .L3586
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L3585
	ldr	r3, .L3586+12
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L3585
	bl	onint
.L3585:
	nop
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L3587:
	.align	2
.L3586:
	.word	suppressint
	.word	localvar_stack
	.word	optlist
	.word	intpending
	.size	poplocalvars, .-poplocalvars
	.align	2
	.global	pushlocalvars
	.syntax unified
	.arm
	.fpu softvfp
	.type	pushlocalvars, %function
pushlocalvars:
	@ 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, .L3591
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L3591
	str	r3, [r2]
	mov	r0, #8
	bl	ckmalloc
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #4]
	ldr	r3, .L3591+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	ldr	r2, .L3591+4
	ldr	r3, [fp, #-8]
	str	r3, [r2]
	ldr	r3, .L3591
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L3591
	str	r3, [r2]
	ldr	r3, .L3591
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L3589
	ldr	r3, .L3591+8
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L3589
	bl	onint
.L3589:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3592:
	.align	2
.L3591:
	.word	suppressint
	.word	localvar_stack
	.word	intpending
	.size	pushlocalvars, .-pushlocalvars
	.align	2
	.global	unwindlocalvars
	.syntax unified
	.arm
	.fpu softvfp
	.type	unwindlocalvars, %function
unwindlocalvars:
	@ 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]
	b	.L3594
.L3595:
	mov	r0, #0
	bl	poplocalvars
.L3594:
	ldr	r3, .L3596
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	bne	.L3595
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3597:
	.align	2
.L3596:
	.word	localvar_stack
	.size	unwindlocalvars, .-unwindlocalvars
	.section	.rodata
	.align	2
.LC377:
	.ascii	"vf\000"
	.text
	.align	2
	.global	unsetcmd
	.syntax unified
	.arm
	.fpu softvfp
	.type	unsetcmd, %function
unsetcmd:
	@ 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	r3, #0
	str	r3, [fp, #-12]
	b	.L3599
.L3600:
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-12]
.L3599:
	ldr	r0, .L3606
	bl	nextopt
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L3600
	ldr	r3, .L3606+4
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	b	.L3601
.L3604:
	ldr	r3, [fp, #-12]
	cmp	r3, #102
	beq	.L3602
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	mov	r0, r3
	bl	unsetvar
	b	.L3603
.L3602:
	ldr	r3, [fp, #-12]
	cmp	r3, #118
	beq	.L3603
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	mov	r0, r3
	bl	unsetfunc
.L3603:
	ldr	r3, [fp, #-16]
	add	r3, r3, #4
	str	r3, [fp, #-16]
.L3601:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L3604
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3607:
	.align	2
.L3606:
	.word	.LC377
	.word	argptr
	.size	unsetcmd, .-unsetcmd
	.align	2
	.global	unsetvar
	.syntax unified
	.arm
	.fpu softvfp
	.type	unsetvar, %function
unsetvar:
	@ 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	r2, #0
	mov	r1, #0
	ldr	r0, [fp, #-8]
	bl	setvar
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	unsetvar, .-unsetvar
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	hashvar, %function
hashvar:
	@ 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]
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #4
	str	r3, [fp, #-8]
	b	.L3610
.L3612:
	ldr	r3, [fp, #-16]
	add	r2, r3, #1
	str	r2, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-8]
	add	r3, r3, r2
	str	r3, [fp, #-8]
.L3610:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L3611
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #61
	bne	.L3612
.L3611:
	ldr	r1, [fp, #-8]
	ldr	r3, .L3614
	umull	r2, r3, r1, r3
	lsr	r2, r3, #9
	mov	r3, r2
	lsl	r3, r3, #6
	add	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r3, r2
	sub	r2, r1, r3
	lsl	r3, r2, #2
	ldr	r2, .L3614+4
	add	r3, r3, r2
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L3615:
	.align	2
.L3614:
	.word	-74193293
	.word	vartab
	.size	hashvar, .-hashvar
	.align	2
	.global	varcmp
	.syntax unified
	.arm
	.fpu softvfp
	.type	varcmp, %function
varcmp:
	@ 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]
	b	.L3617
.L3621:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L3624
	ldr	r3, [fp, #-12]
	cmp	r3, #61
	beq	.L3624
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L3617:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-8]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-8]
	cmp	r2, r3
	beq	.L3621
	ldr	r3, [fp, #-12]
	cmp	r3, #61
	bne	.L3622
	mov	r3, #0
	str	r3, [fp, #-12]
.L3622:
	ldr	r3, [fp, #-8]
	cmp	r3, #61
	bne	.L3625
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L3620
.L3624:
	nop
	b	.L3620
.L3625:
	nop
.L3620:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-8]
	sub	r3, r2, r3
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	varcmp, .-varcmp
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	vpcmp, %function
vpcmp:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	mov	r1, r3
	mov	r0, r2
	bl	varcmp
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	vpcmp, .-vpcmp
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	findvar, %function
findvar:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	b	.L3629
.L3632:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	ldr	r1, [fp, #-12]
	mov	r0, r3
	bl	varequal
	mov	r3, r0
	cmp	r3, #0
	bne	.L3634
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	str	r3, [fp, #-8]
.L3629:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L3632
	b	.L3631
.L3634:
	nop
.L3631:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	findvar, .-findvar
	.global	signal_names
	.section	.rodata
	.align	2
.LC378:
	.ascii	"EXIT\000"
	.align	2
.LC379:
	.ascii	"HUP\000"
	.align	2
.LC380:
	.ascii	"INT\000"
	.align	2
.LC381:
	.ascii	"QUIT\000"
	.align	2
.LC382:
	.ascii	"ILL\000"
	.align	2
.LC383:
	.ascii	"TRAP\000"
	.align	2
.LC384:
	.ascii	"ABRT\000"
	.align	2
.LC385:
	.ascii	"BUS\000"
	.align	2
.LC386:
	.ascii	"FPE\000"
	.align	2
.LC387:
	.ascii	"KILL\000"
	.align	2
.LC388:
	.ascii	"USR1\000"
	.align	2
.LC389:
	.ascii	"SEGV\000"
	.align	2
.LC390:
	.ascii	"USR2\000"
	.align	2
.LC391:
	.ascii	"PIPE\000"
	.align	2
.LC392:
	.ascii	"ALRM\000"
	.align	2
.LC393:
	.ascii	"TERM\000"
	.align	2
.LC394:
	.ascii	"CHLD\000"
	.align	2
.LC395:
	.ascii	"CONT\000"
	.align	2
.LC396:
	.ascii	"STOP\000"
	.align	2
.LC397:
	.ascii	"TSTP\000"
	.align	2
.LC398:
	.ascii	"TTIN\000"
	.align	2
.LC399:
	.ascii	"TTOU\000"
	.align	2
.LC400:
	.ascii	"URG\000"
	.align	2
.LC401:
	.ascii	"XCPU\000"
	.align	2
.LC402:
	.ascii	"XFSZ\000"
	.align	2
.LC403:
	.ascii	"VTALRM\000"
	.align	2
.LC404:
	.ascii	"PROF\000"
	.align	2
.LC405:
	.ascii	"WINCH\000"
	.align	2
.LC406:
	.ascii	"IO\000"
	.align	2
.LC407:
	.ascii	"PWR\000"
	.align	2
.LC408:
	.ascii	"SYS\000"
	.align	2
	.type	signal_names, %object
	.size	signal_names, 264
signal_names:
	.word	.LC378
	.word	.LC379
	.word	.LC380
	.word	.LC381
	.word	.LC382
	.word	.LC383
	.word	.LC384
	.word	.LC385
	.word	.LC386
	.word	.LC387
	.word	.LC388
	.word	.LC389
	.word	.LC390
	.word	.LC391
	.word	.LC392
	.word	.LC393
	.space	4
	.word	.LC394
	.word	.LC395
	.word	.LC396
	.word	.LC397
	.word	.LC398
	.word	.LC399
	.word	.LC400
	.word	.LC401
	.word	.LC402
	.word	.LC403
	.word	.LC404
	.word	.LC405
	.word	.LC406
	.word	.LC407
	.word	.LC408
	.space	132
	.word	0
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	strchrcount, %function
strchrcount:
	@ 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]
	mov	r3, r1
	strb	r3, [fp, #-17]
	mov	r3, #0
	str	r3, [fp, #-12]
	mov	r3, #0
	str	r3, [fp, #-8]
	ldrb	r3, [fp, #-17]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	strchr
	str	r0, [fp, #-8]
	b	.L3636
.L3637:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	ldrb	r2, [fp, #-17]	@ zero_extendqisi2
	mov	r1, r2
	mov	r0, r3
	bl	strchr
	str	r0, [fp, #-8]
.L3636:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L3637
	ldr	r3, [fp, #-12]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	strchrcount, .-strchrcount
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	copyquoted, %function
copyquoted:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	b	.L3640
.L3642:
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #39
	bne	.L3641
	ldr	r3, [fp, #-8]
	add	r2, r3, #1
	str	r2, [fp, #-8]
	mov	r2, #39
	strb	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r2, r3, #1
	str	r2, [fp, #-8]
	mov	r2, #92
	strb	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r2, r3, #1
	str	r2, [fp, #-8]
	mov	r2, #39
	strb	r2, [r3]
.L3641:
	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]
.L3640:
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L3642
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	copyquoted, .-copyquoted
	.section	.rodata
	.align	2
.LC409:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	setquoted, %function
setquoted:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #44
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	str	r2, [fp, #-48]
	ldr	r3, .L3652
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	ldr	r3, [fp, #-44]
	str	r3, [fp, #-32]
	mov	r3, #0
	str	r3, [fp, #-28]
	mov	r3, #0
	str	r3, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-28]
	b	.L3645
.L3646:
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	strlen
	mov	r4, r0
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r1, #39
	mov	r0, r3
	bl	strchrcount
	mov	r2, r0
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r4, r3
	add	r3, r3, #2
	ldr	r2, [fp, #-32]
	add	r3, r2, r3
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L3645:
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-44]
	cmp	r2, r3
	blt	.L3646
	ldr	r3, [fp, #-32]
	add	r3, r3, #7
	lsr	r3, r3, #3
	lsl	r3, r3, #3
	sub	sp, sp, r3
	mov	r3, sp
	add	r3, r3, #7
	lsr	r3, r3, #3
	lsl	r3, r3, #3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-28]
	b	.L3647
.L3649:
	ldr	r3, [fp, #-24]
	add	r2, r3, #1
	str	r2, [fp, #-24]
	mov	r2, #39
	strb	r2, [r3]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	copyquoted
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	add	r2, r3, #1
	str	r2, [fp, #-24]
	mov	r2, #39
	strb	r2, [r3]
	ldr	r3, [fp, #-44]
	sub	r3, r3, #1
	ldr	r2, [fp, #-28]
	cmp	r2, r3
	bge	.L3648
	ldr	r3, [fp, #-24]
	add	r2, r3, #1
	str	r2, [fp, #-24]
	mov	r2, #32
	strb	r2, [r3]
.L3648:
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L3647:
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-44]
	cmp	r2, r3
	blt	.L3649
	ldr	r3, [fp, #-24]
	mov	r2, #0
	strb	r2, [r3]
	mov	r2, #0
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-40]
	bl	setvar
	mov	r3, #0
	ldr	r2, .L3652
	ldr	r1, [r2]
	ldr	r2, [fp, #-16]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L3651
	bl	__stack_chk_fail
.L3651:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L3653:
	.align	2
.L3652:
	.word	.LC409
	.size	setquoted, .-setquoted
	.section	.rodata
	.align	2
.LC410:
	.ascii	"result\000"
	.text
	.align	2
	.global	mk_quotecmd
	.syntax unified
	.arm
	.fpu softvfp
	.type	mk_quotecmd, %function
mk_quotecmd:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-8]
	sub	r1, r3, #1
	ldr	r3, [fp, #-12]
	add	r3, r3, #4
	mov	r2, r3
	ldr	r0, .L3656
	bl	setquoted
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3657:
	.align	2
.L3656:
	.word	.LC410
	.size	mk_quotecmd, .-mk_quotecmd
	.section	.rodata
	.align	2
.LC411:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	mk_quote_spacecmd
	.syntax unified
	.arm
	.fpu softvfp
	.type	mk_quote_spacecmd, %function
mk_quote_spacecmd:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #36
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	ldr	r3, .L3669
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	ldr	r3, [fp, #-40]
	sub	r3, r3, #1
	str	r3, [fp, #-36]
	mov	r3, #0
	str	r3, [fp, #-32]
	mov	r3, #0
	str	r3, [fp, #-28]
	mov	r3, #0
	str	r3, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-24]
	mov	r3, #1
	str	r3, [fp, #-32]
	b	.L3659
.L3660:
	ldr	r3, [fp, #-44]
	add	r3, r3, #4
	ldr	r3, [r3]
	mov	r0, r3
	bl	strlen
	mov	r4, r0
	ldr	r3, [fp, #-44]
	add	r3, r3, #4
	ldr	r3, [r3]
	mov	r1, #32
	mov	r0, r3
	bl	strchrcount
	mov	r3, r0
	add	r3, r4, r3
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L3659:
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-40]
	cmp	r2, r3
	blt	.L3660
	ldr	r3, [fp, #-36]
	add	r3, r3, #7
	lsr	r3, r3, #3
	lsl	r3, r3, #3
	sub	sp, sp, r3
	mov	r3, sp
	add	r3, r3, #7
	lsr	r3, r3, #3
	lsl	r3, r3, #3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-24]
	mov	r3, #1
	str	r3, [fp, #-32]
	b	.L3661
.L3666:
	mov	r3, #0
	str	r3, [fp, #-28]
	b	.L3662
.L3664:
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-44]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-28]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #32
	bne	.L3663
	ldr	r3, [fp, #-24]
	add	r2, r3, #1
	str	r2, [fp, #-24]
	mov	r2, #92
	strb	r2, [r3]
.L3663:
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-44]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-28]
	add	r2, r2, r3
	ldr	r3, [fp, #-24]
	add	r1, r3, #1
	str	r1, [fp, #-24]
	ldrb	r2, [r2]	@ zero_extendqisi2
	strb	r2, [r3]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L3662:
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-44]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-28]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L3664
	ldr	r3, [fp, #-40]
	sub	r3, r3, #1
	ldr	r2, [fp, #-32]
	cmp	r2, r3
	bge	.L3665
	ldr	r3, [fp, #-24]
	add	r2, r3, #1
	str	r2, [fp, #-24]
	mov	r2, #32
	strb	r2, [r3]
.L3665:
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L3661:
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-40]
	cmp	r2, r3
	blt	.L3666
	ldr	r3, [fp, #-24]
	mov	r2, #0
	strb	r2, [r3]
	mov	r2, #0
	ldr	r1, [fp, #-20]
	ldr	r0, .L3669+4
	bl	setvar
	mov	r3, #0
	ldr	r2, .L3669
	ldr	r1, [r2]
	ldr	r2, [fp, #-16]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L3668
	bl	__stack_chk_fail
.L3668:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L3670:
	.align	2
.L3669:
	.word	.LC411
	.word	.LC410
	.size	mk_quote_spacecmd, .-mk_quote_spacecmd
	.section	.rodata
	.align	2
.LC412:
	.ascii	"\000"
	.text
	.align	2
	.global	mk_push_varscmd
	.syntax unified
	.arm
	.fpu softvfp
	.type	mk_push_varscmd, %function
mk_push_varscmd:
	@ 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]
	mov	r3, #0
	str	r3, [fp, #-8]
	mov	r3, #1
	str	r3, [fp, #-8]
	b	.L3672
.L3674:
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	mklocal
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r1, #61
	mov	r0, r3
	bl	strchr
	mov	r3, r0
	cmp	r3, #0
	bne	.L3673
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, #0
	ldr	r1, .L3676
	mov	r0, r3
	bl	setvar
.L3673:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L3672:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	blt	.L3674
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3677:
	.align	2
.L3676:
	.word	.LC412
	.size	mk_push_varscmd, .-mk_push_varscmd
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	shiftn, %function
shiftn:
	@ 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]
	mov	r3, #0
	str	r3, [fp, #-12]
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, .L3686
	ldr	r3, [r3]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	ble	.L3679
	ldr	r0, .L3686+4
	bl	sh_error
.L3679:
	ldr	r3, .L3686+8
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L3686+8
	str	r3, [r2]
	ldr	r3, .L3686
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	sub	r3, r2, r3
	ldr	r2, .L3686
	str	r3, [r2]
	ldr	r3, .L3686
	ldr	r3, [r3, #8]
	str	r3, [fp, #-12]
	b	.L3680
.L3682:
	ldr	r3, .L3686
	ldrb	r3, [r3, #4]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L3681
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	mov	r0, r3
	bl	free
.L3681:
	ldr	r3, [fp, #-12]
	add	r3, r3, #4
	str	r3, [fp, #-12]
.L3680:
	ldr	r3, [fp, #-16]
	sub	r3, r3, #1
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bge	.L3682
	ldr	r3, .L3686
	ldr	r3, [r3, #8]
	str	r3, [fp, #-8]
	nop
.L3683:
	ldr	r2, [fp, #-12]
	add	r3, r2, #4
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-8]
	add	r1, r3, #4
	str	r1, [fp, #-8]
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L3683
	ldr	r3, .L3686
	mov	r2, #1
	str	r2, [r3, #12]
	ldr	r3, .L3686
	mvn	r2, #0
	str	r2, [r3, #16]
	ldr	r3, .L3686+8
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L3686+8
	str	r3, [r2]
	ldr	r3, .L3686+8
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L3685
	ldr	r3, .L3686+12
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L3685
	bl	onint
.L3685:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3687:
	.align	2
.L3686:
	.word	shellparam
	.word	.LC267
	.word	suppressint
	.word	intpending
	.size	shiftn, .-shiftn
	.section	.rodata
	.align	2
.LC413:
	.ascii	"--\000"
	.align	2
.LC414:
	.ascii	"={\000"
	.align	2
.LC415:
	.ascii	"missing closing }\000"
	.text
	.align	2
	.global	mk_parse_paramscmd
	.syntax unified
	.arm
	.fpu softvfp
	.type	mk_parse_paramscmd, %function
mk_parse_paramscmd:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #20
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	mov	r3, #0
	str	r3, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L3689
.L3700:
	ldr	r3, .L3702
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, .L3702+4
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L3690
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
	b	.L3691
.L3690:
	ldr	r3, .L3702
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #64
	bne	.L3692
	ldr	r3, .L3702
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r4, [r3]
	ldr	r3, .L3702
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	sub	r3, r3, #2
	add	r3, r4, r3
	ldr	r1, .L3702+8
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L3692
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-16]
	b	.L3693
.L3696:
	ldr	r3, .L3702
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, .L3702+12
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L3694
	ldr	r3, .L3702
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r4, [r3]
	ldr	r3, .L3702
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	sub	r3, r3, #2
	add	r3, r4, r3
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, .L3702
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	add	r0, r3, #1
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-20]
	sub	r3, r2, r3
	sub	r1, r3, #1
	ldr	r3, .L3702
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r3
	bl	setquoted
	ldr	r3, .L3702
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r4, [r3]
	ldr	r3, .L3702
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	sub	r3, r3, #2
	add	r3, r4, r3
	mov	r2, #61
	strb	r2, [r3]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-20]
	b	.L3695
.L3694:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L3693:
	ldr	r3, .L3702
	ldr	r3, [r3]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	blt	.L3696
.L3695:
	ldr	r3, .L3702
	ldr	r3, [r3]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	bne	.L3698
	ldr	r0, .L3702+16
	bl	sh_error
.L3692:
	ldr	r3, .L3702
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r1, #61
	mov	r0, r3
	bl	strchr
	mov	r3, r0
	cmp	r3, #0
	beq	.L3701
	ldr	r3, .L3702
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r1, #0
	mov	r0, r3
	bl	setvareq
.L3698:
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L3689:
	ldr	r3, .L3702
	ldr	r3, [r3]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	blt	.L3700
	b	.L3691
.L3701:
	nop
.L3691:
	ldr	r0, [fp, #-20]
	bl	shiftn
	nop
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L3703:
	.align	2
.L3702:
	.word	shellparam
	.word	.LC413
	.word	.LC414
	.word	.LC44
	.word	.LC415
	.size	mk_parse_paramscmd, .-mk_parse_paramscmd
	.global	builtincmd
	.section	.rodata
	.align	2
.LC416:
	.ascii	":\000"
	.align	2
.LC417:
	.ascii	"[\000"
	.align	2
.LC418:
	.ascii	"_mk_push_vars\000"
	.align	2
.LC419:
	.ascii	"bg\000"
	.align	2
.LC420:
	.ascii	"break\000"
	.align	2
.LC421:
	.ascii	"cd\000"
	.align	2
.LC422:
	.ascii	"chdir\000"
	.align	2
.LC423:
	.ascii	"command\000"
	.align	2
.LC424:
	.ascii	"continue\000"
	.align	2
.LC425:
	.ascii	"echo\000"
	.align	2
.LC426:
	.ascii	"eval\000"
	.align	2
.LC427:
	.ascii	"exec\000"
	.align	2
.LC428:
	.ascii	"exit\000"
	.align	2
.LC429:
	.ascii	"export\000"
	.align	2
.LC430:
	.ascii	"false\000"
	.align	2
.LC431:
	.ascii	"fg\000"
	.align	2
.LC432:
	.ascii	"getopts\000"
	.align	2
.LC433:
	.ascii	"hash\000"
	.align	2
.LC434:
	.ascii	"jobs\000"
	.align	2
.LC435:
	.ascii	"kill\000"
	.align	2
.LC436:
	.ascii	"local\000"
	.align	2
.LC437:
	.ascii	"mk_parse_params\000"
	.align	2
.LC438:
	.ascii	"mk_quote\000"
	.align	2
.LC439:
	.ascii	"mk_quote_list\000"
	.align	2
.LC440:
	.ascii	"mk_quote_space\000"
	.align	2
.LC441:
	.ascii	"mk_quote_space_list\000"
	.align	2
.LC442:
	.ascii	"printf\000"
	.align	2
.LC443:
	.ascii	"pwd\000"
	.align	2
.LC444:
	.ascii	"read\000"
	.align	2
.LC445:
	.ascii	"readonly\000"
	.align	2
.LC446:
	.ascii	"return\000"
	.align	2
.LC447:
	.ascii	"set\000"
	.align	2
.LC448:
	.ascii	"shift\000"
	.align	2
.LC449:
	.ascii	"test\000"
	.align	2
.LC450:
	.ascii	"times\000"
	.align	2
.LC451:
	.ascii	"trap\000"
	.align	2
.LC452:
	.ascii	"true\000"
	.align	2
.LC453:
	.ascii	"type\000"
	.align	2
.LC454:
	.ascii	"ulimit\000"
	.align	2
.LC455:
	.ascii	"umask\000"
	.align	2
.LC456:
	.ascii	"unset\000"
	.align	2
.LC457:
	.ascii	"wait\000"
	.align	2
	.type	builtincmd, %object
	.size	builtincmd, 540
builtincmd:
	.word	.LC61
	.word	dotcmd
	.word	3
	.word	.LC416
	.word	truecmd
	.word	3
	.word	.LC417
	.word	testcmd
	.word	0
	.word	.LC418
	.word	mk_push_varscmd
	.word	7
	.word	.LC46
	.word	aliascmd
	.word	6
	.word	.LC419
	.word	bgcmd
	.word	2
	.word	.LC420
	.word	breakcmd
	.word	3
	.word	.LC421
	.word	cdcmd
	.word	2
	.word	.LC422
	.word	cdcmd
	.word	0
	.word	.LC423
	.word	commandcmd
	.word	2
	.word	.LC424
	.word	breakcmd
	.word	3
	.word	.LC425
	.word	echocmd
	.word	0
	.word	.LC426
	.word	0
	.word	3
	.word	.LC427
	.word	execcmd
	.word	3
	.word	.LC428
	.word	exitcmd
	.word	3
	.word	.LC429
	.word	exportcmd
	.word	7
	.word	.LC430
	.word	falsecmd
	.word	2
	.word	.LC431
	.word	fgcmd
	.word	2
	.word	.LC432
	.word	getoptscmd
	.word	2
	.word	.LC433
	.word	hashcmd
	.word	0
	.word	.LC434
	.word	jobscmd
	.word	2
	.word	.LC435
	.word	killcmd
	.word	2
	.word	.LC436
	.word	localcmd
	.word	7
	.word	.LC437
	.word	mk_parse_paramscmd
	.word	0
	.word	.LC438
	.word	mk_quotecmd
	.word	0
	.word	.LC439
	.word	mk_quotecmd
	.word	0
	.word	.LC440
	.word	mk_quote_spacecmd
	.word	0
	.word	.LC441
	.word	mk_quote_spacecmd
	.word	0
	.word	.LC442
	.word	printfcmd
	.word	0
	.word	.LC443
	.word	pwdcmd
	.word	0
	.word	.LC444
	.word	readcmd
	.word	2
	.word	.LC445
	.word	exportcmd
	.word	7
	.word	.LC446
	.word	returncmd
	.word	3
	.word	.LC447
	.word	setcmd
	.word	3
	.word	.LC448
	.word	shiftcmd
	.word	3
	.word	.LC449
	.word	testcmd
	.word	0
	.word	.LC450
	.word	timescmd
	.word	3
	.word	.LC451
	.word	trapcmd
	.word	3
	.word	.LC452
	.word	truecmd
	.word	2
	.word	.LC453
	.word	typecmd
	.word	0
	.word	.LC454
	.word	ulimitcmd
	.word	0
	.word	.LC455
	.word	umaskcmd
	.word	2
	.word	.LC49
	.word	unaliascmd
	.word	2
	.word	.LC456
	.word	unsetcmd
	.word	3
	.word	.LC457
	.word	waitcmd
	.word	2
	.align	2
.LC458:
	.ascii	"%ld\000"
	.align	2
.LC459:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	init
	.syntax unified
	.arm
	.fpu softvfp
	.type	init, %function
init:
	@ args = 0, pretend = 0, frame = 192
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #196
	ldr	r3, .L3711
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	ldr	r3, .L3711+4
	ldr	r2, .L3711+8
	str	r2, [r3, #24]
	ldr	r3, .L3711+4
	ldr	r3, [r3, #24]
	ldr	r2, .L3711+4
	str	r3, [r2, #20]
	ldr	r3, .L3711+12
	mov	r2, #1
	strb	r2, [r3, #16]
	mov	r0, #17
	bl	setsignal
	bl	initvar
	ldr	r3, .L3711+16
	ldr	r3, [r3]
	str	r3, [fp, #-204]
	b	.L3705
.L3707:
	ldr	r3, [fp, #-204]
	ldr	r3, [r3]
	mov	r1, #61
	mov	r0, r3
	bl	strchr
	mov	r3, r0
	cmp	r3, #0
	beq	.L3706
	ldr	r3, [fp, #-204]
	ldr	r3, [r3]
	mov	r1, #9
	mov	r0, r3
	bl	setvareq
.L3706:
	ldr	r3, [fp, #-204]
	add	r3, r3, #4
	str	r3, [fp, #-204]
.L3705:
	ldr	r3, [fp, #-204]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L3707
	ldr	r4, .L3711+20
	bl	getppid
	mov	r3, r0
	ldr	r2, .L3711+24
	mov	r1, #27
	mov	r0, r4
	bl	fmtstr
	mov	r1, #8
	ldr	r0, .L3711+28
	bl	setvareq
	ldr	r0, .L3711+32
	bl	lookupvar
	str	r0, [fp, #-200]
	ldr	r3, [fp, #-200]
	cmp	r3, #0
	beq	.L3708
	ldr	r3, [fp, #-200]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #47
	bne	.L3709
	sub	r3, fp, #196
	mov	r1, r3
	ldr	r0, [fp, #-200]
	bl	stat
	mov	r3, r0
	cmp	r3, #0
	bne	.L3709
	sub	r3, fp, #108
	mov	r1, r3
	ldr	r0, .L3711+36
	bl	stat
	mov	r3, r0
	cmp	r3, #0
	bne	.L3709
	sub	r1, fp, #196
	ldmia	r1, {r0-r1}
	sub	r3, fp, #108
	ldmia	r3, {r2-r3}
	cmp	r1, r3
	cmpeq	r0, r2
	bne	.L3709
	ldr	r2, [fp, #-184]
	ldr	r3, [fp, #-96]
	cmp	r2, r3
	beq	.L3708
.L3709:
	mov	r3, #0
	str	r3, [fp, #-200]
.L3708:
	mov	r1, #0
	ldr	r0, [fp, #-200]
	bl	setpwd
	nop
	ldr	r3, .L3711
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L3710
	bl	__stack_chk_fail
.L3710:
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L3712:
	.align	2
.L3711:
	.word	.LC459
	.word	basepf
	.word	basebuf
	.word	sigmode
	.word	environ
	.word	ppid.12558+5
	.word	.LC458
	.word	ppid.12558
	.word	.LC67
	.word	.LC61
	.size	init, .-init
	.align	2
	.global	reset
	.syntax unified
	.arm
	.fpu softvfp
	.type	reset, %function
reset:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L3714
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L3714+4
	mov	r2, #0
	str	r2, [r3]
	bl	ifsfree
	ldr	r3, .L3714+8
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L3714+8
	ldr	r3, [r3]
	ldr	r2, .L3714+12
	str	r3, [r2]
	bl	popallfiles
	ldr	r3, .L3714+16
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L3714+20
	mov	r2, #0
	str	r2, [r3]
	mov	r0, #0
	bl	unwindredir
	mov	r0, #0
	bl	unwindlocalvars
	nop
	pop	{fp, pc}
.L3715:
	.align	2
.L3714:
	.word	evalskip
	.word	loopnest
	.word	parsenleft
	.word	parselleft
	.word	tokpushback
	.word	checkkwd
	.size	reset, .-reset
	.comm	funcblocksize,4,4
	.comm	funcstringsize,4,4
	.comm	funcblock,4,4
	.comm	funcstring,4,4
	.section	.rodata
	.align	2
	.type	nodesize, %object
	.size	nodesize, 52
nodesize:
	.short	24
	.short	16
	.short	16
	.short	16
	.short	16
	.short	16
	.short	16
	.short	16
	.short	16
	.short	16
	.short	16
	.short	24
	.short	16
	.short	16
	.short	16
	.short	16
	.short	24
	.short	24
	.short	24
	.short	24
	.short	24
	.short	24
	.short	24
	.short	16
	.short	16
	.short	8
	.text
	.align	2
	.global	copyfunc
	.syntax unified
	.arm
	.fpu softvfp
	.type	copyfunc, %function
copyfunc:
	@ 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, .L3718
	mov	r2, #4
	str	r2, [r3]
	ldr	r3, .L3718+4
	mov	r2, #0
	str	r2, [r3]
	ldr	r0, [fp, #-16]
	bl	calcsize
	ldr	r3, .L3718
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r3, .L3718+4
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	mov	r0, r3
	bl	ckmalloc
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	add	r3, r3, #4
	ldr	r2, .L3718+8
	str	r3, [r2]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	ldr	r2, .L3718+12
	str	r3, [r2]
	ldr	r0, [fp, #-16]
	bl	copynode
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3719:
	.align	2
.L3718:
	.word	funcblocksize
	.word	funcstringsize
	.word	funcblock
	.word	funcstring
	.size	copyfunc, .-copyfunc
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	calcsize, %function
calcsize:
	@ 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	.L3738
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldr	r2, .L3739
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	mov	r2, r3
	ldr	r3, .L3739+4
	ldr	r3, [r3]
	add	r3, r2, r3
	ldr	r2, .L3739+4
	str	r3, [r2]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	cmp	r3, #25
	ldrls	pc, [pc, r3, asl #2]
	b	.L3720
.L3724:
	.word	.L3737
	.word	.L3736
	.word	.L3735
	.word	.L3735
	.word	.L3735
	.word	.L3733
	.word	.L3733
	.word	.L3733
	.word	.L3734
	.word	.L3733
	.word	.L3733
	.word	.L3732
	.word	.L3731
	.word	.L3730
	.word	.L3729
	.word	.L3728
	.word	.L3727
	.word	.L3727
	.word	.L3727
	.word	.L3727
	.word	.L3727
	.word	.L3726
	.word	.L3726
	.word	.L3725
	.word	.L3725
	.word	.L3723
.L3737:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #16]
	mov	r0, r3
	bl	calcsize
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #12]
	mov	r0, r3
	bl	calcsize
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	calcsize
	b	.L3720
.L3736:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	sizenodelist
	b	.L3720
.L3735:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #12]
	mov	r0, r3
	bl	calcsize
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	calcsize
	b	.L3720
.L3733:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	calcsize
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	calcsize
	b	.L3720
.L3734:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #12]
	mov	r0, r3
	bl	calcsize
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	calcsize
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	calcsize
	b	.L3720
.L3732:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #16]
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	ldr	r2, .L3739+8
	ldr	r2, [r2]
	add	r3, r3, r2
	add	r3, r3, #1
	mov	r2, r3
	ldr	r3, .L3739+8
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #12]
	mov	r0, r3
	bl	calcsize
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	calcsize
	b	.L3720
.L3731:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #12]
	mov	r0, r3
	bl	calcsize
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	calcsize
	b	.L3720
.L3730:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #12]
	mov	r0, r3
	bl	calcsize
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	calcsize
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	calcsize
	b	.L3720
.L3729:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #12]
	mov	r0, r3
	bl	calcsize
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	ldr	r2, .L3739+8
	ldr	r2, [r2]
	add	r3, r3, r2
	add	r3, r3, #1
	mov	r2, r3
	ldr	r3, .L3739+8
	str	r2, [r3]
	b	.L3720
.L3728:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #12]
	mov	r0, r3
	bl	sizenodelist
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	ldr	r2, .L3739+8
	ldr	r2, [r2]
	add	r3, r3, r2
	add	r3, r3, #1
	mov	r2, r3
	ldr	r3, .L3739+8
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	calcsize
	b	.L3720
.L3727:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #12]
	mov	r0, r3
	bl	calcsize
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	calcsize
	b	.L3720
.L3726:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #16]
	mov	r0, r3
	bl	calcsize
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	calcsize
	b	.L3720
.L3725:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #12]
	mov	r0, r3
	bl	calcsize
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	calcsize
	b	.L3720
.L3723:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	calcsize
	b	.L3720
.L3738:
	nop
.L3720:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3740:
	.align	2
.L3739:
	.word	nodesize
	.word	funcblocksize
	.word	funcstringsize
	.size	calcsize, .-calcsize
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	sizenodelist, %function
sizenodelist:
	@ 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]
	b	.L3742
.L3743:
	ldr	r3, .L3744
	ldr	r3, [r3]
	add	r3, r3, #8
	mov	r2, r3
	ldr	r3, .L3744
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	calcsize
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	str	r3, [fp, #-8]
.L3742:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L3743
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3745:
	.align	2
.L3744:
	.word	funcblocksize
	.size	sizenodelist, .-sizenodelist
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	copynode, %function
copynode:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L3747
	mov	r3, #0
	b	.L3748
.L3747:
	ldr	r3, .L3765
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, .L3765
	ldr	r3, [r3]
	ldr	r2, [fp, #-16]
	ldr	r2, [r2]
	ldr	r1, .L3765+4
	lsl	r2, r2, #1
	add	r2, r1, r2
	ldrsh	r2, [r2]
	add	r3, r3, r2
	ldr	r2, .L3765
	str	r3, [r2]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	cmp	r3, #25
	ldrls	pc, [pc, r3, asl #2]
	b	.L3749
.L3751:
	.word	.L3764
	.word	.L3763
	.word	.L3762
	.word	.L3762
	.word	.L3762
	.word	.L3760
	.word	.L3760
	.word	.L3760
	.word	.L3761
	.word	.L3760
	.word	.L3760
	.word	.L3759
	.word	.L3758
	.word	.L3757
	.word	.L3756
	.word	.L3755
	.word	.L3754
	.word	.L3754
	.word	.L3754
	.word	.L3754
	.word	.L3754
	.word	.L3753
	.word	.L3753
	.word	.L3752
	.word	.L3752
	.word	.L3750
.L3764:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #16]
	mov	r0, r3
	bl	copynode
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	mov	r0, r3
	bl	copynode
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	copynode
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #4]
	b	.L3749
.L3763:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	copynodelist
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #4]
	b	.L3749
.L3762:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	mov	r0, r3
	bl	copynode
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	copynode
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #4]
	b	.L3749
.L3760:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	copynode
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	copynode
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3, #4]
	b	.L3749
.L3761:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	mov	r0, r3
	bl	copynode
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	copynode
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	copynode
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3, #4]
	b	.L3749
.L3759:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #16]
	mov	r0, r3
	bl	nodesavestr
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	mov	r0, r3
	bl	copynode
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	copynode
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #4]
	b	.L3749
.L3758:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	mov	r0, r3
	bl	copynode
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	copynode
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #4]
	b	.L3749
.L3757:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	mov	r0, r3
	bl	copynode
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	copynode
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	copynode
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3, #4]
	b	.L3749
.L3756:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	mov	r0, r3
	bl	copynode
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	nodesavestr
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #4]
	b	.L3749
.L3755:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	mov	r0, r3
	bl	copynodelist
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	nodesavestr
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	copynode
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3, #4]
	b	.L3749
.L3754:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	mov	r0, r3
	bl	copynode
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	copynode
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3, #4]
	b	.L3749
.L3753:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #16]
	mov	r0, r3
	bl	copynode
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	copynode
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3, #4]
	b	.L3749
.L3752:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	mov	r0, r3
	bl	copynode
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	copynode
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3, #4]
	b	.L3749
.L3750:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	copynode
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3, #4]
	nop
.L3749:
	ldr	r3, [fp, #-16]
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
.L3748:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3766:
	.align	2
.L3765:
	.word	funcblock
	.word	nodesize
	.size	copynode, .-copynode
	.section	.rodata
	.align	2
.LC460:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	copynodelist, %function
copynodelist:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #28
	str	r0, [fp, #-32]
	ldr	r3, .L3772
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	sub	r3, fp, #24
	str	r3, [fp, #-20]
	b	.L3768
.L3769:
	ldr	r3, .L3772+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	str	r2, [r3]
	ldr	r3, .L3772+4
	ldr	r3, [r3]
	add	r3, r3, #8
	ldr	r2, .L3772+4
	str	r3, [r2]
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-20]
	ldr	r4, [r3]
	mov	r0, r2
	bl	copynode
	mov	r3, r0
	str	r3, [r4, #4]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	str	r3, [fp, #-20]
.L3768:
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L3769
	ldr	r3, [fp, #-20]
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r2, .L3772
	ldr	r1, [r2]
	ldr	r2, [fp, #-16]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L3771
	bl	__stack_chk_fail
.L3771:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L3773:
	.align	2
.L3772:
	.word	.LC460
	.word	funcblock
	.size	copynodelist, .-copynodelist
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	nodesavestr, %function
nodesavestr:
	@ 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, .L3776
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, .L3776
	ldr	r3, [r3]
	ldr	r1, [fp, #-16]
	mov	r0, r3
	bl	stpcpy
	mov	r3, r0
	add	r3, r3, #1
	ldr	r2, .L3776
	str	r3, [r2]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3777:
	.align	2
.L3776:
	.word	funcstring
	.size	nodesavestr, .-nodesavestr
	.align	2
	.global	freefunc
	.syntax unified
	.arm
	.fpu softvfp
	.type	freefunc, %function
freefunc:
	@ 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	.L3780
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	sub	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	cmp	r3, #0
	bge	.L3780
	ldr	r0, [fp, #-8]
	bl	free
.L3780:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	freefunc, .-freefunc
	.global	basesyntax
	.section	.rodata
	.align	2
	.type	basesyntax, %object
	.size	basesyntax, 258
basesyntax:
	.ascii	"\013\015\000\014\014\014\014\014\014\014\014\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\015\001\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\015\000\004\000\007\000\015"
	.ascii	"\003\015\015\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\015\015\000\015\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\002\000\000\000\006\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\015\010\000\000"
	.global	dqsyntax
	.align	2
	.type	dqsyntax, %object
	.size	dqsyntax, 258
dqsyntax:
	.ascii	"\013\016\000\014\014\014\014\014\014\014\014\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\001\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\014\005\000\007\000\000"
	.ascii	"\000\000\000\014\000\000\014\000\014\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\014\000\000\014\000\014\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\014\002\014\000\000\006\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\010\014\000"
	.global	sqsyntax
	.align	2
	.type	sqsyntax, %object
	.size	sqsyntax, 258
sqsyntax:
	.ascii	"\013\016\000\014\014\014\014\014\014\014\014\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\001\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\014\000\000\000\000\000"
	.ascii	"\005\000\000\014\000\000\014\000\014\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\014\000\000\014\000\014\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\014\014\014\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\014\000"
	.global	arisyntax
	.align	2
	.type	arisyntax, %object
	.size	arisyntax, 258
arisyntax:
	.ascii	"\013\016\000\014\014\014\014\014\014\014\014\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\001\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\007\000\000"
	.ascii	"\000\011\012\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\002\000\000\000\006\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\010\000\000"
	.global	is_type
	.align	2
	.type	is_type, %object
	.size	is_type, 258
is_type:
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\020\000\020\020\000\000"
	.ascii	"\000\000\000\020\000\000\020\000\000\001\001\001\001"
	.ascii	"\001\001\001\001\001\001\000\000\000\000\000\020\020"
	.ascii	"\002\002\002\002\002\002\002\002\002\002\002\002\002"
	.ascii	"\002\002\002\002\002\002\002\002\002\002\002\002\002"
	.ascii	"\000\000\000\000\010\000\004\004\004\004\004\004\004"
	.ascii	"\004\004\004\004\004\004\004\004\004\004\004\004\004"
	.ascii	"\004\004\004\004\004\004\000\000\000\000\000"
	.align	2
	.type	spclchars.9207, %object
	.size	spclchars.9207, 9
spclchars.9207:
	.ascii	"=:\210\203\201\202\204\207\000"
	.align	2
	.type	metachars.9492, %object
	.size	metachars.9492, 4
metachars.9492:
	.ascii	"*?[\000"
	.align	2
	.type	classes.9576, %object
	.size	classes.9576, 192
classes.9576:
	.ascii	":alnum:]\000"
	.space	1
	.space	2
	.word	isalnum
	.ascii	":cntrl:]\000"
	.space	1
	.space	2
	.word	iscntrl
	.ascii	":lower:]\000"
	.space	1
	.space	2
	.word	islower
	.ascii	":space:]\000"
	.space	1
	.space	2
	.word	isspace
	.ascii	":alpha:]\000"
	.space	1
	.space	2
	.word	isalpha
	.ascii	":digit:]\000"
	.space	1
	.space	2
	.word	isdigit
	.ascii	":print:]\000"
	.space	1
	.space	2
	.word	isprint
	.ascii	":upper:]\000"
	.space	1
	.space	2
	.word	isupper
	.ascii	":blank:]\000"
	.space	1
	.space	2
	.word	isblank
	.ascii	":graph:]\000"
	.space	1
	.space	2
	.word	isgraph
	.ascii	":punct:]\000"
	.space	1
	.space	2
	.word	ispunct
	.ascii	":xdigit:]\000"
	.space	2
	.word	isxdigit
	.align	2
	.type	vstype.10386, %object
	.size	vstype.10386, 64
vstype.10386:
	.ascii	"\000"
	.space	3
	.ascii	"}\000"
	.space	2
	.ascii	"-\000"
	.space	2
	.ascii	"+\000"
	.space	2
	.ascii	"?\000"
	.space	2
	.ascii	"=\000"
	.space	2
	.ascii	"%\000"
	.space	2
	.ascii	"%%\000"
	.space	1
	.ascii	"#\000"
	.space	2
	.ascii	"##\000"
	.space	1
	.space	24
	.align	2
	.type	types.11306, %object
	.size	types.11306, 6
types.11306:
	.ascii	"}-+?=\000"
	.local	is_interactive.11556
	.comm	is_interactive.11556,4,4
	.data
	.align	2
	.type	ppid.12558, %object
	.size	ppid.12558, 32
ppid.12558:
	.ascii	"PPID=\000"
	.space	26
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
