	.file	"extr_camdd.c_main.c"
	.intel_syntax noprefix
	.text
	.section	.rodata.str1.8,"aMS",@progbits,1
	.align 8
.LC0:
	.string	"Unable to allocate option list"
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC1:
	.string	"retry count %d is < 0"
.LC2:
	.string	"invalid maximum I/O amount %s"
.LC3:
	.string	"invalid timeout %d"
.LC4:
	.string	"C:Ehi:m:o:t:v"
.LC5:
	.string	"Must specify both -i and -o"
	.section	.rodata.str1.8
	.align 8
.LC6:
	.string	"Only one input and output path allowed"
	.section	.text.startup,"ax",@progbits
	.p2align 4
	.globl	main
	.type	main, @function
main:
.LFB0:
	.cfi_startproc
	endbr64
	push	r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	push	r14
	.cfi_def_cfa_offset 24
	.cfi_offset 14, -24
	push	r13
	.cfi_def_cfa_offset 32
	.cfi_offset 13, -32
	push	r12
	.cfi_def_cfa_offset 40
	.cfi_offset 12, -40
	mov	r12, rsi
	push	rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	mov	ebp, edi
	push	rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	sub	rsp, 40
	.cfi_def_cfa_offset 96
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR 24[rsp], rax
	xor	eax, eax
	mov	DWORD PTR 20[rsp], 0
	cmp	edi, 1
	je	.L31
.L2:
	mov	esi, 8
	mov	edi, 2
	mov	r14d, 1
	xor	r13d, r13d
	call	calloc@PLT
	lea	rbx, .L7[rip]
	mov	r15, rax
	test	rax, rax
	je	.L32
.L6:
	lea	rdx, .LC4[rip]
	mov	rsi, r12
	mov	edi, ebp
	call	getopt@PLT
	mov	edx, eax
	cmp	eax, -1
	je	.L33
	lea	eax, -67[rdx]
	cmp	eax, 51
	ja	.L5
	movsx	rax, DWORD PTR [rbx+rax*4]
	add	rax, rbx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L7:
	.long	.L11-.L7
	.long	.L5-.L7
	.long	.L6-.L7
	.long	.L5-.L7
	.long	.L5-.L7
	.long	.L5-.L7
	.long	.L5-.L7
	.long	.L5-.L7
	.long	.L5-.L7
	.long	.L5-.L7
	.long	.L5-.L7
	.long	.L5-.L7
	.long	.L5-.L7
	.long	.L5-.L7
	.long	.L5-.L7
	.long	.L5-.L7
	.long	.L5-.L7
	.long	.L5-.L7
	.long	.L5-.L7
	.long	.L5-.L7
	.long	.L5-.L7
	.long	.L5-.L7
	.long	.L5-.L7
	.long	.L5-.L7
	.long	.L5-.L7
	.long	.L5-.L7
	.long	.L5-.L7
	.long	.L5-.L7
	.long	.L5-.L7
	.long	.L5-.L7
	.long	.L5-.L7
	.long	.L5-.L7
	.long	.L5-.L7
	.long	.L5-.L7
	.long	.L5-.L7
	.long	.L5-.L7
	.long	.L5-.L7
	.long	.L5-.L7
	.long	.L9-.L7
	.long	.L5-.L7
	.long	.L5-.L7
	.long	.L5-.L7
	.long	.L10-.L7
	.long	.L5-.L7
	.long	.L9-.L7
	.long	.L5-.L7
	.long	.L5-.L7
	.long	.L5-.L7
	.long	.L5-.L7
	.long	.L8-.L7
	.long	.L5-.L7
	.long	.L6-.L7
	.section	.text.startup
.L8:
	mov	edi, DWORD PTR optarg[rip]
	xor	edx, edx
	xor	esi, esi
	call	strtol@PLT
	mov	r13d, eax
	test	eax, eax
	js	.L34
.L17:
	imul	r13d, r13d, 1000
	jmp	.L6
