	.file	"30250.c"
	.intel_syntax noprefix
	.text
	.globl	buf
	.bss
	.align 32
	.type	buf, @object
	.size	buf, 1024
buf:
	.zero	1024
	.globl	buf2
	.align 32
	.type	buf2, @object
	.size	buf2, 1024
buf2:
	.zero	1024
	.globl	buf3
	.align 32
	.type	buf3, @object
	.size	buf3, 1024
buf3:
	.zero	1024
	.globl	bigBuf
	.align 32
	.type	bigBuf, @object
	.size	bigBuf, 4096
bigBuf:
	.zero	4096
	.globl	bigBuf1
	.align 32
	.type	bigBuf1, @object
	.size	bigBuf1, 4096
bigBuf1:
	.zero	4096
	.globl	cpargv
	.section	.rodata
.LC0:
	.string	"me2.txt"
.LC1:
	.string	"me2copy.txt"
	.section	.data.rel.local,"aw"
	.align 32
	.type	cpargv, @object
	.size	cpargv, 160
cpargv:
	.quad	.LC0
	.quad	.LC1
	.zero	144
	.section	.rodata
.LC2:
	.string	"me.txt"
	.align 8
.LC3:
	.string	"Error: bad file descriptor on iteration %d"
.LC4:
	.string	"Error: could not make a file"
.LC5:
	.string	"Error: could not write a file"
	.align 8
.LC6:
	.string	"Error: unable to read data back from a file"
	.align 8
.LC7:
	.string	"Error: unable to close the file"
.LC8:
	.string	"../test/cp"
	.align 8
.LC9:
	.string	"Error: unable to reopen the file me2copy.txt. Exec('cp') did not work"
	.align 8
.LC10:
	.string	"Error: unable to reread the file me2copy.txt"
	.align 8
.LC11:
	.string	"Error: bad value reread back to me2copy.txt. Exec('cp') did not work."
	.align 8
.LC12:
	.string	"Error: unable to reopen the file"
	.align 8
.LC13:
	.string	"Error: unable to reread the file"
.LC14:
	.string	"Error: bad value reread back"
	.align 8
.LC15:
	.string	"Error: could not unlink me2.txt"
	.align 8
.LC16:
	.string	"Error: unlink deleted a file early while others still accessing"
	.align 8
.LC17:
	.string	"Error: tried to close file while it was last one with it open"
	.align 8
.LC18:
	.string	"Error: open syscall created a file we deleted"
.LC19:
	.string	"bigFileTest.txt"
	.align 8
.LC20:
	.string	"Error: unable to open file for big io test"
	.align 8
.LC21:
	.string	"Error: unable to write big data"
	.align 8
.LC22:
	.string	"Error: unable to reopen file for big io test"
	.align 8
.LC23:
	.string	"Error: unable to read back big data"
	.align 8
.LC24:
	.string	"Error: did not read back the expected data"
.LC25:
	.string	"Tests successful!"
.LC26:
	.string	"Error: could not close stdin"
.LC27:
	.string	"Error: could not close stdout"
	.align 8
.LC28:
	.string	"Success: All Tests Pass | Huzzahs all around!"
	.text
	.globl	main
	.type	main, @function
main:
.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, 16
	mov	DWORD PTR -16[rbp], 0
	jmp	.L2
