	.file	"357590.c"
	.intel_syntax noprefix
	.text
	.globl	freeJob
	.type	freeJob, @function
freeJob:
.LFB6:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -4[rbp], 0
	jmp	.L2
.L5:
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 40[rax]
	mov	eax, DWORD PTR -4[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 3
	sub	rax, rdx
	sal	rax, 4
	add	rax, rcx
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 40[rax]
	mov	eax, DWORD PTR -4[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 3
	sub	rax, rdx
	sal	rax, 4
	add	rax, rcx
	mov	rax, QWORD PTR 24[rax]
	test	rax, rax
	je	.L3
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 40[rax]
	mov	eax, DWORD PTR -4[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 3
	sub	rax, rdx
	sal	rax, 4
	add	rax, rcx
	mov	rax, QWORD PTR 24[rax]
	mov	rdi, rax
	call	free@PLT
.L3:
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 40[rax]
	mov	eax, DWORD PTR -4[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 3
	sub	rax, rdx
	sal	rax, 4
	add	rax, rcx
	mov	eax, DWORD PTR 104[rax]
	test	eax, eax
	je	.L4
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 40[rax]
	mov	eax, DWORD PTR -4[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 3
	sub	rax, rdx
	sal	rax, 4
	add	rax, rcx
	add	rax, 32
	mov	rdi, rax
	call	globfree@PLT
.L4:
	add	DWORD PTR -4[rbp], 1
.L2:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -4[rbp], eax
	jl	.L5
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 40[rax]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	test	rax, rax
	je	.L6
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdi, rax
	call	free@PLT
.L6:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	rdi, rax
	call	free@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	freeJob, .-freeJob
	.section	.rodata
.LC0:
	.string	"@> "
	.text
	.globl	getCommand
	.type	getCommand, @function
getCommand:
.LFB7:
	.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 stdin[rip]
	cmp	QWORD PTR -8[rbp], rax
	jne	.L8
	lea	rdi, .LC0[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR stdout[rip]
	mov	rdi, rax
	call	fflush@PLT
.L8:
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	esi, 250
	mov	rdi, rax
	call	fgets@PLT
	test	rax, rax
	jne	.L9
	mov	rax, QWORD PTR stdin[rip]
	cmp	QWORD PTR -8[rbp], rax
	jne	.L10
	mov	edi, 10
	call	putchar@PLT
.L10:
	mov	eax, 1
	jmp	.L11
.L9:
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	strlen@PLT
	lea	rdx, -1[rax]
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 0
	mov	eax, 0
.L11:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	getCommand, .-getCommand
	.section	.rodata
	.align 8
.LC1:
	.string	"out of space during glob operation\n"
	.text
	.globl	globLastArgument
	.type	globLastArgument, @function
globLastArgument:
.LFB8:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -56[rbp], rdi
	mov	QWORD PTR -64[rbp], rsi
	mov	QWORD PTR -72[rbp], rdx
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -36[rbp], eax
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -32[rbp], eax
	cmp	DWORD PTR -36[rbp], 1
	jle	.L13
	mov	DWORD PTR -28[rbp], 32
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	DWORD PTR -24[rbp], eax
	jmp	.L14
.L13:
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 104[rax], 1
	mov	DWORD PTR -28[rbp], 0
	mov	DWORD PTR -24[rbp], 0
.L14:
	mov	rax, QWORD PTR -56[rbp]
	lea	rdx, 32[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	esi, DWORD PTR -28[rbp]
	mov	rcx, rdx
	mov	edx, 0
	mov	rdi, rax
	call	glob@PLT
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], 1
	jne	.L15
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 35
	mov	esi, 1
	lea	rdi, .LC1[rip]
	call	fwrite@PLT
	jmp	.L12
.L15:
	cmp	DWORD PTR -20[rbp], 3
	je	.L17
	cmp	DWORD PTR -20[rbp], 0
	jne	.L18
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	edx, DWORD PTR -24[rbp]
	movsx	rdx, edx
	sub	rax, rdx
	cmp	rax, 1
	jne	.L18
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 40[rax]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L18
.L17:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L19
.L21:
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 92
	je	.L20
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	rdx, QWORD PTR -16[rbp]
	movzx	edx, BYTE PTR [rdx]
	mov	BYTE PTR [rax], dl
.L20:
	add	QWORD PTR -16[rbp], 1
.L19:
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L21
	mov	rax, QWORD PTR -8[rbp]
	mov	BYTE PTR [rax], 0
	jmp	.L22
.L18:
	cmp	DWORD PTR -20[rbp], 0
	jne	.L22
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	edx, eax
	mov	eax, DWORD PTR -24[rbp]
	sub	edx, eax
	mov	eax, DWORD PTR -32[rbp]
	add	eax, edx
	mov	DWORD PTR -32[rbp], eax
	mov	eax, DWORD PTR -32[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	realloc@PLT
	mov	rdx, QWORD PTR -56[rbp]
	mov	QWORD PTR 8[rdx], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	edx, DWORD PTR -24[rbp]
	movsx	rdx, edx
	sub	rax, rdx
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR 40[rax]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	sal	rax, 3
	add	rcx, rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rsi
	mov	rsi, rcx
	mov	rdi, rax
	call	memcpy@PLT
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	edx, eax
	mov	eax, DWORD PTR -24[rbp]
	sub	edx, eax
	mov	eax, DWORD PTR -36[rbp]
	add	eax, edx
	sub	eax, 1
	mov	DWORD PTR -36[rbp], eax
.L22:
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, DWORD PTR -32[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -64[rbp]
	mov	edx, DWORD PTR -36[rbp]
	mov	DWORD PTR [rax], edx
.L12:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	globLastArgument, .-globLastArgument
	.section	.rodata
.LC2:
	.string	"character expected after \\\n"
.LC3:
	.string	"file name expected after %c\n"
.LC4:
	.string	"empty command in pipe\n"
	.text
	.globl	parseCommand
	.type	parseCommand, @function
parseCommand:
.LFB9:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 112
	mov	QWORD PTR -88[rbp], rdi
	mov	QWORD PTR -96[rbp], rsi
	mov	QWORD PTR -104[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	QWORD PTR -48[rbp], 0
	mov	DWORD PTR -76[rbp], 0
	mov	DWORD PTR -68[rbp], 0
	mov	BYTE PTR -77[rbp], 0
	jmp	.L24
.L26:
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR [rax], rdx
.L24:
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L25
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	movsx	rax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8192
	test	eax, eax
	jne	.L26
.L25:
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L27
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 35
	jne	.L28
.L27:
	mov	rax, QWORD PTR -96[rbp]
	mov	DWORD PTR 4[rax], 0
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR [rax], 0
	mov	eax, 0
	jmp	.L76
.L28:
	mov	rax, QWORD PTR -104[rbp]
	mov	DWORD PTR [rax], 0
	mov	rax, QWORD PTR -96[rbp]
	mov	DWORD PTR 4[rax], 1
	mov	edi, 112
	call	malloc@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -96[rbp]
	mov	QWORD PTR 40[rax], rdx
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	strlen@PLT
	add	rax, 1
	mov	rsi, rax
	mov	edi, 1
	call	calloc@PLT
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -96[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -96[rbp]
	mov	QWORD PTR 16[rax], 0
	mov	rax, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR 40[rax]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 16[rax], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 24[rax], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 104[rax], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 108[rax], 0
	mov	DWORD PTR -72[rbp], 5
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	sal	rax, 3
	mov	rdi, rax
	call	malloc@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR -96[rbp]
	mov	rdx, QWORD PTR 24[rdx]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -40[rbp], rax
	jmp	.L30
.L71:
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	BYTE PTR -77[rbp], al
	jne	.L31
	mov	BYTE PTR -77[rbp], 0
	jmp	.L32
.L31:
	cmp	BYTE PTR -77[rbp], 0
	je	.L33
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 92
	jne	.L34
	add	QWORD PTR -40[rbp], 1
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L35
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 27
	mov	esi, 1
	lea	rdi, .LC2[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR -96[rbp]
	mov	rdi, rax
	call	freeJob
	mov	eax, 1
	jmp	.L76
.L35:
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	BYTE PTR -77[rbp], al
	je	.L36
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -32[rbp], rdx
	mov	BYTE PTR [rax], 92
	jmp	.L36
.L34:
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 42
	je	.L37
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 63
	je	.L37
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 91
	je	.L37
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 93
	jne	.L36
.L37:
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -32[rbp], rdx
	mov	BYTE PTR [rax], 92
.L36:
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -32[rbp], rdx
	mov	rdx, QWORD PTR -40[rbp]
	movzx	edx, BYTE PTR [rdx]
	mov	BYTE PTR [rax], dl
	jmp	.L32
.L33:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	rax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8192
	test	eax, eax
	je	.L38
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L32
	add	QWORD PTR -32[rbp], 1
	mov	eax, DWORD PTR -76[rbp]
	add	eax, 1
	mov	DWORD PTR -76[rbp], eax
	mov	eax, DWORD PTR -76[rbp]
	lea	edx, 1[rax]
	mov	eax, DWORD PTR -72[rbp]
	cmp	edx, eax
	jne	.L39
	mov	eax, DWORD PTR -72[rbp]
	add	eax, 5
	mov	DWORD PTR -72[rbp], eax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	realloc@PLT
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 8[rdx], rax
.L39:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR [rdx], rax
	lea	rdx, -72[rbp]
	lea	rcx, -76[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	globLastArgument
	jmp	.L32
.L38:
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	cmp	eax, 92
	jg	.L40
	cmp	eax, 34
	jl	.L41
	sub	eax, 34
	cmp	eax, 58
	ja	.L41
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L43[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L43[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L43:
	.long	.L46-.L43
	.long	.L48-.L43
	.long	.L41-.L43
	.long	.L41-.L43
	.long	.L47-.L43
	.long	.L46-.L43
	.long	.L41-.L43
	.long	.L41-.L43
	.long	.L41-.L43
	.long	.L41-.L43
	.long	.L41-.L43
	.long	.L41-.L43
	.long	.L41-.L43
	.long	.L41-.L43
	.long	.L41-.L43
	.long	.L41-.L43
	.long	.L41-.L43
	.long	.L41-.L43
	.long	.L41-.L43
	.long	.L41-.L43
	.long	.L41-.L43
	.long	.L41-.L43
	.long	.L41-.L43
	.long	.L41-.L43
	.long	.L41-.L43
	.long	.L45-.L43
	.long	.L44-.L43
	.long	.L41-.L43
	.long	.L44-.L43
	.long	.L41-.L43
	.long	.L41-.L43
	.long	.L41-.L43
	.long	.L41-.L43
	.long	.L41-.L43
	.long	.L41-.L43
	.long	.L41-.L43
	.long	.L41-.L43
	.long	.L41-.L43
	.long	.L41-.L43
	.long	.L41-.L43
	.long	.L41-.L43
	.long	.L41-.L43
	.long	.L41-.L43
	.long	.L41-.L43
	.long	.L41-.L43
	.long	.L41-.L43
	.long	.L41-.L43
	.long	.L41-.L43
	.long	.L41-.L43
	.long	.L41-.L43
	.long	.L41-.L43
	.long	.L41-.L43
	.long	.L41-.L43
	.long	.L41-.L43
	.long	.L41-.L43
	.long	.L41-.L43
	.long	.L41-.L43
	.long	.L41-.L43
	.long	.L42-.L43
	.text
.L40:
	cmp	eax, 124
	je	.L49
	jmp	.L41
.L46:
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -77[rbp], al
	jmp	.L32
.L48:
	mov	DWORD PTR -68[rbp], 1
	jmp	.L32
.L44:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	ecx, 1[rax]
	mov	rdx, QWORD PTR -24[rbp]
	mov	DWORD PTR 16[rdx], ecx
	mov	DWORD PTR -64[rbp], eax
	mov	eax, DWORD PTR -64[rbp]
	add	eax, 1
	cdqe
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	realloc@PLT
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 24[rdx], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	mov	DWORD PTR 4[rax], -1
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	cmp	QWORD PTR -32[rbp], rax
	je	.L50
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	lea	rcx, -56[rbp]
	mov	edx, 10
	mov	rsi, rcx
	mov	rdi, rax
	call	strtol@PLT
	mov	rdx, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 24[rdx]
	mov	edx, DWORD PTR -64[rbp]
	movsx	rdx, edx
	sal	rdx, 4
	add	rdx, rcx
	mov	DWORD PTR 4[rdx], eax
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L50
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L50
	add	QWORD PTR -32[rbp], 1
	mov	eax, DWORD PTR -76[rbp]
	add	eax, 1
	mov	DWORD PTR -76[rbp], eax
	lea	rdx, -72[rbp]
	lea	rcx, -76[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	globLastArgument
.L50:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	mov	eax, DWORD PTR 4[rax]
	cmp	eax, -1
	jne	.L51
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 62
	jne	.L52
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	mov	DWORD PTR 4[rax], 1
	jmp	.L51
.L52:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	mov	DWORD PTR 4[rax], 0
.L51:
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -40[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 62
	jne	.L53
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 62
	jne	.L54
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	mov	DWORD PTR [rax], 2
	add	QWORD PTR -40[rbp], 1
	jmp	.L55
.L54:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	mov	DWORD PTR [rax], 1
	jmp	.L55
.L53:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	mov	DWORD PTR [rax], 0
.L55:
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -56[rbp], rax
	jmp	.L56
.L57:
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 1
	mov	QWORD PTR -56[rbp], rax
.L56:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	rax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8192
	test	eax, eax
	jne	.L57
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L58
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	edx, al
	mov	rax, QWORD PTR stderr[rip]
	lea	rsi, .LC3[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rax, QWORD PTR -96[rbp]
	mov	rdi, rax
	call	freeJob
	mov	eax, 1
	jmp	.L76
.L58:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	sal	rax, 4
	add	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR 8[rdx], rax
	jmp	.L59
.L61:
	mov	rdx, QWORD PTR -56[rbp]
	lea	rax, 1[rdx]
	mov	QWORD PTR -56[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
.L59:
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L60
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	rax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8192
	test	eax, eax
	je	.L61
.L60:
	mov	rax, QWORD PTR -56[rbp]
	sub	rax, 1
	mov	QWORD PTR -40[rbp], rax
	add	QWORD PTR -32[rbp], 1
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR [rdx], rax
	jmp	.L32
.L49:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L62
	mov	eax, DWORD PTR -76[rbp]
	add	eax, 1
	mov	DWORD PTR -76[rbp], eax
.L62:
	mov	eax, DWORD PTR -76[rbp]
	test	eax, eax
	jne	.L63
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 22
	mov	esi, 1
	lea	rdi, .LC4[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR -96[rbp]
	mov	rdi, rax
	call	freeJob
	mov	eax, 1
	jmp	.L76
.L63:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	QWORD PTR [rax], 0
	mov	rax, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR 4[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -96[rbp]
	mov	DWORD PTR 4[rax], edx
	mov	rax, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR 4[rax]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 3
	sub	rax, rdx
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR 40[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	realloc@PLT
	mov	rdx, QWORD PTR -96[rbp]
	mov	QWORD PTR 40[rdx], rax
	mov	rax, QWORD PTR -96[rbp]
	mov	rcx, QWORD PTR 40[rax]
	mov	rax, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR 4[rax]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 3
	sub	rax, rdx
	sal	rax, 4
	sub	rax, 112
	add	rax, rcx
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 16[rax], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 24[rax], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 104[rax], 0
	mov	DWORD PTR -76[rbp], 0
	mov	DWORD PTR -72[rbp], 5
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	sal	rax, 3
	mov	rdi, rax
	call	malloc@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 8[rax], rdx
	add	QWORD PTR -32[rbp], 1
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR [rax], rdx
	add	QWORD PTR -40[rbp], 1
	jmp	.L64
.L66:
	add	QWORD PTR -40[rbp], 1
.L64:
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L65
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	rax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8192
	test	eax, eax
	jne	.L66
.L65:
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L67
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 22
	mov	esi, 1
	lea	rdi, .LC4[rip]
	call	fwrite@PLT
	mov	eax, 1
	jmp	.L76
.L67:
	sub	QWORD PTR -40[rbp], 1
	jmp	.L32
.L47:
	mov	rax, QWORD PTR -104[rbp]
	mov	DWORD PTR [rax], 1
.L45:
	mov	DWORD PTR -68[rbp], 1
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 1
	mov	QWORD PTR -48[rbp], rax
	jmp	.L32
.L42:
	add	QWORD PTR -40[rbp], 1
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L68
	mov	rax, QWORD PTR -96[rbp]
	mov	rdi, rax
	call	freeJob
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 27
	mov	esi, 1
	lea	rdi, .LC2[rip]
	call	fwrite@PLT
	mov	eax, 1
	jmp	.L76
.L68:
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 42
	je	.L69
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 91
	je	.L69
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 93
	je	.L69
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 63
	jne	.L41
.L69:
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -32[rbp], rdx
	mov	BYTE PTR [rax], 92
.L41:
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -32[rbp], rdx
	mov	rdx, QWORD PTR -40[rbp]
	movzx	edx, BYTE PTR [rdx]
	mov	BYTE PTR [rax], dl
.L32:
	add	QWORD PTR -40[rbp], 1
.L30:
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L70
	cmp	DWORD PTR -68[rbp], 0
	je	.L71
.L70:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L72
	mov	eax, DWORD PTR -76[rbp]
	add	eax, 1
	mov	DWORD PTR -76[rbp], eax
	lea	rdx, -72[rbp]
	lea	rcx, -76[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	globLastArgument
.L72:
	mov	eax, DWORD PTR -76[rbp]
	test	eax, eax
	jne	.L73
	mov	rax, QWORD PTR -96[rbp]
	mov	rdi, rax
	call	freeJob
	mov	eax, 0
	jmp	.L76
.L73:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	QWORD PTR [rax], 0
	cmp	QWORD PTR -48[rbp], 0
	jne	.L74
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	strlen@PLT
	add	rax, 1
	mov	rdi, rax
	call	malloc@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -96[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcpy@PLT
	jmp	.L75
.L74:
	mov	rax, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -48[rbp]
	sub	rax, rdx
	mov	DWORD PTR -60[rbp], eax
	mov	eax, DWORD PTR -60[rbp]
	add	eax, 1
	cdqe
	mov	rdi, rax
	call	malloc@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -96[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	eax, DWORD PTR -60[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -88[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rsi, rcx
	mov	rdi, rax
	call	strncpy@PLT
	mov	rax, QWORD PTR -96[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -60[rbp]
	cdqe
	add	rax, rdx
	mov	BYTE PTR [rax], 0
.L75:
	mov	rax, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR -48[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
.L76:
	mov	rsi, QWORD PTR -8[rbp]
	sub	rsi, QWORD PTR fs:40
	je	.L77
	call	__stack_chk_fail@PLT
.L77:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	parseCommand, .-parseCommand
	.section	.rodata
.LC5:
	.string	"error opening %s: %s\n"
	.text
	.globl	setupRedirections
	.type	setupRedirections, @function
setupRedirections:
.LFB10:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	DWORD PTR -20[rbp], 0
	jmp	.L79
.L87:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 2
	je	.L80
	cmp	eax, 2
	ja	.L81
	test	eax, eax
	je	.L82
	cmp	eax, 1
	je	.L83
	jmp	.L81
.L82:
	mov	DWORD PTR -16[rbp], 0
	jmp	.L81
.L83:
	mov	DWORD PTR -16[rbp], 578
	jmp	.L81
.L80:
	mov	DWORD PTR -16[rbp], 1090
	nop
.L81:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	ecx, DWORD PTR -16[rbp]
	mov	edx, 438
	mov	esi, ecx
	mov	rdi, rax
	mov	eax, 0
	call	open@PLT
	mov	DWORD PTR -12[rbp], eax
	cmp	DWORD PTR -12[rbp], 0
	jns	.L84
	call	__errno_location@PLT
	mov	eax, DWORD PTR [rax]
	mov	edi, eax
	call	strerror@PLT
	mov	rcx, rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR stderr[rip]
	lea	rsi, .LC5[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, 1
	jmp	.L85
.L84:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -12[rbp], eax
	je	.L86
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 4[rax]
	mov	eax, DWORD PTR -12[rbp]
	mov	esi, edx
	mov	edi, eax
	call	dup2@PLT
	mov	eax, DWORD PTR -12[rbp]
	mov	edi, eax
	call	close@PLT
.L86:
	add	DWORD PTR -20[rbp], 1
	add	QWORD PTR -8[rbp], 16
.L79:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 16[rax]
	cmp	DWORD PTR -20[rbp], eax
	jl	.L87
	mov	eax, 0
.L85:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	setupRedirections, .-setupRedirections
	.section	.rodata
.LC6:
	.string	"exit"
.LC7:
	.string	"pwd"
.LC8:
	.string	"cd"
.LC9:
	.string	"HOME"
	.align 8
.LC10:
	.string	"failed to change current directory: %s\n"
.LC11:
	.string	"jobs"
.LC12:
	.string	"Stopped"
.LC13:
	.string	"Running"
.LC14:
	.string	"[%d] %-22s %.40s\n"
.LC15:
	.string	"fg"
.LC16:
	.string	"bg"
	.align 8
.LC17:
	.string	"%s: exactly one argument is expected\n"
.LC18:
	.string	"%%%d"
.LC19:
	.string	"%s: bad argument '%s'\n"
.LC20:
	.string	"%s: unknown job %d\n"
.LC21:
	.string	"tcsetpgrp"
.LC22:
	.string	"exec() of %s failed: %s\n"
.LC23:
	.string	"[%d] %d\n"
	.text
	.globl	runCommand
	.type	runCommand, @function
runCommand:
.LFB11:
	.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, 104
	.cfi_offset 3, -24
	mov	QWORD PTR -104[rbp], rdi
	mov	DWORD PTR -108[rbp], esi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -24[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR 56[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rax, QWORD PTR [rax]
	lea	rsi, .LC6[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L89
	mov	edi, 0
	call	exit@PLT
.L89:
	mov	rax, QWORD PTR 56[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rax, QWORD PTR [rax]
	lea	rsi, .LC7[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L90
	mov	DWORD PTR -76[rbp], 50
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -48[rbp], rax
	jmp	.L91
.L93:
	add	DWORD PTR -76[rbp], 50
	mov	eax, DWORD PTR -76[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -48[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	realloc@PLT
	mov	QWORD PTR -48[rbp], rax
.L91:
	mov	eax, DWORD PTR -76[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -48[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	getcwd@PLT
	test	rax, rax
	jne	.L92
	call	__errno_location@PLT
	mov	eax, DWORD PTR [rax]
	cmp	eax, 34
	je	.L93
.L92:
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	puts@PLT
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	eax, 0
	jmp	.L136
.L90:
	mov	rax, QWORD PTR 56[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rax, QWORD PTR [rax]
	lea	rsi, .LC8[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L95
	mov	rax, QWORD PTR 56[rbp]
	mov	rax, QWORD PTR 8[rax]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L96
	lea	rdi, .LC9[rip]
	call	getenv@PLT
	mov	QWORD PTR -56[rbp], rax
	jmp	.L97
.L96:
	mov	rax, QWORD PTR 56[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -56[rbp], rax
.L97:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	chdir@PLT
	test	eax, eax
	je	.L98
	call	__errno_location@PLT
	mov	eax, DWORD PTR [rax]
	mov	edi, eax
	call	strerror@PLT
	mov	rsi, rax
	lea	rdi, .LC10[rip]
	mov	eax, 0
	call	printf@PLT
.L98:
	mov	eax, 0
	jmp	.L136
.L95:
	mov	rax, QWORD PTR 56[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rax, QWORD PTR [rax]
	lea	rsi, .LC11[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L99
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -64[rbp], rax
	jmp	.L100
.L103:
	mov	rax, QWORD PTR -64[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR 56[rax]
	cmp	edx, eax
	jne	.L101
	lea	rax, .LC12[rip]
	mov	QWORD PTR -40[rbp], rax
	jmp	.L102
.L101:
	lea	rax, .LC13[rip]
	mov	QWORD PTR -40[rbp], rax
.L102:
	mov	rax, QWORD PTR -64[rbp]
	mov	rcx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR [rax]
	mov	rdx, QWORD PTR -40[rbp]
	mov	esi, eax
	lea	rdi, .LC14[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR 48[rax]
	mov	QWORD PTR -64[rbp], rax
.L100:
	cmp	QWORD PTR -64[rbp], 0
	jne	.L103
	mov	eax, 0
	jmp	.L136
.L99:
	mov	rax, QWORD PTR 56[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rax, QWORD PTR [rax]
	lea	rsi, .LC15[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	je	.L104
	mov	rax, QWORD PTR 56[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rax, QWORD PTR [rax]
	lea	rsi, .LC16[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L105
.L104:
	mov	rax, QWORD PTR 56[rbp]
	mov	rax, QWORD PTR 8[rax]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L106
	mov	rax, QWORD PTR 56[rbp]
	mov	rax, QWORD PTR 8[rax]
	add	rax, 16
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L107
.L106:
	mov	rax, QWORD PTR 56[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR stderr[rip]
	lea	rsi, .LC17[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, 1
	jmp	.L136
.L107:
	mov	rax, QWORD PTR 56[rbp]
	mov	rax, QWORD PTR 8[rax]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	lea	rdx, -84[rbp]
	lea	rsi, .LC18[rip]
	mov	rdi, rax
	mov	eax, 0
	call	__isoc99_sscanf@PLT
	cmp	eax, 1
	je	.L108
	mov	rax, QWORD PTR 56[rbp]
	mov	rax, QWORD PTR 8[rax]
	add	rax, 8
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR 56[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR stderr[rip]
	lea	rsi, .LC19[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, 1
	jmp	.L136
.L108:
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -64[rbp], rax
	jmp	.L109
.L112:
	mov	rax, QWORD PTR -64[rbp]
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -84[rbp]
	cmp	edx, eax
	je	.L138
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR 48[rax]
	mov	QWORD PTR -64[rbp], rax
.L109:
	cmp	QWORD PTR -64[rbp], 0
	jne	.L112
	jmp	.L111
.L138:
	nop
.L111:
	cmp	QWORD PTR -64[rbp], 0
	jne	.L113
	mov	ecx, DWORD PTR -84[rbp]
	mov	rax, QWORD PTR 56[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR stderr[rip]
	lea	rsi, .LC20[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, 1
	jmp	.L136
.L113:
	mov	rax, QWORD PTR 56[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 102
	jne	.L114
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR 32[rax]
	mov	esi, eax
	mov	edi, 0
	call	tcsetpgrp@PLT
	test	eax, eax
	je	.L115
	lea	rdi, .LC21[rip]
	call	perror@PLT
.L115:
	mov	rax, QWORD PTR -104[rbp]
	mov	rdx, QWORD PTR -64[rbp]
	mov	QWORD PTR 8[rax], rdx
.L114:
	mov	DWORD PTR -80[rbp], 0
	jmp	.L116
.L117:
	mov	rax, QWORD PTR -64[rbp]
	mov	rcx, QWORD PTR 40[rax]
	mov	eax, DWORD PTR -80[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 3
	sub	rax, rdx
	sal	rax, 4
	add	rax, rcx
	mov	DWORD PTR 108[rax], 0
	add	DWORD PTR -80[rbp], 1
.L116:
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -80[rbp], eax
	jl	.L117
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR 32[rax]
	neg	eax
	mov	esi, 18
	mov	edi, eax
	call	kill@PLT
	mov	rax, QWORD PTR -64[rbp]
	mov	DWORD PTR 56[rax], 0
	mov	eax, 0
	jmp	.L136
.L105:
	mov	DWORD PTR -72[rbp], 0
	mov	DWORD PTR -68[rbp], 1
	mov	DWORD PTR -80[rbp], 0
	jmp	.L118
.L126:
	mov	eax, DWORD PTR -80[rbp]
	lea	edx, 1[rax]
	mov	eax, DWORD PTR 20[rbp]
	cmp	edx, eax
	jge	.L119
	lea	rax, -32[rbp]
	mov	rdi, rax
	call	pipe@PLT
	mov	eax, DWORD PTR -28[rbp]
	mov	DWORD PTR -68[rbp], eax
	jmp	.L120
.L119:
	mov	DWORD PTR -68[rbp], 1
.L120:
	mov	rcx, QWORD PTR 56[rbp]
	mov	eax, DWORD PTR -80[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 3
	sub	rax, rdx
	sal	rax, 4
	lea	rbx, [rcx+rax]
	call	fork@PLT
	mov	DWORD PTR [rbx], eax
	mov	eax, DWORD PTR [rbx]
	test	eax, eax
	jne	.L121
	mov	esi, 0
	mov	edi, 22
	call	signal@PLT
	cmp	DWORD PTR -72[rbp], 0
	je	.L122
	mov	eax, DWORD PTR -72[rbp]
	mov	esi, 0
	mov	edi, eax
	call	dup2@PLT
	mov	eax, DWORD PTR -72[rbp]
	mov	edi, eax
	call	close@PLT
.L122:
	cmp	DWORD PTR -68[rbp], 1
	je	.L123
	mov	eax, DWORD PTR -68[rbp]
	mov	esi, 1
	mov	edi, eax
	call	dup2@PLT
	mov	eax, DWORD PTR -68[rbp]
	mov	edi, eax
	call	close@PLT
.L123:
	mov	rcx, QWORD PTR 56[rbp]
	mov	eax, DWORD PTR -80[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 3
	sub	rax, rdx
	sal	rax, 4
	add	rax, rcx
	mov	rdi, rax
	call	setupRedirections
	mov	rcx, QWORD PTR 56[rbp]
	mov	eax, DWORD PTR -80[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 3
	sub	rax, rdx
	sal	rax, 4
	add	rax, rcx
	mov	rdx, QWORD PTR 8[rax]
	mov	rsi, QWORD PTR 56[rbp]
	mov	eax, DWORD PTR -80[rbp]
	movsx	rcx, eax
	mov	rax, rcx
	sal	rax, 3
	sub	rax, rcx
	sal	rax, 4
	add	rax, rsi
	mov	rax, QWORD PTR 8[rax]
	mov	rax, QWORD PTR [rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	execvp@PLT
	call	__errno_location@PLT
	mov	eax, DWORD PTR [rax]
	mov	edi, eax
	call	strerror@PLT
	mov	rcx, rax
	mov	rsi, QWORD PTR 56[rbp]
	mov	eax, DWORD PTR -80[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 3
	sub	rax, rdx
	sal	rax, 4
	add	rax, rsi
	mov	rax, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR stderr[rip]
	lea	rsi, .LC22[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	edi, 1
	call	exit@PLT
.L121:
	mov	rax, QWORD PTR 56[rbp]
	mov	edx, DWORD PTR [rax]
	mov	rsi, QWORD PTR 56[rbp]
	mov	eax, DWORD PTR -80[rbp]
	movsx	rcx, eax
	mov	rax, rcx
	sal	rax, 3
	sub	rax, rcx
	sal	rax, 4
	add	rax, rsi
	mov	eax, DWORD PTR [rax]
	mov	esi, edx
	mov	edi, eax
	call	setpgid@PLT
	cmp	DWORD PTR -72[rbp], 0
	je	.L124
	mov	eax, DWORD PTR -72[rbp]
	mov	edi, eax
	call	close@PLT
.L124:
	cmp	DWORD PTR -68[rbp], 1
	je	.L125
	mov	eax, DWORD PTR -68[rbp]
	mov	edi, eax
	call	close@PLT
.L125:
	mov	eax, DWORD PTR -32[rbp]
	mov	DWORD PTR -72[rbp], eax
	add	DWORD PTR -80[rbp], 1
.L118:
	mov	eax, DWORD PTR 20[rbp]
	cmp	DWORD PTR -80[rbp], eax
	jl	.L126
	mov	rax, QWORD PTR 56[rbp]
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR 48[rbp], eax
	mov	DWORD PTR 16[rbp], 1
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -64[rbp], rax
	jmp	.L127
.L129:
	mov	rax, QWORD PTR -64[rbp]
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR 16[rbp]
	cmp	edx, eax
	jl	.L128
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR [rax]
	add	eax, 1
	mov	DWORD PTR 16[rbp], eax
.L128:
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR 48[rax]
	mov	QWORD PTR -64[rbp], rax
.L127:
	cmp	QWORD PTR -64[rbp], 0
	jne	.L129
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L130
	mov	edi, 64
	call	malloc@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -104[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -64[rbp], rax
	jmp	.L131
.L130:
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -64[rbp], rax
	jmp	.L132
.L133:
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR 48[rax]
	mov	QWORD PTR -64[rbp], rax
.L132:
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR 48[rax]
	test	rax, rax
	jne	.L133
	mov	edi, 64
	call	malloc@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -64[rbp]
	mov	QWORD PTR 48[rax], rdx
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR 48[rax]
	mov	QWORD PTR -64[rbp], rax
.L131:
	mov	rax, QWORD PTR -64[rbp]
	mov	rcx, QWORD PTR 16[rbp]
	mov	rbx, QWORD PTR 24[rbp]
	mov	QWORD PTR [rax], rcx
	mov	QWORD PTR 8[rax], rbx
	mov	rcx, QWORD PTR 32[rbp]
	mov	rbx, QWORD PTR 40[rbp]
	mov	QWORD PTR 16[rax], rcx
	mov	QWORD PTR 24[rax], rbx
	mov	rcx, QWORD PTR 48[rbp]
	mov	rbx, QWORD PTR 56[rbp]
	mov	QWORD PTR 32[rax], rcx
	mov	QWORD PTR 40[rax], rbx
	mov	rcx, QWORD PTR 64[rbp]
	mov	rbx, QWORD PTR 72[rbp]
	mov	QWORD PTR 48[rax], rcx
	mov	QWORD PTR 56[rax], rbx
	mov	rax, QWORD PTR -64[rbp]
	mov	QWORD PTR 48[rax], 0
	mov	rax, QWORD PTR -64[rbp]
	mov	edx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR -64[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -64[rbp]
	mov	DWORD PTR 56[rax], 0
	cmp	DWORD PTR -108[rbp], 0
	je	.L134
	mov	rcx, QWORD PTR 56[rbp]
	mov	eax, DWORD PTR 20[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 3
	sub	rax, rdx
	sal	rax, 4
	sub	rax, 112
	add	rax, rcx
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR [rax]
	mov	esi, eax
	lea	rdi, .LC23[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L135
.L134:
	mov	rax, QWORD PTR -104[rbp]
	mov	rdx, QWORD PTR -64[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	eax, DWORD PTR 48[rbp]
	mov	esi, eax
	mov	edi, 0
	call	tcsetpgrp@PLT
	test	eax, eax
	je	.L135
	lea	rdi, .LC21[rip]
	call	perror@PLT
.L135:
	mov	eax, 0
.L136:
	mov	rbx, QWORD PTR -24[rbp]
	sub	rbx, QWORD PTR fs:40
	je	.L137
	call	__stack_chk_fail@PLT
.L137:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	runCommand, .-runCommand
	.globl	removeJob
	.type	removeJob, @function
removeJob:
.LFB12:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	freeJob
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	cmp	QWORD PTR -32[rbp], rax
	jne	.L140
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR 48[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L141
.L140:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L142
.L143:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 48[rax]
	mov	QWORD PTR -8[rbp], rax
.L142:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 48[rax]
	cmp	QWORD PTR -32[rbp], rax
	jne	.L143
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR 48[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 48[rax], rdx
.L141:
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	free@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE12:
	.size	removeJob, .-removeJob
	.section	.rodata
.LC24:
	.string	"Done"
.LC25:
	.string	"waitpid"
	.text
	.globl	checkJobs
	.type	checkJobs, @function
checkJobs:
.LFB13:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	jmp	.L145
.L156:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L146
.L152:
	mov	DWORD PTR -24[rbp], 0
	jmp	.L147
.L149:
	add	DWORD PTR -24[rbp], 1
.L147:
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -24[rbp], eax
	jge	.L148
	mov	rax, QWORD PTR -16[rbp]
	mov	rcx, QWORD PTR 40[rax]
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 3
	sub	rax, rdx
	sal	rax, 4
	add	rax, rcx
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -20[rbp], eax
	jne	.L149
.L148:
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -24[rbp], eax
	jl	.L159
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 48[rax]
	mov	QWORD PTR -16[rbp], rax
.L146:
	cmp	QWORD PTR -16[rbp], 0
	jne	.L152
	jmp	.L151
.L159:
	nop
.L151:
	mov	eax, DWORD PTR -28[rbp]
	and	eax, 127
	test	eax, eax
	je	.L153
	mov	eax, DWORD PTR -28[rbp]
	and	eax, 127
	add	eax, 1
	sar	al
	test	al, al
	jle	.L154
.L153:
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 8[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -16[rbp]
	mov	rcx, QWORD PTR 40[rax]
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 3
	sub	rax, rdx
	sal	rax, 4
	add	rax, rcx
	mov	DWORD PTR [rax], 0
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	jne	.L145
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	mov	rcx, rdx
	lea	rdx, .LC24[rip]
	mov	esi, eax
	lea	rdi, .LC14[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	removeJob
	jmp	.L145
.L154:
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 56[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 56[rax], edx
	mov	rax, QWORD PTR -16[rbp]
	mov	rcx, QWORD PTR 40[rax]
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 3
	sub	rax, rdx
	sal	rax, 4
	add	rax, rcx
	mov	DWORD PTR 108[rax], 1
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, DWORD PTR 56[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	edx, eax
	jne	.L145
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	mov	rcx, rdx
	lea	rdx, .LC12[rip]
	mov	esi, eax
	lea	rdi, .LC14[rip]
	mov	eax, 0
	call	printf@PLT
.L145:
	lea	rax, -28[rbp]
	mov	edx, 3
	mov	rsi, rax
	mov	edi, -1
	call	waitpid@PLT
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], 0
	jg	.L156
	cmp	DWORD PTR -20[rbp], -1
	jne	.L160
	call	__errno_location@PLT
	mov	eax, DWORD PTR [rax]
	cmp	eax, 10
	je	.L160
	lea	rdi, .LC25[rip]
	call	perror@PLT
.L160:
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L158
	call	__stack_chk_fail@PLT
.L158:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE13:
	.size	checkJobs, .-checkJobs
	.section	.rodata
	.align 8
.LC26:
	.string	"unexpected arguments; usage: ladsh1 <commands>\n"
.LC27:
	.string	"r"
.LC28:
	.string	"fopen"
.LC29:
	.string	"\n[%d] %-22s %.40s\n"
	.text
	.globl	main
	.type	main, @function
main:
.LFB14:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 400
	mov	DWORD PTR -388[rbp], edi
	mov	QWORD PTR -400[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	QWORD PTR -368[rbp], 0
	mov	QWORD PTR -352[rbp], 0
	mov	QWORD PTR -344[rbp], 0
	mov	rax, QWORD PTR stdin[rip]
	mov	QWORD PTR -360[rbp], rax
	cmp	DWORD PTR -388[rbp], 2
	jle	.L162
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 47
	mov	esi, 1
	lea	rdi, .LC26[rip]
	call	fwrite@PLT
	mov	edi, 1
	call	exit@PLT
.L162:
	cmp	DWORD PTR -388[rbp], 2
	jne	.L163
	mov	rax, QWORD PTR -400[rbp]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	lea	rsi, .LC27[rip]
	mov	rdi, rax
	call	fopen@PLT
	mov	QWORD PTR -360[rbp], rax
	cmp	QWORD PTR -360[rbp], 0
	jne	.L163
	lea	rdi, .LC28[rip]
	call	perror@PLT
	mov	edi, 1
	call	exit@PLT
.L163:
	mov	esi, 1
	mov	edi, 22
	call	signal@PLT
.L175:
	mov	rax, QWORD PTR -344[rbp]
	test	rax, rax
	jne	.L164
	lea	rax, -352[rbp]
	mov	rdi, rax
	call	checkJobs
	mov	rax, QWORD PTR -368[rbp]
	test	rax, rax
	jne	.L165
	lea	rdx, -272[rbp]
	mov	rax, QWORD PTR -360[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	getCommand
	test	eax, eax
	jne	.L179
	lea	rax, -272[rbp]
	mov	QWORD PTR -368[rbp], rax
.L165:
	lea	rdx, -376[rbp]
	lea	rcx, -336[rbp]
	lea	rax, -368[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	parseCommand
	test	eax, eax
	jne	.L175
	mov	eax, DWORD PTR -332[rbp]
	test	eax, eax
	je	.L175
	mov	edx, DWORD PTR -376[rbp]
	lea	rax, -352[rbp]
	push	QWORD PTR -280[rbp]
	push	QWORD PTR -288[rbp]
	push	QWORD PTR -296[rbp]
	push	QWORD PTR -304[rbp]
	push	QWORD PTR -312[rbp]
	push	QWORD PTR -320[rbp]
	push	QWORD PTR -328[rbp]
	push	QWORD PTR -336[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	runCommand
	add	rsp, 64
	jmp	.L175
.L164:
	mov	DWORD PTR -372[rbp], 0
	jmp	.L169
.L170:
	add	DWORD PTR -372[rbp], 1
.L169:
	mov	rax, QWORD PTR -344[rbp]
	mov	rcx, QWORD PTR 40[rax]
	mov	eax, DWORD PTR -372[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 3
	sub	rax, rdx
	sal	rax, 4
	add	rax, rcx
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	je	.L170
	mov	rax, QWORD PTR -344[rbp]
	mov	rcx, QWORD PTR 40[rax]
	mov	eax, DWORD PTR -372[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 3
	sub	rax, rdx
	sal	rax, 4
	add	rax, rcx
	mov	eax, DWORD PTR 108[rax]
	test	eax, eax
	jne	.L170
	mov	rax, QWORD PTR -344[rbp]
	mov	rcx, QWORD PTR 40[rax]
	mov	eax, DWORD PTR -372[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 3
	sub	rax, rdx
	sal	rax, 4
	add	rax, rcx
	mov	eax, DWORD PTR [rax]
	lea	rcx, -380[rbp]
	mov	edx, 2
	mov	rsi, rcx
	mov	edi, eax
	call	waitpid@PLT
	mov	eax, DWORD PTR -380[rbp]
	and	eax, 127
	test	eax, eax
	je	.L171
	mov	eax, DWORD PTR -380[rbp]
	and	eax, 127
	add	eax, 1
	sar	al
	test	al, al
	jle	.L172
.L171:
	mov	rax, QWORD PTR -344[rbp]
	mov	edx, DWORD PTR 8[rax]
	sub	edx, 1
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -344[rbp]
	mov	rcx, QWORD PTR 40[rax]
	mov	eax, DWORD PTR -372[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 3
	sub	rax, rdx
	sal	rax, 4
	add	rax, rcx
	mov	DWORD PTR [rax], 0
	mov	rax, QWORD PTR -344[rbp]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	jne	.L180
	mov	rdx, QWORD PTR -344[rbp]
	lea	rax, -352[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	removeJob
	mov	QWORD PTR -344[rbp], 0
	call	getpid@PLT
	mov	esi, eax
	mov	edi, 0
	call	tcsetpgrp@PLT
	test	eax, eax
	je	.L180
	lea	rdi, .LC21[rip]
	call	perror@PLT
	jmp	.L180
.L172:
	mov	rax, QWORD PTR -344[rbp]
	mov	edx, DWORD PTR 56[rax]
	add	edx, 1
	mov	DWORD PTR 56[rax], edx
	mov	rax, QWORD PTR -344[rbp]
	mov	rcx, QWORD PTR 40[rax]
	mov	eax, DWORD PTR -372[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 3
	sub	rax, rdx
	sal	rax, 4
	add	rax, rcx
	mov	DWORD PTR 108[rax], 1
	mov	rax, QWORD PTR -344[rbp]
	mov	edx, DWORD PTR 56[rax]
	mov	rax, QWORD PTR -344[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	edx, eax
	jne	.L174
	mov	rax, QWORD PTR -344[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -344[rbp]
	mov	eax, DWORD PTR [rax]
	mov	rcx, rdx
	lea	rdx, .LC12[rip]
	mov	esi, eax
	lea	rdi, .LC29[rip]
	mov	eax, 0
	call	printf@PLT
	mov	QWORD PTR -344[rbp], 0
	jmp	.L174
.L180:
	nop
.L174:
	mov	rax, QWORD PTR -344[rbp]
	test	rax, rax
	jne	.L175
	call	getpid@PLT
	mov	esi, eax
	mov	edi, 0
	call	tcsetpgrp@PLT
	test	eax, eax
	je	.L175
	lea	rdi, .LC21[rip]
	call	perror@PLT
	jmp	.L175
.L179:
	nop
	mov	eax, 0
	mov	rsi, QWORD PTR -8[rbp]
	sub	rsi, QWORD PTR fs:40
	je	.L177
	call	__stack_chk_fail@PLT
.L177:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE14:
	.size	main, .-main
	.ident	"GCC: (Ubuntu 10.5.0-1ubuntu1~20.04) 10.5.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	 1f - 0f
	.long	 4f - 1f
	.long	 5
0:
	.string	 "GNU"
1:
	.align 8
	.long	 0xc0000002
	.long	 3f - 2f
2:
	.long	 0x3
3:
	.align 8
4:

	.arch armv5t
	.eabi_attribute 20, 1
	.eabi_attribute 21, 1
	.eabi_attribute 23, 3
	.eabi_attribute 24, 1
	.eabi_attribute 25, 1
	.eabi_attribute 26, 2
	.eabi_attribute 30, 6
	.eabi_attribute 34, 0
	.eabi_attribute 18, 4
	.file	"357590.c"
	.text
	.align	2
	.global	freeJob
	.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]
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L2
.L5:
	ldr	r3, [fp, #-16]
	ldr	r1, [r3, #24]
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #4
	sub	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	free
	ldr	r3, [fp, #-16]
	ldr	r1, [r3, #24]
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #4
	sub	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3, #12]
	cmp	r3, #0
	beq	.L3
	ldr	r3, [fp, #-16]
	ldr	r1, [r3, #24]
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #4
	sub	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3, #12]
	mov	r0, r3
	bl	free
.L3:
	ldr	r3, [fp, #-16]
	ldr	r1, [r3, #24]
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #4
	sub	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3, #52]
	cmp	r3, #0
	beq	.L4
	ldr	r3, [fp, #-16]
	ldr	r1, [r3, #24]
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #4
	sub	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	add	r3, r3, #16
	mov	r0, r3
	bl	globfree
.L4:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L2:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	blt	.L5
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #24]
	mov	r0, r3
	bl	free
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	beq	.L6
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	mov	r0, r3
	bl	free
.L6:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #16]
	mov	r0, r3
	bl	free
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	freeJob, .-freeJob
	.section	.rodata
	.align	2
.LC0:
	.ascii	"@> \000"
	.text
	.align	2
	.global	getCommand
	.syntax unified
	.arm
	.fpu softvfp
	.type	getCommand, %function
getCommand:
	@ 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, .L12
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	bne	.L8
	ldr	r0, .L12+4
	bl	printf
	ldr	r3, .L12+8
	ldr	r3, [r3]
	mov	r0, r3
	bl	fflush
.L8:
	ldr	r2, [fp, #-8]
	mov	r1, #250
	ldr	r0, [fp, #-12]
	bl	fgets
	mov	r3, r0
	cmp	r3, #0
	bne	.L9
	ldr	r3, .L12
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	bne	.L10
	mov	r0, #10
	bl	putchar
.L10:
	mov	r3, #1
	b	.L11
.L9:
	ldr	r0, [fp, #-12]
	bl	strlen
	mov	r3, r0
	sub	r3, r3, #1
	ldr	r2, [fp, #-12]
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3]
	mov	r3, #0
.L11:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L13:
	.align	2
.L12:
	.word	stdin
	.word	.LC0
	.word	stdout
	.size	getCommand, .-getCommand
	.section	.rodata
	.align	2
.LC1:
	.ascii	"out of space during glob operation\012\000"
	.text
	.align	2
	.global	globLastArgument
	.syntax unified
	.arm
	.fpu softvfp
	.type	globLastArgument, %function
globLastArgument:
	@ 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, [fp, #-44]
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-32]
	cmp	r3, #1
	ble	.L15
	mov	r3, #32
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-20]
	b	.L16
.L15:
	ldr	r3, [fp, #-40]
	mov	r2, #1
	str	r2, [r3, #52]
	mov	r3, #0
	str	r3, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-20]
.L16:
	ldr	r3, [fp, #-40]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-32]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r0, [r3]
	ldr	r3, [fp, #-40]
	add	r3, r3, #16
	mov	r2, #0
	ldr	r1, [fp, #-24]
	bl	glob
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	bne	.L17
	ldr	r3, .L25
	ldr	r3, [r3]
	mov	r2, #35
	mov	r1, #1
	ldr	r0, .L25+4
	bl	fwrite
	b	.L14
.L17:
	ldr	r3, [fp, #-8]
	cmp	r3, #3
	beq	.L19
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L20
	ldr	r3, [fp, #-40]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-20]
	sub	r3, r2, r3
	cmp	r3, #1
	bne	.L20
	ldr	r3, [fp, #-40]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-32]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r0, [r3]
	ldr	r3, [fp, #-40]
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r1, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L20
.L19:
	ldr	r3, [fp, #-40]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-32]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-16]
	b	.L21
.L23:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #92
	beq	.L22
	ldr	r3, [fp, #-12]
	add	r2, r3, #1
	str	r2, [fp, #-12]
	ldr	r2, [fp, #-16]
	ldrb	r2, [r2]	@ zero_extendqisi2
	strb	r2, [r3]
.L22:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L21:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L23
	ldr	r3, [fp, #-12]
	mov	r2, #0
	strb	r2, [r3]
	b	.L24
.L20:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L24
	ldr	r3, [fp, #-40]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-20]
	sub	r2, r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r2, r3
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-40]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	mov	r1, r3
	mov	r0, r2
	bl	realloc
	mov	r2, r0
	ldr	r3, [fp, #-40]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-40]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-32]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r0, r2, r3
	ldr	r3, [fp, #-40]
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	add	r1, r2, r3
	ldr	r3, [fp, #-40]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-20]
	sub	r3, r2, r3
	lsl	r3, r3, #2
	mov	r2, r3
	bl	memcpy
	ldr	r3, [fp, #-40]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-20]
	sub	r2, r2, r3
	ldr	r3, [fp, #-32]
	add	r3, r2, r3
	sub	r3, r3, #1
	str	r3, [fp, #-32]
.L24:
	ldr	r3, [fp, #-48]
	ldr	r2, [fp, #-28]
	str	r2, [r3]
	ldr	r3, [fp, #-44]
	ldr	r2, [fp, #-32]
	str	r2, [r3]
.L14:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L26:
	.align	2
.L25:
	.word	stderr
	.word	.LC1
	.size	globLastArgument, .-globLastArgument
	.section	.rodata
	.align	2
.LC2:
	.ascii	"character expected after \\\012\000"
	.align	2
.LC3:
	.ascii	"file name expected after %c\012\000"
	.align	2
.LC4:
	.ascii	"empty command in pipe\012\000"
	.align	2
.LC5:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	parseCommand
	.syntax unified
	.arm
	.fpu softvfp
	.type	parseCommand, %function
parseCommand:
	@ args = 0, pretend = 0, frame = 72
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #76
	str	r0, [fp, #-72]
	str	r1, [fp, #-76]
	str	r2, [fp, #-80]
	ldr	r3, .L82
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-48]
	mov	r3, #0
	str	r3, [fp, #-56]
	mov	r3, #0
	str	r3, [fp, #-36]
	mov	r3, #0
	strb	r3, [fp, #-61]
	b	.L28
.L30:
	ldr	r3, [fp, #-72]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-72]
	str	r2, [r3]
.L28:
	ldr	r3, [fp, #-72]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L29
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-72]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8192
	cmp	r3, #0
	bne	.L30
.L29:
	ldr	r3, [fp, #-72]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L31
	ldr	r3, [fp, #-72]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #35
	bne	.L32
.L31:
	ldr	r3, [fp, #-76]
	mov	r2, #0
	str	r2, [r3, #4]
	ldr	r3, [fp, #-72]
	mov	r2, #0
	str	r2, [r3]
	mov	r3, #0
	b	.L80
.L32:
	ldr	r3, [fp, #-80]
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-76]
	mov	r2, #1
	str	r2, [r3, #4]
	mov	r0, #60
	bl	malloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-76]
	str	r2, [r3, #24]
	ldr	r3, [fp, #-72]
	ldr	r3, [r3]
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	add	r3, r3, #1
	mov	r1, r3
	mov	r0, #1
	bl	calloc
	mov	r3, r0
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-76]
	ldr	r2, [fp, #-28]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-76]
	mov	r2, #0
	str	r2, [r3, #12]
	ldr	r3, [fp, #-76]
	ldr	r3, [r3, #24]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	mov	r2, #0
	str	r2, [r3, #8]
	ldr	r3, [fp, #-32]
	mov	r2, #0
	str	r2, [r3, #12]
	ldr	r3, [fp, #-32]
	mov	r2, #0
	str	r2, [r3, #52]
	ldr	r3, [fp, #-32]
	mov	r2, #0
	str	r2, [r3, #56]
	mov	r3, #5
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-32]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-76]
	ldr	r2, [r2, #16]
	str	r2, [r3]
	ldr	r3, [fp, #-28]
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-72]
	ldr	r3, [r3]
	str	r3, [fp, #-44]
	b	.L34
.L75:
	ldr	r3, [fp, #-44]
	ldrb	r3, [r3]	@ zero_extendqisi2
	ldrb	r2, [fp, #-61]	@ zero_extendqisi2
	cmp	r2, r3
	bne	.L35
	mov	r3, #0
	strb	r3, [fp, #-61]
	b	.L36
.L35:
	ldrb	r3, [fp, #-61]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L37
	ldr	r3, [fp, #-44]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #92
	bne	.L38
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-44]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L39
	ldr	r3, .L82+4
	ldr	r3, [r3]
	mov	r2, #27
	mov	r1, #1
	ldr	r0, .L82+8
	bl	fwrite
	ldr	r0, [fp, #-76]
	bl	freeJob
	mov	r3, #1
	b	.L80
.L39:
	ldr	r3, [fp, #-44]
	ldrb	r3, [r3]	@ zero_extendqisi2
	ldrb	r2, [fp, #-61]	@ zero_extendqisi2
	cmp	r2, r3
	beq	.L40
	ldr	r3, [fp, #-40]
	add	r2, r3, #1
	str	r2, [fp, #-40]
	mov	r2, #92
	strb	r2, [r3]
	b	.L40
.L38:
	ldr	r3, [fp, #-44]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #42
	beq	.L41
	ldr	r3, [fp, #-44]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #63
	beq	.L41
	ldr	r3, [fp, #-44]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #91
	beq	.L41
	ldr	r3, [fp, #-44]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #93
	bne	.L40
.L41:
	ldr	r3, [fp, #-40]
	add	r2, r3, #1
	str	r2, [fp, #-40]
	mov	r2, #92
	strb	r2, [r3]
.L40:
	ldr	r3, [fp, #-40]
	add	r2, r3, #1
	str	r2, [fp, #-40]
	ldr	r2, [fp, #-44]
	ldrb	r2, [r2]	@ zero_extendqisi2
	strb	r2, [r3]
	b	.L36
.L37:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-44]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8192
	cmp	r3, #0
	beq	.L42
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L36
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-56]
	add	r2, r3, #1
	ldr	r3, [fp, #-52]
	cmp	r2, r3
	bne	.L43
	ldr	r3, [fp, #-52]
	add	r3, r3, #5
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-52]
	lsl	r2, r2, #2
	mov	r1, r2
	mov	r0, r3
	bl	realloc
	mov	r2, r0
	ldr	r3, [fp, #-32]
	str	r2, [r3, #4]
.L43:
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-40]
	str	r2, [r3]
	sub	r2, fp, #52
	sub	r3, fp, #56
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	globLastArgument
	b	.L36
.L42:
	ldr	r3, [fp, #-44]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #92
	bgt	.L44
	cmp	r3, #34
	blt	.L45
	sub	r3, r3, #34
	cmp	r3, #58
	ldrls	pc, [pc, r3, asl #2]
	b	.L45
.L47:
	.word	.L50
	.word	.L52
	.word	.L45
	.word	.L45
	.word	.L51
	.word	.L50
	.word	.L45
	.word	.L45
	.word	.L45
	.word	.L45
	.word	.L45
	.word	.L45
	.word	.L45
	.word	.L45
	.word	.L45
	.word	.L45
	.word	.L45
	.word	.L45
	.word	.L45
	.word	.L45
	.word	.L45
	.word	.L45
	.word	.L45
	.word	.L45
	.word	.L45
	.word	.L49
	.word	.L48
	.word	.L45
	.word	.L48
	.word	.L45
	.word	.L45
	.word	.L45
	.word	.L45
	.word	.L45
	.word	.L45
	.word	.L45
	.word	.L45
	.word	.L45
	.word	.L45
	.word	.L45
	.word	.L45
	.word	.L45
	.word	.L45
	.word	.L45
	.word	.L45
	.word	.L45
	.word	.L45
	.word	.L45
	.word	.L45
	.word	.L45
	.word	.L45
	.word	.L45
	.word	.L45
	.word	.L45
	.word	.L45
	.word	.L45
	.word	.L45
	.word	.L45
	.word	.L46
.L44:
	cmp	r3, #124
	beq	.L53
	b	.L45
.L50:
	ldr	r3, [fp, #-44]
	ldrb	r3, [r3]
	strb	r3, [fp, #-61]
	b	.L36
.L52:
	mov	r3, #1
	str	r3, [fp, #-36]
	b	.L36
.L48:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #8]
	add	r1, r3, #1
	ldr	r2, [fp, #-32]
	str	r1, [r2, #8]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	mov	r1, r3
	mov	r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r1
	lsl	r3, r3, #2
	mov	r1, r3
	mov	r0, r2
	bl	realloc
	mov	r2, r0
	ldr	r3, [fp, #-32]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-32]
	ldr	r1, [r3, #12]
	ldr	r2, [fp, #-24]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	mvn	r2, #0
	str	r2, [r3, #4]
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-40]
	cmp	r2, r3
	beq	.L54
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r0, [r3]
	ldr	r3, [fp, #-32]
	ldr	r1, [r3, #12]
	ldr	r2, [fp, #-24]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r4, r1, r3
	sub	r3, fp, #60
	mov	r2, #10
	mov	r1, r3
	bl	strtol
	mov	r3, r0
	str	r3, [r4, #4]
	ldr	r3, [fp, #-60]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L54
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L54
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	str	r3, [fp, #-56]
	sub	r2, fp, #52
	sub	r3, fp, #56
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	globLastArgument
.L54:
	ldr	r3, [fp, #-32]
	ldr	r1, [r3, #12]
	ldr	r2, [fp, #-24]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3, #4]
	cmn	r3, #1
	bne	.L55
	ldr	r3, [fp, #-44]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #62
	bne	.L56
	ldr	r3, [fp, #-32]
	ldr	r1, [r3, #12]
	ldr	r2, [fp, #-24]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	mov	r2, #1
	str	r2, [r3, #4]
	b	.L55
.L56:
	ldr	r3, [fp, #-32]
	ldr	r1, [r3, #12]
	ldr	r2, [fp, #-24]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	mov	r2, #0
	str	r2, [r3, #4]
.L55:
	ldr	r3, [fp, #-44]
	add	r2, r3, #1
	str	r2, [fp, #-44]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #62
	bne	.L57
	ldr	r3, [fp, #-44]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #62
	bne	.L58
	ldr	r3, [fp, #-32]
	ldr	r1, [r3, #12]
	ldr	r2, [fp, #-24]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	mov	r2, #2
	str	r2, [r3]
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
	b	.L59
.L58:
	ldr	r3, [fp, #-32]
	ldr	r1, [r3, #12]
	ldr	r2, [fp, #-24]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	mov	r2, #1
	str	r2, [r3]
	b	.L59
.L57:
	ldr	r3, [fp, #-32]
	ldr	r1, [r3, #12]
	ldr	r2, [fp, #-24]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	mov	r2, #0
	str	r2, [r3]
.L59:
	ldr	r3, [fp, #-44]
	str	r3, [fp, #-60]
	b	.L60
.L61:
	ldr	r3, [fp, #-60]
	add	r3, r3, #1
	str	r3, [fp, #-60]
.L60:
	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, #8192
	cmp	r3, #0
	bne	.L61
	ldr	r3, [fp, #-60]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L62
	ldr	r3, .L82+4
	ldr	r0, [r3]
	ldr	r3, [fp, #-44]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r1, .L82+12
	bl	fprintf
	ldr	r0, [fp, #-76]
	bl	freeJob
	mov	r3, #1
	b	.L80
.L62:
	ldr	r3, [fp, #-32]
	ldr	r1, [r3, #12]
	ldr	r2, [fp, #-24]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r2, [fp, #-40]
	str	r2, [r3, #8]
	b	.L63
.L65:
	ldr	r2, [fp, #-60]
	add	r3, r2, #1
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-40]
	add	r1, r3, #1
	str	r1, [fp, #-40]
	ldrb	r2, [r2]	@ zero_extendqisi2
	strb	r2, [r3]
.L63:
	ldr	r3, [fp, #-60]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L64
	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, #8192
	cmp	r3, #0
	beq	.L65
.L64:
	ldr	r3, [fp, #-60]
	sub	r3, r3, #1
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-40]
	str	r2, [r3]
	b	.L36
.L53:
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L66
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	str	r3, [fp, #-56]
.L66:
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	bne	.L67
	ldr	r3, .L82+4
	ldr	r3, [r3]
	mov	r2, #22
	mov	r1, #1
	ldr	r0, .L82+16
	bl	fwrite
	ldr	r0, [fp, #-76]
	bl	freeJob
	mov	r3, #1
	b	.L80
.L67:
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-76]
	ldr	r3, [r3, #4]
	add	r2, r3, #1
	ldr	r3, [fp, #-76]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-76]
	ldr	r2, [r3, #24]
	ldr	r3, [fp, #-76]
	ldr	r3, [r3, #4]
	mov	r1, r3
	mov	r3, r1
	lsl	r3, r3, #4
	sub	r3, r3, r1
	lsl	r3, r3, #2
	mov	r1, r3
	mov	r0, r2
	bl	realloc
	mov	r2, r0
	ldr	r3, [fp, #-76]
	str	r2, [r3, #24]
	ldr	r3, [fp, #-76]
	ldr	r2, [r3, #24]
	ldr	r3, [fp, #-76]
	ldr	r3, [r3, #4]
	mov	r1, r3
	mov	r3, r1
	lsl	r3, r3, #4
	sub	r3, r3, r1
	lsl	r3, r3, #2
	sub	r3, r3, #60
	add	r3, r2, r3
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	mov	r2, #0
	str	r2, [r3, #8]
	ldr	r3, [fp, #-32]
	mov	r2, #0
	str	r2, [r3, #12]
	ldr	r3, [fp, #-32]
	mov	r2, #0
	str	r2, [r3, #52]
	mov	r3, #0
	str	r3, [fp, #-56]
	mov	r3, #5
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-32]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-40]
	str	r2, [r3]
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
	b	.L68
.L70:
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L68:
	ldr	r3, [fp, #-44]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L69
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-44]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8192
	cmp	r3, #0
	bne	.L70
.L69:
	ldr	r3, [fp, #-44]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L71
	ldr	r3, .L82+4
	ldr	r3, [r3]
	mov	r2, #22
	mov	r1, #1
	ldr	r0, .L82+16
	bl	fwrite
	mov	r3, #1
	b	.L80
.L71:
	ldr	r3, [fp, #-44]
	sub	r3, r3, #1
	str	r3, [fp, #-44]
	b	.L36
.L51:
	ldr	r3, [fp, #-80]
	mov	r2, #1
	str	r2, [r3]
.L49:
	mov	r3, #1
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-48]
	b	.L36
.L46:
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-44]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L72
	ldr	r0, [fp, #-76]
	bl	freeJob
	ldr	r3, .L82+4
	ldr	r3, [r3]
	mov	r2, #27
	mov	r1, #1
	ldr	r0, .L82+8
	bl	fwrite
	mov	r3, #1
	b	.L80
.L72:
	ldr	r3, [fp, #-44]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #42
	beq	.L73
	ldr	r3, [fp, #-44]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #91
	beq	.L73
	ldr	r3, [fp, #-44]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #93
	beq	.L73
	ldr	r3, [fp, #-44]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #63
	bne	.L45
.L73:
	ldr	r3, [fp, #-40]
	add	r2, r3, #1
	str	r2, [fp, #-40]
	mov	r2, #92
	strb	r2, [r3]
.L45:
	ldr	r3, [fp, #-40]
	add	r2, r3, #1
	str	r2, [fp, #-40]
	ldr	r2, [fp, #-44]
	ldrb	r2, [r2]	@ zero_extendqisi2
	strb	r2, [r3]
.L36:
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L34:
	ldr	r3, [fp, #-44]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L74
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	beq	.L75
.L74:
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L76
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	str	r3, [fp, #-56]
	sub	r2, fp, #52
	sub	r3, fp, #56
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	globLastArgument
.L76:
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	bne	.L77
	ldr	r0, [fp, #-76]
	bl	freeJob
	mov	r3, #0
	b	.L80
.L77:
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	bne	.L78
	ldr	r3, [fp, #-72]
	ldr	r3, [r3]
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	add	r3, r3, #1
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-76]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-76]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-72]
	ldr	r3, [r3]
	mov	r1, r3
	mov	r0, r2
	bl	strcpy
	b	.L79
.L78:
	ldr	r3, [fp, #-72]
	ldr	r3, [r3]
	ldr	r2, [fp, #-48]
	sub	r3, r2, r3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-76]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-76]
	ldr	r0, [r3, #12]
	ldr	r3, [fp, #-72]
	ldr	r3, [r3]
	ldr	r2, [fp, #-20]
	mov	r1, r3
	bl	strncpy
	ldr	r3, [fp, #-76]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-20]
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3]
.L79:
	ldr	r3, [fp, #-72]
	ldr	r2, [fp, #-48]
	str	r2, [r3]
	mov	r3, #0
.L80:
	ldr	r2, .L82
	ldr	r1, [r2]
	ldr	r2, [fp, #-16]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L81
	bl	__stack_chk_fail
.L81:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L83:
	.align	2
.L82:
	.word	.LC5
	.word	stderr
	.word	.LC2
	.word	.LC3
	.word	.LC4
	.size	parseCommand, .-parseCommand
	.section	.rodata
	.align	2
.LC6:
	.ascii	"error opening %s: %s\012\000"
	.text
	.align	2
	.global	setupRedirections
	.syntax unified
	.arm
	.fpu softvfp
	.type	setupRedirections, %function
setupRedirections:
	@ 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, #-32]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-28]
	b	.L85
.L93:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	cmp	r3, #2
	beq	.L86
	cmp	r3, #2
	bhi	.L87
	cmp	r3, #0
	beq	.L88
	cmp	r3, #1
	beq	.L89
	b	.L87
.L88:
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L87
.L89:
	ldr	r3, .L94
	str	r3, [fp, #-24]
	b	.L87
.L86:
	ldr	r3, .L94+4
	str	r3, [fp, #-24]
	nop
.L87:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #8]
	ldr	r2, .L94+8
	ldr	r1, [fp, #-24]
	mov	r0, r3
	bl	open
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bge	.L90
	ldr	r3, .L94+12
	ldr	r4, [r3]
	ldr	r3, [fp, #-20]
	ldr	r5, [r3, #8]
	bl	__errno_location
	mov	r3, r0
	ldr	r3, [r3]
	mov	r0, r3
	bl	strerror
	mov	r3, r0
	mov	r2, r5
	ldr	r1, .L94+16
	mov	r0, r4
	bl	fprintf
	mov	r3, #1
	b	.L91
.L90:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	beq	.L92
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #4]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	dup2
	ldr	r0, [fp, #-16]
	bl	close
.L92:
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-20]
	add	r3, r3, #12
	str	r3, [fp, #-20]
.L85:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-28]
	cmp	r2, r3
	blt	.L93
	mov	r3, #0
.L91:
	mov	r0, r3
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L95:
	.align	2
.L94:
	.word	578
	.word	1090
	.word	438
	.word	stderr
	.word	.LC6
	.size	setupRedirections, .-setupRedirections
	.section	.rodata
	.align	2
.LC7:
	.ascii	"exit\000"
	.align	2
.LC8:
	.ascii	"pwd\000"
	.align	2
.LC9:
	.ascii	"cd\000"
	.align	2
.LC10:
	.ascii	"HOME\000"
	.align	2
.LC11:
	.ascii	"failed to change current directory: %s\012\000"
	.align	2
.LC12:
	.ascii	"jobs\000"
	.align	2
.LC13:
	.ascii	"Stopped\000"
	.align	2
.LC14:
	.ascii	"Running\000"
	.align	2
.LC15:
	.ascii	"[%d] %-22s %.40s\012\000"
	.align	2
.LC16:
	.ascii	"fg\000"
	.align	2
.LC17:
	.ascii	"bg\000"
	.align	2
.LC18:
	.ascii	"%s: exactly one argument is expected\012\000"
	.align	2
.LC19:
	.ascii	"%%%d\000"
	.align	2
.LC20:
	.ascii	"%s: bad argument '%s'\012\000"
	.align	2
.LC21:
	.ascii	"%s: unknown job %d\012\000"
	.align	2
.LC22:
	.ascii	"tcsetpgrp\000"
	.align	2
.LC23:
	.ascii	"exec() of %s failed: %s\012\000"
	.align	2
.LC24:
	.ascii	"[%d] %d\012\000"
	.align	2
.LC25:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	runCommand
	.syntax unified
	.arm
	.fpu softvfp
	.type	runCommand, %function
runCommand:
	@ args = 44, pretend = 16, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	sub	sp, sp, #16
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #56
	add	ip, fp, #4
	stm	ip, {r0, r1, r2, r3}
	ldr	r3, [fp, #40]
	str	r3, [fp, #-64]
	ldr	r3, .L147
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	ldr	r3, [fp, #28]
	ldr	r3, [r3, #4]
	ldr	r3, [r3]
	ldr	r1, .L147+4
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L97
	mov	r0, #0
	bl	exit
.L97:
	ldr	r3, [fp, #28]
	ldr	r3, [r3, #4]
	ldr	r3, [r3]
	ldr	r1, .L147+8
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L98
	mov	r3, #50
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-40]
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-48]
	b	.L99
.L101:
	ldr	r3, [fp, #-40]
	add	r3, r3, #50
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-40]
	mov	r1, r3
	ldr	r0, [fp, #-48]
	bl	realloc
	str	r0, [fp, #-48]
.L99:
	ldr	r3, [fp, #-40]
	mov	r1, r3
	ldr	r0, [fp, #-48]
	bl	getcwd
	mov	r3, r0
	cmp	r3, #0
	bne	.L100
	bl	__errno_location
	mov	r3, r0
	ldr	r3, [r3]
	cmp	r3, #34
	beq	.L101
.L100:
	ldr	r0, [fp, #-48]
	bl	puts
	ldr	r0, [fp, #-48]
	bl	free
	mov	r3, #0
	b	.L144
.L98:
	ldr	r3, [fp, #28]
	ldr	r3, [r3, #4]
	ldr	r3, [r3]
	ldr	r1, .L147+12
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L103
	ldr	r3, [fp, #28]
	ldr	r3, [r3, #4]
	add	r3, r3, #4
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L104
	ldr	r0, .L147+16
	bl	getenv
	str	r0, [fp, #-52]
	b	.L105
.L104:
	ldr	r3, [fp, #28]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-52]
.L105:
	ldr	r0, [fp, #-52]
	bl	chdir
	mov	r3, r0
	cmp	r3, #0
	beq	.L106
	bl	__errno_location
	mov	r3, r0
	ldr	r3, [r3]
	mov	r0, r3
	bl	strerror
	mov	r3, r0
	mov	r1, r3
	ldr	r0, .L147+20
	bl	printf
.L106:
	mov	r3, #0
	b	.L144
.L103:
	ldr	r3, [fp, #28]
	ldr	r3, [r3, #4]
	ldr	r3, [r3]
	ldr	r1, .L147+24
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L107
	ldr	r3, [fp, #-64]
	ldr	r3, [r3]
	str	r3, [fp, #-56]
	b	.L108
.L111:
	ldr	r3, [fp, #-56]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #32]
	cmp	r2, r3
	bne	.L109
	ldr	r3, .L147+28
	str	r3, [fp, #-28]
	b	.L110
.L109:
	ldr	r3, .L147+32
	str	r3, [fp, #-28]
.L110:
	ldr	r3, [fp, #-56]
	ldr	r1, [r3]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-28]
	ldr	r0, .L147+36
	bl	printf
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #28]
	str	r3, [fp, #-56]
.L108:
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	bne	.L111
	mov	r3, #0
	b	.L144
.L107:
	ldr	r3, [fp, #28]
	ldr	r3, [r3, #4]
	ldr	r3, [r3]
	ldr	r1, .L147+40
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	beq	.L112
	ldr	r3, [fp, #28]
	ldr	r3, [r3, #4]
	ldr	r3, [r3]
	ldr	r1, .L147+44
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L113
.L112:
	ldr	r3, [fp, #28]
	ldr	r3, [r3, #4]
	add	r3, r3, #4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L114
	ldr	r3, [fp, #28]
	ldr	r3, [r3, #4]
	add	r3, r3, #8
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L115
.L114:
	ldr	r3, .L147+48
	ldr	r0, [r3]
	ldr	r3, [fp, #28]
	ldr	r3, [r3, #4]
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, .L147+52
	bl	fprintf
	mov	r3, #1
	b	.L144
.L115:
	ldr	r3, [fp, #28]
	ldr	r3, [r3, #4]
	add	r3, r3, #4
	ldr	r3, [r3]
	sub	r2, fp, #60
	ldr	r1, .L147+56
	mov	r0, r3
	bl	__isoc99_sscanf
	mov	r3, r0
	cmp	r3, #1
	beq	.L116
	ldr	r3, .L147+48
	ldr	r0, [r3]
	ldr	r3, [fp, #28]
	ldr	r3, [r3, #4]
	ldr	r2, [r3]
	ldr	r3, [fp, #28]
	ldr	r3, [r3, #4]
	add	r3, r3, #4
	ldr	r3, [r3]
	ldr	r1, .L147+60
	bl	fprintf
	mov	r3, #1
	b	.L144
.L116:
	ldr	r3, [fp, #-64]
	ldr	r3, [r3]
	str	r3, [fp, #-56]
	b	.L117
.L120:
	ldr	r3, [fp, #-56]
	ldr	r2, [r3]
	ldr	r3, [fp, #-60]
	cmp	r2, r3
	beq	.L146
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #28]
	str	r3, [fp, #-56]
.L117:
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	bne	.L120
	b	.L119
.L146:
	nop
.L119:
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	bne	.L121
	ldr	r3, .L147+48
	ldr	r0, [r3]
	ldr	r3, [fp, #28]
	ldr	r3, [r3, #4]
	ldr	r2, [r3]
	ldr	r3, [fp, #-60]
	ldr	r1, .L147+64
	bl	fprintf
	mov	r3, #1
	b	.L144
.L121:
	ldr	r3, [fp, #28]
	ldr	r3, [r3, #4]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #102
	bne	.L122
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #20]
	mov	r1, r3
	mov	r0, #0
	bl	tcsetpgrp
	mov	r3, r0
	cmp	r3, #0
	beq	.L123
	ldr	r0, .L147+68
	bl	perror
.L123:
	ldr	r3, [fp, #-64]
	ldr	r2, [fp, #-56]
	str	r2, [r3, #4]
.L122:
	mov	r3, #0
	str	r3, [fp, #-44]
	b	.L124
.L125:
	ldr	r3, [fp, #-56]
	ldr	r1, [r3, #24]
	ldr	r2, [fp, #-44]
	mov	r3, r2
	lsl	r3, r3, #4
	sub	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	mov	r2, #0
	str	r2, [r3, #56]
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L124:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-44]
	cmp	r2, r3
	blt	.L125
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #20]
	rsb	r3, r3, #0
	mov	r1, #18
	mov	r0, r3
	bl	kill
	ldr	r3, [fp, #-56]
	mov	r2, #0
	str	r2, [r3, #32]
	mov	r3, #0
	b	.L144
.L113:
	mov	r3, #0
	str	r3, [fp, #-36]
	mov	r3, #1
	str	r3, [fp, #-32]
	mov	r3, #0
	str	r3, [fp, #-44]
	b	.L126
.L134:
	ldr	r3, [fp, #-44]
	add	r2, r3, #1
	ldr	r3, [fp, #8]
	cmp	r2, r3
	bge	.L127
	sub	r3, fp, #24
	mov	r0, r3
	bl	pipe
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-32]
	b	.L128
.L127:
	mov	r3, #1
	str	r3, [fp, #-32]
.L128:
	ldr	r1, [fp, #28]
	ldr	r2, [fp, #-44]
	mov	r3, r2
	lsl	r3, r3, #4
	sub	r3, r3, r2
	lsl	r3, r3, #2
	add	r4, r1, r3
	bl	fork
	mov	r3, r0
	str	r3, [r4]
	ldr	r3, [r4]
	cmp	r3, #0
	bne	.L129
	mov	r1, #0
	mov	r0, #22
	bl	signal
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	beq	.L130
	mov	r1, #0
	ldr	r0, [fp, #-36]
	bl	dup2
	ldr	r0, [fp, #-36]
	bl	close
.L130:
	ldr	r3, [fp, #-32]
	cmp	r3, #1
	beq	.L131
	mov	r1, #1
	ldr	r0, [fp, #-32]
	bl	dup2
	ldr	r0, [fp, #-32]
	bl	close
.L131:
	ldr	r1, [fp, #28]
	ldr	r2, [fp, #-44]
	mov	r3, r2
	lsl	r3, r3, #4
	sub	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	mov	r0, r3
	bl	setupRedirections
	ldr	r1, [fp, #28]
	ldr	r2, [fp, #-44]
	mov	r3, r2
	lsl	r3, r3, #4
	sub	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3, #4]
	ldr	r0, [r3]
	ldr	r1, [fp, #28]
	ldr	r2, [fp, #-44]
	mov	r3, r2
	lsl	r3, r3, #4
	sub	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3, #4]
	mov	r1, r3
	bl	execvp
	ldr	r3, .L147+48
	ldr	r4, [r3]
	ldr	r1, [fp, #28]
	ldr	r2, [fp, #-44]
	mov	r3, r2
	lsl	r3, r3, #4
	sub	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3, #4]
	ldr	r5, [r3]
	bl	__errno_location
	mov	r3, r0
	ldr	r3, [r3]
	mov	r0, r3
	bl	strerror
	mov	r3, r0
	mov	r2, r5
	ldr	r1, .L147+72
	mov	r0, r4
	bl	fprintf
	mov	r0, #1
	bl	exit
.L129:
	ldr	r1, [fp, #28]
	ldr	r2, [fp, #-44]
	mov	r3, r2
	lsl	r3, r3, #4
	sub	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #28]
	ldr	r3, [r3]
	mov	r1, r3
	mov	r0, r2
	bl	setpgid
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	beq	.L132
	ldr	r0, [fp, #-36]
	bl	close
.L132:
	ldr	r3, [fp, #-32]
	cmp	r3, #1
	beq	.L133
	ldr	r0, [fp, #-32]
	bl	close
.L133:
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L126:
	ldr	r3, [fp, #8]
	ldr	r2, [fp, #-44]
	cmp	r2, r3
	blt	.L134
	ldr	r3, [fp, #28]
	ldr	r3, [r3]
	str	r3, [fp, #24]
	mov	r3, #1
	str	r3, [fp, #4]
	ldr	r3, [fp, #-64]
	ldr	r3, [r3]
	str	r3, [fp, #-56]
	b	.L135
.L137:
	ldr	r3, [fp, #-56]
	ldr	r2, [r3]
	ldr	r3, [fp, #4]
	cmp	r2, r3
	blt	.L136
	ldr	r3, [fp, #-56]
	ldr	r3, [r3]
	add	r3, r3, #1
	str	r3, [fp, #4]
.L136:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #28]
	str	r3, [fp, #-56]
.L135:
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	bne	.L137
	ldr	r3, [fp, #-64]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L138
	mov	r0, #36
	bl	malloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-64]
	str	r2, [r3]
	ldr	r3, [fp, #-64]
	ldr	r3, [r3]
	str	r3, [fp, #-56]
	b	.L139
.L138:
	ldr	r3, [fp, #-64]
	ldr	r3, [r3]
	str	r3, [fp, #-56]
	b	.L140
.L141:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #28]
	str	r3, [fp, #-56]
.L140:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #28]
	cmp	r3, #0
	bne	.L141
	mov	r0, #36
	bl	malloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-56]
	str	r2, [r3, #28]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #28]
	str	r3, [fp, #-56]
.L139:
	ldr	r3, [fp, #-56]
	mov	lr, r3
	add	ip, fp, #4
	ldmia	ip!, {r0, r1, r2, r3}
	stmia	lr!, {r0, r1, r2, r3}
	ldmia	ip!, {r0, r1, r2, r3}
	stmia	lr!, {r0, r1, r2, r3}
	ldr	r3, [ip]
	str	r3, [lr]
	ldr	r3, [fp, #-56]
	mov	r2, #0
	str	r2, [r3, #28]
	ldr	r3, [fp, #-56]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-56]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-56]
	mov	r2, #0
	str	r2, [r3, #32]
	ldr	r3, [fp, #44]
	cmp	r3, #0
	beq	.L142
	ldr	r3, [fp, #-56]
	ldr	r1, [r3]
	ldr	r2, [fp, #28]
	ldr	r3, [fp, #8]
	mov	r0, r3
	mov	r3, r0
	lsl	r3, r3, #4
	sub	r3, r3, r0
	lsl	r3, r3, #2
	sub	r3, r3, #60
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r0, .L147+76
	bl	printf
	b	.L143
.L142:
	ldr	r3, [fp, #-64]
	ldr	r2, [fp, #-56]
	str	r2, [r3, #4]
	ldr	r3, [fp, #24]
	mov	r1, r3
	mov	r0, #0
	bl	tcsetpgrp
	mov	r3, r0
	cmp	r3, #0
	beq	.L143
	ldr	r0, .L147+68
	bl	perror
.L143:
	mov	r3, #0
.L144:
	ldr	r2, .L147
	ldr	r1, [r2]
	ldr	r2, [fp, #-16]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L145
	bl	__stack_chk_fail
.L145:
	mov	r0, r3
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, lr}
	add	sp, sp, #16
	bx	lr
.L148:
	.align	2
.L147:
	.word	.LC25
	.word	.LC7
	.word	.LC8
	.word	.LC9
	.word	.LC10
	.word	.LC11
	.word	.LC12
	.word	.LC13
	.word	.LC14
	.word	.LC15
	.word	.LC16
	.word	.LC17
	.word	stderr
	.word	.LC18
	.word	.LC19
	.word	.LC20
	.word	.LC21
	.word	.LC22
	.word	.LC23
	.word	.LC24
	.size	runCommand, .-runCommand
	.align	2
	.global	removeJob
	.syntax unified
	.arm
	.fpu softvfp
	.type	removeJob, %function
removeJob:
	@ 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, #-20]
	bl	freeJob
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	bne	.L150
	ldr	r3, [fp, #-20]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-16]
	str	r2, [r3]
	b	.L151
.L150:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	b	.L152
.L153:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #28]
	str	r3, [fp, #-8]
.L152:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #28]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	bne	.L153
	ldr	r3, [fp, #-20]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #28]
.L151:
	ldr	r0, [fp, #-20]
	bl	free
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	removeJob, .-removeJob
	.section	.rodata
	.align	2
.LC26:
	.ascii	"Done\000"
	.align	2
.LC27:
	.ascii	"waitpid\000"
	.align	2
.LC28:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	checkJobs
	.syntax unified
	.arm
	.fpu softvfp
	.type	checkJobs, %function
checkJobs:
	@ 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, .L171
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	b	.L155
.L166:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	b	.L156
.L162:
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L157
.L159:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L157:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	bge	.L158
	ldr	r3, [fp, #-20]
	ldr	r1, [r3, #24]
	ldr	r2, [fp, #-16]
	mov	r3, r2
	lsl	r3, r3, #4
	sub	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	bne	.L159
.L158:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	blt	.L169
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #28]
	str	r3, [fp, #-20]
.L156:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L162
	b	.L161
.L169:
	nop
.L161:
	ldr	r3, [fp, #-24]
	and	r3, r3, #127
	cmp	r3, #0
	beq	.L163
	ldr	r3, [fp, #-24]
	and	r3, r3, #255
	and	r3, r3, #127
	and	r3, r3, #255
	add	r3, r3, #1
	and	r3, r3, #255
	lsl	r3, r3, #24
	asr	r3, r3, #24
	asr	r3, r3, #1
	lsl	r3, r3, #24
	asr	r3, r3, #24
	cmp	r3, #0
	ble	.L164
.L163:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #8]
	sub	r2, r3, #1
	ldr	r3, [fp, #-20]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-20]
	ldr	r1, [r3, #24]
	ldr	r2, [fp, #-16]
	mov	r3, r2
	lsl	r3, r3, #4
	sub	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L155
	ldr	r3, [fp, #-20]
	ldr	r1, [r3]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #12]
	ldr	r2, .L171+4
	ldr	r0, .L171+8
	bl	printf
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-32]
	bl	removeJob
	b	.L155
.L164:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #32]
	add	r2, r3, #1
	ldr	r3, [fp, #-20]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-20]
	ldr	r1, [r3, #24]
	ldr	r2, [fp, #-16]
	mov	r3, r2
	lsl	r3, r3, #4
	sub	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	mov	r2, #1
	str	r2, [r3, #56]
	ldr	r3, [fp, #-20]
	ldr	r2, [r3, #32]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #4]
	cmp	r2, r3
	bne	.L155
	ldr	r3, [fp, #-20]
	ldr	r1, [r3]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #12]
	ldr	r2, .L171+12
	ldr	r0, .L171+8
	bl	printf
.L155:
	sub	r3, fp, #24
	mov	r2, #3
	mov	r1, r3
	mvn	r0, #0
	bl	waitpid
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bgt	.L166
	ldr	r3, [fp, #-12]
	cmn	r3, #1
	bne	.L170
	bl	__errno_location
	mov	r3, r0
	ldr	r3, [r3]
	cmp	r3, #10
	beq	.L170
	ldr	r0, .L171+16
	bl	perror
.L170:
	nop
	ldr	r3, .L171
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L168
	bl	__stack_chk_fail
.L168:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L172:
	.align	2
.L171:
	.word	.LC28
	.word	.LC26
	.word	.LC15
	.word	.LC13
	.word	.LC27
	.size	checkJobs, .-checkJobs
	.section	.rodata
	.align	2
.LC29:
	.ascii	"unexpected arguments; usage: ladsh1 <commands>\012\000"
	.align	2
.LC30:
	.ascii	"r\000"
	.align	2
.LC31:
	.ascii	"fopen\000"
	.align	2
.LC32:
	.ascii	"\012[%d] %-22s %.40s\012\000"
	.align	2
.LC33:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ args = 0, pretend = 0, frame = 328
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #360
	str	r0, [fp, #-328]
	str	r1, [fp, #-332]
	ldr	r3, .L193
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-324]
	mov	r3, #0
	str	r3, [fp, #-304]
	mov	r3, #0
	str	r3, [fp, #-300]
	ldr	r3, .L193+4
	ldr	r3, [r3]
	str	r3, [fp, #-312]
	ldr	r3, [fp, #-328]
	cmp	r3, #2
	ble	.L174
	ldr	r3, .L193+8
	ldr	r3, [r3]
	mov	r2, #47
	mov	r1, #1
	ldr	r0, .L193+12
	bl	fwrite
	mov	r0, #1
	bl	exit
.L174:
	ldr	r3, [fp, #-328]
	cmp	r3, #2
	bne	.L175
	ldr	r3, [fp, #-332]
	add	r3, r3, #4
	ldr	r3, [r3]
	ldr	r1, .L193+16
	mov	r0, r3
	bl	fopen
	str	r0, [fp, #-312]
	ldr	r3, [fp, #-312]
	cmp	r3, #0
	bne	.L175
	ldr	r0, .L193+20
	bl	perror
	mov	r0, #1
	bl	exit
.L175:
	mov	r1, #1
	mov	r0, #22
	bl	signal
.L187:
	ldr	r3, [fp, #-300]
	cmp	r3, #0
	bne	.L176
	sub	r3, fp, #304
	mov	r0, r3
	bl	checkJobs
	ldr	r3, [fp, #-324]
	cmp	r3, #0
	bne	.L177
	sub	r3, fp, #260
	mov	r1, r3
	ldr	r0, [fp, #-312]
	bl	getCommand
	mov	r3, r0
	cmp	r3, #0
	bne	.L191
	sub	r3, fp, #260
	str	r3, [fp, #-324]
.L177:
	sub	r2, fp, #316
	sub	r1, fp, #296
	sub	r3, fp, #324
	mov	r0, r3
	bl	parseCommand
	mov	r3, r0
	cmp	r3, #0
	bne	.L187
	ldr	r3, [fp, #-292]
	cmp	r3, #0
	beq	.L187
	ldr	r3, [fp, #-316]
	str	r3, [sp, #24]
	sub	r3, fp, #304
	str	r3, [sp, #20]
	mov	lr, sp
	sub	ip, fp, #280
	ldmia	ip!, {r0, r1, r2, r3}
	stmia	lr!, {r0, r1, r2, r3}
	ldr	r3, [ip]
	str	r3, [lr]
	sub	r3, fp, #296
	ldm	r3, {r0, r1, r2, r3}
	bl	runCommand
	b	.L187
.L176:
	mov	r3, #0
	str	r3, [fp, #-308]
	b	.L181
.L182:
	ldr	r3, [fp, #-308]
	add	r3, r3, #1
	str	r3, [fp, #-308]
.L181:
	ldr	r3, [fp, #-300]
	ldr	r1, [r3, #24]
	ldr	r2, [fp, #-308]
	mov	r3, r2
	lsl	r3, r3, #4
	sub	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L182
	ldr	r3, [fp, #-300]
	ldr	r1, [r3, #24]
	ldr	r2, [fp, #-308]
	mov	r3, r2
	lsl	r3, r3, #4
	sub	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3, #56]
	cmp	r3, #0
	bne	.L182
	ldr	r3, [fp, #-300]
	ldr	r1, [r3, #24]
	ldr	r2, [fp, #-308]
	mov	r3, r2
	lsl	r3, r3, #4
	sub	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3]
	sub	r1, fp, #320
	mov	r2, #2
	mov	r0, r3
	bl	waitpid
	ldr	r3, [fp, #-320]
	and	r3, r3, #127
	cmp	r3, #0
	beq	.L183
	ldr	r3, [fp, #-320]
	and	r3, r3, #255
	and	r3, r3, #127
	and	r3, r3, #255
	add	r3, r3, #1
	and	r3, r3, #255
	lsl	r3, r3, #24
	asr	r3, r3, #24
	asr	r3, r3, #1
	lsl	r3, r3, #24
	asr	r3, r3, #24
	cmp	r3, #0
	ble	.L184
.L183:
	ldr	r3, [fp, #-300]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-300]
	ldr	r1, [r3, #24]
	ldr	r2, [fp, #-308]
	mov	r3, r2
	lsl	r3, r3, #4
	sub	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-300]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L192
	ldr	r2, [fp, #-300]
	sub	r3, fp, #304
	mov	r1, r2
	mov	r0, r3
	bl	removeJob
	mov	r3, #0
	str	r3, [fp, #-300]
	bl	getpid
	mov	r3, r0
	mov	r1, r3
	mov	r0, #0
	bl	tcsetpgrp
	mov	r3, r0
	cmp	r3, #0
	beq	.L192
	ldr	r0, .L193+24
	bl	perror
	b	.L192
.L184:
	ldr	r3, [fp, #-300]
	ldr	r2, [r3, #32]
	add	r2, r2, #1
	str	r2, [r3, #32]
	ldr	r3, [fp, #-300]
	ldr	r1, [r3, #24]
	ldr	r2, [fp, #-308]
	mov	r3, r2
	lsl	r3, r3, #4
	sub	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	mov	r2, #1
	str	r2, [r3, #56]
	ldr	r3, [fp, #-300]
	ldr	r2, [r3, #32]
	ldr	r3, [fp, #-300]
	ldr	r3, [r3, #8]
	cmp	r2, r3
	bne	.L186
	ldr	r3, [fp, #-300]
	ldr	r1, [r3]
	ldr	r3, [fp, #-300]
	ldr	r3, [r3, #12]
	ldr	r2, .L193+28
	ldr	r0, .L193+32
	bl	printf
	mov	r3, #0
	str	r3, [fp, #-300]
	b	.L186
.L192:
	nop
.L186:
	ldr	r3, [fp, #-300]
	cmp	r3, #0
	bne	.L187
	bl	getpid
	mov	r3, r0
	mov	r1, r3
	mov	r0, #0
	bl	tcsetpgrp
	mov	r3, r0
	cmp	r3, #0
	beq	.L187
	ldr	r0, .L193+24
	bl	perror
	b	.L187
.L191:
	nop
	mov	r3, #0
	ldr	r2, .L193
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L189
	bl	__stack_chk_fail
.L189:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L194:
	.align	2
.L193:
	.word	.LC33
	.word	stdin
	.word	stderr
	.word	.LC29
	.word	.LC30
	.word	.LC31
	.word	.LC22
	.word	.LC13
	.word	.LC32
	.size	main, .-main
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