.L10:
	mov	edi, DWORD PTR optarg[rip]
	lea	rsi, 20[rsp]
	call	expand_number@PLT
	cmp	eax, -1
	jne	.L6
	mov	esi, DWORD PTR optarg[rip]
	lea	rdi, .LC2[rip]
	xor	eax, eax
	call	warn@PLT
	mov	r8d, 1
	.p2align 4,,10
	.p2align 3
.L4:
	mov	rdi, r15
	mov	DWORD PTR 12[rsp], r8d
	call	free@PLT
	mov	r8d, DWORD PTR 12[rsp]
	mov	edi, r8d
	call	exit@PLT
	mov	rax, QWORD PTR 24[rsp]
	xor	rax, QWORD PTR fs:40
	jne	.L35
	add	rsp, 40
	.cfi_remember_state
	.cfi_def_cfa_offset 56
	xor	eax, eax
	pop	rbx
	.cfi_def_cfa_offset 48
	pop	rbp
	.cfi_def_cfa_offset 40
	pop	r12
	.cfi_def_cfa_offset 32
	pop	r13
	.cfi_def_cfa_offset 24
	pop	r14
	.cfi_def_cfa_offset 16
	pop	r15
	.cfi_def_cfa_offset 8
	ret
.L9:
	.cfi_restore_state
	cmp	edx, 105
	je	.L36
	mov	r8, r15
	cmp	edx, 111
	je	.L37
.L15:
	xor	esi, esi
	mov	edi, DWORD PTR optarg[rip]
	cmp	edx, 111
	mov	rdx, r8
	sete	sil
	call	camdd_parse_io_opts@PLT
	mov	r8d, eax
	test	eax, eax
	je	.L6
	jmp	.L4
.L11:
	mov	edi, DWORD PTR optarg[rip]
	xor	edx, edx
	xor	esi, esi
	call	strtol@PLT
	mov	r14d, eax
	test	eax, eax
	jns	.L6
	mov	edx, eax
	lea	rsi, .LC1[rip]
	mov	edi, 1
	xor	eax, eax
	call	errx@PLT
	jmp	.L6
.L5:
	xor	eax, eax
	call	usage@PLT
	mov	edi, 1
	call	exit@PLT
	jmp	.L6
	.p2align 4,,10
	.p2align 3
.L36:
	mov	rax, QWORD PTR CAMDD_DEV_NONE[rip]
	mov	r8, r15
	cmp	QWORD PTR [r15], rax
	je	.L15
	lea	rsi, .LC6[rip]
	mov	edi, 1
	xor	eax, eax
	mov	DWORD PTR 12[rsp], edx
	call	errx@PLT
	mov	edx, DWORD PTR 12[rsp]
	mov	r8, r15
	jmp	.L15
	.p2align 4,,10
	.p2align 3
.L37:
	mov	rax, QWORD PTR CAMDD_DEV_NONE[rip]
	cmp	QWORD PTR 8[r15], rax
	je	.L22
	lea	rsi, .LC6[rip]
	mov	edi, 1
	xor	eax, eax
	mov	DWORD PTR 12[rsp], edx
	call	errx@PLT
	mov	edx, DWORD PTR 12[rsp]
.L22:
	lea	r8, 8[r15]
	jmp	.L15
	.p2align 4,,10
	.p2align 3
.L34:
	mov	edx, eax
	lea	rsi, .LC3[rip]
	mov	edi, 1
	xor	eax, eax
	call	errx@PLT
	jmp	.L17
	.p2align 4,,10
	.p2align 3
.L33:
	mov	rax, QWORD PTR CAMDD_DEV_NONE[rip]
	cmp	QWORD PTR [r15], rax
	je	.L19
	cmp	rax, QWORD PTR 8[r15]
	je	.L19
