	.file	"719375.c"
	.intel_syntax noprefix
	.text
	.local	optDebug
	.comm	optDebug,4,4
	.local	optHelp
	.comm	optHelp,4,4
	.local	optContinue
	.comm	optContinue,4,4
	.local	optForever
	.comm	optForever,4,4
	.data
	.align 32
	.type	optExit, @object
	.size	optExit, 256
optExit:
	.string	"\001"
	.zero	254
	.text
	.globl	usage
	.type	usage, @function
usage:
.LFB6:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	r15
	push	r14
	push	r13
	push	r12
	push	rbx
	sub	rsp, 56
	.cfi_offset 15, -24
	.cfi_offset 14, -32
	.cfi_offset 13, -40
	.cfi_offset 12, -48
	.cfi_offset 3, -56
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -56[rbp], rax
	xor	eax, eax
	mov	eax, DWORD PTR optHelp[rip]
	test	eax, eax
	je	.L2
	mov	rdx, QWORD PTR program_invocation_short_name[rip]
	mov	rax, QWORD PTR stderr[rip]
	lea	rsi, usageText.4[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	jmp	.L3
.L2:
	mov	rax, rsp
	mov	rbx, rax
	mov	esi, 10
	lea	rdi, usageText.4[rip]
	call	strchr@PLT
	mov	QWORD PTR -88[rbp], rax
	cmp	QWORD PTR -88[rbp], 0
	jne	.L4
	mov	edx, 323
	lea	rax, usageText.4[rip]
	add	rax, rdx
	mov	QWORD PTR -88[rbp], rax
.L4:
	lea	rdx, usageText.4[rip]
	mov	rax, QWORD PTR -88[rbp]
	sub	rax, rdx
	mov	QWORD PTR -80[rbp], rax
	mov	rax, QWORD PTR -80[rbp]
	add	rax, 2
	mov	rdx, rax
	sub	rdx, 1
	mov	QWORD PTR -72[rbp], rdx
	mov	r14, rax
	mov	r15d, 0
	mov	r12, rax
	mov	r13d, 0
	mov	edx, 16
	sub	rdx, 1
	add	rax, rdx
	mov	esi, 16
	mov	edx, 0
	div	rsi
	imul	rax, rax, 16
	mov	rcx, rax
	and	rcx, -4096
	mov	rdx, rsp
	sub	rdx, rcx
.L5:
	cmp	rsp, rdx
	je	.L6
	sub	rsp, 4096
	or	QWORD PTR 4088[rsp], 0
	jmp	.L5
.L6:
	mov	rdx, rax
	and	edx, 4095
	sub	rsp, rdx
	mov	rdx, rax
	and	edx, 4095
	test	rdx, rdx
	je	.L7
	and	eax, 4095
	sub	rax, 8
	add	rax, rsp
	or	QWORD PTR [rax], 0
.L7:
	mov	rax, rsp
	add	rax, 0
	mov	QWORD PTR -64[rbp], rax
	mov	rdx, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -64[rbp]
	lea	rsi, usageText.4[rip]
	mov	rdi, rax
	call	memcpy@PLT
	mov	rdx, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -80[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 10
	mov	rax, QWORD PTR -80[rbp]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -64[rbp]
	mov	BYTE PTR [rax+rdx], 0
	mov	rdx, QWORD PTR program_invocation_short_name[rip]
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, QWORD PTR -64[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rsp, rbx
.L3:
	mov	edi, 1
	call	exit@PLT
	.cfi_endproc
.LFE6:
	.size	usage, .-usage
	.section	.rodata
.LC0:
	.string	"%s: "
.LC1:
	.string	"%s - "
.LC2:
	.string	" [%d - %s]"
	.text
	.type	alert_, @function
alert_:
.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, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -36[rbp], edx
	mov	QWORD PTR -48[rbp], rcx
	mov	rdx, QWORD PTR program_invocation_short_name[rip]
	mov	rax, QWORD PTR stderr[rip]
	lea	rsi, .LC0[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	cmp	QWORD PTR -32[rbp], 0
	je	.L10
	mov	rax, QWORD PTR stderr[rip]
	mov	rdx, QWORD PTR -32[rbp]
	lea	rsi, .LC1[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
.L10:
	mov	rax, QWORD PTR stderr[rip]
	mov	rdx, QWORD PTR -48[rbp]
	mov	rcx, QWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	vfprintf@PLT
	cmp	DWORD PTR -36[rbp], 0
	je	.L11
	mov	eax, DWORD PTR -36[rbp]
	mov	edi, eax
	call	strerror@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -36[rbp]
	lea	rsi, .LC2[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
.L11:
	mov	rax, QWORD PTR stderr[rip]
	mov	rsi, rax
	mov	edi, 10
	call	fputc@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	alert_, .-alert_
	.section	.rodata
.LC3:
	.string	"WARN"
	.text
	.globl	warn
	.type	warn, @function
warn:
.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, 240
	mov	QWORD PTR -232[rbp], rdi
	mov	QWORD PTR -168[rbp], rsi
	mov	QWORD PTR -160[rbp], rdx
	mov	QWORD PTR -152[rbp], rcx
	mov	QWORD PTR -144[rbp], r8
	mov	QWORD PTR -136[rbp], r9
	test	al, al
	je	.L13
	movaps	XMMWORD PTR -128[rbp], xmm0
	movaps	XMMWORD PTR -112[rbp], xmm1
	movaps	XMMWORD PTR -96[rbp], xmm2
	movaps	XMMWORD PTR -80[rbp], xmm3
	movaps	XMMWORD PTR -64[rbp], xmm4
	movaps	XMMWORD PTR -48[rbp], xmm5
	movaps	XMMWORD PTR -32[rbp], xmm6
	movaps	XMMWORD PTR -16[rbp], xmm7
.L13:
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -184[rbp], rax
	xor	eax, eax
	call	__errno_location@PLT
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -212[rbp], eax
	mov	DWORD PTR -208[rbp], 8
	mov	DWORD PTR -204[rbp], 48
	lea	rax, 16[rbp]
	mov	QWORD PTR -200[rbp], rax
	lea	rax, -176[rbp]
	mov	QWORD PTR -192[rbp], rax
	lea	rcx, -208[rbp]
	mov	edx, DWORD PTR -212[rbp]
	mov	rax, QWORD PTR -232[rbp]
	lea	rsi, .LC3[rip]
	mov	rdi, rax
	call	alert_
	call	__errno_location@PLT
	mov	edx, DWORD PTR -212[rbp]
	mov	DWORD PTR [rax], edx
	nop
	mov	rax, QWORD PTR -184[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L14
	call	__stack_chk_fail@PLT
.L14:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	warn, .-warn
	.section	.rodata
.LC4:
	.string	"ERROR"
	.text
	.globl	errorv
	.type	errorv, @function
errorv:
.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, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	call	__errno_location@PLT
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -4[rbp], eax
	mov	rcx, QWORD PTR -32[rbp]
	mov	edx, DWORD PTR -4[rbp]
	mov	rax, QWORD PTR -24[rbp]
	lea	rsi, .LC4[rip]
	mov	rdi, rax
	call	alert_
	call	__errno_location@PLT
	mov	edx, DWORD PTR -4[rbp]
	mov	DWORD PTR [rax], edx
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	errorv, .-errorv
	.globl	error
	.type	error, @function
error:
.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, 224
	mov	QWORD PTR -216[rbp], rdi
	mov	QWORD PTR -168[rbp], rsi
	mov	QWORD PTR -160[rbp], rdx
	mov	QWORD PTR -152[rbp], rcx
	mov	QWORD PTR -144[rbp], r8
	mov	QWORD PTR -136[rbp], r9
	test	al, al
	je	.L17
	movaps	XMMWORD PTR -128[rbp], xmm0
	movaps	XMMWORD PTR -112[rbp], xmm1
	movaps	XMMWORD PTR -96[rbp], xmm2
	movaps	XMMWORD PTR -80[rbp], xmm3
	movaps	XMMWORD PTR -64[rbp], xmm4
	movaps	XMMWORD PTR -48[rbp], xmm5
	movaps	XMMWORD PTR -32[rbp], xmm6
	movaps	XMMWORD PTR -16[rbp], xmm7
.L17:
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -184[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -208[rbp], 8
	mov	DWORD PTR -204[rbp], 48
	lea	rax, 16[rbp]
	mov	QWORD PTR -200[rbp], rax
	lea	rax, -176[rbp]
	mov	QWORD PTR -192[rbp], rax
	lea	rdx, -208[rbp]
	mov	rax, QWORD PTR -216[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	errorv
	nop
	mov	rax, QWORD PTR -184[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L18
	call	__stack_chk_fail@PLT
.L18:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	error, .-error
	.globl	fatal
	.type	fatal, @function
fatal:
.LFB11:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 224
	mov	QWORD PTR -216[rbp], rdi
	mov	QWORD PTR -168[rbp], rsi
	mov	QWORD PTR -160[rbp], rdx
	mov	QWORD PTR -152[rbp], rcx
	mov	QWORD PTR -144[rbp], r8
	mov	QWORD PTR -136[rbp], r9
	test	al, al
	je	.L20
	movaps	XMMWORD PTR -128[rbp], xmm0
	movaps	XMMWORD PTR -112[rbp], xmm1
	movaps	XMMWORD PTR -96[rbp], xmm2
	movaps	XMMWORD PTR -80[rbp], xmm3
	movaps	XMMWORD PTR -64[rbp], xmm4
	movaps	XMMWORD PTR -48[rbp], xmm5
	movaps	XMMWORD PTR -32[rbp], xmm6
	movaps	XMMWORD PTR -16[rbp], xmm7
.L20:
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -184[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -208[rbp], 8
	mov	DWORD PTR -204[rbp], 48
	lea	rax, 16[rbp]
	mov	QWORD PTR -200[rbp], rax
	lea	rax, -176[rbp]
	mov	QWORD PTR -192[rbp], rax
	lea	rdx, -208[rbp]
	mov	rax, QWORD PTR -216[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	errorv
	mov	edi, 1
	call	exit@PLT
	.cfi_endproc
.LFE11:
	.size	fatal, .-fatal
	.section	.rodata
.LC5:
	.string	"DEBUG"
	.text
	.globl	debug
	.type	debug, @function
debug:
.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, 224
	mov	QWORD PTR -216[rbp], rdi
	mov	QWORD PTR -168[rbp], rsi
	mov	QWORD PTR -160[rbp], rdx
	mov	QWORD PTR -152[rbp], rcx
	mov	QWORD PTR -144[rbp], r8
	mov	QWORD PTR -136[rbp], r9
	test	al, al
	je	.L23
	movaps	XMMWORD PTR -128[rbp], xmm0
	movaps	XMMWORD PTR -112[rbp], xmm1
	movaps	XMMWORD PTR -96[rbp], xmm2
	movaps	XMMWORD PTR -80[rbp], xmm3
	movaps	XMMWORD PTR -64[rbp], xmm4
	movaps	XMMWORD PTR -48[rbp], xmm5
	movaps	XMMWORD PTR -32[rbp], xmm6
	movaps	XMMWORD PTR -16[rbp], xmm7
.L23:
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -184[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -208[rbp], 8
	mov	DWORD PTR -204[rbp], 48
	lea	rax, 16[rbp]
	mov	QWORD PTR -200[rbp], rax
	lea	rax, -176[rbp]
	mov	QWORD PTR -192[rbp], rax
	lea	rdx, -208[rbp]
	mov	rax, QWORD PTR -216[rbp]
	mov	rcx, rdx
	mov	edx, 0
	lea	rsi, .LC5[rip]
	mov	rdi, rax
	call	alert_
	nop
	mov	rax, QWORD PTR -184[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L24
	call	__stack_chk_fail@PLT
.L24:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE12:
	.size	debug, .-debug
	.globl	die
	.type	die, @function
die:
.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, 224
	mov	QWORD PTR -216[rbp], rdi
	mov	QWORD PTR -168[rbp], rsi
	mov	QWORD PTR -160[rbp], rdx
	mov	QWORD PTR -152[rbp], rcx
	mov	QWORD PTR -144[rbp], r8
	mov	QWORD PTR -136[rbp], r9
	test	al, al
	je	.L26
	movaps	XMMWORD PTR -128[rbp], xmm0
	movaps	XMMWORD PTR -112[rbp], xmm1
	movaps	XMMWORD PTR -96[rbp], xmm2
	movaps	XMMWORD PTR -80[rbp], xmm3
	movaps	XMMWORD PTR -64[rbp], xmm4
	movaps	XMMWORD PTR -48[rbp], xmm5
	movaps	XMMWORD PTR -32[rbp], xmm6
	movaps	XMMWORD PTR -16[rbp], xmm7
.L26:
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -184[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -208[rbp], 8
	mov	DWORD PTR -204[rbp], 48
	lea	rax, 16[rbp]
	mov	QWORD PTR -200[rbp], rax
	lea	rax, -176[rbp]
	mov	QWORD PTR -192[rbp], rax
	lea	rdx, -208[rbp]
	mov	rax, QWORD PTR -216[rbp]
	mov	rcx, rdx
	mov	edx, 0
	mov	esi, 0
	mov	rdi, rax
	call	alert_
	mov	edi, 1
	call	exit@PLT
	.cfi_endproc
.LFE13:
	.size	die, .-die
	.section	.rodata
	.align 8
.LC6:
	.string	"Unable to get CLOCK_MONOTONIC time"
	.text
	.globl	monomillis
	.type	monomillis, @function
monomillis:
.LFB14:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rax, -32[rbp]
	mov	rsi, rax
	mov	edi, 1
	call	clock_gettime@PLT
	test	eax, eax
	je	.L29
	lea	rdi, .LC6[rip]
	mov	eax, 0
	call	fatal
.L29:
	mov	rax, QWORD PTR -32[rbp]
	imul	rsi, rax, 1000
	mov	rcx, QWORD PTR -24[rbp]
	movabs	rdx, 4835703278458516699
	mov	rax, rcx
	imul	rdx
	mov	rax, rdx
	sar	rax, 18
	sar	rcx, 63
	mov	rdx, rcx
	sub	rax, rdx
	add	rax, rsi
	mov	rdi, QWORD PTR -8[rbp]
	sub	rdi, QWORD PTR fs:40
	je	.L31
	call	__stack_chk_fail@PLT
.L31:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE14:
	.size	monomillis, .-monomillis
	.globl	fd_cloexec
	.type	fd_cloexec, @function
fd_cloexec:
.LFB15:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	mov	DWORD PTR -8[rbp], -1
	mov	eax, DWORD PTR -20[rbp]
	mov	esi, 1
	mov	edi, eax
	mov	eax, 0
	call	fcntl@PLT
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], -1
	je	.L37
	or	DWORD PTR -4[rbp], 1
	mov	edx, DWORD PTR -4[rbp]
	mov	eax, DWORD PTR -20[rbp]
	mov	esi, 2
	mov	edi, eax
	mov	eax, 0
	call	fcntl@PLT
	cmp	eax, -1
	je	.L38
	mov	DWORD PTR -8[rbp], 0
	jmp	.L34
.L37:
	nop
	jmp	.L34
.L38:
	nop
.L34:
	mov	eax, DWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE15:
	.size	fd_cloexec, .-fd_cloexec
	.globl	fd_close
	.type	fd_close, @function
fd_close:
.LFB16:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	DWORD PTR -4[rbp], edi
	cmp	DWORD PTR -4[rbp], -1
	je	.L40
	mov	eax, DWORD PTR -4[rbp]
	mov	edi, eax
	call	close@PLT
.L40:
	mov	eax, -1
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE16:
	.size	fd_close, .-fd_close
	.section	.rodata
	.align 8
.LC7:
	.string	"File descriptor %d write %lu overrunning buffer length %lu"
	.text
	.globl	fd_write
	.type	fd_write, @function
fd_write:
.LFB17:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	DWORD PTR -36[rbp], edi
	mov	QWORD PTR -48[rbp], rsi
	mov	QWORD PTR -56[rbp], rdx
	mov	DWORD PTR -28[rbp], -1
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L43
.L51:
	mov	rdx, QWORD PTR -16[rbp]
	mov	rcx, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR -36[rbp]
	mov	rsi, rcx
	mov	edi, eax
	call	write@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], -1
	jne	.L44
	call	__errno_location@PLT
	mov	eax, DWORD PTR [rax]
	cmp	eax, 4
	jne	.L45
	jmp	.L43
.L45:
	mov	rax, QWORD PTR -24[rbp]
	cmp	rax, QWORD PTR -48[rbp]
	je	.L55
	jmp	.L47
.L44:
	cmp	QWORD PTR -8[rbp], 0
	je	.L56
	mov	rax, QWORD PTR -8[rbp]
	cmp	rax, QWORD PTR -16[rbp]
	jle	.L50
	mov	rcx, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR -36[rbp]
	mov	esi, eax
	lea	rdi, .LC7[rip]
	mov	eax, 0
	call	die
.L50:
	mov	rax, QWORD PTR -8[rbp]
	add	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	sub	QWORD PTR -16[rbp], rax
.L43:
	cmp	QWORD PTR -16[rbp], 0
	jne	.L51
	jmp	.L47
.L56:
	nop
.L47:
	mov	DWORD PTR -28[rbp], 0
	jmp	.L48
.L55:
	nop
.L48:
	cmp	DWORD PTR -28[rbp], 0
	jne	.L52
	mov	rax, QWORD PTR -24[rbp]
	sub	rax, QWORD PTR -48[rbp]
	jmp	.L54
.L52:
	mov	rax, -1
.L54:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE17:
	.size	fd_write, .-fd_write
	.section	.rodata
	.align 8
.LC8:
	.string	"File descriptor %d read %lu overrunning buffer length %lu"
	.text
	.globl	fd_read
	.type	fd_read, @function
fd_read:
.LFB18:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	DWORD PTR -36[rbp], edi
	mov	QWORD PTR -48[rbp], rsi
	mov	QWORD PTR -56[rbp], rdx
	mov	DWORD PTR -28[rbp], -1
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L58
.L66:
	mov	rdx, QWORD PTR -16[rbp]
	mov	rcx, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR -36[rbp]
	mov	rsi, rcx
	mov	edi, eax
	call	read@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], -1
	jne	.L59
	call	__errno_location@PLT
	mov	eax, DWORD PTR [rax]
	cmp	eax, 4
	jne	.L60
	jmp	.L58
.L60:
	mov	rax, QWORD PTR -24[rbp]
	cmp	rax, QWORD PTR -48[rbp]
	je	.L70
	jmp	.L62
.L59:
	cmp	QWORD PTR -8[rbp], 0
	je	.L71
	mov	rax, QWORD PTR -8[rbp]
	cmp	rax, QWORD PTR -16[rbp]
	jle	.L65
	mov	rcx, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR -36[rbp]
	mov	esi, eax
	lea	rdi, .LC8[rip]
	mov	eax, 0
	call	die
.L65:
	mov	rax, QWORD PTR -8[rbp]
	add	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	sub	QWORD PTR -16[rbp], rax
.L58:
	cmp	QWORD PTR -16[rbp], 0
	jne	.L66
	jmp	.L62
.L71:
	nop
.L62:
	mov	DWORD PTR -28[rbp], 0
	jmp	.L63
.L70:
	nop
.L63:
	cmp	DWORD PTR -28[rbp], 0
	jne	.L67
	mov	rax, QWORD PTR -24[rbp]
	sub	rax, QWORD PTR -48[rbp]
	jmp	.L69
.L67:
	mov	rax, -1
.L69:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE18:
	.size	fd_read, .-fd_read
	.section	.rodata
	.align 8
.LC9:
	.string	"Unable to fill blocking signal set"
	.align 8
.LC10:
	.string	"Unable to set blocking signal mask"
	.text
	.type	signal_block_acquire, @function
signal_block_acquire:
.LFB19:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 160
	mov	QWORD PTR -152[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rax, -144[rbp]
	mov	rdi, rax
	call	sigfillset@PLT
	test	eax, eax
	je	.L73
	lea	rdi, .LC9[rip]
	mov	eax, 0
	call	die
.L73:
	mov	rdx, QWORD PTR -152[rbp]
	lea	rax, -144[rbp]
	mov	rsi, rax
	mov	edi, 2
	call	sigprocmask@PLT
	test	eax, eax
	je	.L76
	lea	rdi, .LC10[rip]
	mov	eax, 0
	call	die
.L76:
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L75
	call	__stack_chk_fail@PLT
.L75:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE19:
	.size	signal_block_acquire, .-signal_block_acquire
	.section	.rodata
	.align 8
.LC11:
	.string	"Unable to reset blocking signal mask"
	.text
	.type	signal_block_release, @function
signal_block_release:
.LFB20:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, 0
	mov	rsi, rax
	mov	edi, 2
	call	sigprocmask@PLT
	test	eax, eax
	je	.L79
	lea	rdi, .LC11[rip]
	mov	eax, 0
	call	die
.L79:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE20:
	.size	signal_block_release, .-signal_block_release
	.local	SignalSet_
	.comm	SignalSet_,4,4
	.globl	signal_set_sample
	.type	signal_set_sample, @function
signal_set_sample:
.LFB21:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 160
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rax, -144[rbp]
	mov	rdi, rax
	call	signal_block_acquire
	mov	eax, DWORD PTR SignalSet_[rip]
	mov	DWORD PTR -148[rbp], eax
	mov	DWORD PTR SignalSet_[rip], 0
	lea	rax, -144[rbp]
	mov	rdi, rax
	call	signal_block_release
	mov	eax, DWORD PTR -148[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	sub	rdx, QWORD PTR fs:40
	je	.L82
	call	__stack_chk_fail@PLT
.L82:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE21:
	.size	signal_set_sample, .-signal_set_sample
	.section	.rodata
.LC12:
	.string	"Signal %d exceeds set size"
	.text
	.globl	signal_set_add
	.type	signal_set_add, @function
signal_set_add:
.LFB22:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 160
	mov	DWORD PTR -148[rbp], edi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rax, -144[rbp]
	mov	rdi, rax
	call	signal_block_acquire
	mov	eax, DWORD PTR -148[rbp]
	cmp	eax, 30
	jbe	.L84
	mov	eax, DWORD PTR -148[rbp]
	mov	esi, eax
	lea	rdi, .LC12[rip]
	mov	eax, 0
	call	die
.L84:
	mov	eax, DWORD PTR -148[rbp]
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	eax, DWORD PTR SignalSet_[rip]
	or	eax, edx
	mov	DWORD PTR SignalSet_[rip], eax
	lea	rax, -144[rbp]
	mov	rdi, rax
	call	signal_block_release
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L85
	call	__stack_chk_fail@PLT
.L85:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE22:
	.size	signal_set_add, .-signal_set_add
	.section	.rodata
.LC13:
	.string	"SIGHUP"
.LC14:
	.string	"SIGQUIT"
.LC15:
	.string	"SIGINT"
.LC16:
	.string	"SIGABRT"
.LC17:
	.string	"SIGTERM"
.LC18:
	.string	"SIGCONT"
	.section	.data.rel.local,"aw"
	.align 32
	.type	SigStrategy, @object
	.size	SigStrategy, 144
SigStrategy:
	.quad	.LC13
	.long	1
	.zero	12
	.quad	.LC14
	.long	3
	.zero	12
	.quad	.LC15
	.long	2
	.zero	12
	.quad	.LC16
	.long	6
	.zero	12
	.quad	.LC17
	.long	15
	.zero	12
	.quad	.LC18
	.long	18
	.zero	12
	.text
	.type	signal_handler_, @function
signal_handler_:
.LFB23:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	DWORD PTR -4[rbp], edi
	mov	eax, DWORD PTR -4[rbp]
	mov	edi, eax
	call	signal_set_add
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE23:
	.size	signal_handler_, .-signal_handler_
	.section	.rodata
.LC19:
	.string	"Unable to query signal %s"
	.align 8
.LC20:
	.string	"Installing catcher for signal %d"
.LC21:
	.string	"Unable to intercept signal %s"
	.text
	.globl	signal_catch
	.type	signal_catch, @function
signal_catch:
.LFB24:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 176
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	call	signal_set_sample
	mov	DWORD PTR -164[rbp], 0
	jmp	.L88
.L92:
	mov	edx, DWORD PTR -164[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, SigStrategy[rip+8]
	mov	eax, DWORD PTR [rdx+rax]
	lea	rdx, -160[rbp]
	mov	esi, 0
	mov	edi, eax
	call	sigaction@PLT
	test	eax, eax
	je	.L89
	mov	edx, DWORD PTR -164[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, SigStrategy[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	rsi, rax
	lea	rdi, .LC19[rip]
	mov	eax, 0
	call	die
.L89:
	mov	rdx, QWORD PTR -160[rbp]
	mov	ecx, DWORD PTR -164[rbp]
	mov	rax, rcx
	add	rax, rax
	add	rax, rcx
	sal	rax, 3
	mov	rcx, rax
	lea	rax, SigStrategy[rip+16]
	mov	QWORD PTR [rcx+rax], rdx
	lea	rax, signal_handler_[rip]
	mov	QWORD PTR -160[rbp], rax
	mov	edx, DWORD PTR -164[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, SigStrategy[rip+16]
	mov	rax, QWORD PTR [rdx+rax]
	test	rax, rax
	jne	.L90
	mov	eax, DWORD PTR optDebug[rip]
	test	eax, eax
	je	.L91
	mov	edx, DWORD PTR -164[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, SigStrategy[rip+8]
	mov	eax, DWORD PTR [rdx+rax]
	mov	esi, eax
	lea	rdi, .LC20[rip]
	mov	eax, 0
	call	debug
.L91:
	mov	edx, DWORD PTR -164[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, SigStrategy[rip+8]
	mov	eax, DWORD PTR [rdx+rax]
	lea	rcx, -160[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	edi, eax
	call	sigaction@PLT
	test	eax, eax
	je	.L90
	mov	edx, DWORD PTR -164[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, SigStrategy[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	rsi, rax
	lea	rdi, .LC21[rip]
	mov	eax, 0
	call	die
.L90:
	add	DWORD PTR -164[rbp], 1
.L88:
	cmp	DWORD PTR -164[rbp], 5
	jbe	.L92
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L93
	call	__stack_chk_fail@PLT
.L93:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE24:
	.size	signal_catch, .-signal_catch
	.section	.rodata
.LC22:
	.string	"Unable to reset signal %s"
	.text
	.globl	signal_release
	.type	signal_release, @function
signal_release:
.LFB25:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 176
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -164[rbp], 0
	jmp	.L95
.L98:
	mov	edx, DWORD PTR -164[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, SigStrategy[rip+8]
	mov	eax, DWORD PTR [rdx+rax]
	lea	rdx, -160[rbp]
	mov	esi, 0
	mov	edi, eax
	call	sigaction@PLT
	test	eax, eax
	je	.L96
	mov	edx, DWORD PTR -164[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, SigStrategy[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	rsi, rax
	lea	rdi, .LC19[rip]
	mov	eax, 0
	call	die
.L96:
	mov	edx, DWORD PTR -164[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, SigStrategy[rip+16]
	mov	rax, QWORD PTR [rdx+rax]
	mov	QWORD PTR -160[rbp], rax
	mov	edx, DWORD PTR -164[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, SigStrategy[rip+16]
	mov	rax, QWORD PTR [rdx+rax]
	test	rax, rax
	jne	.L97
	mov	edx, DWORD PTR -164[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, SigStrategy[rip+8]
	mov	eax, DWORD PTR [rdx+rax]
	lea	rcx, -160[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	edi, eax
	call	sigaction@PLT
	test	eax, eax
	je	.L97
	mov	edx, DWORD PTR -164[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, SigStrategy[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	rsi, rax
	lea	rdi, .LC22[rip]
	mov	eax, 0
	call	die
.L97:
	add	DWORD PTR -164[rbp], 1
.L95:
	cmp	DWORD PTR -164[rbp], 5
	jbe	.L98
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L99
	call	__stack_chk_fail@PLT
.L99:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE25:
	.size	signal_release, .-signal_release
	.section	.rodata
.LC23:
	.string	"none"
.LC24:
	.string	","
.LC25:
	.string	"No exit codes specified"
	.align 8
.LC26:
	.string	"Exit code %s must start with a digit"
.LC27:
	.string	"Unable to parse exit code %s"
.LC28:
	.string	"Exit code %s exceeds 255"
.LC29:
	.string	"--"
	.text
	.globl	parse_options
	.type	parse_options, @function
parse_options:
.LFB26:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	DWORD PTR -68[rbp], edi
	mov	QWORD PTR -80[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -60[rbp], -1
.L121:
	mov	rsi, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR -68[rbp]
	mov	r8d, 0
	lea	rcx, longOpts.2[rip]
	lea	rdx, shortOpts.3[rip]
	mov	edi, eax
	call	getopt_long@PLT
	mov	DWORD PTR -56[rbp], eax
	cmp	DWORD PTR -56[rbp], -1
	je	.L128
	cmp	DWORD PTR -56[rbp], 104
	jg	.L103
	cmp	DWORD PTR -56[rbp], 58
	jl	.L129
	mov	eax, DWORD PTR -56[rbp]
	sub	eax, 58
	cmp	eax, 46
	ja	.L129
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L106[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L106[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L106:
	.long	.L130-.L106
	.long	.L129-.L106
	.long	.L129-.L106
	.long	.L129-.L106
	.long	.L129-.L106
	.long	.L130-.L106
	.long	.L129-.L106
	.long	.L129-.L106
	.long	.L129-.L106
	.long	.L129-.L106
	.long	.L129-.L106
	.long	.L129-.L106
	.long	.L129-.L106
	.long	.L129-.L106
	.long	.L129-.L106
	.long	.L129-.L106
	.long	.L129-.L106
	.long	.L129-.L106
	.long	.L129-.L106
	.long	.L129-.L106
	.long	.L129-.L106
	.long	.L129-.L106
	.long	.L129-.L106
	.long	.L129-.L106
	.long	.L129-.L106
	.long	.L129-.L106
	.long	.L129-.L106
	.long	.L129-.L106
	.long	.L129-.L106
	.long	.L129-.L106
	.long	.L129-.L106
	.long	.L129-.L106
	.long	.L109-.L106
	.long	.L129-.L106
	.long	.L129-.L106
	.long	.L129-.L106
	.long	.L129-.L106
	.long	.L129-.L106
	.long	.L129-.L106
	.long	.L129-.L106
	.long	.L129-.L106
	.long	.L129-.L106
	.long	.L108-.L106
	.long	.L129-.L106
	.long	.L107-.L106
	.long	.L129-.L106
	.long	.L105-.L106
	.text
.L103:
	cmp	DWORD PTR -56[rbp], 120
	je	.L111
	jmp	.L129
.L105:
	mov	DWORD PTR optHelp[rip], 1
	jmp	.L113
.L107:
	mov	DWORD PTR optForever[rip], 1
	jmp	.L112
.L109:
	mov	DWORD PTR optContinue[rip], 1
	jmp	.L112
.L108:
	mov	DWORD PTR optDebug[rip], 1
	jmp	.L112
.L111:
	mov	rax, QWORD PTR optarg[rip]
	lea	rsi, .LC23[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L114
	mov	edx, 256
	mov	esi, 0
	lea	rdi, optExit[rip]
	call	memset@PLT
	jmp	.L121
.L114:
	mov	rax, QWORD PTR optarg[rip]
	mov	QWORD PTR -32[rbp], rax
.L120:
	lea	rdx, -48[rbp]
	mov	rax, QWORD PTR -32[rbp]
	lea	rsi, .LC24[rip]
	mov	rdi, rax
	call	strtok_r@PLT
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], 0
	jne	.L115
	cmp	QWORD PTR -32[rbp], 0
	je	.L121
	lea	rdi, .LC25[rip]
	mov	eax, 0
	call	die
	jmp	.L121
.L115:
	mov	QWORD PTR -32[rbp], 0
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 2048
	test	eax, eax
	jne	.L117
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rax
	lea	rdi, .LC26[rip]
	mov	eax, 0
	call	die
.L117:
	lea	rcx, -40[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, 10
	mov	rsi, rcx
	mov	rdi, rax
	call	strtoul@PLT
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L118
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rax
	lea	rdi, .LC27[rip]
	mov	eax, 0
	call	die
.L118:
	cmp	QWORD PTR -16[rbp], 255
	jbe	.L119
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rax
	lea	rdi, .LC28[rip]
	mov	eax, 0
	call	die
.L119:
	lea	rdx, optExit[rip]
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 1
	jmp	.L120
.L129:
	nop
.L112:
	jmp	.L121
.L128:
	nop
	mov	eax, DWORD PTR optind[rip]
	cmp	DWORD PTR -68[rbp], eax
	jl	.L131
	mov	eax, DWORD PTR optind[rip]
	cdqe
	sal	rax, 3
	lea	rdx, -8[rax]
	mov	rax, QWORD PTR -80[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rsi, rax
	lea	rdi, .LC29[rip]
	call	strcmp@PLT
	test	eax, eax
	jne	.L131
	mov	DWORD PTR -60[rbp], 0
	jmp	.L113
.L130:
	nop
	jmp	.L113
.L131:
	nop
.L113:
	call	__errno_location@PLT
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -52[rbp], eax
	cmp	DWORD PTR -60[rbp], 0
	jne	.L122
	mov	eax, DWORD PTR optind[rip]
	cdqe
	sal	rax, 3
	add	QWORD PTR -80[rbp], rax
	mov	eax, DWORD PTR optind[rip]
	sub	DWORD PTR -68[rbp], eax
.L122:
	call	__errno_location@PLT
	mov	edx, DWORD PTR -52[rbp]
	mov	DWORD PTR [rax], edx
	cmp	DWORD PTR -60[rbp], 0
	jne	.L123
	mov	rax, QWORD PTR -80[rbp]
	jmp	.L125
.L123:
	mov	eax, 0
.L125:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L126
	call	__stack_chk_fail@PLT
.L126:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE26:
	.size	parse_options, .-parse_options
	.section	.rodata
.LC30:
	.string	"Unable to create pipe"
	.align 8
.LC31:
	.string	"Unable to set FD_CLOEXEC on fd %d"
.LC32:
	.string	"Unable to fork new process"
.LC33:
	.string	"Unable to execute %s"
.LC34:
	.string	"Child process %d forked"
.LC35:
	.string	"Child process %d exec code %d"
	.text
	.globl	exec_command
	.type	exec_command, @function
exec_command:
.LFB27:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -72[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -48[rbp], -1
	mov	DWORD PTR -44[rbp], -1
	mov	DWORD PTR -40[rbp], -1
	mov	DWORD PTR -36[rbp], -1
	lea	rax, -16[rbp]
	mov	rdi, rax
	call	pipe@PLT
	test	eax, eax
	je	.L133
	lea	rdi, .LC30[rip]
	mov	eax, 0
	call	error
	jmp	.L139
.L133:
	mov	eax, DWORD PTR -16[rbp]
	mov	DWORD PTR -40[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR -36[rbp], eax
	mov	eax, DWORD PTR -40[rbp]
	mov	edi, eax
	call	fd_cloexec
	test	eax, eax
	je	.L135
	mov	eax, DWORD PTR -40[rbp]
	mov	esi, eax
	lea	rdi, .LC31[rip]
	mov	eax, 0
	call	error
	jmp	.L139
.L135:
	mov	eax, DWORD PTR -36[rbp]
	mov	edi, eax
	call	fd_cloexec
	test	eax, eax
	je	.L136
	mov	eax, DWORD PTR -36[rbp]
	mov	esi, eax
	lea	rdi, .LC31[rip]
	mov	eax, 0
	call	error
	jmp	.L139
.L136:
	call	fork@PLT
	mov	DWORD PTR -44[rbp], eax
	cmp	DWORD PTR -44[rbp], -1
	jne	.L154
	lea	rdi, .LC32[rip]
	mov	eax, 0
	call	error
	jmp	.L139
.L154:
	cmp	DWORD PTR -44[rbp], 0
	jne	.L140
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	execvp@PLT
	call	__errno_location@PLT
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -52[rbp], eax
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rsi, rax
	lea	rdi, .LC33[rip]
	mov	eax, 0
	call	error
	lea	rcx, -52[rbp]
	mov	eax, DWORD PTR -36[rbp]
	mov	edx, 4
	mov	rsi, rcx
	mov	edi, eax
	call	fd_write
	mov	edi, 1
	call	_exit@PLT
.L140:
	mov	eax, DWORD PTR optDebug[rip]
	test	eax, eax
	je	.L141
	mov	eax, DWORD PTR -44[rbp]
	mov	esi, eax
	lea	rdi, .LC34[rip]
	mov	eax, 0
	call	debug
.L141:
	mov	eax, DWORD PTR -36[rbp]
	mov	edi, eax
	call	fd_close
	mov	DWORD PTR -36[rbp], eax
	lea	rcx, -52[rbp]
	mov	eax, DWORD PTR -40[rbp]
	mov	edx, 4
	mov	rsi, rcx
	mov	edi, eax
	call	fd_read
	mov	QWORD PTR -24[rbp], rax
	mov	DWORD PTR -32[rbp], -1
	cmp	QWORD PTR -24[rbp], -1
	jne	.L142
	call	__errno_location@PLT
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -52[rbp], eax
	jmp	.L143
.L142:
	cmp	QWORD PTR -24[rbp], 0
	jne	.L144
	mov	DWORD PTR -32[rbp], 0
	jmp	.L143
.L144:
	cmp	QWORD PTR -24[rbp], 4
	jne	.L143
	mov	DWORD PTR -32[rbp], 1
.L143:
	mov	eax, DWORD PTR optDebug[rip]
	test	eax, eax
	je	.L145
	mov	edx, DWORD PTR -32[rbp]
	mov	eax, DWORD PTR -44[rbp]
	mov	esi, eax
	lea	rdi, .LC35[rip]
	mov	eax, 0
	call	debug
.L145:
	cmp	DWORD PTR -32[rbp], 0
	je	.L146
	call	__errno_location@PLT
	mov	edx, DWORD PTR -52[rbp]
	mov	DWORD PTR [rax], edx
	jmp	.L139
.L146:
	mov	DWORD PTR -48[rbp], 0
.L139:
	call	__errno_location@PLT
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -28[rbp], eax
	cmp	DWORD PTR -48[rbp], 0
	je	.L147
	cmp	DWORD PTR -44[rbp], -1
	je	.L147
	mov	eax, DWORD PTR -44[rbp]
	mov	esi, 9
	mov	edi, eax
	call	kill@PLT
	jmp	.L148
.L149:
	nop
.L148:
	mov	eax, DWORD PTR -44[rbp]
	mov	edx, 0
	mov	esi, 0
	mov	edi, eax
	call	waitpid@PLT
	cmp	DWORD PTR -44[rbp], eax
	jne	.L149
	mov	DWORD PTR -44[rbp], -1
.L147:
	mov	eax, DWORD PTR -40[rbp]
	mov	edi, eax
	call	fd_close
	mov	DWORD PTR -40[rbp], eax
	mov	eax, DWORD PTR -36[rbp]
	mov	edi, eax
	call	fd_close
	mov	DWORD PTR -36[rbp], eax
	call	__errno_location@PLT
	mov	edx, DWORD PTR -28[rbp]
	mov	DWORD PTR [rax], edx
	cmp	DWORD PTR -48[rbp], 0
	jne	.L150
	mov	eax, DWORD PTR -44[rbp]
	jmp	.L152
.L150:
	mov	eax, -1
.L152:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L153
	call	__stack_chk_fail@PLT
.L153:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE27:
	.size	exec_command, .-exec_command
	.section	.rodata
	.align 8
.LC36:
	.string	"Delivering signal %d to child process %d"
	.align 8
.LC37:
	.string	"Unable to wait for child process %d"
	.align 8
.LC38:
	.string	"Child process %d stopped signal %d"
	.align 8
.LC39:
	.string	"Unable to stop process after signal %d"
	.align 8
.LC40:
	.string	"Child process %d exit status %d"
	.align 8
.LC41:
	.string	"Child process %d termination signal %d"
	.text
	.globl	spawn_command
	.type	spawn_command, @function
spawn_command:
.LFB28:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -56[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -40[rbp], -1
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	exec_command
	mov	DWORD PTR -24[rbp], eax
	cmp	DWORD PTR -24[rbp], -1
	je	.L176
.L156:
	call	signal_set_sample
	mov	DWORD PTR -36[rbp], eax
	mov	DWORD PTR -32[rbp], 0
	jmp	.L158
.L161:
	mov	eax, DWORD PTR -36[rbp]
	and	eax, 1
	test	eax, eax
	je	.L159
	mov	eax, DWORD PTR optDebug[rip]
	test	eax, eax
	je	.L160
	mov	edx, DWORD PTR -24[rbp]
	mov	eax, DWORD PTR -32[rbp]
	mov	esi, eax
	lea	rdi, .LC36[rip]
	mov	eax, 0
	call	debug
.L160:
	mov	edx, DWORD PTR -32[rbp]
	mov	eax, DWORD PTR -24[rbp]
	mov	esi, edx
	mov	edi, eax
	call	kill@PLT
.L159:
	sar	DWORD PTR -36[rbp]
	add	DWORD PTR -32[rbp], 1
.L158:
	cmp	DWORD PTR -36[rbp], 0
	jne	.L161
	lea	rcx, -44[rbp]
	mov	eax, DWORD PTR -24[rbp]
	mov	edx, 2
	mov	rsi, rcx
	mov	edi, eax
	call	waitpid@PLT
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], -1
	jne	.L162
	call	__errno_location@PLT
	mov	eax, DWORD PTR [rax]
	cmp	eax, 4
	je	.L177
	mov	eax, DWORD PTR -24[rbp]
	mov	esi, eax
	lea	rdi, .LC37[rip]
	mov	eax, 0
	call	fatal
.L162:
	mov	eax, DWORD PTR -44[rbp]
	movzx	eax, al
	cmp	eax, 127
	jne	.L165
	mov	eax, DWORD PTR -44[rbp]
	sar	eax, 8
	and	eax, 255
	mov	DWORD PTR -28[rbp], eax
	mov	eax, DWORD PTR optDebug[rip]
	test	eax, eax
	je	.L166
	mov	edx, DWORD PTR -28[rbp]
	mov	eax, DWORD PTR -24[rbp]
	mov	esi, eax
	lea	rdi, .LC38[rip]
	mov	eax, 0
	call	debug
.L166:
	cmp	DWORD PTR -28[rbp], 19
	je	.L167
	cmp	DWORD PTR -28[rbp], 20
	jne	.L168
.L167:
	mov	eax, DWORD PTR optContinue[rip]
	test	eax, eax
	je	.L168
	mov	edi, 18
	call	signal_set_add
	mov	DWORD PTR -28[rbp], 0
.L168:
	cmp	DWORD PTR -28[rbp], 0
	je	.L178
	call	getpid@PLT
	mov	edx, eax
	mov	eax, DWORD PTR -28[rbp]
	mov	esi, eax
	mov	edi, edx
	call	kill@PLT
	test	eax, eax
	je	.L178
	mov	eax, DWORD PTR -28[rbp]
	mov	esi, eax
	lea	rdi, .LC39[rip]
	mov	eax, 0
	call	warn
	jmp	.L178
.L165:
	mov	eax, DWORD PTR -44[rbp]
	and	eax, 127
	test	eax, eax
	jne	.L170
	mov	eax, DWORD PTR -44[rbp]
	sar	eax, 8
	and	eax, 255
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR optDebug[rip]
	test	eax, eax
	je	.L171
	mov	edx, DWORD PTR -12[rbp]
	mov	eax, DWORD PTR -24[rbp]
	mov	esi, eax
	lea	rdi, .LC40[rip]
	mov	eax, 0
	call	debug
.L171:
	mov	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR -40[rbp], eax
	jmp	.L179
.L170:
	mov	eax, DWORD PTR -44[rbp]
	and	eax, 127
	add	eax, 1
	sar	al
	test	al, al
	jle	.L179
	mov	eax, DWORD PTR -44[rbp]
	and	eax, 127
	mov	DWORD PTR -16[rbp], eax
	mov	eax, DWORD PTR optDebug[rip]
	test	eax, eax
	je	.L173
	mov	edx, DWORD PTR -16[rbp]
	mov	eax, DWORD PTR -24[rbp]
	mov	esi, eax
	lea	rdi, .LC41[rip]
	mov	eax, 0
	call	debug
.L173:
	mov	eax, DWORD PTR -16[rbp]
	add	eax, 256
	mov	DWORD PTR -40[rbp], eax
	jmp	.L157
.L177:
	nop
	jmp	.L156
.L178:
	nop
	jmp	.L156
.L176:
	nop
	jmp	.L157
.L179:
	nop
.L157:
	mov	eax, DWORD PTR -40[rbp]
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L175
	call	__stack_chk_fail@PLT
.L175:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE28:
	.size	spawn_command, .-spawn_command
	.section	.rodata
.LC42:
	.string	"Spawning count %u attempt %u"
.LC43:
	.string	"Failed to start %s"
.LC44:
	.string	"Waiting %us before respawning"
	.text
	.globl	respawn_command
	.type	respawn_command, @function
respawn_command:
.LFB29:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -56[rbp], rdi
	mov	DWORD PTR -48[rbp], -1
	mov	DWORD PTR -44[rbp], 0
	mov	DWORD PTR -40[rbp], 0
	mov	DWORD PTR -36[rbp], 0
	call	monomillis
	mov	QWORD PTR -24[rbp], rax
.L194:
	add	DWORD PTR -44[rbp], 1
	add	DWORD PTR -40[rbp], 1
	mov	eax, DWORD PTR optDebug[rip]
	test	eax, eax
	je	.L181
	mov	edx, DWORD PTR -40[rbp]
	mov	eax, DWORD PTR -44[rbp]
	mov	esi, eax
	lea	rdi, .LC42[rip]
	mov	eax, 0
	call	debug
.L181:
	call	signal_catch
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	spawn_command
	mov	DWORD PTR -32[rbp], eax
	call	signal_release
	call	monomillis
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	sub	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -8[rbp], rax
	cmp	DWORD PTR -32[rbp], -1
	je	.L198
	mov	eax, DWORD PTR optForever[rip]
	test	eax, eax
	jne	.L184
	cmp	DWORD PTR -32[rbp], 0
	jle	.L185
	mov	eax, DWORD PTR -32[rbp]
	cmp	eax, 255
	ja	.L185
	mov	eax, DWORD PTR -32[rbp]
	cdqe
	lea	rdx, optExit[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	test	al, al
	jne	.L199
.L185:
	cmp	DWORD PTR -32[rbp], 255
	jg	.L200
.L184:
	mov	eax, DWORD PTR ShortDurationMillis.1[rip]
	mov	eax, eax
	cmp	QWORD PTR -8[rbp], rax
	ja	.L187
	mov	DWORD PTR -36[rbp], 0
	cmp	DWORD PTR -40[rbp], 9
	jbe	.L188
	call	__errno_location@PLT
	mov	DWORD PTR [rax], 0
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rsi, rax
	lea	rdi, .LC43[rip]
	mov	eax, 0
	call	error
	jmp	.L183
.L188:
	mov	edi, 1000
	call	usleep@PLT
	jmp	.L194
.L187:
	mov	eax, DWORD PTR LongDurationMillis.0[rip]
	mov	eax, eax
	cmp	QWORD PTR -8[rbp], rax
	jbe	.L190
	mov	DWORD PTR -36[rbp], 0
	jmp	.L191
.L190:
	cmp	DWORD PTR -36[rbp], 59
	ja	.L192
	mov	eax, DWORD PTR -36[rbp]
	add	eax, 1
	add	eax, eax
	mov	DWORD PTR -36[rbp], eax
.L192:
	call	rand@PLT
	mov	edx, 0
	div	DWORD PTR -36[rbp]
	mov	DWORD PTR -28[rbp], edx
	mov	eax, DWORD PTR optDebug[rip]
	test	eax, eax
	je	.L193
	mov	eax, DWORD PTR -28[rbp]
	mov	esi, eax
	lea	rdi, .LC44[rip]
	mov	eax, 0
	call	debug
.L193:
	mov	eax, DWORD PTR -28[rbp]
	mov	edi, eax
	call	sleep@PLT
.L191:
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -24[rbp], rax
	mov	DWORD PTR -40[rbp], 0
	jmp	.L194
.L199:
	nop
	jmp	.L186
.L200:
	nop
.L186:
	mov	DWORD PTR -48[rbp], 0
	jmp	.L183
.L198:
	nop
.L183:
	cmp	DWORD PTR -48[rbp], 0
	je	.L195
	mov	eax, DWORD PTR -48[rbp]
	jmp	.L197
.L195:
	mov	eax, DWORD PTR -32[rbp]
.L197:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE29:
	.size	respawn_command, .-respawn_command
	.globl	main
	.type	main, @function
main:
.LFB30:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 40
	.cfi_offset 3, -24
	mov	DWORD PTR -36[rbp], edi
	mov	QWORD PTR -48[rbp], rsi
	mov	DWORD PTR -32[rbp], 255
	call	getpid@PLT
	mov	edi, eax
	call	srand@PLT
	mov	rdx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -36[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	parse_options
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], 0
	je	.L202
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L203
.L202:
	call	usage
.L203:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	respawn_command
	mov	DWORD PTR -28[rbp], eax
	cmp	DWORD PTR -28[rbp], -1
	je	.L208
	cmp	DWORD PTR -28[rbp], 255
	jle	.L206
	mov	eax, DWORD PTR -28[rbp]
	lea	ebx, -256[rax]
	call	getpid@PLT
	mov	esi, ebx
	mov	edi, eax
	call	kill@PLT
	jmp	.L205
.L206:
	mov	eax, DWORD PTR -28[rbp]
	mov	DWORD PTR -32[rbp], eax
	jmp	.L205
.L208:
	nop
.L205:
	mov	eax, DWORD PTR -32[rbp]
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE30:
	.size	main, .-main
	.section	.rodata
	.align 32
	.type	usageText.4, @object
	.size	usageText.4, 324
usageText.4:
	.ascii	"usage: %s [-dfZ] [-x N,...] -- cmd ...\nOptions:\n  -d --deb"
	.ascii	"ug      E"
	.string	"mit debug information\n  -f --forever    Continually restart the monitored process\n  -Z --continue   Continue monitored process if it suspends\n  -x --exit N,..  Additional success exit codes [default: 0]\n  -x --exit none  No success exit codes [default: 0]\n"
	.data
	.type	shortOpts.3, @object
	.size	shortOpts.3, 7
shortOpts.3:
	.string	"hdfZx:"
	.section	.rodata
.LC45:
	.string	"help"
.LC46:
	.string	"debug"
.LC47:
	.string	"forever"
.LC48:
	.string	"continue"
.LC49:
	.string	"exit"
	.section	.data.rel.local
	.align 32
	.type	longOpts.2, @object
	.size	longOpts.2, 192
longOpts.2:
	.quad	.LC45
	.long	0
	.zero	4
	.quad	0
	.long	104
	.zero	4
	.quad	.LC46
	.long	0
	.zero	4
	.quad	0
	.long	100
	.zero	4
	.quad	.LC47
	.long	0
	.zero	4
	.quad	0
	.long	102
	.zero	4
	.quad	.LC48
	.long	0
	.zero	4
	.quad	0
	.long	90
	.zero	4
	.quad	.LC49
	.long	1
	.zero	4
	.quad	0
	.long	120
	.zero	4
	.quad	0
	.zero	24
	.section	.rodata
	.align 4
	.type	ShortDurationMillis.1, @object
	.size	ShortDurationMillis.1, 4
ShortDurationMillis.1:
	.long	1000
	.align 4
	.type	LongDurationMillis.0, @object
	.size	LongDurationMillis.0, 4
LongDurationMillis.0:
	.long	60000
	.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	"719375.c"
	.text
	.local	optDebug
	.comm	optDebug,4,4
	.local	optHelp
	.comm	optHelp,4,4
	.local	optContinue
	.comm	optContinue,4,4
	.local	optForever
	.comm	optForever,4,4
	.data
	.align	2
	.type	optExit, %object
	.size	optExit, 256
optExit:
	.ascii	"\001\000"
	.space	254
	.section	.rodata
	.align	2
.LC0:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	usage
	.syntax unified
	.arm
	.fpu softvfp
	.type	usage, %function
usage:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #28
	ldr	r3, .L6
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	ldr	r3, .L6+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L2
	ldr	r3, .L6+8
	ldr	r3, [r3]
	ldr	r2, .L6+12
	ldr	r2, [r2]
	ldr	r1, .L6+16
	mov	r0, r3
	bl	fprintf
	b	.L3
.L2:
	mov	r3, sp
	mov	r4, r3
	mov	r1, #10
	ldr	r0, .L6+16
	bl	strchr
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L4
	ldr	r2, .L6+20
	ldr	r3, .L6+16
	add	r3, r2, r3
	str	r3, [fp, #-32]
.L4:
	ldr	r3, [fp, #-32]
	ldr	r2, .L6+16
	sub	r3, r3, r2
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	add	ip, r3, #2
	mov	r3, ip
	sub	r3, r3, #1
	str	r3, [fp, #-24]
	mov	r0, ip
	mov	r1, #0
	mov	r2, #0
	mov	r3, #0
	lsl	r3, r1, #3
	orr	r3, r3, r0, lsr #29
	lsl	r2, r0, #3
	mov	r0, ip
	mov	r1, #0
	mov	r2, #0
	mov	r3, #0
	lsl	r3, r1, #3
	orr	r3, r3, r0, lsr #29
	lsl	r2, r0, #3
	add	r3, ip, #7
	lsr	r3, r3, #3
	lsl	r3, r3, #3
	sub	sp, sp, r3
	mov	r3, sp
	add	r3, r3, #0
	str	r3, [fp, #-20]
	ldr	r2, [fp, #-28]
	ldr	r1, .L6+16
	ldr	r0, [fp, #-20]
	bl	memcpy
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-28]
	add	r3, r2, r3
	mov	r2, #10
	strb	r2, [r3]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	ldr	r2, [fp, #-20]
	mov	r1, #0
	strb	r1, [r2, r3]
	ldr	r3, .L6+8
	ldr	r3, [r3]
	ldr	r2, .L6+12
	ldr	r2, [r2]
	ldr	r1, [fp, #-20]
	mov	r0, r3
	bl	fprintf
	mov	sp, r4
.L3:
	mov	r0, #1
	bl	exit
.L7:
	.align	2
.L6:
	.word	.LC0
	.word	optHelp
	.word	stderr
	.word	program_invocation_short_name
	.word	usageText.7083
	.word	323
	.size	usage, .-usage
	.section	.rodata
	.align	2
.LC1:
	.ascii	"%s: \000"
	.align	2
.LC2:
	.ascii	"%s - \000"
	.align	2
.LC3:
	.ascii	" [%d - %s]\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	alert_, %function
alert_:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	ldr	r3, .L11
	ldr	r3, [r3]
	ldr	r2, .L11+4
	ldr	r2, [r2]
	ldr	r1, .L11+8
	mov	r0, r3
	bl	fprintf
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L9
	ldr	r3, .L11
	ldr	r3, [r3]
	ldr	r2, [fp, #-20]
	ldr	r1, .L11+12
	mov	r0, r3
	bl	fprintf
.L9:
	ldr	r3, .L11
	ldr	r3, [r3]
	ldr	r2, [fp, #-28]
	ldr	r1, [fp, #-16]
	mov	r0, r3
	bl	vfprintf
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L10
	ldr	r0, [fp, #-24]
	bl	strerror
	str	r0, [fp, #-8]
	ldr	r3, .L11
	ldr	r0, [r3]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-24]
	ldr	r1, .L11+16
	bl	fprintf
.L10:
	ldr	r3, .L11
	ldr	r3, [r3]
	mov	r1, r3
	mov	r0, #10
	bl	fputc
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L12:
	.align	2
.L11:
	.word	stderr
	.word	program_invocation_short_name
	.word	.LC1
	.word	.LC2
	.word	.LC3
	.size	alert_, .-alert_
	.section	.rodata
	.align	2
.LC4:
	.ascii	"WARN\000"
	.align	2
.LC5:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	warn
	.syntax unified
	.arm
	.fpu softvfp
	.type	warn, %function
warn:
	@ args = 4, pretend = 16, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 1
	push	{r0, r1, r2, r3}
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	ldr	r3, [fp, #4]
	str	r3, [fp, #-24]
	ldr	r3, .L15
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	bl	__errno_location
	mov	r3, r0
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	add	r3, fp, #8
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-12]
	ldr	r1, .L15+4
	ldr	r0, [fp, #-24]
	bl	alert_
	bl	__errno_location
	mov	r2, r0
	ldr	r3, [fp, #-12]
	str	r3, [r2]
	nop
	ldr	r3, .L15
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L14
	bl	__stack_chk_fail
.L14:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, lr}
	add	sp, sp, #16
	bx	lr
.L16:
	.align	2
.L15:
	.word	.LC5
	.word	.LC4
	.size	warn, .-warn
	.section	.rodata
	.align	2
.LC6:
	.ascii	"ERROR\000"
	.text
	.align	2
	.global	errorv
	.syntax unified
	.arm
	.fpu softvfp
	.type	errorv, %function
errorv:
	@ 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]
	bl	__errno_location
	mov	r3, r0
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-8]
	ldr	r1, .L18
	ldr	r0, [fp, #-16]
	bl	alert_
	bl	__errno_location
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r3, [r2]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L19:
	.align	2
.L18:
	.word	.LC6
	.size	errorv, .-errorv
	.section	.rodata
	.align	2
.LC7:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	error
	.syntax unified
	.arm
	.fpu softvfp
	.type	error, %function
error:
	@ args = 4, pretend = 16, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 1
	push	{r0, r1, r2, r3}
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	ldr	r3, [fp, #4]
	str	r3, [fp, #-16]
	ldr	r3, .L22
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	add	r3, fp, #8
	str	r3, [fp, #-12]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-16]
	bl	errorv
	nop
	ldr	r3, .L22
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L21
	bl	__stack_chk_fail
.L21:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, lr}
	add	sp, sp, #16
	bx	lr
.L23:
	.align	2
.L22:
	.word	.LC7
	.size	error, .-error
	.section	.rodata
	.align	2
.LC8:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	fatal
	.syntax unified
	.arm
	.fpu softvfp
	.type	fatal, %function
fatal:
	@ args = 4, pretend = 16, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 1
	push	{r0, r1, r2, r3}
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	ldr	r3, [fp, #4]
	str	r3, [fp, #-16]
	ldr	r3, .L26
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	add	r3, fp, #8
	str	r3, [fp, #-12]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-16]
	bl	errorv
	mov	r0, #1
	bl	exit
.L27:
	.align	2
.L26:
	.word	.LC8
	.size	fatal, .-fatal
	.section	.rodata
	.align	2
.LC9:
	.ascii	"DEBUG\000"
	.align	2
.LC10:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	debug
	.syntax unified
	.arm
	.fpu softvfp
	.type	debug, %function
debug:
	@ args = 4, pretend = 16, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 1
	push	{r0, r1, r2, r3}
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	ldr	r3, [fp, #4]
	str	r3, [fp, #-16]
	ldr	r3, .L30
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	add	r3, fp, #8
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	mov	r2, #0
	ldr	r1, .L30+4
	ldr	r0, [fp, #-16]
	bl	alert_
	nop
	ldr	r3, .L30
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L29
	bl	__stack_chk_fail
.L29:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, lr}
	add	sp, sp, #16
	bx	lr
.L31:
	.align	2
.L30:
	.word	.LC10
	.word	.LC9
	.size	debug, .-debug
	.section	.rodata
	.align	2
.LC11:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	die
	.syntax unified
	.arm
	.fpu softvfp
	.type	die, %function
die:
	@ args = 4, pretend = 16, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 1
	push	{r0, r1, r2, r3}
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	ldr	r3, [fp, #4]
	str	r3, [fp, #-16]
	ldr	r3, .L34
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	add	r3, fp, #8
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	mov	r2, #0
	mov	r1, #0
	ldr	r0, [fp, #-16]
	bl	alert_
	mov	r0, #1
	bl	exit
.L35:
	.align	2
.L34:
	.word	.LC11
	.size	die, .-die
	.section	.rodata
	.align	2
.LC12:
	.ascii	"Unable to get CLOCK_MONOTONIC time\000"
	.align	2
.LC13:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	monomillis
	.syntax unified
	.arm
	.fpu softvfp
	.type	monomillis, %function
monomillis:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	ldr	r3, .L40
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #16
	mov	r1, r3
	mov	r0, #1
	bl	clock_gettime
	mov	r3, r0
	cmp	r3, #0
	beq	.L37
	ldr	r0, .L40+4
	bl	fatal
.L37:
	ldr	r2, [fp, #-16]
	mov	r3, r2
	lsl	r3, r3, #5
	sub	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #3
	mov	r1, r3
	ldr	r3, [fp, #-12]
	ldr	r2, .L40+8
	smull	r0, r2, r3, r2
	asr	r2, r2, #18
	asr	r3, r3, #31
	sub	r3, r2, r3
	add	r3, r1, r3
	ldr	r2, .L40
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L39
	bl	__stack_chk_fail
.L39:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L41:
	.align	2
.L40:
	.word	.LC13
	.word	.LC12
	.word	1125899907
	.size	monomillis, .-monomillis
	.align	2
	.global	fd_cloexec
	.syntax unified
	.arm
	.fpu softvfp
	.type	fd_cloexec, %function
fd_cloexec:
	@ 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]
	mvn	r3, #0
	str	r3, [fp, #-12]
	mov	r1, #1
	ldr	r0, [fp, #-16]
	bl	fcntl
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmn	r3, #1
	beq	.L47
	ldr	r3, [fp, #-8]
	orr	r3, r3, #1
	str	r3, [fp, #-8]
	ldr	r2, [fp, #-8]
	mov	r1, #2
	ldr	r0, [fp, #-16]
	bl	fcntl
	mov	r3, r0
	cmn	r3, #1
	beq	.L48
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L44
.L47:
	nop
	b	.L44
.L48:
	nop
.L44:
	ldr	r3, [fp, #-12]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	fd_cloexec, .-fd_cloexec
	.align	2
	.global	fd_close
	.syntax unified
	.arm
	.fpu softvfp
	.type	fd_close, %function
fd_close:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmn	r3, #1
	beq	.L50
	ldr	r0, [fp, #-8]
	bl	close
.L50:
	mvn	r3, #0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	fd_close, .-fd_close
	.section	.rodata
	.align	2
.LC14:
	.ascii	"File descriptor %d write %lu overrunning buffer len"
	.ascii	"gth %lu\000"
	.text
	.align	2
	.global	fd_write
	.syntax unified
	.arm
	.fpu softvfp
	.type	fd_write, %function
fd_write:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	mvn	r3, #0
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-28]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-12]
	b	.L53
.L61:
	ldr	r3, [fp, #-12]
	mov	r2, r3
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-24]
	bl	write
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmn	r3, #1
	bne	.L54
	bl	__errno_location
	mov	r3, r0
	ldr	r3, [r3]
	cmp	r3, #4
	bne	.L55
	b	.L53
.L55:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-28]
	cmp	r2, r3
	beq	.L65
	b	.L57
.L54:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L66
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-12]
	cmp	r2, r3
	ble	.L60
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-12]
	ldr	r1, [fp, #-24]
	ldr	r0, .L67
	bl	die
.L60:
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-8]
	sub	r3, r2, r3
	str	r3, [fp, #-12]
.L53:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L61
	b	.L57
.L66:
	nop
.L57:
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L58
.L65:
	nop
.L58:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L62
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-28]
	sub	r3, r2, r3
	b	.L64
.L62:
	mvn	r3, #0
.L64:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L68:
	.align	2
.L67:
	.word	.LC14
	.size	fd_write, .-fd_write
	.section	.rodata
	.align	2
.LC15:
	.ascii	"File descriptor %d read %lu overrunning buffer leng"
	.ascii	"th %lu\000"
	.text
	.align	2
	.global	fd_read
	.syntax unified
	.arm
	.fpu softvfp
	.type	fd_read, %function
fd_read:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	mvn	r3, #0
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-28]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-12]
	b	.L70
.L78:
	ldr	r3, [fp, #-12]
	mov	r2, r3
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-24]
	bl	read
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmn	r3, #1
	bne	.L71
	bl	__errno_location
	mov	r3, r0
	ldr	r3, [r3]
	cmp	r3, #4
	bne	.L72
	b	.L70
.L72:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-28]
	cmp	r2, r3
	beq	.L82
	b	.L74
.L71:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L83
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-12]
	cmp	r2, r3
	ble	.L77
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-12]
	ldr	r1, [fp, #-24]
	ldr	r0, .L84
	bl	die
.L77:
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-8]
	sub	r3, r2, r3
	str	r3, [fp, #-12]
.L70:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L78
	b	.L74
.L83:
	nop
.L74:
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L75
.L82:
	nop
.L75:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L79
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-28]
	sub	r3, r2, r3
	b	.L81
.L79:
	mvn	r3, #0
.L81:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L85:
	.align	2
.L84:
	.word	.LC15
	.size	fd_read, .-fd_read
	.section	.rodata
	.align	2
.LC16:
	.ascii	"Unable to fill blocking signal set\000"
	.align	2
.LC17:
	.ascii	"Unable to set blocking signal mask\000"
	.align	2
.LC18:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	signal_block_acquire, %function
signal_block_acquire:
	@ args = 0, pretend = 0, frame = 144
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #144
	str	r0, [fp, #-144]
	ldr	r3, .L91
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #136
	mov	r0, r3
	bl	sigfillset
	mov	r3, r0
	cmp	r3, #0
	beq	.L87
	ldr	r0, .L91+4
	bl	die
.L87:
	ldr	r2, [fp, #-144]
	sub	r3, fp, #136
	mov	r1, r3
	mov	r0, #2
	bl	sigprocmask
	mov	r3, r0
	cmp	r3, #0
	beq	.L90
	ldr	r0, .L91+8
	bl	die
.L90:
	nop
	ldr	r3, .L91
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L89
	bl	__stack_chk_fail
.L89:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L92:
	.align	2
.L91:
	.word	.LC18
	.word	.LC16
	.word	.LC17
	.size	signal_block_acquire, .-signal_block_acquire
	.section	.rodata
	.align	2
.LC19:
	.ascii	"Unable to reset blocking signal mask\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	signal_block_release, %function
signal_block_release:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	mov	r1, r3
	mov	r0, #2
	bl	sigprocmask
	mov	r3, r0
	cmp	r3, #0
	beq	.L95
	ldr	r0, .L96
	bl	die
.L95:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L97:
	.align	2
.L96:
	.word	.LC19
	.size	signal_block_release, .-signal_block_release
	.local	SignalSet_
	.comm	SignalSet_,4,4
	.section	.rodata
	.align	2
.LC20:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	signal_set_sample
	.syntax unified
	.arm
	.fpu softvfp
	.type	signal_set_sample, %function
signal_set_sample:
	@ args = 0, pretend = 0, frame = 136
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #136
	ldr	r3, .L101
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #136
	mov	r0, r3
	bl	signal_block_acquire
	ldr	r3, .L101+4
	ldr	r3, [r3]
	str	r3, [fp, #-140]
	ldr	r3, .L101+4
	mov	r2, #0
	str	r2, [r3]
	sub	r3, fp, #136
	mov	r0, r3
	bl	signal_block_release
	ldr	r3, [fp, #-140]
	ldr	r2, .L101
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L100
	bl	__stack_chk_fail
.L100:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L102:
	.align	2
.L101:
	.word	.LC20
	.word	SignalSet_
	.size	signal_set_sample, .-signal_set_sample
	.section	.rodata
	.align	2
.LC21:
	.ascii	"Signal %d exceeds set size\000"
	.align	2
.LC22:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	signal_set_add
	.syntax unified
	.arm
	.fpu softvfp
	.type	signal_set_add, %function
signal_set_add:
	@ args = 0, pretend = 0, frame = 144
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #144
	str	r0, [fp, #-144]
	ldr	r3, .L106
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #136
	mov	r0, r3
	bl	signal_block_acquire
	ldr	r3, [fp, #-144]
	cmp	r3, #30
	bls	.L104
	ldr	r1, [fp, #-144]
	ldr	r0, .L106+4
	bl	die
.L104:
	mov	r2, #1
	ldr	r3, [fp, #-144]
	lsl	r2, r2, r3
	ldr	r3, .L106+8
	ldr	r3, [r3]
	orr	r3, r2, r3
	ldr	r2, .L106+8
	str	r3, [r2]
	sub	r3, fp, #136
	mov	r0, r3
	bl	signal_block_release
	nop
	ldr	r3, .L106
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L105
	bl	__stack_chk_fail
.L105:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L107:
	.align	2
.L106:
	.word	.LC22
	.word	.LC21
	.word	SignalSet_
	.size	signal_set_add, .-signal_set_add
	.section	.rodata
	.align	2
.LC23:
	.ascii	"SIGHUP\000"
	.align	2
.LC24:
	.ascii	"SIGQUIT\000"
	.align	2
.LC25:
	.ascii	"SIGINT\000"
	.align	2
.LC26:
	.ascii	"SIGABRT\000"
	.align	2
.LC27:
	.ascii	"SIGTERM\000"
	.align	2
.LC28:
	.ascii	"SIGCONT\000"
	.data
	.align	2
	.type	SigStrategy, %object
	.size	SigStrategy, 72
SigStrategy:
	.word	.LC23
	.word	1
	.space	4
	.word	.LC24
	.word	3
	.space	4
	.word	.LC25
	.word	2
	.space	4
	.word	.LC26
	.word	6
	.space	4
	.word	.LC27
	.word	15
	.space	4
	.word	.LC28
	.word	18
	.space	4
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	signal_handler_, %function
signal_handler_:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r0, [fp, #-8]
	bl	signal_set_add
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	signal_handler_, .-signal_handler_
	.section	.rodata
	.align	2
.LC29:
	.ascii	"Unable to query signal %s\000"
	.align	2
.LC30:
	.ascii	"Installing catcher for signal %d\000"
	.align	2
.LC31:
	.ascii	"Unable to intercept signal %s\000"
	.align	2
.LC32:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	signal_catch
	.syntax unified
	.arm
	.fpu softvfp
	.type	signal_catch, %function
signal_catch:
	@ args = 0, pretend = 0, frame = 152
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #152
	ldr	r3, .L116
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	bl	signal_set_sample
	mov	r3, #0
	str	r3, [fp, #-152]
	b	.L110
.L114:
	ldr	r1, .L116+4
	ldr	r2, [fp, #-152]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	add	r3, r3, #4
	ldr	r3, [r3]
	sub	r2, fp, #148
	mov	r1, #0
	mov	r0, r3
	bl	sigaction
	mov	r3, r0
	cmp	r3, #0
	beq	.L111
	ldr	r1, .L116+4
	ldr	r2, [fp, #-152]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L116+8
	bl	die
.L111:
	ldr	r1, [fp, #-148]
	ldr	r0, .L116+4
	ldr	r2, [fp, #-152]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r0, r3
	add	r3, r3, #8
	str	r1, [r3]
	ldr	r3, .L116+12
	str	r3, [fp, #-148]
	ldr	r1, .L116+4
	ldr	r2, [fp, #-152]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	add	r3, r3, #8
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L112
	ldr	r3, .L116+16
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L113
	ldr	r1, .L116+4
	ldr	r2, [fp, #-152]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	add	r3, r3, #4
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L116+20
	bl	debug
.L113:
	ldr	r1, .L116+4
	ldr	r2, [fp, #-152]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	add	r3, r3, #4
	ldr	r3, [r3]
	sub	r1, fp, #148
	mov	r2, #0
	mov	r0, r3
	bl	sigaction
	mov	r3, r0
	cmp	r3, #0
	beq	.L112
	ldr	r1, .L116+4
	ldr	r2, [fp, #-152]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L116+24
	bl	die
.L112:
	ldr	r3, [fp, #-152]
	add	r3, r3, #1
	str	r3, [fp, #-152]
.L110:
	ldr	r3, [fp, #-152]
	cmp	r3, #5
	bls	.L114
	nop
	ldr	r3, .L116
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L115
	bl	__stack_chk_fail
.L115:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L117:
	.align	2
.L116:
	.word	.LC32
	.word	SigStrategy
	.word	.LC29
	.word	signal_handler_
	.word	optDebug
	.word	.LC30
	.word	.LC31
	.size	signal_catch, .-signal_catch
	.section	.rodata
	.align	2
.LC33:
	.ascii	"Unable to reset signal %s\000"
	.align	2
.LC34:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	signal_release
	.syntax unified
	.arm
	.fpu softvfp
	.type	signal_release, %function
signal_release:
	@ args = 0, pretend = 0, frame = 152
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #152
	ldr	r3, .L124
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-152]
	b	.L119
.L122:
	ldr	r1, .L124+4
	ldr	r2, [fp, #-152]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	add	r3, r3, #4
	ldr	r3, [r3]
	sub	r2, fp, #148
	mov	r1, #0
	mov	r0, r3
	bl	sigaction
	mov	r3, r0
	cmp	r3, #0
	beq	.L120
	ldr	r1, .L124+4
	ldr	r2, [fp, #-152]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L124+8
	bl	die
.L120:
	ldr	r1, .L124+4
	ldr	r2, [fp, #-152]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	add	r3, r3, #8
	ldr	r3, [r3]
	str	r3, [fp, #-148]
	ldr	r1, .L124+4
	ldr	r2, [fp, #-152]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	add	r3, r3, #8
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L121
	ldr	r1, .L124+4
	ldr	r2, [fp, #-152]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	add	r3, r3, #4
	ldr	r3, [r3]
	sub	r1, fp, #148
	mov	r2, #0
	mov	r0, r3
	bl	sigaction
	mov	r3, r0
	cmp	r3, #0
	beq	.L121
	ldr	r1, .L124+4
	ldr	r2, [fp, #-152]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L124+12
	bl	die
.L121:
	ldr	r3, [fp, #-152]
	add	r3, r3, #1
	str	r3, [fp, #-152]
.L119:
	ldr	r3, [fp, #-152]
	cmp	r3, #5
	bls	.L122
	nop
	ldr	r3, .L124
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L123
	bl	__stack_chk_fail
.L123:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L125:
	.align	2
.L124:
	.word	.LC34
	.word	SigStrategy
	.word	.LC29
	.word	.LC33
	.size	signal_release, .-signal_release
	.section	.rodata
	.align	2
.LC35:
	.ascii	"none\000"
	.align	2
.LC36:
	.ascii	",\000"
	.align	2
.LC37:
	.ascii	"No exit codes specified\000"
	.align	2
.LC38:
	.ascii	"Exit code %s must start with a digit\000"
	.align	2
.LC39:
	.ascii	"Unable to parse exit code %s\000"
	.align	2
.LC40:
	.ascii	"Exit code %s exceeds 255\000"
	.align	2
.LC41:
	.ascii	"--\000"
	.align	2
.LC42:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	parse_options
	.syntax unified
	.arm
	.fpu softvfp
	.type	parse_options, %function
parse_options:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	str	r0, [fp, #-48]
	str	r1, [fp, #-52]
	ldr	r3, .L158
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mvn	r3, #0
	str	r3, [fp, #-32]
.L147:
	mov	r3, #0
	str	r3, [sp]
	ldr	r3, .L158+4
	ldr	r2, .L158+8
	ldr	r1, [fp, #-52]
	ldr	r0, [fp, #-48]
	bl	getopt_long
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmn	r3, #1
	beq	.L154
	ldr	r3, [fp, #-24]
	cmp	r3, #104
	bgt	.L129
	ldr	r3, [fp, #-24]
	cmp	r3, #58
	blt	.L155
	ldr	r3, [fp, #-24]
	sub	r3, r3, #58
	cmp	r3, #46
	ldrls	pc, [pc, r3, asl #2]
	b	.L155
.L132:
	.word	.L156
	.word	.L155
	.word	.L155
	.word	.L155
	.word	.L155
	.word	.L156
	.word	.L155
	.word	.L155
	.word	.L155
	.word	.L155
	.word	.L155
	.word	.L155
	.word	.L155
	.word	.L155
	.word	.L155
	.word	.L155
	.word	.L155
	.word	.L155
	.word	.L155
	.word	.L155
	.word	.L155
	.word	.L155
	.word	.L155
	.word	.L155
	.word	.L155
	.word	.L155
	.word	.L155
	.word	.L155
	.word	.L155
	.word	.L155
	.word	.L155
	.word	.L155
	.word	.L135
	.word	.L155
	.word	.L155
	.word	.L155
	.word	.L155
	.word	.L155
	.word	.L155
	.word	.L155
	.word	.L155
	.word	.L155
	.word	.L134
	.word	.L155
	.word	.L133
	.word	.L155
	.word	.L131
.L129:
	ldr	r3, [fp, #-24]
	cmp	r3, #120
	beq	.L137
	b	.L155
.L131:
	ldr	r3, .L158+12
	mov	r2, #1
	str	r2, [r3]
	b	.L139
.L133:
	ldr	r3, .L158+16
	mov	r2, #1
	str	r2, [r3]
	b	.L138
.L135:
	ldr	r3, .L158+20
	mov	r2, #1
	str	r2, [r3]
	b	.L138
.L134:
	ldr	r3, .L158+24
	mov	r2, #1
	str	r2, [r3]
	b	.L138
.L137:
	ldr	r3, .L158+28
	ldr	r3, [r3]
	ldr	r1, .L158+32
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L140
	mov	r2, #256
	mov	r1, #0
	ldr	r0, .L158+36
	bl	memset
	b	.L147
.L140:
	ldr	r3, .L158+28
	ldr	r3, [r3]
	str	r3, [fp, #-28]
.L146:
	sub	r3, fp, #40
	mov	r2, r3
	ldr	r1, .L158+40
	ldr	r0, [fp, #-28]
	bl	strtok_r
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L141
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	beq	.L147
	ldr	r0, .L158+44
	bl	die
	b	.L147
.L141:
	mov	r3, #0
	str	r3, [fp, #-28]
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #2048
	cmp	r3, #0
	bne	.L143
	ldr	r1, [fp, #-20]
	ldr	r0, .L158+48
	bl	die
.L143:
	sub	r3, fp, #36
	mov	r2, #10
	mov	r1, r3
	ldr	r0, [fp, #-20]
	bl	strtoul
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-36]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L144
	ldr	r1, [fp, #-20]
	ldr	r0, .L158+52
	bl	die
.L144:
	ldr	r3, [fp, #-16]
	cmp	r3, #255
	bls	.L145
	ldr	r1, [fp, #-20]
	ldr	r0, .L158+56
	bl	die
.L145:
	ldr	r2, .L158+36
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	mov	r2, #1
	strb	r2, [r3]
	b	.L146
.L155:
	nop
.L138:
	b	.L147
.L154:
	nop
	ldr	r3, .L158+60
	ldr	r3, [r3]
	ldr	r2, [fp, #-48]
	cmp	r2, r3
	blt	.L157
	ldr	r3, .L158+60
	ldr	r3, [r3]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	ldr	r2, [fp, #-52]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L158+64
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L157
	mov	r3, #0
	str	r3, [fp, #-32]
	b	.L139
.L156:
	nop
	b	.L139
.L157:
	nop
.L139:
	bl	__errno_location
	mov	r3, r0
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L148
	ldr	r3, .L158+60
	ldr	r3, [r3]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-52]
	add	r3, r2, r3
	str	r3, [fp, #-52]
	ldr	r3, .L158+60
	ldr	r3, [r3]
	ldr	r2, [fp, #-48]
	sub	r3, r2, r3
	str	r3, [fp, #-48]
.L148:
	bl	__errno_location
	mov	r2, r0
	ldr	r3, [fp, #-12]
	str	r3, [r2]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L149
	ldr	r3, [fp, #-52]
	b	.L151
.L149:
	mov	r3, #0
.L151:
	ldr	r2, .L158
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L152
	bl	__stack_chk_fail
.L152:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L159:
	.align	2
.L158:
	.word	.LC42
	.word	longOpts.7208
	.word	shortOpts.7207
	.word	optHelp
	.word	optForever
	.word	optContinue
	.word	optDebug
	.word	optarg
	.word	.LC35
	.word	optExit
	.word	.LC36
	.word	.LC37
	.word	.LC38
	.word	.LC39
	.word	.LC40
	.word	optind
	.word	.LC41
	.size	parse_options, .-parse_options
	.section	.rodata
	.align	2
.LC43:
	.ascii	"Unable to create pipe\000"
	.align	2
.LC44:
	.ascii	"Unable to set FD_CLOEXEC on fd %d\000"
	.align	2
.LC45:
	.ascii	"Unable to fork new process\000"
	.align	2
.LC46:
	.ascii	"Unable to execute %s\000"
	.align	2
.LC47:
	.ascii	"Child process %d forked\000"
	.align	2
.LC48:
	.ascii	"Child process %d exec code %d\000"
	.align	2
.LC49:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	exec_command
	.syntax unified
	.arm
	.fpu softvfp
	.type	exec_command, %function
exec_command:
	@ args = 0, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	str	r0, [fp, #-56]
	ldr	r3, .L183
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mvn	r3, #0
	str	r3, [fp, #-44]
	mvn	r3, #0
	str	r3, [fp, #-40]
	mvn	r3, #0
	str	r3, [fp, #-36]
	mvn	r3, #0
	str	r3, [fp, #-32]
	sub	r3, fp, #16
	mov	r0, r3
	bl	pipe
	mov	r3, r0
	cmp	r3, #0
	beq	.L161
	ldr	r0, .L183+4
	bl	error
	b	.L167
.L161:
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-32]
	ldr	r0, [fp, #-36]
	bl	fd_cloexec
	mov	r3, r0
	cmp	r3, #0
	beq	.L163
	ldr	r1, [fp, #-36]
	ldr	r0, .L183+8
	bl	error
	b	.L167
.L163:
	ldr	r0, [fp, #-32]
	bl	fd_cloexec
	mov	r3, r0
	cmp	r3, #0
	beq	.L164
	ldr	r1, [fp, #-32]
	ldr	r0, .L183+8
	bl	error
	b	.L167
.L164:
	bl	fork
	mov	r3, r0
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-40]
	cmn	r3, #1
	bne	.L182
	ldr	r0, .L183+12
	bl	error
	b	.L167
.L182:
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	bne	.L168
	ldr	r3, [fp, #-56]
	ldr	r3, [r3]
	ldr	r1, [fp, #-56]
	mov	r0, r3
	bl	execvp
	bl	__errno_location
	mov	r3, r0
	ldr	r3, [r3]
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L183+16
	bl	error
	sub	r3, fp, #48
	mov	r2, #4
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	fd_write
	mov	r0, #1
	bl	_exit
.L168:
	ldr	r3, .L183+20
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L169
	ldr	r1, [fp, #-40]
	ldr	r0, .L183+24
	bl	debug
.L169:
	ldr	r0, [fp, #-32]
	bl	fd_close
	str	r0, [fp, #-32]
	sub	r3, fp, #48
	mov	r2, #4
	mov	r1, r3
	ldr	r0, [fp, #-36]
	bl	fd_read
	str	r0, [fp, #-24]
	mvn	r3, #0
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-24]
	cmn	r3, #1
	bne	.L170
	bl	__errno_location
	mov	r3, r0
	ldr	r3, [r3]
	str	r3, [fp, #-48]
	b	.L171
.L170:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L172
	mov	r3, #0
	str	r3, [fp, #-28]
	b	.L171
.L172:
	ldr	r3, [fp, #-24]
	cmp	r3, #4
	bne	.L171
	mov	r3, #1
	str	r3, [fp, #-28]
.L171:
	ldr	r3, .L183+20
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L173
	ldr	r2, [fp, #-28]
	ldr	r1, [fp, #-40]
	ldr	r0, .L183+28
	bl	debug
.L173:
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	beq	.L174
	bl	__errno_location
	mov	r2, r0
	ldr	r3, [fp, #-48]
	str	r3, [r2]
	b	.L167
.L174:
	mov	r3, #0
	str	r3, [fp, #-44]
.L167:
	bl	__errno_location
	mov	r3, r0
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	beq	.L175
	ldr	r3, [fp, #-40]
	cmn	r3, #1
	beq	.L175
	mov	r1, #9
	ldr	r0, [fp, #-40]
	bl	kill
	b	.L176
.L177:
	nop
.L176:
	mov	r2, #0
	mov	r1, #0
	ldr	r0, [fp, #-40]
	bl	waitpid
	mov	r2, r0
	ldr	r3, [fp, #-40]
	cmp	r3, r2
	bne	.L177
	mvn	r3, #0
	str	r3, [fp, #-40]
.L175:
	ldr	r0, [fp, #-36]
	bl	fd_close
	str	r0, [fp, #-36]
	ldr	r0, [fp, #-32]
	bl	fd_close
	str	r0, [fp, #-32]
	bl	__errno_location
	mov	r2, r0
	ldr	r3, [fp, #-20]
	str	r3, [r2]
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	bne	.L178
	ldr	r3, [fp, #-40]
	b	.L180
.L178:
	mvn	r3, #0
.L180:
	ldr	r2, .L183
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L181
	bl	__stack_chk_fail
.L181:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L184:
	.align	2
.L183:
	.word	.LC49
	.word	.LC43
	.word	.LC44
	.word	.LC45
	.word	.LC46
	.word	optDebug
	.word	.LC47
	.word	.LC48
	.size	exec_command, .-exec_command
	.section	.rodata
	.align	2
.LC50:
	.ascii	"Delivering signal %d to child process %d\000"
	.align	2
.LC51:
	.ascii	"Unable to wait for child process %d\000"
	.align	2
.LC52:
	.ascii	"Child process %d stopped signal %d\000"
	.align	2
.LC53:
	.ascii	"Unable to stop process after signal %d\000"
	.align	2
.LC54:
	.ascii	"Child process %d exit status %d\000"
	.align	2
.LC55:
	.ascii	"Child process %d termination signal %d\000"
	.align	2
.LC56:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	spawn_command
	.syntax unified
	.arm
	.fpu softvfp
	.type	spawn_command, %function
spawn_command:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	str	r0, [fp, #-48]
	ldr	r3, .L210
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mvn	r3, #0
	str	r3, [fp, #-40]
	ldr	r0, [fp, #-48]
	bl	exec_command
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmn	r3, #1
	beq	.L206
.L186:
	bl	signal_set_sample
	str	r0, [fp, #-36]
	mov	r3, #0
	str	r3, [fp, #-32]
	b	.L188
.L191:
	ldr	r3, [fp, #-36]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L189
	ldr	r3, .L210+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L190
	ldr	r2, [fp, #-24]
	ldr	r1, [fp, #-32]
	ldr	r0, .L210+8
	bl	debug
.L190:
	ldr	r1, [fp, #-32]
	ldr	r0, [fp, #-24]
	bl	kill
.L189:
	ldr	r3, [fp, #-36]
	asr	r3, r3, #1
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L188:
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	bne	.L191
	sub	r3, fp, #44
	mov	r2, #2
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	waitpid
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmn	r3, #1
	bne	.L192
	bl	__errno_location
	mov	r3, r0
	ldr	r3, [r3]
	cmp	r3, #4
	beq	.L207
	ldr	r1, [fp, #-24]
	ldr	r0, .L210+12
	bl	fatal
.L192:
	ldr	r3, [fp, #-44]
	and	r3, r3, #255
	cmp	r3, #127
	bne	.L195
	ldr	r3, [fp, #-44]
	asr	r3, r3, #8
	and	r3, r3, #255
	str	r3, [fp, #-28]
	ldr	r3, .L210+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L196
	ldr	r2, [fp, #-28]
	ldr	r1, [fp, #-24]
	ldr	r0, .L210+16
	bl	debug
.L196:
	ldr	r3, [fp, #-28]
	cmp	r3, #19
	beq	.L197
	ldr	r3, [fp, #-28]
	cmp	r3, #20
	bne	.L198
.L197:
	ldr	r3, .L210+20
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L198
	mov	r0, #18
	bl	signal_set_add
	mov	r3, #0
	str	r3, [fp, #-28]
.L198:
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	beq	.L208
	bl	getpid
	mov	r3, r0
	ldr	r1, [fp, #-28]
	mov	r0, r3
	bl	kill
	mov	r3, r0
	cmp	r3, #0
	beq	.L208
	ldr	r1, [fp, #-28]
	ldr	r0, .L210+24
	bl	warn
	b	.L208
.L195:
	ldr	r3, [fp, #-44]
	and	r3, r3, #127
	cmp	r3, #0
	bne	.L200
	ldr	r3, [fp, #-44]
	asr	r3, r3, #8
	and	r3, r3, #255
	str	r3, [fp, #-12]
	ldr	r3, .L210+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L201
	ldr	r2, [fp, #-12]
	ldr	r1, [fp, #-24]
	ldr	r0, .L210+28
	bl	debug
.L201:
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-40]
	b	.L209
.L200:
	ldr	r3, [fp, #-44]
	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	.L209
	ldr	r3, [fp, #-44]
	and	r3, r3, #127
	str	r3, [fp, #-16]
	ldr	r3, .L210+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L203
	ldr	r2, [fp, #-16]
	ldr	r1, [fp, #-24]
	ldr	r0, .L210+32
	bl	debug
.L203:
	ldr	r3, [fp, #-16]
	add	r3, r3, #256
	str	r3, [fp, #-40]
	b	.L187
.L207:
	nop
	b	.L186
.L208:
	nop
	b	.L186
.L206:
	nop
	b	.L187
.L209:
	nop
.L187:
	ldr	r3, [fp, #-40]
	ldr	r2, .L210
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L205
	bl	__stack_chk_fail
.L205:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L211:
	.align	2
.L210:
	.word	.LC56
	.word	optDebug
	.word	.LC50
	.word	.LC51
	.word	.LC52
	.word	optContinue
	.word	.LC53
	.word	.LC54
	.word	.LC55
	.size	spawn_command, .-spawn_command
	.section	.rodata
	.align	2
.LC57:
	.ascii	"Spawning count %u attempt %u\000"
	.align	2
.LC58:
	.ascii	"Failed to start %s\000"
	.global	__aeabi_uidivmod
	.align	2
.LC59:
	.ascii	"Waiting %us before respawning\000"
	.text
	.align	2
	.global	respawn_command
	.syntax unified
	.arm
	.fpu softvfp
	.type	respawn_command, %function
respawn_command:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	str	r0, [fp, #-48]
	mvn	r3, #0
	str	r3, [fp, #-40]
	mov	r3, #0
	str	r3, [fp, #-36]
	mov	r3, #0
	str	r3, [fp, #-32]
	mov	r3, #0
	str	r3, [fp, #-28]
	bl	monomillis
	str	r0, [fp, #-24]
.L226:
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
	ldr	r3, .L233
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L213
	ldr	r2, [fp, #-32]
	ldr	r1, [fp, #-36]
	ldr	r0, .L233+4
	bl	debug
.L213:
	bl	signal_catch
	ldr	r0, [fp, #-48]
	bl	spawn_command
	str	r0, [fp, #-20]
	bl	signal_release
	bl	monomillis
	str	r0, [fp, #-16]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-24]
	sub	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-20]
	cmn	r3, #1
	beq	.L230
	ldr	r3, .L233+8
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L216
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	ble	.L217
	ldr	r3, [fp, #-20]
	cmp	r3, #255
	bhi	.L217
	ldr	r2, .L233+12
	ldr	r3, [fp, #-20]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L231
.L217:
	ldr	r3, [fp, #-20]
	cmp	r3, #255
	bgt	.L232
.L216:
	ldr	r3, .L233+16
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	bhi	.L219
	mov	r3, #0
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-32]
	cmp	r3, #9
	bls	.L220
	bl	__errno_location
	mov	r3, r0
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L233+20
	bl	error
	b	.L215
.L220:
	mov	r0, #1000
	bl	usleep
	b	.L226
.L219:
	ldr	r3, .L233+24
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	bls	.L222
	mov	r3, #0
	str	r3, [fp, #-28]
	b	.L223
.L222:
	ldr	r3, [fp, #-28]
	cmp	r3, #59
	bhi	.L224
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	lsl	r3, r3, #1
	str	r3, [fp, #-28]
.L224:
	bl	rand
	mov	r3, r0
	ldr	r1, [fp, #-28]
	mov	r0, r3
	bl	__aeabi_uidivmod
	mov	r3, r1
	str	r3, [fp, #-8]
	ldr	r3, .L233
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L225
	ldr	r1, [fp, #-8]
	ldr	r0, .L233+28
	bl	debug
.L225:
	ldr	r0, [fp, #-8]
	bl	sleep
.L223:
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-32]
	b	.L226
.L231:
	nop
	b	.L218
.L232:
	nop
.L218:
	mov	r3, #0
	str	r3, [fp, #-40]
	b	.L215
.L230:
	nop
.L215:
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	beq	.L227
	ldr	r3, [fp, #-40]
	b	.L229
.L227:
	ldr	r3, [fp, #-20]
.L229:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L234:
	.align	2
.L233:
	.word	optDebug
	.word	.LC57
	.word	optForever
	.word	optExit
	.word	ShortDurationMillis.7279
	.word	.LC58
	.word	LongDurationMillis.7280
	.word	.LC59
	.size	respawn_command, .-respawn_command
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	mov	r3, #255
	str	r3, [fp, #-16]
	bl	getpid
	mov	r3, r0
	mov	r0, r3
	bl	srand
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	parse_options
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L236
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L237
.L236:
	bl	usage
.L237:
	ldr	r0, [fp, #-12]
	bl	respawn_command
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmn	r3, #1
	beq	.L242
	ldr	r3, [fp, #-8]
	cmp	r3, #255
	ble	.L240
	bl	getpid
	mov	r2, r0
	ldr	r3, [fp, #-8]
	sub	r3, r3, #256
	mov	r1, r3
	mov	r0, r2
	bl	kill
	b	.L239
.L240:
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-16]
	b	.L239
.L242:
	nop
.L239:
	ldr	r3, [fp, #-16]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	main, .-main
	.section	.rodata
	.align	2
	.type	usageText.7083, %object
	.size	usageText.7083, 324
usageText.7083:
	.ascii	"usage: %s [-dfZ] [-x N,...] -- cmd ...\012Options:\012"
	.ascii	"  -d --debug      Emit debug information\012  -f --"
	.ascii	"forever    Continually restart the monitored proces"
	.ascii	"s\012  -Z --continue   Continue monitored process i"
	.ascii	"f it suspends\012  -x --exit N,..  Additional succe"
	.ascii	"ss exit codes [default: 0]\012  -x --exit none  No "
	.ascii	"success exit codes [default: 0]\012\000"
	.data
	.align	2
	.type	shortOpts.7207, %object
	.size	shortOpts.7207, 7
shortOpts.7207:
	.ascii	"hdfZx:\000"
	.section	.rodata
	.align	2
.LC60:
	.ascii	"help\000"
	.align	2
.LC61:
	.ascii	"debug\000"
	.align	2
.LC62:
	.ascii	"forever\000"
	.align	2
.LC63:
	.ascii	"continue\000"
	.align	2
.LC64:
	.ascii	"exit\000"
	.data
	.align	2
	.type	longOpts.7208, %object
	.size	longOpts.7208, 96
longOpts.7208:
	.word	.LC60
	.word	0
	.word	0
	.word	104
	.word	.LC61
	.word	0
	.word	0
	.word	100
	.word	.LC62
	.word	0
	.word	0
	.word	102
	.word	.LC63
	.word	0
	.word	0
	.word	90
	.word	.LC64
	.word	1
	.word	0
	.word	120
	.word	0
	.space	12
	.section	.rodata
	.align	2
	.type	ShortDurationMillis.7279, %object
	.size	ShortDurationMillis.7279, 4
ShortDurationMillis.7279:
	.word	1000
	.align	2
	.type	LongDurationMillis.7280, %object
	.size	LongDurationMillis.7280, 4
LongDurationMillis.7280:
	.word	60000
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