.L5:
	lea	rdi, .LC2[rip]
	mov	eax, 0
	call	creat@PLT
	mov	DWORD PTR -12[rbp], eax
	cmp	DWORD PTR -12[rbp], -1
	jne	.L3
	mov	eax, DWORD PTR -16[rbp]
	mov	esi, eax
	lea	rdi, .LC3[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 1
	jmp	.L4
.L3:
	mov	eax, DWORD PTR -12[rbp]
	mov	edi, eax
	mov	eax, 0
	call	close@PLT
	lea	rdi, .LC2[rip]
	mov	eax, 0
	call	unlink@PLT
	add	DWORD PTR -16[rbp], 1
.L2:
	cmp	DWORD PTR -16[rbp], 16
	jle	.L5
	lea	rdi, .LC0[rip]
	mov	eax, 0
	call	creat@PLT
	mov	DWORD PTR -12[rbp], eax
	cmp	DWORD PTR -12[rbp], -1
	jne	.L6
	lea	rdi, .LC4[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 1
	jmp	.L4
.L6:
	mov	DWORD PTR -16[rbp], 0
	jmp	.L7
.L8:
	mov	eax, DWORD PTR -16[rbp]
	add	eax, 97
	mov	ecx, eax
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	lea	rdx, buf[rip]
	mov	BYTE PTR [rax+rdx], cl
	add	DWORD PTR -16[rbp], 1
.L7:
	cmp	DWORD PTR -16[rbp], 25
	jle	.L8
	mov	eax, DWORD PTR -12[rbp]
	mov	edx, 26
	lea	rsi, buf[rip]
	mov	edi, eax
	mov	eax, 0
	call	write@PLT
	mov	DWORD PTR -8[rbp], eax
	cmp	DWORD PTR -8[rbp], -1
	jne	.L9
	lea	rdi, .LC5[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 1
	jmp	.L4
.L9:
	mov	eax, DWORD PTR -12[rbp]
	mov	edx, 26
	lea	rsi, buf2[rip]
	mov	edi, eax
	mov	eax, 0
	call	read@PLT
	mov	DWORD PTR -8[rbp], eax
	cmp	DWORD PTR -8[rbp], -1
	jne	.L10
	lea	rdi, .LC6[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 1
	jmp	.L4
.L10:
	mov	eax, DWORD PTR -12[rbp]
	mov	edi, eax
	mov	eax, 0
	call	close@PLT
	mov	DWORD PTR -8[rbp], eax
	cmp	DWORD PTR -8[rbp], -1
	jne	.L11
	lea	rdi, .LC7[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 1
	jmp	.L4
.L11:
	lea	rdx, cpargv[rip]
	mov	esi, 2
	lea	rdi, .LC8[rip]
	mov	eax, 0
	call	exec@PLT
	lea	rdi, .LC1[rip]
	mov	eax, 0
	call	open@PLT
	mov	DWORD PTR -12[rbp], eax
	cmp	DWORD PTR -12[rbp], -1
	jne	.L12
	lea	rdi, .LC9[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 1
	jmp	.L4
.L12:
	mov	eax, DWORD PTR -12[rbp]
	mov	edx, 26
	lea	rsi, buf3[rip]
	mov	edi, eax
	mov	eax, 0
	call	read@PLT
	mov	DWORD PTR -8[rbp], eax
	cmp	DWORD PTR -8[rbp], -1
	jne	.L13
	lea	rdi, .LC10[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 1
	jmp	.L4
.L13:
	mov	DWORD PTR -16[rbp], 0
	jmp	.L14
.L16:
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	lea	rdx, buf3[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	movsx	eax, al
	mov	edx, DWORD PTR -16[rbp]
	add	edx, 97
	cmp	eax, edx
	je	.L15
	lea	rdi, .LC11[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 1
	jmp	.L4
.L15:
	add	DWORD PTR -16[rbp], 1
.L14:
	cmp	DWORD PTR -16[rbp], 25
	jle	.L16
	lea	rdi, .LC1[rip]
	mov	eax, 0
	call	unlink@PLT
	mov	DWORD PTR -8[rbp], eax
	lea	rdi, .LC0[rip]
	mov	eax, 0
	call	open@PLT
	mov	DWORD PTR -12[rbp], eax
	cmp	DWORD PTR -12[rbp], -1
	jne	.L17
	lea	rdi, .LC12[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 1
	jmp	.L4
.L17:
	mov	eax, DWORD PTR -12[rbp]
	mov	edx, 26
	lea	rsi, buf3[rip]
	mov	edi, eax
	mov	eax, 0
	call	read@PLT
	mov	DWORD PTR -8[rbp], eax
	cmp	DWORD PTR -8[rbp], -1
	jne	.L18
	lea	rdi, .LC13[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 1
	jmp	.L4
.L18:
	mov	DWORD PTR -16[rbp], 0
	jmp	.L19
.L21:
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	lea	rdx, buf3[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	movsx	eax, al
	mov	edx, DWORD PTR -16[rbp]
	add	edx, 97
	cmp	eax, edx
	je	.L20
	lea	rdi, .LC14[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 1
	jmp	.L4
.L20:
	add	DWORD PTR -16[rbp], 1
.L19:
	cmp	DWORD PTR -16[rbp], 25
	jle	.L21
	lea	rdi, .LC0[rip]
	mov	eax, 0
	call	unlink@PLT
	mov	DWORD PTR -8[rbp], eax
	cmp	DWORD PTR -8[rbp], -1
	jne	.L22
	lea	rdi, .LC15[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 1
	jmp	.L4
.L22:
	mov	eax, DWORD PTR -12[rbp]
	mov	edx, 26
	lea	rsi, buf2[rip]
	mov	edi, eax
	mov	eax, 0
	call	read@PLT
	mov	DWORD PTR -8[rbp], eax
	cmp	DWORD PTR -8[rbp], -1
	jne	.L23
	lea	rdi, .LC16[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 1
	jmp	.L4
.L23:
	mov	eax, DWORD PTR -12[rbp]
	mov	edi, eax
	mov	eax, 0
	call	close@PLT
	mov	DWORD PTR -8[rbp], eax
	cmp	DWORD PTR -8[rbp], -1
	jne	.L24
	lea	rdi, .LC17[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 1
	jmp	.L4
.L24:
	lea	rdi, .LC0[rip]
	mov	eax, 0
	call	open@PLT
	mov	DWORD PTR -12[rbp], eax
	cmp	DWORD PTR -12[rbp], -1
	je	.L25
	lea	rdi, .LC18[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 1
	jmp	.L4
.L25:
	mov	DWORD PTR -16[rbp], 0
	jmp	.L26
.L27:
	mov	eax, DWORD PTR -16[rbp]
	xor	eax, 2
	add	eax, 97
	mov	ecx, eax
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	lea	rdx, bigBuf[rip]
	mov	BYTE PTR [rax+rdx], cl
	add	DWORD PTR -16[rbp], 1
.L26:
	cmp	DWORD PTR -16[rbp], 4095
	jle	.L27
	lea	rdi, .LC19[rip]
	mov	eax, 0
	call	creat@PLT
	mov	DWORD PTR -12[rbp], eax
	cmp	DWORD PTR -12[rbp], -1
	jne	.L28
	lea	rdi, .LC20[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 1
	jmp	.L4
.L28:
	mov	eax, DWORD PTR -12[rbp]
	mov	edx, 4096
	lea	rsi, bigBuf[rip]
	mov	edi, eax
	mov	eax, 0
	call	write@PLT
	mov	DWORD PTR -8[rbp], eax
	cmp	DWORD PTR -8[rbp], -1
	jne	.L29
	lea	rdi, .LC21[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 1
	jmp	.L4
.L29:
	mov	eax, DWORD PTR -12[rbp]
	mov	edi, eax
	mov	eax, 0
	call	close@PLT
	lea	rdi, .LC19[rip]
	mov	eax, 0
	call	open@PLT
	mov	DWORD PTR -12[rbp], eax
	cmp	DWORD PTR -12[rbp], -1
	jne	.L30
	lea	rdi, .LC22[rip]
	mov	eax, 0
	call	printf@PLT
.L30:
	mov	eax, DWORD PTR -12[rbp]
	mov	edx, 4096
	lea	rsi, bigBuf1[rip]
	mov	edi, eax
	mov	eax, 0
	call	read@PLT
	mov	DWORD PTR -8[rbp], eax
	cmp	DWORD PTR -8[rbp], -1
	jne	.L31
	lea	rdi, .LC23[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 1
	jmp	.L4
.L31:
	mov	DWORD PTR -16[rbp], 0
	jmp	.L32
.L34:
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	lea	rdx, bigBuf[rip]
	movzx	edx, BYTE PTR [rax+rdx]
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	lea	rcx, bigBuf1[rip]
	movzx	eax, BYTE PTR [rax+rcx]
	cmp	dl, al
	je	.L33
	lea	rdi, .LC24[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 1
	jmp	.L4
.L33:
	add	DWORD PTR -16[rbp], 1
.L32:
	cmp	DWORD PTR -16[rbp], 4095
	jle	.L34
	lea	rdi, .LC19[rip]
	mov	eax, 0
	call	unlink@PLT
	mov	eax, DWORD PTR -12[rbp]
	mov	edi, eax
	mov	eax, 0
	call	close@PLT
	lea	rdi, .LC25[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edi, 0
	mov	eax, 0
	call	close@PLT
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], -1
	jne	.L35
	lea	rdi, .LC26[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 1
	jmp	.L4
.L35:
	mov	edi, 1
	mov	eax, 0
	call	close@PLT
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], -1
	jne	.L36
	lea	rdi, .LC27[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 1
	jmp	.L4
.L36:
	lea	rdi, .LC28[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 0
.L4:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.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	"30250.c"
	.text
	.comm	buf,1024,4
	.comm	buf2,1024,4
	.comm	buf3,1024,4
	.comm	bigBuf,4096,4
	.comm	bigBuf1,4096,4
	.global	cpargv
	.section	.rodata
	.align	2
.LC0:
	.ascii	"me2.txt\000"
	.align	2
.LC1:
	.ascii	"me2copy.txt\000"
	.data
	.align	2
	.type	cpargv, %object
	.size	cpargv, 80
cpargv:
	.word	.LC0
	.word	.LC1
	.space	72
	.section	.rodata
	.align	2
.LC2:
	.ascii	"me.txt\000"
	.align	2
.LC3:
	.ascii	"Error: bad file descriptor on iteration %d\000"
	.align	2
.LC4:
	.ascii	"Error: could not make a file\000"
	.align	2
.LC5:
	.ascii	"Error: could not write a file\000"
	.align	2
.LC6:
	.ascii	"Error: unable to read data back from a file\000"
	.align	2
.LC7:
	.ascii	"Error: unable to close the file\000"
	.align	2
.LC8:
	.ascii	"../test/cp\000"
	.align	2
.LC9:
	.ascii	"Error: unable to reopen the file me2copy.txt. Exec("
	.ascii	"'cp') did not work\000"
	.align	2
.LC10:
	.ascii	"Error: unable to reread the file me2copy.txt\000"
	.align	2
.LC11:
	.ascii	"Error: bad value reread back to me2copy.txt. Exec('"
	.ascii	"cp') did not work.\000"
	.align	2
.LC12:
	.ascii	"Error: unable to reopen the file\000"
	.align	2
.LC13:
	.ascii	"Error: unable to reread the file\000"
	.align	2
.LC14:
	.ascii	"Error: bad value reread back\000"
	.align	2
.LC15:
	.ascii	"Error: could not unlink me2.txt\000"
	.align	2
.LC16:
	.ascii	"Error: unlink deleted a file early while others sti"
	.ascii	"ll accessing\000"
	.align	2
.LC17:
	.ascii	"Error: tried to close file while it was last one wi"
	.ascii	"th it open\000"
	.align	2
.LC18:
	.ascii	"Error: open syscall created a file we deleted\000"
	.align	2
.LC19:
	.ascii	"bigFileTest.txt\000"
	.align	2
.LC20:
	.ascii	"Error: unable to open file for big io test\000"
	.align	2
.LC21:
	.ascii	"Error: unable to write big data\000"
	.align	2
.LC22:
	.ascii	"Error: unable to reopen file for big io test\000"
	.align	2
.LC23:
	.ascii	"Error: unable to read back big data\000"
	.align	2
.LC24:
	.ascii	"Error: did not read back the expected data\000"
	.align	2
.LC25:
	.ascii	"Tests successful!\000"
	.align	2
.LC26:
	.ascii	"Error: could not close stdin\000"
	.align	2
.LC27:
	.ascii	"Error: could not close stdout\000"
	.align	2
.LC28:
	.ascii	"Success: All Tests Pass | Huzzahs all around!\000"
	.text
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ 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, #-20]
	b	.L2
.L5:
	ldr	r0, .L37
	bl	creat
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmn	r3, #1
	bne	.L3
	ldr	r1, [fp, #-20]
	ldr	r0, .L37+4
	bl	printf
	mov	r3, #1
	b	.L4
.L3:
	ldr	r0, [fp, #-16]
	bl	close
	ldr	r0, .L37
	bl	unlink
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L2:
	ldr	r3, [fp, #-20]
	cmp	r3, #16
	ble	.L5
	ldr	r0, .L37+8
	bl	creat
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmn	r3, #1
	bne	.L6
	ldr	r0, .L37+12
	bl	printf
	mov	r3, #1
	b	.L4
.L6:
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L7
.L8:
	ldr	r3, [fp, #-20]
	and	r3, r3, #255
	add	r3, r3, #97
	and	r1, r3, #255
	ldr	r2, .L37+16
	ldr	r3, [fp, #-20]
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L7:
	ldr	r3, [fp, #-20]
	cmp	r3, #25
	ble	.L8
	mov	r2, #26
	ldr	r1, .L37+16
	ldr	r0, [fp, #-16]
	bl	write
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmn	r3, #1
	bne	.L9
	ldr	r0, .L37+20
	bl	printf
	mov	r3, #1
	b	.L4
.L9:
	mov	r2, #26
	ldr	r1, .L37+24
	ldr	r0, [fp, #-16]
	bl	read
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmn	r3, #1
	bne	.L10
	ldr	r0, .L37+28
	bl	printf
	mov	r3, #1
	b	.L4
.L10:
	ldr	r0, [fp, #-16]
	bl	close
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmn	r3, #1
	bne	.L11
	ldr	r0, .L37+32
	bl	printf
	mov	r3, #1
	b	.L4
.L11:
	ldr	r2, .L37+36
	mov	r1, #2
	ldr	r0, .L37+40
	bl	exec
	ldr	r0, .L37+44
	bl	open
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmn	r3, #1
	bne	.L12
	ldr	r0, .L37+48
	bl	printf
	mov	r3, #1
	b	.L4
.L12:
	mov	r2, #26
	ldr	r1, .L37+52
	ldr	r0, [fp, #-16]
	bl	read
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmn	r3, #1
	bne	.L13
	ldr	r0, .L37+56
	bl	printf
	mov	r3, #1
	b	.L4
.L13:
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L14
.L16:
	ldr	r2, .L37+52
	ldr	r3, [fp, #-20]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-20]
	add	r3, r3, #97
	cmp	r2, r3
	beq	.L15
	ldr	r0, .L37+60
	bl	printf
	mov	r3, #1
	b	.L4
.L15:
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L14:
	ldr	r3, [fp, #-20]
	cmp	r3, #25
	ble	.L16
	ldr	r0, .L37+44
	bl	unlink
	str	r0, [fp, #-12]
	ldr	r0, .L37+8
	bl	open
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmn	r3, #1
	bne	.L17
	ldr	r0, .L37+64
	bl	printf
	mov	r3, #1
	b	.L4
.L17:
	mov	r2, #26
	ldr	r1, .L37+52
	ldr	r0, [fp, #-16]
	bl	read
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmn	r3, #1
	bne	.L18
	ldr	r0, .L37+68
	bl	printf
	mov	r3, #1
	b	.L4
.L18:
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L19
.L21:
	ldr	r2, .L37+52
	ldr	r3, [fp, #-20]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-20]
	add	r3, r3, #97
	cmp	r2, r3
	beq	.L20
	ldr	r0, .L37+72
	bl	printf
	mov	r3, #1
	b	.L4
.L20:
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L19:
	ldr	r3, [fp, #-20]
	cmp	r3, #25
	ble	.L21
	ldr	r0, .L37+8
	bl	unlink
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmn	r3, #1
	bne	.L22
	ldr	r0, .L37+76
	bl	printf
	mov	r3, #1
	b	.L4
.L22:
	mov	r2, #26
	ldr	r1, .L37+24
	ldr	r0, [fp, #-16]
	bl	read
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmn	r3, #1
	bne	.L23
	ldr	r0, .L37+80
	bl	printf
	mov	r3, #1
	b	.L4
.L23:
	ldr	r0, [fp, #-16]
	bl	close
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmn	r3, #1
	bne	.L24
	ldr	r0, .L37+84
	bl	printf
	mov	r3, #1
	b	.L4
.L24:
	ldr	r0, .L37+8
	bl	open
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmn	r3, #1
	beq	.L25
	ldr	r0, .L37+88
	bl	printf
	mov	r3, #1
	b	.L4
.L25:
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L26
.L27:
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #24
	asr	r3, r3, #24
	eor	r3, r3, #2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r3, r3, #255
	add	r3, r3, #97
	and	r1, r3, #255
	ldr	r2, .L37+92
	ldr	r3, [fp, #-20]
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L26:
	ldr	r3, [fp, #-20]
	cmp	r3, #4096
	blt	.L27
	ldr	r0, .L37+96
	bl	creat
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmn	r3, #1
	bne	.L28
	ldr	r0, .L37+100
	bl	printf
	mov	r3, #1
	b	.L4
.L28:
	mov	r2, #4096
	ldr	r1, .L37+92
	ldr	r0, [fp, #-16]
	bl	write
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmn	r3, #1
	bne	.L29
	ldr	r0, .L37+104
	bl	printf
	mov	r3, #1
	b	.L4
.L29:
	ldr	r0, [fp, #-16]
	bl	close
	ldr	r0, .L37+96
	bl	open
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmn	r3, #1
	bne	.L30
	ldr	r0, .L37+108
	bl	printf
.L30:
	mov	r2, #4096
	ldr	r1, .L37+112
	ldr	r0, [fp, #-16]
	bl	read
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmn	r3, #1
	bne	.L31
	ldr	r0, .L37+116
	bl	printf
	mov	r3, #1
	b	.L4
.L31:
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L32
.L34:
	ldr	r2, .L37+92
	ldr	r3, [fp, #-20]
	add	r3, r2, r3
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r1, .L37+112
	ldr	r3, [fp, #-20]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r2, r3
	beq	.L33
	ldr	r0, .L37+120
	bl	printf
	mov	r3, #1
	b	.L4
.L33:
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L32:
	ldr	r3, [fp, #-20]
	cmp	r3, #4096
	blt	.L34
	ldr	r0, .L37+96
	bl	unlink
	ldr	r0, [fp, #-16]
	bl	close
	ldr	r0, .L37+124
	bl	printf
	mov	r0, #0
	bl	close
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmn	r3, #1
	bne	.L35
	ldr	r0, .L37+128
	bl	printf
	mov	r3, #1
	b	.L4
.L35:
	mov	r0, #1
	bl	close
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmn	r3, #1
	bne	.L36
	ldr	r0, .L37+132
	bl	printf
	mov	r3, #1
	b	.L4
.L36:
	ldr	r0, .L37+136
	bl	printf
	mov	r3, #0
.L4:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L38:
	.align	2
.L37:
	.word	.LC2
	.word	.LC3
	.word	.LC0
	.word	.LC4
	.word	buf
	.word	.LC5
	.word	buf2
	.word	.LC6
	.word	.LC7
	.word	cpargv
	.word	.LC8
	.word	.LC1
	.word	.LC9
	.word	buf3
	.word	.LC10
	.word	.LC11
	.word	.LC12
	.word	.LC13
	.word	.LC14
	.word	.LC15
	.word	.LC16
	.word	.LC17
	.word	.LC18
	.word	bigBuf
	.word	.LC19
	.word	.LC20
	.word	.LC21
	.word	.LC22
	.word	bigBuf1
	.word	.LC23
	.word	.LC24
	.word	.LC25
	.word	.LC26
	.word	.LC27
	.word	.LC28
	.size	main, .-main
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