.L20:
	test	r13d, r13d
	mov	edx, DWORD PTR 20[rsp]
	mov	r8d, r13d
	mov	ecx, r14d
	cmove	r8d, DWORD PTR CAMDD_PASS_RW_TIMEOUT[rip]
	mov	esi, 2
	mov	rdi, r15
	call	camdd_rw@PLT
	mov	r8d, eax
	jmp	.L4
.L19:
	lea	rsi, .LC5[rip]
	mov	edi, 1
	xor	eax, eax
	call	errx@PLT
	jmp	.L20
.L31:
	call	usage@PLT
	mov	edi, 1
	call	exit@PLT
	jmp	.L2
.L32:
	lea	rdi, .LC0[rip]
	xor	eax, eax
	call	warn@PLT
	mov	r8d, 1
	jmp	.L4
.L35:
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE0:
	.size	main, .-main
	.comm	optarg,4,4
	.comm	CAMDD_PASS_RW_TIMEOUT,4,4
	.comm	CAMDD_DEV_NONE,8,8
	.comm	CAMDD_ARG_VERBOSE,4,4
	.comm	CAMDD_ARG_TIMEOUT,4,4
	.comm	CAMDD_ARG_RETRIES,4,4
	.comm	CAMDD_ARG_NONE,4,4
	.comm	CAMDD_ARG_ERR_RECOVER,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.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, 2
	.eabi_attribute 34, 0
	.eabi_attribute 18, 4
	.file	"extr_camdd.c_main.c"
	.text
	.section	.rodata.str1.4,"aMS",%progbits,1
	.align	2
.LC0:
	.ascii	"Unable to allocate option list\000"
	.align	2
.LC1:
	.ascii	"retry count %d is < 0\000"
	.align	2
.LC2:
	.ascii	"invalid maximum I/O amount %s\000"
	.align	2
.LC3:
	.ascii	"invalid timeout %d\000"
	.align	2
.LC4:
	.ascii	"C:Ehi:m:o:t:v\000"
	.align	2
.LC5:
	.ascii	"Must specify both -i and -o\000"
	.align	2
.LC6:
	.ascii	"Only one input and output path allowed\000"
	.section	.rodata.cst4,"aM",%progbits,4
	.align	2
.LC7:
	.word	__stack_chk_guard
	.section	.text.startup,"ax",%progbits
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 0, uses_anonymous_args = 0
	mov	r3, #0
	push	{r4, r5, r6, r7, r8, r9, r10, fp, lr}
	ldr	r2, .L41
	sub	sp, sp, #28
	cmp	r0, #1
	ldr	r2, [r2]
	str	r2, [sp, #20]
	mov	r2,#0
	mov	r5, r0
	mov	r6, r1
	str	r3, [sp, #16]
	beq	.L34
.L2:
	mov	r1, #4
	mov	r0, #2
	bl	calloc
	subs	r10, r0, #0
	beq	.L35
	mov	r8, #1
	mov	r4, #0
	ldr	r7, .L41+4
	ldr	r9, .L41+8
	ldr	fp, .L41+12
.L6:
	mov	r2, r7
	mov	r1, r6
	mov	r0, r5
	bl	getopt
	cmn	r0, #1
	beq	.L36
	sub	r3, r0, #67
	cmp	r3, #51
	ldrls	pc, [pc, r3, asl #2]
	b	.L5
.L7:
	.word	.L11
	.word	.L5
	.word	.L6
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L9
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L10
	.word	.L5
	.word	.L9
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L8
	.word	.L5
	.word	.L6
.L8:
	mov	r2, #0
	ldr	r0, [r9]
	mov	r1, r2
	bl	strtol
	subs	r4, r0, #0
	blt	.L37
.L18:
	rsb	r2, r4, r4, lsl #5
	add	r4, r4, r2, lsl #2
	lsl	r4, r4, #3
	b	.L6
.L10:
	ldr	r0, [r9]
	add	r1, sp, #16
	bl	expand_number
	cmn	r0, #1
	bne	.L6
	ldr	r1, [r9]
	ldr	r0, .L41+16
	bl	warn
	mov	r3, #1
	b	.L4
.L9:
	cmp	r0, #105
	beq	.L38
	cmp	r0, #111
	beq	.L39
.L15:
	sub	r1, r0, #111
	clz	r1, r1
	mov	r2, r10
	ldr	r0, [r9]
	lsr	r1, r1, #5
.L24:
	bl	camdd_parse_io_opts
	cmp	r0, #0
	beq	.L6
.L32:
	mov	r3, r0
.L4:
	mov	r0, r10
	str	r3, [sp, #12]
	bl	free
	ldr	r3, [sp, #12]
	mov	r0, r3
	bl	exit
	ldr	r3, .L41
	ldr	r2, [r3]
	ldr	r3, [sp, #20]
	eors	r2, r3, r2
	mov	r3, #0
	bne	.L40
	mov	r0, #0
	add	sp, sp, #28
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, r10, fp, pc}
.L11:
	mov	r2, #0
	ldr	r0, [r9]
	mov	r1, r2
	bl	strtol
	subs	r8, r0, #0
	bge	.L6
	mov	r2, r8
	ldr	r1, .L41+20
	mov	r0, #1
	bl	errx
	b	.L6
.L5:
	bl	usage
	mov	r0, #1
	bl	exit
	b	.L6
.L38:
	ldr	r2, [r10]
	ldr	r3, [fp]
	cmp	r2, r3
	beq	.L15
	ldr	r1, .L41+24
	mov	r0, #1
	bl	errx
	mov	r2, r10
	mov	r1, #0
	ldr	r0, [r9]
	b	.L24
.L39:
	ldr	r2, [r10, #4]
	ldr	r3, [fp]
	cmp	r2, r3
	beq	.L31
	mov	r0, #1
	ldr	r1, .L41+24
	bl	errx
.L31:
	mov	r1, #1
	ldr	r0, [r9]
	add	r2, r10, #4
	b	.L24
.L37:
	mov	r2, r4
	ldr	r1, .L41+28
	mov	r0, #1
	bl	errx
	b	.L18
.L36:
	ldr	r3, .L41+12
	ldr	r2, [r10]
	ldr	r3, [r3]
	cmp	r2, r3
	beq	.L20
	ldr	r2, [r10, #4]
	cmp	r3, r2
	beq	.L20
.L21:
	cmp	r4, #0
	ldreq	r3, .L41+32
	mov	r1, #2
	ldreq	r4, [r3]
	mov	r0, r10
	mov	r3, r8
	ldr	r2, [sp, #16]
	str	r4, [sp]
	bl	camdd_rw
	b	.L32
.L20:
	ldr	r1, .L41+36
	mov	r0, #1
	bl	errx
	b	.L21
.L34:
	bl	usage
	mov	r0, r5
	bl	exit
	b	.L2
.L35:
	ldr	r0, .L41+40
	bl	warn
	mov	r3, #1
	b	.L4
.L40:
	bl	__stack_chk_fail
.L42:
	.align	2
.L41:
	.word	.LC7
	.word	.LC4
	.word	optarg
	.word	CAMDD_DEV_NONE
	.word	.LC2
	.word	.LC1
	.word	.LC6
	.word	.LC3
	.word	CAMDD_PASS_RW_TIMEOUT
	.word	.LC5
	.word	.LC0
	.size	main, .-main
	.comm	optarg,4,4
	.comm	CAMDD_PASS_RW_TIMEOUT,4,4
	.comm	CAMDD_DEV_NONE,4,4
	.comm	CAMDD_ARG_VERBOSE,4,4
	.comm	CAMDD_ARG_TIMEOUT,4,4
	.comm	CAMDD_ARG_RETRIES,4,4
	.comm	CAMDD_ARG_NONE,4,4
	.comm	CAMDD_ARG_ERR_RECOVER,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
