	.file	"184519467.c"
	.intel_syntax noprefix
	.text
	.local	processes
	.comm	processes,80,32
	.local	process_count
	.comm	process_count,4,4
	.local	infd
	.comm	infd,4,4
	.local	outfd
	.comm	outfd,4,4
	.local	errfd
	.comm	errfd,4,4
	.local	rfds
	.comm	rfds,128,32
	.local	numfds
	.comm	numfds,4,4
	.local	time_zero
	.comm	time_zero,8,8
	.section	.rodata
.LC0:
	.string	"signal: SIGCHLD"
.LC1:
	.string	"signal: SIGTERM"
	.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
	mov	edi, 0
	call	close@PLT
	mov	edi, 1
	call	close@PLT
	mov	edi, 2
	call	close@PLT
	mov	DWORD PTR infd[rip], 3
	mov	DWORD PTR outfd[rip], 4
	lea	rsi, sigchld_handler[rip]
	mov	edi, 17
	call	signal@PLT
	cmp	rax, -1
	jne	.L2
	call	__errno_location@PLT
	mov	eax, DWORD PTR [rax]
	mov	esi, eax
	lea	rdi, .LC0[rip]
	call	perrorize
	mov	eax, -1
	jmp	.L3
.L2:
	lea	rsi, exit_gracefully[rip]
	mov	edi, 15
	call	signal@PLT
	cmp	rax, -1
	jne	.L4
	call	__errno_location@PLT
	mov	eax, DWORD PTR [rax]
	mov	esi, eax
	lea	rdi, .LC1[rip]
	call	perrorize
	mov	eax, -1
	jmp	.L3
.L4:
	mov	DWORD PTR numfds[rip], 5
	mov	eax, DWORD PTR numfds[rip]
	mov	edx, 6
	cmp	eax, 6
	cmovl	eax, edx
	add	eax, 1
	mov	DWORD PTR numfds[rip], eax
	mov	eax, 0
	call	wait_for_input
	mov	eax, 0
.L3:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	main, .-main
	.globl	wait_for_input
	.type	wait_for_input, @function
wait_for_input:
.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, 528
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
.L12:
	mov	eax, 0
	mov	ecx, 16
	lea	rdx, rfds[rip]
	mov	rdi, rdx
#APP
# 118 "the_stack_data/184519467.c" 1
	cld; rep; stosq
# 0 "" 2
#NO_APP
	mov	eax, edi
	mov	edx, ecx
	mov	DWORD PTR -528[rbp], edx
	mov	DWORD PTR -524[rbp], eax
	mov	rax, QWORD PTR rfds[rip]
	or	rax, 8
	mov	QWORD PTR rfds[rip], rax
	mov	rax, QWORD PTR rfds[rip]
	or	rax, 32
	mov	QWORD PTR rfds[rip], rax
	mov	rax, QWORD PTR rfds[rip]
	or	rax, 64
	mov	QWORD PTR rfds[rip], rax
	mov	eax, DWORD PTR numfds[rip]
	mov	r8d, 0
	mov	ecx, 0
	mov	edx, 0
	lea	rsi, rfds[rip]
	mov	edi, eax
	call	select@PLT
	mov	DWORD PTR -520[rbp], eax
	cmp	DWORD PTR -520[rbp], 0
	je	.L14
	mov	rax, QWORD PTR rfds[rip]
	and	eax, 8
	test	rax, rax
	je	.L8
	mov	DWORD PTR infd[rip], 3
	mov	DWORD PTR outfd[rip], 4
	mov	DWORD PTR errfd[rip], 4
	mov	eax, 0
	call	get_input
	mov	rdi, rax
	call	handle_input
	mov	edi, 4
	call	fsync@PLT
.L8:
	mov	rax, QWORD PTR rfds[rip]
	and	eax, 32
	test	rax, rax
	je	.L9
	mov	DWORD PTR infd[rip], 5
	mov	DWORD PTR outfd[rip], 8
	mov	DWORD PTR errfd[rip], 8
	mov	eax, 0
	call	get_input
	mov	rdi, rax
	call	handle_input
	mov	edi, 8
	call	fsync@PLT
.L9:
	mov	rax, QWORD PTR rfds[rip]
	and	eax, 64
	test	rax, rax
	je	.L12
	mov	DWORD PTR infd[rip], 6
	mov	DWORD PTR outfd[rip], 4
	mov	DWORD PTR errfd[rip], 4
	jmp	.L10
.L11:
	mov	eax, DWORD PTR -516[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR outfd[rip]
	lea	rcx, -512[rbp]
	mov	rsi, rcx
	mov	edi, eax
	call	write@PLT
.L10:
	mov	eax, DWORD PTR infd[rip]
	lea	rcx, -512[rbp]
	mov	edx, 500
	mov	rsi, rcx
	mov	edi, eax
	call	read@PLT
	mov	DWORD PTR -516[rbp], eax
	cmp	DWORD PTR -516[rbp], 0
	jg	.L11
	mov	edi, 4
	call	fsync@PLT
	jmp	.L12
.L14:
	nop
	jmp	.L12
	.cfi_endproc
.LFE7:
	.size	wait_for_input, .-wait_for_input
	.section	.rodata
.LC2:
	.string	"read"
	.align 8
.LC3:
	.string	"Incomplete read. len: %d, r: %d\n"
	.text
	.globl	get_input
	.type	get_input, @function
get_input:
.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, 32
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	edi, 102
	call	malloc@PLT
	mov	QWORD PTR -16[rbp], rax
	mov	DWORD PTR -24[rbp], 0
	mov	eax, DWORD PTR -24[rbp]
	mov	DWORD PTR -20[rbp], eax
	mov	eax, DWORD PTR infd[rip]
	lea	rcx, -24[rbp]
	mov	edx, 1
	mov	rsi, rcx
	mov	edi, eax
	call	read@PLT
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], -1
	jne	.L16
	call	__errno_location@PLT
	mov	eax, DWORD PTR [rax]
	mov	esi, eax
	lea	rdi, .LC2[rip]
	call	perrorize
	mov	eax, 0
	jmp	.L20
.L16:
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR infd[rip]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rsi, rcx
	mov	edi, eax
	call	read@PLT
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], -1
	jne	.L18
	call	__errno_location@PLT
	mov	eax, DWORD PTR [rax]
	mov	esi, eax
	lea	rdi, .LC2[rip]
	call	perrorize
	mov	eax, 0
	jmp	.L20
.L18:
	mov	eax, DWORD PTR -24[rbp]
	cmp	DWORD PTR -20[rbp], eax
	jge	.L19
	mov	eax, DWORD PTR -24[rbp]
	mov	edx, DWORD PTR -20[rbp]
	mov	esi, eax
	lea	rdi, .LC3[rip]
	mov	eax, 0
	call	printify
	mov	eax, 0
	jmp	.L20
.L19:
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	lea	rdx, -1[rax]
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 0
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	lower
	mov	rax, QWORD PTR -16[rbp]
.L20:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L21
	call	__stack_chk_fail@PLT
.L21:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	get_input, .-get_input
	.section	.rodata
.LC4:
	.string	" "
.LC5:
	.string	"q"
.LC6:
	.string	"ex"
.LC7:
	.string	"quit"
.LC8:
	.string	"exit"
.LC9:
	.string	"disconnect"
.LC10:
	.string	"broadcast"
.LC11:
	.string	""
.LC12:
	.string	"SV says: %s\n"
.LC13:
	.string	"msg"
.LC14:
	.string	"add"
.LC15:
	.string	"ans = %d\n"
.LC16:
	.string	"sub"
.LC17:
	.string	"mul"
.LC18:
	.string	"div"
.LC20:
	.string	"Divide-by-zero error.\n"
.LC21:
	.string	"ans = %.3f\n"
.LC22:
	.string	"sleep"
.LC23:
	.string	"Slept for %d seconds.\n"
.LC24:
	.string	"list"
.LC25:
	.string	"*"
.LC26:
	.string	"all"
.LC27:
	.string	"-d"
.LC28:
	.string	"details"
.LC29:
	.string	"\342\224\202"
.LC30:
	.string	"Usage: list [-d %s *]\n"
.LC31:
	.string	"kill"
	.align 8
.LC32:
	.string	"Usage: kill <processID> %s <processName> %s *\n"
.LC33:
	.string	"run"
.LC34:
	.string	"Process limit exceeded.\n"
	.text
	.globl	handle_input
	.type	handle_input, @function
handle_input:
.LFB9:
	.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, 200
	.cfi_offset 15, -24
	.cfi_offset 14, -32
	.cfi_offset 13, -40
	.cfi_offset 12, -48
	.cfi_offset 3, -56
	mov	QWORD PTR -232[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -56[rbp], rax
	xor	eax, eax
	mov	rax, rsp
	mov	rbx, rax
	cmp	QWORD PTR -232[rbp], 0
	je	.L78
	mov	rax, QWORD PTR -232[rbp]
	mov	rdi, rax
	call	strlen@PLT
	add	eax, 1
	mov	DWORD PTR -216[rbp], eax
	mov	eax, DWORD PTR -216[rbp]
	movsx	rdx, eax
	sub	rdx, 1
	mov	QWORD PTR -136[rbp], rdx
	movsx	rdx, eax
	mov	r14, rdx
	mov	r15d, 0
	movsx	rdx, eax
	mov	r12, rdx
	mov	r13d, 0
	cdqe
	mov	edx, 16
	sub	rdx, 1
	add	rax, rdx
	mov	ecx, 16
	mov	edx, 0
	div	rcx
	imul	rax, rax, 16
	mov	rcx, rax
	and	rcx, -4096
	mov	rdx, rsp
	sub	rdx, rcx
.L25:
	cmp	rsp, rdx
	je	.L26
	sub	rsp, 4096
	or	QWORD PTR 4088[rsp], 0
	jmp	.L25
.L26:
	mov	rdx, rax
	and	edx, 4095
	sub	rsp, rdx
	mov	rdx, rax
	and	edx, 4095
	test	rdx, rdx
	je	.L27
	and	eax, 4095
	sub	rax, 8
	add	rax, rsp
	or	QWORD PTR [rax], 0
.L27:
	mov	rax, rsp
	add	rax, 0
	mov	QWORD PTR -128[rbp], rax
	mov	eax, DWORD PTR -216[rbp]
	movsx	rdx, eax
	mov	rcx, QWORD PTR -232[rbp]
	mov	rax, QWORD PTR -128[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	memcpy@PLT
	mov	rax, QWORD PTR -232[rbp]
	lea	rsi, .LC4[rip]
	mov	rdi, rax
	call	strtok@PLT
	mov	QWORD PTR -120[rbp], rax
	cmp	QWORD PTR -120[rbp], 0
	je	.L79
	mov	rax, QWORD PTR -120[rbp]
	lea	rsi, .LC5[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	je	.L29
	mov	rax, QWORD PTR -120[rbp]
	lea	rsi, .LC6[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	je	.L29
	mov	rax, QWORD PTR -120[rbp]
	lea	rsi, .LC7[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	je	.L29
	mov	rax, QWORD PTR -120[rbp]
	lea	rsi, .LC8[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	je	.L29
	mov	rax, QWORD PTR -120[rbp]
	lea	rsi, .LC9[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L30
.L29:
	mov	edi, 0
	call	exit_gracefully
	jmp	.L31
.L30:
	mov	rax, QWORD PTR -120[rbp]
	lea	rsi, .LC10[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L32
	lea	rsi, .LC11[rip]
	mov	edi, 0
	call	strtok@PLT
	mov	QWORD PTR -64[rbp], rax
	cmp	QWORD PTR -64[rbp], 0
	je	.L80
	mov	DWORD PTR outfd[rip], 4
	mov	rax, QWORD PTR -64[rbp]
	mov	rsi, rax
	lea	rdi, .LC12[rip]
	mov	eax, 0
	call	printify
	jmp	.L31
.L32:
	mov	rax, QWORD PTR -120[rbp]
	lea	rsi, .LC13[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L34
	lea	rax, -216[rbp]
	mov	edx, 1
	mov	rsi, rax
	mov	edi, 7
	call	write@PLT
	mov	eax, DWORD PTR -216[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -128[rbp]
	mov	rsi, rax
	mov	edi, 7
	call	write@PLT
	jmp	.L31
.L34:
	mov	rax, QWORD PTR -120[rbp]
	lea	rsi, .LC14[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L35
	mov	DWORD PTR -208[rbp], 0
	lea	rsi, .LC4[rip]
	mov	edi, 0
	call	strtok@PLT
	mov	QWORD PTR -168[rbp], rax
	jmp	.L36
.L37:
	mov	rax, QWORD PTR -168[rbp]
	mov	rdi, rax
	call	atoi@PLT
	add	DWORD PTR -208[rbp], eax
	lea	rsi, .LC4[rip]
	mov	edi, 0
	call	strtok@PLT
	mov	QWORD PTR -168[rbp], rax
.L36:
	cmp	QWORD PTR -168[rbp], 0
	jne	.L37
	mov	eax, DWORD PTR -208[rbp]
	mov	esi, eax
	lea	rdi, .LC15[rip]
	mov	eax, 0
	call	printify
	jmp	.L31
.L35:
	mov	rax, QWORD PTR -120[rbp]
	lea	rsi, .LC16[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L38
	mov	DWORD PTR -212[rbp], 0
	lea	rsi, .LC4[rip]
	mov	edi, 0
	call	strtok@PLT
	mov	QWORD PTR -176[rbp], rax
	cmp	QWORD PTR -176[rbp], 0
	je	.L40
	mov	rax, QWORD PTR -176[rbp]
	mov	rdi, rax
	call	atoi@PLT
	add	eax, eax
	mov	DWORD PTR -212[rbp], eax
	jmp	.L40
.L41:
	mov	rax, QWORD PTR -176[rbp]
	mov	rdi, rax
	call	atoi@PLT
	sub	DWORD PTR -212[rbp], eax
	lea	rsi, .LC4[rip]
	mov	edi, 0
	call	strtok@PLT
	mov	QWORD PTR -176[rbp], rax
.L40:
	cmp	QWORD PTR -176[rbp], 0
	jne	.L41
	mov	eax, DWORD PTR -212[rbp]
	mov	esi, eax
	lea	rdi, .LC15[rip]
	mov	eax, 0
	call	printify
	jmp	.L31
.L38:
	mov	rax, QWORD PTR -120[rbp]
	lea	rsi, .LC17[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L42
	mov	DWORD PTR -204[rbp], 1
	lea	rsi, .LC4[rip]
	mov	edi, 0
	call	strtok@PLT
	mov	QWORD PTR -160[rbp], rax
	jmp	.L43
.L44:
	mov	rax, QWORD PTR -160[rbp]
	mov	rdi, rax
	call	atoi@PLT
	mov	edx, DWORD PTR -204[rbp]
	imul	eax, edx
	mov	DWORD PTR -204[rbp], eax
	lea	rsi, .LC4[rip]
	mov	edi, 0
	call	strtok@PLT
	mov	QWORD PTR -160[rbp], rax
.L43:
	cmp	QWORD PTR -160[rbp], 0
	jne	.L44
	mov	eax, DWORD PTR -204[rbp]
	mov	esi, eax
	lea	rdi, .LC15[rip]
	mov	eax, 0
	call	printify
	jmp	.L31
.L42:
	mov	rax, QWORD PTR -120[rbp]
	lea	rsi, .LC18[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L45
	pxor	xmm0, xmm0
	movss	DWORD PTR -200[rbp], xmm0
	lea	rsi, .LC4[rip]
	mov	edi, 0
	call	strtok@PLT
	mov	QWORD PTR -152[rbp], rax
	cmp	QWORD PTR -152[rbp], 0
	je	.L47
	mov	rax, QWORD PTR -152[rbp]
	mov	rdi, rax
	call	atoi@PLT
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, eax
	movss	DWORD PTR -200[rbp], xmm0
	movss	xmm0, DWORD PTR -200[rbp]
	mulss	xmm0, xmm0
	movss	DWORD PTR -200[rbp], xmm0
	jmp	.L47
.L49:
	mov	rax, QWORD PTR -152[rbp]
	mov	rdi, rax
	call	atoi@PLT
	mov	DWORD PTR -180[rbp], eax
	cmp	DWORD PTR -180[rbp], 0
	jne	.L48
	lea	rdi, .LC20[rip]
	mov	eax, 0
	call	printify
	jmp	.L24
.L48:
	pxor	xmm1, xmm1
	cvtsi2ss	xmm1, DWORD PTR -180[rbp]
	movss	xmm0, DWORD PTR -200[rbp]
	divss	xmm0, xmm1
	movss	DWORD PTR -200[rbp], xmm0
	lea	rsi, .LC4[rip]
	mov	edi, 0
	call	strtok@PLT
	mov	QWORD PTR -152[rbp], rax
.L47:
	cmp	QWORD PTR -152[rbp], 0
	jne	.L49
	pxor	xmm2, xmm2
	cvtss2sd	xmm2, DWORD PTR -200[rbp]
	movq	rax, xmm2
	movq	xmm0, rax
	lea	rdi, .LC21[rip]
	mov	eax, 1
	call	printify
	jmp	.L31
.L45:
	mov	rax, QWORD PTR -120[rbp]
	lea	rsi, .LC22[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L50
	lea	rsi, .LC4[rip]
	mov	edi, 0
	call	strtok@PLT
	mov	QWORD PTR -72[rbp], rax
	cmp	QWORD PTR -72[rbp], 0
	je	.L51
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	call	atoi@PLT
	jmp	.L52
.L51:
	mov	eax, 0
.L52:
	mov	DWORD PTR -184[rbp], eax
	mov	eax, DWORD PTR -184[rbp]
	mov	edi, eax
	call	sleep@PLT
	mov	eax, DWORD PTR -184[rbp]
	mov	esi, eax
	lea	rdi, .LC23[rip]
	mov	eax, 0
	call	printify
	jmp	.L31
.L50:
	mov	rax, QWORD PTR -120[rbp]
	lea	rsi, .LC24[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L53
	lea	rsi, .LC4[rip]
	mov	edi, 0
	call	strtok@PLT
	mov	QWORD PTR -80[rbp], rax
	cmp	QWORD PTR -80[rbp], 0
	jne	.L54
	mov	eax, 0
	call	list
	jmp	.L31
.L54:
	mov	rax, QWORD PTR -80[rbp]
	lea	rsi, .LC25[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	je	.L56
	mov	rax, QWORD PTR -80[rbp]
	lea	rsi, .LC26[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L57
.L56:
	mov	edi, 0
	call	list_all
	jmp	.L31
.L57:
	mov	rax, QWORD PTR -80[rbp]
	lea	rsi, .LC27[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	je	.L58
	mov	rax, QWORD PTR -80[rbp]
	lea	rsi, .LC28[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L59
.L58:
	mov	edi, 1
	call	list_all
	jmp	.L31
.L59:
	lea	rsi, .LC29[rip]
	lea	rdi, .LC30[rip]
	mov	eax, 0
	call	printify
	jmp	.L31
.L53:
	mov	rax, QWORD PTR -120[rbp]
	lea	rsi, .LC31[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L60
	lea	rsi, .LC4[rip]
	mov	edi, 0
	call	strtok@PLT
	mov	QWORD PTR -96[rbp], rax
	cmp	QWORD PTR -96[rbp], 0
	jne	.L61
	lea	rdx, .LC29[rip]
	lea	rsi, .LC29[rip]
	lea	rdi, .LC32[rip]
	mov	eax, 0
	call	printify
	jmp	.L24
.L61:
	mov	DWORD PTR -192[rbp], 0
	mov	rax, QWORD PTR -96[rbp]
	mov	rdi, rax
	call	atoi@PLT
	mov	DWORD PTR -192[rbp], eax
	cmp	DWORD PTR -192[rbp], 0
	je	.L62
	mov	eax, DWORD PTR -192[rbp]
	mov	edi, eax
	call	kill_by_id
	jmp	.L31
.L62:
	mov	rax, QWORD PTR -96[rbp]
	lea	rsi, .LC25[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	je	.L64
	mov	rax, QWORD PTR -96[rbp]
	lea	rsi, .LC26[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L65
.L64:
	mov	eax, 0
	call	kill_all
	jmp	.L31
.L65:
	lea	rsi, .LC4[rip]
	mov	edi, 0
	call	strtok@PLT
	mov	QWORD PTR -88[rbp], rax
	mov	DWORD PTR -188[rbp], 1
	cmp	QWORD PTR -88[rbp], 0
	jne	.L66
	mov	rax, QWORD PTR -96[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	kill_by_name
	jmp	.L31
.L66:
	mov	rax, QWORD PTR -88[rbp]
	lea	rsi, .LC25[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	je	.L67
	mov	rax, QWORD PTR -88[rbp]
	lea	rsi, .LC26[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L68
.L67:
	mov	rax, QWORD PTR -96[rbp]
	mov	esi, -1
	mov	rdi, rax
	call	kill_by_name
	jmp	.L31
.L68:
	mov	rax, QWORD PTR -88[rbp]
	mov	rdi, rax
	call	atoi@PLT
	mov	DWORD PTR -188[rbp], eax
	cmp	DWORD PTR -188[rbp], 0
	jle	.L31
	mov	edx, DWORD PTR -188[rbp]
	mov	rax, QWORD PTR -96[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	kill_by_name
	jmp	.L31
.L60:
	mov	DWORD PTR -196[rbp], 1
	mov	rax, QWORD PTR -120[rbp]
	mov	QWORD PTR -144[rbp], rax
	lea	rsi, .LC4[rip]
	mov	edi, 0
	call	strtok@PLT
	mov	QWORD PTR -112[rbp], rax
	cmp	QWORD PTR -112[rbp], 0
	je	.L69
	mov	rax, QWORD PTR -120[rbp]
	lea	rsi, .LC33[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L70
	mov	rax, QWORD PTR -112[rbp]
	mov	QWORD PTR -144[rbp], rax
	lea	rsi, .LC4[rip]
	mov	edi, 0
	call	strtok@PLT
	mov	QWORD PTR -104[rbp], rax
	cmp	QWORD PTR -104[rbp], 0
	je	.L71
	mov	rax, QWORD PTR -104[rbp]
	mov	rdi, rax
	call	atoi@PLT
	mov	DWORD PTR -196[rbp], eax
	cmp	DWORD PTR -196[rbp], 0
	je	.L71
	mov	eax, DWORD PTR -196[rbp]
	jmp	.L72
.L71:
	mov	eax, 1
.L72:
	mov	DWORD PTR -196[rbp], eax
	jmp	.L69
.L70:
	mov	rax, QWORD PTR -120[rbp]
	mov	QWORD PTR -144[rbp], rax
	mov	rax, QWORD PTR -112[rbp]
	mov	rdi, rax
	call	atoi@PLT
	mov	DWORD PTR -196[rbp], eax
	cmp	DWORD PTR -196[rbp], 0
	je	.L73
	mov	eax, DWORD PTR -196[rbp]
	jmp	.L74
.L73:
	mov	eax, 1
.L74:
	mov	DWORD PTR -196[rbp], eax
.L69:
	mov	edx, DWORD PTR process_count[rip]
	mov	eax, DWORD PTR -196[rbp]
	add	eax, edx
	cmp	eax, 9
	jle	.L75
	mov	edx, DWORD PTR process_count[rip]
	mov	eax, 10
	sub	eax, edx
	mov	DWORD PTR -196[rbp], eax
	lea	rdi, .LC34[rip]
	mov	eax, 0
	call	printify
.L75:
	mov	edx, DWORD PTR -196[rbp]
	mov	rax, QWORD PTR -144[rbp]
	mov	esi, edx
	mov	rdi, rax
	mov	eax, 0
	call	add_process
.L31:
	mov	rax, QWORD PTR -232[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	rsp, rbx
	jmp	.L22
.L78:
	nop
	jmp	.L24
.L79:
	nop
	jmp	.L24
.L80:
	nop
.L24:
	mov	rsp, rbx
.L22:
	mov	rax, QWORD PTR -56[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L77
	call	__stack_chk_fail@PLT
.L77:
	lea	rsp, -40[rbp]
	pop	rbx
	pop	r12
	pop	r13
	pop	r14
	pop	r15
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	handle_input, .-handle_input
	.section	.rodata
.LC35:
	.string	"Name"
.LC36:
	.string	"PID"
.LC37:
	.string	" %-6s %s %-10s\n"
.LC38:
	.string	" %6d %s %-10s \n"
	.text
	.globl	list
	.type	list, @function
list:
.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, 16
	mov	eax, DWORD PTR process_count[rip]
	test	eax, eax
	je	.L88
	mov	eax, 0
	call	hr
	lea	rcx, .LC35[rip]
	lea	rdx, .LC29[rip]
	lea	rsi, .LC36[rip]
	lea	rdi, .LC37[rip]
	mov	eax, 0
	call	printify
	mov	eax, 0
	call	hr
	mov	DWORD PTR -12[rbp], 0
	jmp	.L84
.L87:
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, processes[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	eax, DWORD PTR 16[rax]
	cmp	eax, 1
	jne	.L89
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, processes[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	rax, QWORD PTR 8[rax]
	mov	esi, 10
	mov	rdi, rax
	call	first_n_letters
	mov	QWORD PTR -8[rbp], rax
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, processes[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	eax, DWORD PTR [rax]
	mov	rdx, QWORD PTR -8[rbp]
	mov	rcx, rdx
	lea	rdx, .LC29[rip]
	mov	esi, eax
	lea	rdi, .LC38[rip]
	mov	eax, 0
	call	printify
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	free@PLT
	jmp	.L86
.L89:
	nop
.L86:
	add	DWORD PTR -12[rbp], 1
.L84:
	mov	eax, DWORD PTR process_count[rip]
	cmp	DWORD PTR -12[rbp], eax
	jl	.L87
	mov	eax, 0
	call	hr
	jmp	.L81
.L88:
	nop
.L81:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	list, .-list
	.section	.rodata
.LC39:
	.string	"Status"
.LC40:
	.string	" %-6s %s %-10s %s %-5s"
.LC41:
	.string	"End"
.LC42:
	.string	"Start"
.LC43:
	.string	" %s %-8s %s %-8s %s %-8s"
.LC44:
	.string	"Elapsed"
.LC45:
	.string	"\n"
.LC46:
	.string	"Alive"
.LC47:
	.string	"Dead"
.LC48:
	.string	" %6d %s %-10s %s %-6s "
.LC49:
	.string	"%H:%M:%S"
.LC50:
	.string	"%s %8s "
.LC51:
	.string	"%s %8s"
	.text
	.globl	list_all
	.type	list_all, @function
list_all:
.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, 96
	mov	DWORD PTR -84[rbp], edi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	eax, DWORD PTR process_count[rip]
	test	eax, eax
	je	.L103
	mov	eax, 0
	call	hr
	lea	r9, .LC39[rip]
	lea	r8, .LC29[rip]
	lea	rcx, .LC35[rip]
	lea	rdx, .LC29[rip]
	lea	rsi, .LC36[rip]
	lea	rdi, .LC40[rip]
	mov	eax, 0
	call	printify
	cmp	DWORD PTR -84[rbp], 0
	je	.L93
	sub	rsp, 8
	lea	rax, .LC44[rip]
	push	rax
	lea	r9, .LC29[rip]
	lea	r8, .LC41[rip]
	lea	rcx, .LC29[rip]
	lea	rdx, .LC42[rip]
	lea	rsi, .LC29[rip]
	lea	rdi, .LC43[rip]
	mov	eax, 0
	call	printify
	add	rsp, 16
.L93:
	lea	rdi, .LC45[rip]
	mov	eax, 0
	call	printify
	mov	eax, 0
	call	hr
	mov	DWORD PTR -68[rbp], 0
	jmp	.L94
.L101:
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, processes[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	rax, QWORD PTR 8[rax]
	mov	esi, 10
	mov	rdi, rax
	call	first_n_letters
	mov	QWORD PTR -48[rbp], rax
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, processes[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	je	.L95
	lea	rax, .LC46[rip]
	jmp	.L96
.L95:
	lea	rax, .LC47[rip]
.L96:
	mov	edx, DWORD PTR -68[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*8]
	lea	rdx, processes[rip]
	mov	rdx, QWORD PTR [rcx+rdx]
	mov	esi, DWORD PTR [rdx]
	mov	rdx, QWORD PTR -48[rbp]
	mov	r9, rax
	lea	r8, .LC29[rip]
	mov	rcx, rdx
	lea	rdx, .LC29[rip]
	lea	rdi, .LC48[rip]
	mov	eax, 0
	call	printify
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	free@PLT
	cmp	DWORD PTR -84[rbp], 0
	je	.L104
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, processes[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	rdx, QWORD PTR 24[rax]
	lea	rax, -17[rbp]
	mov	rcx, rdx
	lea	rdx, .LC49[rip]
	mov	esi, 9
	mov	rdi, rax
	call	strftime@PLT
	lea	rax, -17[rbp]
	mov	rdx, rax
	lea	rsi, .LC29[rip]
	lea	rdi, .LC50[rip]
	mov	eax, 0
	call	printify
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, processes[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	rdx, QWORD PTR 32[rax]
	lea	rax, -17[rbp]
	mov	rcx, rdx
	lea	rdx, .LC49[rip]
	mov	esi, 9
	mov	rdi, rax
	call	strftime@PLT
	lea	rax, -17[rbp]
	mov	rdx, rax
	lea	rsi, .LC29[rip]
	lea	rdi, .LC50[rip]
	mov	eax, 0
	call	printify
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, processes[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	rax, QWORD PTR 24[rax]
	mov	rdi, rax
	call	mktime@PLT
	mov	QWORD PTR -40[rbp], rax
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, processes[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	je	.L99
	mov	edi, 0
	call	time@PLT
	mov	QWORD PTR -56[rbp], rax
	jmp	.L100
.L99:
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, processes[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	rax, QWORD PTR 32[rax]
	mov	rdi, rax
	call	mktime@PLT
	mov	QWORD PTR -56[rbp], rax
.L100:
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	difftime@PLT
	cvttsd2si	rax, xmm0
	mov	QWORD PTR -64[rbp], rax
	lea	rax, -64[rbp]
	mov	rdi, rax
	call	gmtime@PLT
	mov	QWORD PTR -32[rbp], rax
	mov	rdx, QWORD PTR -32[rbp]
	lea	rax, -17[rbp]
	mov	rcx, rdx
	lea	rdx, .LC49[rip]
	mov	esi, 9
	mov	rdi, rax
	call	strftime@PLT
	lea	rax, -17[rbp]
	mov	rdx, rax
	lea	rsi, .LC29[rip]
	lea	rdi, .LC51[rip]
	mov	eax, 0
	call	printify
	jmp	.L98
.L104:
	nop
.L98:
	add	DWORD PTR -68[rbp], 1
	lea	rdi, .LC45[rip]
	mov	eax, 0
	call	printify
.L94:
	mov	eax, DWORD PTR process_count[rip]
	cmp	DWORD PTR -68[rbp], eax
	jl	.L101
	mov	eax, 0
	call	hr
	jmp	.L90
.L103:
	nop
.L90:
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L102
	call	__stack_chk_fail@PLT
.L102:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	list_all, .-list_all
	.section	.rodata
	.align 8
.LC52:
	.string	"Error: Process limit exceeded.\n"
.LC53:
	.string	"pipe"
.LC54:
	.string	"add_process: fork"
.LC55:
	.string	"pipe read"
.LC56:
	.string	"exec"
.LC57:
	.string	"Failed to start process.\n"
.LC58:
	.string	"write"
	.text
	.globl	add_process
	.type	add_process, @function
add_process:
.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, 80
	mov	QWORD PTR -72[rbp], rdi
	mov	DWORD PTR -76[rbp], esi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	cmp	DWORD PTR -76[rbp], 0
	jle	.L120
	mov	eax, DWORD PTR process_count[rip]
	cmp	eax, 9
	jle	.L108
	lea	rdi, .LC52[rip]
	mov	eax, 0
	call	printify
	jmp	.L105
.L108:
	lea	rax, -16[rbp]
	mov	esi, 524288
	mov	rdi, rax
	call	pipe2@PLT
	mov	DWORD PTR -48[rbp], eax
	cmp	DWORD PTR -48[rbp], -1
	jne	.L109
	call	__errno_location@PLT
	mov	eax, DWORD PTR [rax]
	mov	esi, eax
	lea	rdi, .LC53[rip]
	call	perrorize
	jmp	.L105
.L109:
	call	fork@PLT
	mov	DWORD PTR -44[rbp], eax
	cmp	DWORD PTR -44[rbp], -1
	jne	.L110
	call	__errno_location@PLT
	mov	eax, DWORD PTR [rax]
	mov	esi, eax
	lea	rdi, .LC54[rip]
	call	perrorize
	jmp	.L105
.L110:
	cmp	DWORD PTR -44[rbp], 0
	jle	.L111
	mov	eax, DWORD PTR -12[rbp]
	mov	edi, eax
	call	close@PLT
	mov	eax, DWORD PTR -16[rbp]
	lea	rcx, -49[rbp]
	mov	edx, 1
	mov	rsi, rcx
	mov	edi, eax
	call	read@PLT
	mov	DWORD PTR -36[rbp], eax
	cmp	DWORD PTR -36[rbp], -1
	jne	.L112
	call	__errno_location@PLT
	mov	eax, DWORD PTR [rax]
	mov	esi, eax
	lea	rdi, .LC55[rip]
	call	perrorize
	mov	eax, DWORD PTR -16[rbp]
	mov	edi, eax
	call	close@PLT
	jmp	.L105
.L112:
	movzx	eax, BYTE PTR -49[rbp]
	cmp	al, 70
	jne	.L114
	mov	eax, DWORD PTR -16[rbp]
	mov	edi, eax
	call	close@PLT
	mov	eax, DWORD PTR -44[rbp]
	mov	edx, 0
	mov	esi, 0
	mov	edi, eax
	call	waitpid@PLT
	jmp	.L105
.L114:
	mov	edi, 40
	call	malloc@PLT
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -44[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	rdi, rax
	call	malloc@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcpy@PLT
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 16[rax], 1
	mov	edi, 0
	call	time@PLT
	mov	QWORD PTR -32[rbp], rax
	mov	edi, 56
	call	malloc@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	edi, 56
	call	malloc@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 32[rax], rdx
	lea	rax, -32[rbp]
	mov	rdi, rax
	call	localtime@PLT
	mov	rcx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	edx, 56
	mov	rsi, rcx
	mov	rdi, rax
	call	memcpy@PLT
	lea	rdi, time_zero[rip]
	call	gmtime@PLT
	mov	rcx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	edx, 56
	mov	rsi, rcx
	mov	rdi, rax
	call	memcpy@PLT
	mov	eax, DWORD PTR process_count[rip]
	lea	edx, 1[rax]
	mov	DWORD PTR process_count[rip], edx
	cdqe
	lea	rcx, 0[0+rax*8]
	lea	rdx, processes[rip]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR [rcx+rdx], rax
	mov	eax, DWORD PTR -16[rbp]
	mov	edi, eax
	call	close@PLT
	jmp	.L115
.L111:
	mov	eax, DWORD PTR -16[rbp]
	mov	edi, eax
	call	close@PLT
	mov	rcx, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	execlp@PLT
	mov	DWORD PTR -40[rbp], eax
	cmp	DWORD PTR -40[rbp], -1
	jne	.L116
	call	__errno_location@PLT
	mov	eax, DWORD PTR [rax]
	mov	esi, eax
	lea	rdi, .LC56[rip]
	call	perrorize
	lea	rdi, .LC57[rip]
	mov	eax, 0
	call	printify
	mov	BYTE PTR -32[rbp], 70
	mov	eax, DWORD PTR -12[rbp]
	lea	rcx, -32[rbp]
	mov	edx, 1
	mov	rsi, rcx
	mov	edi, eax
	call	write@PLT
	mov	DWORD PTR -40[rbp], eax
	cmp	DWORD PTR -40[rbp], -1
	jne	.L116
	call	__errno_location@PLT
	mov	eax, DWORD PTR [rax]
	mov	esi, eax
	lea	rdi, .LC58[rip]
	call	perrorize
	mov	eax, DWORD PTR -12[rbp]
	mov	edi, eax
	call	close@PLT
	jmp	.L105
.L116:
	mov	eax, DWORD PTR -12[rbp]
	mov	edi, eax
	call	close@PLT
.L115:
	mov	eax, DWORD PTR -76[rbp]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	add_process
	jmp	.L105
.L120:
	nop
.L105:
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L119
	call	__stack_chk_fail@PLT
.L119:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE12:
	.size	add_process, .-add_process
	.section	.rodata
.LC59:
	.string	"Failed to kill process %d.\n"
	.align 8
.LC60:
	.string	"No running process with process ID %d.\n"
	.text
	.globl	kill_by_id
	.type	kill_by_id, @function
kill_by_id:
.LFB13:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	DWORD PTR -36[rbp], edi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -20[rbp], 0
	jmp	.L122
.L127:
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, processes[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	eax, DWORD PTR 16[rax]
	cmp	eax, 1
	jne	.L123
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, processes[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -36[rbp], eax
	jne	.L123
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, processes[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	eax, DWORD PTR [rax]
	mov	esi, 15
	mov	edi, eax
	call	kill@PLT
	cmp	eax, -1
	je	.L124
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, processes[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	DWORD PTR 16[rax], 0
	mov	edi, 0
	call	time@PLT
	mov	QWORD PTR -16[rbp], rax
	lea	rax, -16[rbp]
	mov	rdi, rax
	call	localtime@PLT
	mov	rcx, rax
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, processes[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	rax, QWORD PTR 32[rax]
	mov	edx, 56
	mov	rsi, rcx
	mov	rdi, rax
	call	memcpy@PLT
	jmp	.L121
.L124:
	call	__errno_location@PLT
	mov	eax, DWORD PTR [rax]
	mov	esi, eax
	lea	rdi, .LC31[rip]
	call	perrorize
	mov	eax, DWORD PTR -36[rbp]
	mov	esi, eax
	lea	rdi, .LC59[rip]
	mov	eax, 0
	call	printify
	jmp	.L121
.L123:
	add	DWORD PTR -20[rbp], 1
.L122:
	mov	eax, DWORD PTR process_count[rip]
	cmp	DWORD PTR -20[rbp], eax
	jl	.L127
	mov	eax, DWORD PTR -36[rbp]
	mov	esi, eax
	lea	rdi, .LC60[rip]
	mov	eax, 0
	call	printify
.L121:
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L128
	call	__stack_chk_fail@PLT
.L128:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE13:
	.size	kill_by_id, .-kill_by_id
	.section	.rodata
	.align 8
.LC61:
	.string	"Failed to kill process %s(%d).\n"
.LC62:
	.string	"%d processes killed\n"
	.text
	.globl	kill_by_name
	.type	kill_by_name, @function
kill_by_name:
.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, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -24[rbp], 0
	cmp	DWORD PTR -44[rbp], 0
	js	.L130
	mov	eax, DWORD PTR -44[rbp]
	jmp	.L131
.L130:
	mov	eax, 10
.L131:
	mov	DWORD PTR -20[rbp], eax
	mov	DWORD PTR -28[rbp], 0
	jmp	.L132
.L138:
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, processes[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	eax, DWORD PTR 16[rax]
	cmp	eax, 1
	jne	.L133
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, processes[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	rax, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L133
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, processes[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	eax, DWORD PTR [rax]
	mov	esi, 15
	mov	edi, eax
	call	kill@PLT
	cmp	eax, -1
	je	.L134
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, processes[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	DWORD PTR 16[rax], 0
	add	DWORD PTR -24[rbp], 1
	mov	edi, 0
	call	time@PLT
	mov	QWORD PTR -16[rbp], rax
	lea	rax, -16[rbp]
	mov	rdi, rax
	call	localtime@PLT
	mov	rcx, rax
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, processes[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	rax, QWORD PTR 32[rax]
	mov	edx, 56
	mov	rsi, rcx
	mov	rdi, rax
	call	memcpy@PLT
	jmp	.L129
.L134:
	call	__errno_location@PLT
	mov	eax, DWORD PTR [rax]
	mov	esi, eax
	lea	rdi, .LC31[rip]
	call	perrorize
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, processes[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rax
	lea	rdi, .LC61[rip]
	mov	eax, 0
	call	printify
	jmp	.L129
.L133:
	add	DWORD PTR -28[rbp], 1
.L132:
	mov	eax, DWORD PTR process_count[rip]
	cmp	DWORD PTR -28[rbp], eax
	jge	.L137
	mov	eax, DWORD PTR -24[rbp]
	cmp	eax, DWORD PTR -20[rbp]
	jl	.L138
.L137:
	mov	eax, DWORD PTR -24[rbp]
	mov	esi, eax
	lea	rdi, .LC62[rip]
	mov	eax, 0
	call	printify
.L129:
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L139
	call	__stack_chk_fail@PLT
.L139:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE14:
	.size	kill_by_name, .-kill_by_name
	.section	.rodata
	.align 8
.LC63:
	.string	"rm_all_clients: signal: SIGCHLD(SIG_IGN)"
	.align 8
.LC64:
	.string	"rm_all_clients: signal: SIGCHLD"
	.text
	.globl	kill_all
	.type	kill_all, @function
kill_all:
.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	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	esi, 1
	mov	edi, 17
	call	signal@PLT
	cmp	rax, -1
	jne	.L141
	lea	rdi, .LC63[rip]
	call	perror@PLT
	mov	edi, 1
	call	exit@PLT
.L141:
	mov	DWORD PTR -24[rbp], 0
	mov	DWORD PTR -20[rbp], 0
	jmp	.L142
.L146:
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, processes[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	eax, DWORD PTR 16[rax]
	cmp	eax, 1
	jne	.L149
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, processes[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	eax, DWORD PTR [rax]
	mov	esi, 15
	mov	edi, eax
	call	kill@PLT
	cmp	eax, -1
	je	.L145
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, processes[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	DWORD PTR 16[rax], 0
	add	DWORD PTR -24[rbp], 1
	mov	edi, 0
	call	time@PLT
	mov	QWORD PTR -16[rbp], rax
	lea	rax, -16[rbp]
	mov	rdi, rax
	call	localtime@PLT
	mov	rcx, rax
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, processes[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	rax, QWORD PTR 32[rax]
	mov	edx, 56
	mov	rsi, rcx
	mov	rdi, rax
	call	memcpy@PLT
	jmp	.L144
.L145:
	call	__errno_location@PLT
	mov	eax, DWORD PTR [rax]
	mov	esi, eax
	lea	rdi, .LC31[rip]
	call	perrorize
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, processes[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	eax, DWORD PTR [rax]
	mov	esi, eax
	lea	rdi, .LC59[rip]
	mov	eax, 0
	call	printify
	jmp	.L144
.L149:
	nop
.L144:
	add	DWORD PTR -20[rbp], 1
.L142:
	mov	eax, DWORD PTR process_count[rip]
	cmp	DWORD PTR -20[rbp], eax
	jl	.L146
	lea	rsi, sigchld_handler[rip]
	mov	edi, 17
	call	signal@PLT
	cmp	rax, -1
	jne	.L147
	lea	rdi, .LC64[rip]
	call	perror@PLT
	mov	edi, 1
	call	exit@PLT
.L147:
	mov	eax, DWORD PTR -24[rbp]
	mov	esi, eax
	lea	rdi, .LC62[rip]
	mov	eax, 0
	call	printify
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L148
	call	__stack_chk_fail@PLT
.L148:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE15:
	.size	kill_all, .-kill_all
	.globl	free_all_processes
	.type	free_all_processes, @function
free_all_processes:
.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], 0
	jmp	.L151
.L153:
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, processes[rip]
	mov	rax, QWORD PTR [rdx+rax]
	test	rax, rax
	je	.L152
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, processes[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	rdi, rax
	call	free_process
.L152:
	add	DWORD PTR -4[rbp], 1
.L151:
	mov	eax, DWORD PTR process_count[rip]
	cmp	DWORD PTR -4[rbp], eax
	jl	.L153
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE16:
	.size	free_all_processes, .-free_all_processes
	.globl	free_process
	.type	free_process, @function
free_process:
.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, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	free@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE17:
	.size	free_process, .-free_process
	.globl	first_n_letters
	.type	first_n_letters, @function
first_n_letters:
.LFB18:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	eax, DWORD PTR -28[rbp]
	add	eax, 1
	cdqe
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	eax, DWORD PTR -28[rbp]
	movsx	rdx, eax
	mov	rcx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	memcpy@PLT
	mov	eax, DWORD PTR -28[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	edx, DWORD PTR -28[rbp]
	movsx	rdx, edx
	cmp	rax, rdx
	jbe	.L156
	cmp	DWORD PTR -28[rbp], 3
	jle	.L156
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	lea	rdx, -3[rax]
	mov	rax, QWORD PTR -8[rbp]
	add	rdx, rax
	mov	BYTE PTR [rdx], 46
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	lea	rcx, -2[rax]
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rcx
	movzx	edx, BYTE PTR [rdx]
	mov	BYTE PTR [rax], dl
	mov	edx, DWORD PTR -28[rbp]
	movsx	rdx, edx
	lea	rcx, -1[rdx]
	mov	rdx, QWORD PTR -8[rbp]
	add	rdx, rcx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR [rdx], al
.L156:
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE18:
	.size	first_n_letters, .-first_n_letters
	.globl	lower
	.type	lower, @function
lower:
.LFB19:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L159
.L160:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	edi, eax
	call	tolower@PLT
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	BYTE PTR [rax], dl
	add	QWORD PTR -8[rbp], 1
.L159:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L160
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE19:
	.size	lower, .-lower
	.section	.rodata
.LC65:
	.string	"\342\224\200"
.LC66:
	.string	"%s"
	.text
	.globl	hr
	.type	hr, @function
hr:
.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	DWORD PTR -4[rbp], 0
	jmp	.L162
.L163:
	lea	rsi, .LC65[rip]
	lea	rdi, .LC66[rip]
	mov	eax, 0
	call	printify
	add	DWORD PTR -4[rbp], 1
.L162:
	cmp	DWORD PTR -4[rbp], 75
	jle	.L163
	lea	rdi, .LC45[rip]
	mov	eax, 0
	call	printify
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE20:
	.size	hr, .-hr
	.globl	sigchld_handler
	.type	sigchld_handler, @function
sigchld_handler:
.LFB21:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	DWORD PTR -36[rbp], edi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	edx, 0
	mov	esi, 0
	mov	edi, -1
	call	waitpid@PLT
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], 0
	js	.L171
	mov	DWORD PTR -24[rbp], 0
	jmp	.L167
.L169:
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, processes[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -20[rbp], eax
	jne	.L168
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, processes[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	DWORD PTR 16[rax], 0
	mov	edi, 0
	call	time@PLT
	mov	QWORD PTR -16[rbp], rax
	lea	rax, -16[rbp]
	mov	rdi, rax
	call	localtime@PLT
	mov	rcx, rax
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, processes[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	rax, QWORD PTR 32[rax]
	mov	edx, 56
	mov	rsi, rcx
	mov	rdi, rax
	call	memcpy@PLT
	jmp	.L164
.L168:
	add	DWORD PTR -24[rbp], 1
.L167:
	mov	eax, DWORD PTR process_count[rip]
	cmp	DWORD PTR -24[rbp], eax
	jl	.L169
	jmp	.L164
.L171:
	nop
.L164:
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L170
	call	__stack_chk_fail@PLT
.L170:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE21:
	.size	sigchld_handler, .-sigchld_handler
	.section	.rodata
.LC67:
	.string	"%d received ctrl+c"
	.text
	.globl	exit_gracefully
	.type	exit_gracefully, @function
exit_gracefully:
.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, 16
	mov	DWORD PTR -4[rbp], edi
	cmp	DWORD PTR -4[rbp], 2
	jne	.L173
	mov	DWORD PTR outfd[rip], 4
	call	getpid@PLT
	mov	esi, eax
	lea	rdi, .LC67[rip]
	mov	eax, 0
	call	printify
.L173:
	mov	eax, 0
	call	kill_all
	mov	eax, 0
	call	free_all_processes
	mov	esi, 2
	mov	edi, 3
	call	shutdown@PLT
	mov	edi, 3
	call	close@PLT
	mov	edi, 4
	call	close@PLT
	mov	edi, 5
	call	close@PLT
	mov	edi, 6
	call	close@PLT
	mov	edi, 7
	call	close@PLT
	mov	edi, 8
	call	close@PLT
	mov	eax, DWORD PTR -4[rbp]
	mov	edi, eax
	call	exit@PLT
	.cfi_endproc
.LFE22:
	.size	exit_gracefully, .-exit_gracefully
	.section	.rodata
.LC68:
	.string	"TM: printify: write"
	.text
	.globl	printify
	.type	printify, @function
printify:
.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, 736
	mov	QWORD PTR -728[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	.L175
	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
.L175:
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -184[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -712[rbp], 8
	mov	DWORD PTR -708[rbp], 48
	lea	rax, 16[rbp]
	mov	QWORD PTR -704[rbp], rax
	lea	rax, -176[rbp]
	mov	QWORD PTR -696[rbp], rax
	lea	rcx, -712[rbp]
	mov	rdx, QWORD PTR -728[rbp]
	lea	rax, -688[rbp]
	mov	esi, 500
	mov	rdi, rax
	call	vsnprintf@PLT
	movsx	rdx, eax
	mov	eax, DWORD PTR outfd[rip]
	lea	rcx, -688[rbp]
	mov	rsi, rcx
	mov	edi, eax
	call	write@PLT
	cmp	rax, -1
	jne	.L178
	call	__errno_location@PLT
	mov	eax, DWORD PTR [rax]
	mov	esi, eax
	lea	rdi, .LC68[rip]
	call	perrorize
	call	__errno_location@PLT
	mov	eax, DWORD PTR [rax]
	cmp	eax, 14
	jne	.L178
	mov	edi, 0
	call	exit_gracefully
.L178:
	nop
	mov	rax, QWORD PTR -184[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L177
	call	__stack_chk_fail@PLT
.L177:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE23:
	.size	printify, .-printify
	.globl	fprintify
	.type	fprintify, @function
fprintify:
.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, 736
	mov	DWORD PTR -724[rbp], edi
	mov	QWORD PTR -736[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	.L180
	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
.L180:
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -184[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -712[rbp], 16
	mov	DWORD PTR -708[rbp], 48
	lea	rax, 16[rbp]
	mov	QWORD PTR -704[rbp], rax
	lea	rax, -176[rbp]
	mov	QWORD PTR -696[rbp], rax
	lea	rcx, -712[rbp]
	mov	rdx, QWORD PTR -736[rbp]
	lea	rax, -688[rbp]
	mov	esi, 500
	mov	rdi, rax
	call	vsnprintf@PLT
	movsx	rdx, eax
	lea	rcx, -688[rbp]
	mov	eax, DWORD PTR -724[rbp]
	mov	rsi, rcx
	mov	edi, eax
	call	write@PLT
	cmp	rax, -1
	jne	.L183
	call	__errno_location@PLT
	mov	eax, DWORD PTR [rax]
	mov	esi, eax
	lea	rdi, .LC68[rip]
	call	perrorize
	call	__errno_location@PLT
	mov	eax, DWORD PTR [rax]
	cmp	eax, 14
	jne	.L183
	mov	edi, 0
	call	exit_gracefully
.L183:
	nop
	mov	rax, QWORD PTR -184[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L182
	call	__stack_chk_fail@PLT
.L182:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE24:
	.size	fprintify, .-fprintify
	.section	.rodata
.LC69:
	.string	"%s: %s\n"
	.text
	.globl	perrorize
	.type	perrorize, @function
perrorize:
.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, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	mov	eax, DWORD PTR -12[rbp]
	mov	edi, eax
	call	strerror@PLT
	mov	rcx, rax
	mov	eax, DWORD PTR errfd[rip]
	mov	rdx, QWORD PTR -8[rbp]
	lea	rsi, .LC69[rip]
	mov	edi, eax
	mov	eax, 0
	call	fprintify
	mov	eax, DWORD PTR outfd[rip]
	mov	edi, eax
	call	fsync@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE25:
	.size	perrorize, .-perrorize
	.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	"184519467.c"
	.text
	.local	processes
	.comm	processes,40,4
	.local	process_count
	.comm	process_count,4,4
	.local	infd
	.comm	infd,4,4
	.local	outfd
	.comm	outfd,4,4
	.local	errfd
	.comm	errfd,4,4
	.local	rfds
	.comm	rfds,128,4
	.local	numfds
	.comm	numfds,4,4
	.local	time_zero
	.comm	time_zero,4,4
	.section	.rodata
	.align	2
.LC0:
	.ascii	"signal: SIGCHLD\000"
	.align	2
.LC1:
	.ascii	"signal: SIGTERM\000"
	.text
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	mov	r0, #0
	bl	close
	mov	r0, #1
	bl	close
	mov	r0, #2
	bl	close
	ldr	r3, .L5
	mov	r2, #3
	str	r2, [r3]
	ldr	r3, .L5+4
	mov	r2, #4
	str	r2, [r3]
	ldr	r1, .L5+8
	mov	r0, #17
	bl	signal
	mov	r3, r0
	cmn	r3, #1
	bne	.L2
	bl	__errno_location
	mov	r3, r0
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L5+12
	bl	perrorize
	mvn	r3, #0
	b	.L3
.L2:
	ldr	r1, .L5+16
	mov	r0, #15
	bl	signal
	mov	r3, r0
	cmn	r3, #1
	bne	.L4
	bl	__errno_location
	mov	r3, r0
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L5+20
	bl	perrorize
	mvn	r3, #0
	b	.L3
.L4:
	ldr	r3, .L5+24
	mov	r2, #5
	str	r2, [r3]
	ldr	r3, .L5+24
	ldr	r3, [r3]
	cmp	r3, #6
	movge	r3, r3
	movlt	r3, #6
	add	r3, r3, #1
	ldr	r2, .L5+24
	str	r3, [r2]
	bl	wait_for_input
	mov	r3, #0
.L3:
	mov	r0, r3
	pop	{fp, pc}
.L6:
	.align	2
.L5:
	.word	infd
	.word	outfd
	.word	sigchld_handler
	.word	.LC0
	.word	exit_gracefully
	.word	.LC1
	.word	numfds
	.size	main, .-main
	.section	.rodata
	.align	2
.LC2:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	wait_for_input
	.syntax unified
	.arm
	.fpu softvfp
	.type	wait_for_input, %function
wait_for_input:
	@ args = 0, pretend = 0, frame = 520
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #528
	ldr	r3, .L19
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
.L16:
	ldr	r3, .L19+4
	str	r3, [fp, #-520]
	mov	r3, #0
	str	r3, [fp, #-524]
	b	.L8
.L9:
	ldr	r3, [fp, #-520]
	ldr	r2, [fp, #-524]
	mov	r1, #0
	str	r1, [r3, r2, lsl #2]
	ldr	r3, [fp, #-524]
	add	r3, r3, #1
	str	r3, [fp, #-524]
.L8:
	ldr	r3, [fp, #-524]
	cmp	r3, #31
	bls	.L9
	ldr	r3, .L19+4
	ldr	r3, [r3]
	orr	r3, r3, #8
	ldr	r2, .L19+4
	str	r3, [r2]
	ldr	r3, .L19+4
	ldr	r3, [r3]
	orr	r3, r3, #32
	ldr	r2, .L19+4
	str	r3, [r2]
	ldr	r3, .L19+4
	ldr	r3, [r3]
	orr	r3, r3, #64
	ldr	r2, .L19+4
	str	r3, [r2]
	ldr	r3, .L19+8
	ldr	r0, [r3]
	mov	r3, #0
	str	r3, [sp]
	mov	r3, #0
	mov	r2, #0
	ldr	r1, .L19+4
	bl	select
	str	r0, [fp, #-516]
	ldr	r3, [fp, #-516]
	cmp	r3, #0
	beq	.L18
	ldr	r3, .L19+4
	ldr	r3, [r3]
	and	r3, r3, #8
	cmp	r3, #0
	beq	.L12
	ldr	r3, .L19+12
	mov	r2, #3
	str	r2, [r3]
	ldr	r3, .L19+16
	mov	r2, #4
	str	r2, [r3]
	ldr	r3, .L19+20
	mov	r2, #4
	str	r2, [r3]
	bl	get_input
	mov	r3, r0
	mov	r0, r3
	bl	handle_input
	mov	r0, #4
	bl	fsync
.L12:
	ldr	r3, .L19+4
	ldr	r3, [r3]
	and	r3, r3, #32
	cmp	r3, #0
	beq	.L13
	ldr	r3, .L19+12
	mov	r2, #5
	str	r2, [r3]
	ldr	r3, .L19+16
	mov	r2, #8
	str	r2, [r3]
	ldr	r3, .L19+20
	mov	r2, #8
	str	r2, [r3]
	bl	get_input
	mov	r3, r0
	mov	r0, r3
	bl	handle_input
	mov	r0, #8
	bl	fsync
.L13:
	ldr	r3, .L19+4
	ldr	r3, [r3]
	and	r3, r3, #64
	cmp	r3, #0
	beq	.L16
	ldr	r3, .L19+12
	mov	r2, #6
	str	r2, [r3]
	ldr	r3, .L19+16
	mov	r2, #4
	str	r2, [r3]
	ldr	r3, .L19+20
	mov	r2, #4
	str	r2, [r3]
	b	.L14
.L15:
	ldr	r3, .L19+16
	ldr	r3, [r3]
	ldr	r2, [fp, #-512]
	sub	r1, fp, #508
	mov	r0, r3
	bl	write
.L14:
	ldr	r3, .L19+12
	ldr	r3, [r3]
	sub	r1, fp, #508
	mov	r2, #500
	mov	r0, r3
	bl	read
	str	r0, [fp, #-512]
	ldr	r3, [fp, #-512]
	cmp	r3, #0
	bgt	.L15
	mov	r0, #4
	bl	fsync
	b	.L16
.L18:
	nop
	b	.L16
.L20:
	.align	2
.L19:
	.word	.LC2
	.word	rfds
	.word	numfds
	.word	infd
	.word	outfd
	.word	errfd
	.size	wait_for_input, .-wait_for_input
	.section	.rodata
	.align	2
.LC3:
	.ascii	"read\000"
	.align	2
.LC4:
	.ascii	"Incomplete read. len: %d, r: %d\012\000"
	.align	2
.LC5:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	get_input
	.syntax unified
	.arm
	.fpu softvfp
	.type	get_input, %function
get_input:
	@ 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, .L28
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r0, #102
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-12]
	ldr	r3, .L28+4
	ldr	r3, [r3]
	sub	r1, fp, #20
	mov	r2, #1
	mov	r0, r3
	bl	read
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmn	r3, #1
	bne	.L22
	bl	__errno_location
	mov	r3, r0
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L28+8
	bl	perrorize
	mov	r3, #0
	b	.L26
.L22:
	ldr	r3, .L28+4
	ldr	r3, [r3]
	ldr	r2, [fp, #-20]
	ldr	r1, [fp, #-16]
	mov	r0, r3
	bl	read
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmn	r3, #1
	bne	.L24
	bl	__errno_location
	mov	r3, r0
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L28+8
	bl	perrorize
	mov	r3, #0
	b	.L26
.L24:
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	bge	.L25
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-12]
	mov	r1, r3
	ldr	r0, .L28+12
	bl	printify
	mov	r3, #0
	b	.L26
.L25:
	ldr	r3, [fp, #-12]
	sub	r3, r3, #1
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3]
	ldr	r0, [fp, #-16]
	bl	lower
	ldr	r3, [fp, #-16]
.L26:
	ldr	r2, .L28
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L27
	bl	__stack_chk_fail
.L27:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L29:
	.align	2
.L28:
	.word	.LC5
	.word	infd
	.word	.LC3
	.word	.LC4
	.size	get_input, .-get_input
	.section	.rodata
	.align	2
.LC6:
	.ascii	" \000"
	.align	2
.LC7:
	.ascii	"q\000"
	.align	2
.LC8:
	.ascii	"ex\000"
	.align	2
.LC9:
	.ascii	"quit\000"
	.align	2
.LC10:
	.ascii	"exit\000"
	.align	2
.LC11:
	.ascii	"disconnect\000"
	.align	2
.LC12:
	.ascii	"broadcast\000"
	.align	2
.LC13:
	.ascii	"\000"
	.align	2
.LC14:
	.ascii	"SV says: %s\012\000"
	.align	2
.LC15:
	.ascii	"msg\000"
	.align	2
.LC16:
	.ascii	"add\000"
	.align	2
.LC17:
	.ascii	"ans = %d\012\000"
	.align	2
.LC18:
	.ascii	"sub\000"
	.align	2
.LC19:
	.ascii	"mul\000"
	.align	2
.LC20:
	.ascii	"div\000"
	.global	__aeabi_i2f
	.global	__aeabi_fmul
	.align	2
.LC21:
	.ascii	"Divide-by-zero error.\012\000"
	.global	__aeabi_fdiv
	.global	__aeabi_f2d
	.align	2
.LC22:
	.ascii	"ans = %.3f\012\000"
	.align	2
.LC23:
	.ascii	"sleep\000"
	.align	2
.LC24:
	.ascii	"Slept for %d seconds.\012\000"
	.align	2
.LC25:
	.ascii	"list\000"
	.align	2
.LC26:
	.ascii	"*\000"
	.align	2
.LC27:
	.ascii	"all\000"
	.align	2
.LC28:
	.ascii	"-d\000"
	.align	2
.LC29:
	.ascii	"details\000"
	.align	2
.LC30:
	.ascii	"\342\224\202\000"
	.align	2
.LC31:
	.ascii	"Usage: list [-d %s *]\012\000"
	.align	2
.LC32:
	.ascii	"kill\000"
	.align	2
.LC33:
	.ascii	"Usage: kill <processID> %s <processName> %s *\012\000"
	.align	2
.LC34:
	.ascii	"run\000"
	.align	2
.LC35:
	.ascii	"Process limit exceeded.\012\000"
	.align	2
.LC36:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	handle_input
	.syntax unified
	.arm
	.fpu softvfp
	.type	handle_input, %function
handle_input:
	@ args = 0, pretend = 0, frame = 112
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #116
	str	r0, [fp, #-120]
	ldr	r3, .L86
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	mov	r3, sp
	mov	r4, r3
	ldr	r3, [fp, #-120]
	cmp	r3, #0
	beq	.L83
	ldr	r0, [fp, #-120]
	bl	strlen
	mov	r3, r0
	add	r3, r3, #1
	str	r3, [fp, #-116]
	ldr	ip, [fp, #-116]
	sub	r3, ip, #1
	str	r3, [fp, #-72]
	mov	r3, ip
	mov	r0, r3
	mov	r1, #0
	mov	r2, #0
	mov	r3, #0
	lsl	r3, r1, #3
	orr	r3, r3, r0, lsr #29
	lsl	r2, r0, #3
	mov	r3, ip
	mov	r0, r3
	mov	r1, #0
	mov	r2, #0
	mov	r3, #0
	lsl	r3, r1, #3
	orr	r3, r3, r0, lsr #29
	lsl	r2, r0, #3
	mov	r3, ip
	add	r3, r3, #7
	lsr	r3, r3, #3
	lsl	r3, r3, #3
	sub	sp, sp, r3
	mov	r3, sp
	add	r3, r3, #0
	str	r3, [fp, #-68]
	ldr	r3, [fp, #-116]
	mov	r2, r3
	ldr	r1, [fp, #-120]
	ldr	r0, [fp, #-68]
	bl	memcpy
	ldr	r1, .L86+4
	ldr	r0, [fp, #-120]
	bl	strtok
	str	r0, [fp, #-64]
	ldr	r3, [fp, #-64]
	cmp	r3, #0
	beq	.L84
	ldr	r1, .L86+8
	ldr	r0, [fp, #-64]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	beq	.L34
	ldr	r1, .L86+12
	ldr	r0, [fp, #-64]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	beq	.L34
	ldr	r1, .L86+16
	ldr	r0, [fp, #-64]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	beq	.L34
	ldr	r1, .L86+20
	ldr	r0, [fp, #-64]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	beq	.L34
	ldr	r1, .L86+24
	ldr	r0, [fp, #-64]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L35
.L34:
	mov	r0, #0
	bl	exit_gracefully
	b	.L36
.L35:
	ldr	r1, .L86+28
	ldr	r0, [fp, #-64]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L37
	ldr	r1, .L86+32
	mov	r0, #0
	bl	strtok
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L85
	ldr	r3, .L86+36
	mov	r2, #4
	str	r2, [r3]
	ldr	r1, [fp, #-20]
	ldr	r0, .L86+40
	bl	printify
	b	.L36
.L37:
	ldr	r1, .L86+44
	ldr	r0, [fp, #-64]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L39
	sub	r3, fp, #116
	mov	r2, #1
	mov	r1, r3
	mov	r0, #7
	bl	write
	ldr	r3, [fp, #-116]
	mov	r2, r3
	ldr	r1, [fp, #-68]
	mov	r0, #7
	bl	write
	b	.L36
.L39:
	ldr	r1, .L86+48
	ldr	r0, [fp, #-64]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L40
	mov	r3, #0
	str	r3, [fp, #-100]
	ldr	r1, .L86+4
	mov	r0, #0
	bl	strtok
	str	r0, [fp, #-104]
	b	.L41
.L42:
	ldr	r0, [fp, #-104]
	bl	atoi
	mov	r2, r0
	ldr	r3, [fp, #-100]
	add	r3, r3, r2
	str	r3, [fp, #-100]
	ldr	r1, .L86+4
	mov	r0, #0
	bl	strtok
	str	r0, [fp, #-104]
.L41:
	ldr	r3, [fp, #-104]
	cmp	r3, #0
	bne	.L42
	ldr	r1, [fp, #-100]
	ldr	r0, .L86+52
	bl	printify
	b	.L36
.L40:
	ldr	r1, .L86+56
	ldr	r0, [fp, #-64]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L43
	mov	r3, #0
	str	r3, [fp, #-108]
	ldr	r1, .L86+4
	mov	r0, #0
	bl	strtok
	str	r0, [fp, #-112]
	ldr	r3, [fp, #-112]
	cmp	r3, #0
	beq	.L45
	ldr	r0, [fp, #-112]
	bl	atoi
	mov	r3, r0
	lsl	r3, r3, #1
	str	r3, [fp, #-108]
	b	.L45
.L46:
	ldr	r0, [fp, #-112]
	bl	atoi
	mov	r2, r0
	ldr	r3, [fp, #-108]
	sub	r3, r3, r2
	str	r3, [fp, #-108]
	ldr	r1, .L86+4
	mov	r0, #0
	bl	strtok
	str	r0, [fp, #-112]
.L45:
	ldr	r3, [fp, #-112]
	cmp	r3, #0
	bne	.L46
	ldr	r1, [fp, #-108]
	ldr	r0, .L86+52
	bl	printify
	b	.L36
.L43:
	ldr	r1, .L86+60
	ldr	r0, [fp, #-64]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L47
	mov	r3, #1
	str	r3, [fp, #-96]
	ldr	r1, .L86+4
	mov	r0, #0
	bl	strtok
	str	r0, [fp, #-92]
	b	.L48
.L49:
	ldr	r0, [fp, #-92]
	bl	atoi
	mov	r2, r0
	ldr	r3, [fp, #-96]
	mul	r3, r2, r3
	str	r3, [fp, #-96]
	ldr	r1, .L86+4
	mov	r0, #0
	bl	strtok
	str	r0, [fp, #-92]
.L48:
	ldr	r3, [fp, #-92]
	cmp	r3, #0
	bne	.L49
	ldr	r1, [fp, #-96]
	ldr	r0, .L86+52
	bl	printify
	b	.L36
.L47:
	ldr	r1, .L86+64
	ldr	r0, [fp, #-64]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L50
	mov	r3, #0
	str	r3, [fp, #-88]	@ float
	ldr	r1, .L86+4
	mov	r0, #0
	bl	strtok
	str	r0, [fp, #-84]
	ldr	r3, [fp, #-84]
	cmp	r3, #0
	beq	.L52
	ldr	r0, [fp, #-84]
	bl	atoi
	mov	r3, r0
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r3, r0
	str	r3, [fp, #-88]	@ float
	ldr	r1, [fp, #-88]	@ float
	ldr	r0, [fp, #-88]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	str	r3, [fp, #-88]	@ float
	b	.L52
.L54:
	ldr	r0, [fp, #-84]
	bl	atoi
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L53
	ldr	r0, .L86+68
	bl	printify
	b	.L32
.L53:
	ldr	r0, [fp, #-24]
	bl	__aeabi_i2f
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-88]	@ float
	bl	__aeabi_fdiv
	mov	r3, r0
	str	r3, [fp, #-88]	@ float
	ldr	r1, .L86+4
	mov	r0, #0
	bl	strtok
	str	r0, [fp, #-84]
.L52:
	ldr	r3, [fp, #-84]
	cmp	r3, #0
	bne	.L54
	ldr	r0, [fp, #-88]	@ float
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L86+72
	bl	printify
	b	.L36
.L50:
	ldr	r1, .L86+76
	ldr	r0, [fp, #-64]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L55
	ldr	r1, .L86+4
	mov	r0, #0
	bl	strtok
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	beq	.L56
	ldr	r0, [fp, #-32]
	bl	atoi
	mov	r3, r0
	b	.L57
.L56:
	mov	r3, #0
.L57:
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	mov	r0, r3
	bl	sleep
	ldr	r1, [fp, #-28]
	ldr	r0, .L86+80
	bl	printify
	b	.L36
.L55:
	ldr	r1, .L86+84
	ldr	r0, [fp, #-64]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L58
	ldr	r1, .L86+4
	mov	r0, #0
	bl	strtok
	str	r0, [fp, #-36]
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	bne	.L59
	bl	list
	b	.L36
.L59:
	ldr	r1, .L86+88
	ldr	r0, [fp, #-36]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	beq	.L61
	ldr	r1, .L86+92
	ldr	r0, [fp, #-36]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L62
.L61:
	mov	r0, #0
	bl	list_all
	b	.L36
.L62:
	ldr	r1, .L86+96
	ldr	r0, [fp, #-36]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	beq	.L63
	ldr	r1, .L86+100
	ldr	r0, [fp, #-36]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L64
.L63:
	mov	r0, #1
	bl	list_all
	b	.L36
.L64:
	ldr	r1, .L86+104
	ldr	r0, .L86+108
	bl	printify
	b	.L36
.L58:
	ldr	r1, .L86+112
	ldr	r0, [fp, #-64]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L65
	ldr	r1, .L86+4
	mov	r0, #0
	bl	strtok
	str	r0, [fp, #-52]
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	bne	.L66
	ldr	r2, .L86+104
	ldr	r1, .L86+104
	ldr	r0, .L86+116
	bl	printify
	b	.L32
.L66:
	mov	r3, #0
	str	r3, [fp, #-48]
	ldr	r0, [fp, #-52]
	bl	atoi
	str	r0, [fp, #-48]
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	beq	.L67
	ldr	r0, [fp, #-48]
	bl	kill_by_id
	b	.L36
.L67:
	ldr	r1, .L86+88
	ldr	r0, [fp, #-52]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	beq	.L69
	ldr	r1, .L86+92
	ldr	r0, [fp, #-52]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L70
.L69:
	bl	kill_all
	b	.L36
.L70:
	ldr	r1, .L86+4
	mov	r0, #0
	bl	strtok
	str	r0, [fp, #-44]
	mov	r3, #1
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	bne	.L71
	mov	r1, #1
	ldr	r0, [fp, #-52]
	bl	kill_by_name
	b	.L36
.L71:
	ldr	r1, .L86+88
	ldr	r0, [fp, #-44]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	beq	.L72
	ldr	r1, .L86+92
	ldr	r0, [fp, #-44]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L73
.L72:
	mvn	r1, #0
	ldr	r0, [fp, #-52]
	bl	kill_by_name
	b	.L36
.L73:
	ldr	r0, [fp, #-44]
	bl	atoi
	str	r0, [fp, #-40]
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	ble	.L36
	ldr	r1, [fp, #-40]
	ldr	r0, [fp, #-52]
	bl	kill_by_name
	b	.L36
.L65:
	mov	r3, #1
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-64]
	str	r3, [fp, #-76]
	ldr	r1, .L86+4
	mov	r0, #0
	bl	strtok
	str	r0, [fp, #-60]
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	beq	.L74
	ldr	r1, .L86+120
	ldr	r0, [fp, #-64]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L75
	ldr	r3, [fp, #-60]
	str	r3, [fp, #-76]
	ldr	r1, .L86+4
	mov	r0, #0
	bl	strtok
	str	r0, [fp, #-56]
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	beq	.L76
	ldr	r0, [fp, #-56]
	bl	atoi
	str	r0, [fp, #-80]
	ldr	r3, [fp, #-80]
	cmp	r3, #0
	beq	.L76
	ldr	r3, [fp, #-80]
	b	.L77
.L76:
	mov	r3, #1
.L77:
	str	r3, [fp, #-80]
	b	.L74
.L75:
	ldr	r3, [fp, #-64]
	str	r3, [fp, #-76]
	ldr	r0, [fp, #-60]
	bl	atoi
	str	r0, [fp, #-80]
	ldr	r3, [fp, #-80]
	cmp	r3, #0
	beq	.L78
	ldr	r3, [fp, #-80]
	b	.L79
.L78:
	mov	r3, #1
.L79:
	str	r3, [fp, #-80]
.L74:
	ldr	r3, .L86+124
	ldr	r2, [r3]
	ldr	r3, [fp, #-80]
	add	r3, r2, r3
	cmp	r3, #9
	ble	.L80
	ldr	r3, .L86+124
	ldr	r3, [r3]
	rsb	r3, r3, #10
	str	r3, [fp, #-80]
	ldr	r0, .L86+128
	bl	printify
.L80:
	ldr	r1, [fp, #-80]
	ldr	r0, [fp, #-76]
	bl	add_process
.L36:
	ldr	r0, [fp, #-120]
	bl	free
	mov	sp, r4
	b	.L30
.L83:
	nop
	b	.L32
.L84:
	nop
	b	.L32
.L85:
	nop
.L32:
	mov	sp, r4
.L30:
	ldr	r3, .L86
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L82
	bl	__stack_chk_fail
.L82:
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L87:
	.align	2
.L86:
	.word	.LC36
	.word	.LC6
	.word	.LC7
	.word	.LC8
	.word	.LC9
	.word	.LC10
	.word	.LC11
	.word	.LC12
	.word	.LC13
	.word	outfd
	.word	.LC14
	.word	.LC15
	.word	.LC16
	.word	.LC17
	.word	.LC18
	.word	.LC19
	.word	.LC20
	.word	.LC21
	.word	.LC22
	.word	.LC23
	.word	.LC24
	.word	.LC25
	.word	.LC26
	.word	.LC27
	.word	.LC28
	.word	.LC29
	.word	.LC30
	.word	.LC31
	.word	.LC32
	.word	.LC33
	.word	.LC34
	.word	process_count
	.word	.LC35
	.size	handle_input, .-handle_input
	.section	.rodata
	.align	2
.LC37:
	.ascii	"Name\000"
	.align	2
.LC38:
	.ascii	"PID\000"
	.align	2
.LC39:
	.ascii	" %-6s %s %-10s\012\000"
	.align	2
.LC40:
	.ascii	" %6d %s %-10s \012\000"
	.text
	.align	2
	.global	list
	.syntax unified
	.arm
	.fpu softvfp
	.type	list, %function
list:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	ldr	r3, .L97
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L95
	bl	hr
	ldr	r3, .L97+4
	ldr	r2, .L97+8
	ldr	r1, .L97+12
	ldr	r0, .L97+16
	bl	printify
	bl	hr
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L91
.L94:
	ldr	r2, .L97+20
	ldr	r3, [fp, #-12]
	ldr	r3, [r2, r3, lsl #2]
	ldr	r3, [r3, #8]
	cmp	r3, #1
	bne	.L96
	ldr	r2, .L97+20
	ldr	r3, [fp, #-12]
	ldr	r3, [r2, r3, lsl #2]
	ldr	r3, [r3, #4]
	mov	r1, #10
	mov	r0, r3
	bl	first_n_letters
	str	r0, [fp, #-8]
	ldr	r2, .L97+20
	ldr	r3, [fp, #-12]
	ldr	r3, [r2, r3, lsl #2]
	ldr	r1, [r3]
	ldr	r3, [fp, #-8]
	ldr	r2, .L97+8
	ldr	r0, .L97+24
	bl	printify
	ldr	r0, [fp, #-8]
	bl	free
	b	.L93
.L96:
	nop
.L93:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L91:
	ldr	r3, .L97
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	blt	.L94
	bl	hr
	b	.L88
.L95:
	nop
.L88:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L98:
	.align	2
.L97:
	.word	process_count
	.word	.LC37
	.word	.LC30
	.word	.LC38
	.word	.LC39
	.word	processes
	.word	.LC40
	.size	list, .-list
	.section	.rodata
	.align	2
.LC41:
	.ascii	" %-6s %s %-10s %s %-5s\000"
	.align	2
.LC42:
	.ascii	"Status\000"
	.align	2
.LC43:
	.ascii	"Start\000"
	.align	2
.LC44:
	.ascii	" %s %-8s %s %-8s %s %-8s\000"
	.align	2
.LC45:
	.ascii	"Elapsed\000"
	.align	2
.LC46:
	.ascii	"End\000"
	.align	2
.LC47:
	.ascii	"\012\000"
	.align	2
.LC48:
	.ascii	"Alive\000"
	.align	2
.LC49:
	.ascii	"Dead\000"
	.align	2
.LC50:
	.ascii	" %6d %s %-10s %s %-6s \000"
	.align	2
.LC51:
	.ascii	"%H:%M:%S\000"
	.align	2
.LC52:
	.ascii	"%s %8s \000"
	.global	__aeabi_d2iz
	.align	2
.LC53:
	.ascii	"%s %8s\000"
	.align	2
.LC54:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	list_all
	.syntax unified
	.arm
	.fpu softvfp
	.type	list_all, %function
list_all:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #64
	str	r0, [fp, #-48]
	ldr	r3, .L114
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L114+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L112
	bl	hr
	ldr	r3, .L114+8
	str	r3, [sp, #4]
	ldr	r3, .L114+12
	str	r3, [sp]
	ldr	r3, .L114+16
	ldr	r2, .L114+12
	ldr	r1, .L114+20
	ldr	r0, .L114+24
	bl	printify
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	beq	.L102
	ldr	r3, .L114+28
	str	r3, [sp, #8]
	ldr	r3, .L114+12
	str	r3, [sp, #4]
	ldr	r3, .L114+32
	str	r3, [sp]
	ldr	r3, .L114+12
	ldr	r2, .L114+36
	ldr	r1, .L114+12
	ldr	r0, .L114+40
	bl	printify
.L102:
	ldr	r0, .L114+44
	bl	printify
	bl	hr
	mov	r3, #0
	str	r3, [fp, #-40]
	b	.L103
.L110:
	ldr	r2, .L114+48
	ldr	r3, [fp, #-40]
	ldr	r3, [r2, r3, lsl #2]
	ldr	r3, [r3, #4]
	mov	r1, #10
	mov	r0, r3
	bl	first_n_letters
	str	r0, [fp, #-32]
	ldr	r2, .L114+48
	ldr	r3, [fp, #-40]
	ldr	r3, [r2, r3, lsl #2]
	ldr	r1, [r3]
	ldr	r2, .L114+48
	ldr	r3, [fp, #-40]
	ldr	r3, [r2, r3, lsl #2]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	beq	.L104
	ldr	r3, .L114+52
	b	.L105
.L104:
	ldr	r3, .L114+56
.L105:
	str	r3, [sp, #4]
	ldr	r3, .L114+12
	str	r3, [sp]
	ldr	r3, [fp, #-32]
	ldr	r2, .L114+12
	ldr	r0, .L114+60
	bl	printify
	ldr	r0, [fp, #-32]
	bl	free
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	beq	.L113
	ldr	r2, .L114+48
	ldr	r3, [fp, #-40]
	ldr	r3, [r2, r3, lsl #2]
	ldr	r3, [r3, #12]
	sub	r0, fp, #20
	ldr	r2, .L114+64
	mov	r1, #9
	bl	strftime
	sub	r3, fp, #20
	mov	r2, r3
	ldr	r1, .L114+12
	ldr	r0, .L114+68
	bl	printify
	ldr	r2, .L114+48
	ldr	r3, [fp, #-40]
	ldr	r3, [r2, r3, lsl #2]
	ldr	r3, [r3, #16]
	sub	r0, fp, #20
	ldr	r2, .L114+64
	mov	r1, #9
	bl	strftime
	sub	r3, fp, #20
	mov	r2, r3
	ldr	r1, .L114+12
	ldr	r0, .L114+68
	bl	printify
	ldr	r2, .L114+48
	ldr	r3, [fp, #-40]
	ldr	r3, [r2, r3, lsl #2]
	ldr	r3, [r3, #12]
	mov	r0, r3
	bl	mktime
	str	r0, [fp, #-28]
	ldr	r2, .L114+48
	ldr	r3, [fp, #-40]
	ldr	r3, [r2, r3, lsl #2]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	beq	.L108
	mov	r0, #0
	bl	time
	str	r0, [fp, #-36]
	b	.L109
.L108:
	ldr	r2, .L114+48
	ldr	r3, [fp, #-40]
	ldr	r3, [r2, r3, lsl #2]
	ldr	r3, [r3, #16]
	mov	r0, r3
	bl	mktime
	str	r0, [fp, #-36]
.L109:
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-36]
	bl	difftime
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2iz
	mov	r3, r0
	str	r3, [fp, #-44]
	sub	r3, fp, #44
	mov	r0, r3
	bl	gmtime
	str	r0, [fp, #-24]
	sub	r0, fp, #20
	ldr	r3, [fp, #-24]
	ldr	r2, .L114+64
	mov	r1, #9
	bl	strftime
	sub	r3, fp, #20
	mov	r2, r3
	ldr	r1, .L114+12
	ldr	r0, .L114+72
	bl	printify
	b	.L107
.L113:
	nop
.L107:
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
	ldr	r0, .L114+44
	bl	printify
.L103:
	ldr	r3, .L114+4
	ldr	r3, [r3]
	ldr	r2, [fp, #-40]
	cmp	r2, r3
	blt	.L110
	bl	hr
	b	.L99
.L112:
	nop
.L99:
	ldr	r3, .L114
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L111
	bl	__stack_chk_fail
.L111:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L115:
	.align	2
.L114:
	.word	.LC54
	.word	process_count
	.word	.LC42
	.word	.LC30
	.word	.LC37
	.word	.LC38
	.word	.LC41
	.word	.LC45
	.word	.LC46
	.word	.LC43
	.word	.LC44
	.word	.LC47
	.word	processes
	.word	.LC48
	.word	.LC49
	.word	.LC50
	.word	.LC51
	.word	.LC52
	.word	.LC53
	.size	list_all, .-list_all
	.section	.rodata
	.align	2
.LC55:
	.ascii	"Error: Process limit exceeded.\012\000"
	.align	2
.LC56:
	.ascii	"pipe\000"
	.align	2
.LC57:
	.ascii	"add_process: fork\000"
	.align	2
.LC58:
	.ascii	"pipe read\000"
	.align	2
.LC59:
	.ascii	"exec\000"
	.align	2
.LC60:
	.ascii	"Failed to start process.\012\000"
	.align	2
.LC61:
	.ascii	"write\000"
	.align	2
.LC62:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	add_process
	.syntax unified
	.arm
	.fpu softvfp
	.type	add_process, %function
add_process:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #52
	str	r0, [fp, #-56]
	str	r1, [fp, #-60]
	ldr	r3, .L132
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	ble	.L131
	ldr	r3, .L132+4
	ldr	r3, [r3]
	cmp	r3, #9
	ble	.L119
	ldr	r0, .L132+8
	bl	printify
	b	.L116
.L119:
	sub	r3, fp, #24
	mov	r1, #524288
	mov	r0, r3
	bl	pipe2
	str	r0, [fp, #-44]
	ldr	r3, [fp, #-44]
	cmn	r3, #1
	bne	.L120
	bl	__errno_location
	mov	r3, r0
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L132+12
	bl	perrorize
	b	.L116
.L120:
	bl	fork
	mov	r3, r0
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-40]
	cmn	r3, #1
	bne	.L121
	bl	__errno_location
	mov	r3, r0
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L132+16
	bl	perrorize
	b	.L116
.L121:
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	ble	.L122
	ldr	r3, [fp, #-20]
	mov	r0, r3
	bl	close
	ldr	r3, [fp, #-24]
	sub	r1, fp, #49
	mov	r2, #1
	mov	r0, r3
	bl	read
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-32]
	cmn	r3, #1
	bne	.L123
	bl	__errno_location
	mov	r3, r0
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L132+20
	bl	perrorize
	ldr	r3, [fp, #-24]
	mov	r0, r3
	bl	close
	b	.L116
.L123:
	ldrb	r3, [fp, #-49]	@ zero_extendqisi2
	cmp	r3, #70
	bne	.L125
	ldr	r3, [fp, #-24]
	mov	r0, r3
	bl	close
	mov	r2, #0
	mov	r1, #0
	ldr	r0, [fp, #-40]
	bl	waitpid
	b	.L116
.L125:
	mov	r0, #20
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-40]
	str	r2, [r3]
	ldr	r0, [fp, #-56]
	bl	strlen
	mov	r3, r0
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-28]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #4]
	ldr	r1, [fp, #-56]
	mov	r0, r3
	bl	strcpy
	ldr	r3, [fp, #-28]
	mov	r2, #1
	str	r2, [r3, #8]
	mov	r0, #0
	bl	time
	mov	r3, r0
	str	r3, [fp, #-48]
	mov	r0, #44
	bl	malloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-28]
	str	r2, [r3, #12]
	mov	r0, #44
	bl	malloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-28]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-28]
	ldr	r4, [r3, #12]
	sub	r3, fp, #48
	mov	r0, r3
	bl	localtime
	mov	r3, r0
	mov	r2, #44
	mov	r1, r3
	mov	r0, r4
	bl	memcpy
	ldr	r3, [fp, #-28]
	ldr	r4, [r3, #16]
	ldr	r0, .L132+24
	bl	gmtime
	mov	r3, r0
	mov	r2, #44
	mov	r1, r3
	mov	r0, r4
	bl	memcpy
	ldr	r3, .L132+4
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r1, .L132+4
	str	r2, [r1]
	ldr	r1, .L132+28
	ldr	r2, [fp, #-28]
	str	r2, [r1, r3, lsl #2]
	ldr	r3, [fp, #-24]
	mov	r0, r3
	bl	close
	b	.L126
.L122:
	ldr	r3, [fp, #-24]
	mov	r0, r3
	bl	close
	mov	r2, #0
	ldr	r1, [fp, #-56]
	ldr	r0, [fp, #-56]
	bl	execlp
	mov	r3, r0
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-36]
	cmn	r3, #1
	bne	.L127
	bl	__errno_location
	mov	r3, r0
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L132+32
	bl	perrorize
	ldr	r0, .L132+36
	bl	printify
	mov	r3, #70
	strb	r3, [fp, #-48]
	ldr	r3, [fp, #-20]
	sub	r1, fp, #48
	mov	r2, #1
	mov	r0, r3
	bl	write
	str	r0, [fp, #-36]
	ldr	r3, [fp, #-36]
	cmn	r3, #1
	bne	.L127
	bl	__errno_location
	mov	r3, r0
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L132+40
	bl	perrorize
	ldr	r3, [fp, #-20]
	mov	r0, r3
	bl	close
	b	.L116
.L127:
	ldr	r3, [fp, #-20]
	mov	r0, r3
	bl	close
.L126:
	ldr	r3, [fp, #-60]
	sub	r3, r3, #1
	mov	r1, r3
	ldr	r0, [fp, #-56]
	bl	add_process
	b	.L116
.L131:
	nop
.L116:
	ldr	r3, .L132
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L130
	bl	__stack_chk_fail
.L130:
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L133:
	.align	2
.L132:
	.word	.LC62
	.word	process_count
	.word	.LC55
	.word	.LC56
	.word	.LC57
	.word	.LC58
	.word	time_zero
	.word	processes
	.word	.LC59
	.word	.LC60
	.word	.LC61
	.size	add_process, .-add_process
	.section	.rodata
	.align	2
.LC63:
	.ascii	"Failed to kill process %d.\012\000"
	.align	2
.LC64:
	.ascii	"No running process with process ID %d.\012\000"
	.align	2
.LC65:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	kill_by_id
	.syntax unified
	.arm
	.fpu softvfp
	.type	kill_by_id, %function
kill_by_id:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #28
	str	r0, [fp, #-32]
	ldr	r3, .L142
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L135
.L140:
	ldr	r2, .L142+4
	ldr	r3, [fp, #-20]
	ldr	r3, [r2, r3, lsl #2]
	ldr	r3, [r3, #8]
	cmp	r3, #1
	bne	.L136
	ldr	r2, .L142+4
	ldr	r3, [fp, #-20]
	ldr	r3, [r2, r3, lsl #2]
	ldr	r3, [r3]
	ldr	r2, [fp, #-32]
	cmp	r2, r3
	bne	.L136
	ldr	r2, .L142+4
	ldr	r3, [fp, #-20]
	ldr	r3, [r2, r3, lsl #2]
	ldr	r3, [r3]
	mov	r1, #15
	mov	r0, r3
	bl	kill
	mov	r3, r0
	cmn	r3, #1
	beq	.L137
	ldr	r2, .L142+4
	ldr	r3, [fp, #-20]
	ldr	r3, [r2, r3, lsl #2]
	mov	r2, #0
	str	r2, [r3, #8]
	mov	r0, #0
	bl	time
	mov	r3, r0
	str	r3, [fp, #-24]
	ldr	r2, .L142+4
	ldr	r3, [fp, #-20]
	ldr	r3, [r2, r3, lsl #2]
	ldr	r4, [r3, #16]
	sub	r3, fp, #24
	mov	r0, r3
	bl	localtime
	mov	r3, r0
	mov	r2, #44
	mov	r1, r3
	mov	r0, r4
	bl	memcpy
	b	.L134
.L137:
	bl	__errno_location
	mov	r3, r0
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L142+8
	bl	perrorize
	ldr	r1, [fp, #-32]
	ldr	r0, .L142+12
	bl	printify
	b	.L134
.L136:
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L135:
	ldr	r3, .L142+16
	ldr	r3, [r3]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	blt	.L140
	ldr	r1, [fp, #-32]
	ldr	r0, .L142+20
	bl	printify
.L134:
	ldr	r3, .L142
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L141
	bl	__stack_chk_fail
.L141:
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L143:
	.align	2
.L142:
	.word	.LC65
	.word	processes
	.word	.LC32
	.word	.LC63
	.word	process_count
	.word	.LC64
	.size	kill_by_id, .-kill_by_id
	.section	.rodata
	.align	2
.LC66:
	.ascii	"Failed to kill process %s(%d).\012\000"
	.align	2
.LC67:
	.ascii	"%d processes killed\012\000"
	.align	2
.LC68:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	kill_by_name
	.syntax unified
	.arm
	.fpu softvfp
	.type	kill_by_name, %function
kill_by_name:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #36
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	ldr	r3, .L155
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	blt	.L145
	ldr	r3, [fp, #-44]
	b	.L146
.L145:
	mov	r3, #10
.L146:
	str	r3, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-28]
	b	.L147
.L153:
	ldr	r2, .L155+4
	ldr	r3, [fp, #-28]
	ldr	r3, [r2, r3, lsl #2]
	ldr	r3, [r3, #8]
	cmp	r3, #1
	bne	.L148
	ldr	r2, .L155+4
	ldr	r3, [fp, #-28]
	ldr	r3, [r2, r3, lsl #2]
	ldr	r3, [r3, #4]
	ldr	r1, [fp, #-40]
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L148
	ldr	r2, .L155+4
	ldr	r3, [fp, #-28]
	ldr	r3, [r2, r3, lsl #2]
	ldr	r3, [r3]
	mov	r1, #15
	mov	r0, r3
	bl	kill
	mov	r3, r0
	cmn	r3, #1
	beq	.L149
	ldr	r2, .L155+4
	ldr	r3, [fp, #-28]
	ldr	r3, [r2, r3, lsl #2]
	mov	r2, #0
	str	r2, [r3, #8]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	mov	r0, #0
	bl	time
	mov	r3, r0
	str	r3, [fp, #-32]
	ldr	r2, .L155+4
	ldr	r3, [fp, #-28]
	ldr	r3, [r2, r3, lsl #2]
	ldr	r4, [r3, #16]
	sub	r3, fp, #32
	mov	r0, r3
	bl	localtime
	mov	r3, r0
	mov	r2, #44
	mov	r1, r3
	mov	r0, r4
	bl	memcpy
	b	.L144
.L149:
	bl	__errno_location
	mov	r3, r0
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L155+8
	bl	perrorize
	ldr	r2, .L155+4
	ldr	r3, [fp, #-28]
	ldr	r3, [r2, r3, lsl #2]
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, [fp, #-40]
	ldr	r0, .L155+12
	bl	printify
	b	.L144
.L148:
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L147:
	ldr	r3, .L155+16
	ldr	r3, [r3]
	ldr	r2, [fp, #-28]
	cmp	r2, r3
	bge	.L152
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	blt	.L153
.L152:
	ldr	r1, [fp, #-24]
	ldr	r0, .L155+20
	bl	printify
.L144:
	ldr	r3, .L155
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L154
	bl	__stack_chk_fail
.L154:
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L156:
	.align	2
.L155:
	.word	.LC68
	.word	processes
	.word	.LC32
	.word	.LC66
	.word	process_count
	.word	.LC67
	.size	kill_by_name, .-kill_by_name
	.section	.rodata
	.align	2
.LC69:
	.ascii	"rm_all_clients: signal: SIGCHLD(SIG_IGN)\000"
	.align	2
.LC70:
	.ascii	"rm_all_clients: signal: SIGCHLD\000"
	.align	2
.LC71:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	kill_all
	.syntax unified
	.arm
	.fpu softvfp
	.type	kill_all, %function
kill_all:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #20
	ldr	r3, .L167
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	mov	r1, #1
	mov	r0, #17
	bl	signal
	mov	r3, r0
	cmn	r3, #1
	bne	.L158
	ldr	r0, .L167+4
	bl	perror
	mov	r0, #1
	bl	exit
.L158:
	mov	r3, #0
	str	r3, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L159
.L163:
	ldr	r2, .L167+8
	ldr	r3, [fp, #-20]
	ldr	r3, [r2, r3, lsl #2]
	ldr	r3, [r3, #8]
	cmp	r3, #1
	bne	.L166
	ldr	r2, .L167+8
	ldr	r3, [fp, #-20]
	ldr	r3, [r2, r3, lsl #2]
	ldr	r3, [r3]
	mov	r1, #15
	mov	r0, r3
	bl	kill
	mov	r3, r0
	cmn	r3, #1
	beq	.L162
	ldr	r2, .L167+8
	ldr	r3, [fp, #-20]
	ldr	r3, [r2, r3, lsl #2]
	mov	r2, #0
	str	r2, [r3, #8]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	mov	r0, #0
	bl	time
	mov	r3, r0
	str	r3, [fp, #-28]
	ldr	r2, .L167+8
	ldr	r3, [fp, #-20]
	ldr	r3, [r2, r3, lsl #2]
	ldr	r4, [r3, #16]
	sub	r3, fp, #28
	mov	r0, r3
	bl	localtime
	mov	r3, r0
	mov	r2, #44
	mov	r1, r3
	mov	r0, r4
	bl	memcpy
	b	.L161
.L162:
	bl	__errno_location
	mov	r3, r0
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L167+12
	bl	perrorize
	ldr	r2, .L167+8
	ldr	r3, [fp, #-20]
	ldr	r3, [r2, r3, lsl #2]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L167+16
	bl	printify
	b	.L161
.L166:
	nop
.L161:
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L159:
	ldr	r3, .L167+20
	ldr	r3, [r3]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	blt	.L163
	ldr	r1, .L167+24
	mov	r0, #17
	bl	signal
	mov	r3, r0
	cmn	r3, #1
	bne	.L164
	ldr	r0, .L167+28
	bl	perror
	mov	r0, #1
	bl	exit
.L164:
	ldr	r1, [fp, #-24]
	ldr	r0, .L167+32
	bl	printify
	nop
	ldr	r3, .L167
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L165
	bl	__stack_chk_fail
.L165:
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L168:
	.align	2
.L167:
	.word	.LC71
	.word	.LC69
	.word	processes
	.word	.LC32
	.word	.LC63
	.word	process_count
	.word	sigchld_handler
	.word	.LC70
	.word	.LC67
	.size	kill_all, .-kill_all
	.align	2
	.global	free_all_processes
	.syntax unified
	.arm
	.fpu softvfp
	.type	free_all_processes, %function
free_all_processes:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L170
.L172:
	ldr	r2, .L173
	ldr	r3, [fp, #-8]
	ldr	r3, [r2, r3, lsl #2]
	cmp	r3, #0
	beq	.L171
	ldr	r2, .L173
	ldr	r3, [fp, #-8]
	ldr	r3, [r2, r3, lsl #2]
	mov	r0, r3
	bl	free_process
.L171:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L170:
	ldr	r3, .L173+4
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	blt	.L172
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L174:
	.align	2
.L173:
	.word	processes
	.word	process_count
	.size	free_all_processes, .-free_all_processes
	.align	2
	.global	free_process
	.syntax unified
	.arm
	.fpu softvfp
	.type	free_process, %function
free_process:
	@ 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]
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	free
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #12]
	mov	r0, r3
	bl	free
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #16]
	mov	r0, r3
	bl	free
	ldr	r0, [fp, #-8]
	bl	free
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	free_process, .-free_process
	.align	2
	.global	first_n_letters
	.syntax unified
	.arm
	.fpu softvfp
	.type	first_n_letters, %function
first_n_letters:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-20]
	mov	r2, r3
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-8]
	bl	memcpy
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-8]
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3]
	ldr	r0, [fp, #-16]
	bl	strlen
	mov	r2, r0
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	bls	.L177
	ldr	r3, [fp, #-20]
	cmp	r3, #3
	ble	.L177
	ldr	r3, [fp, #-20]
	sub	r3, r3, #3
	ldr	r2, [fp, #-8]
	add	r2, r2, r3
	mov	r3, #46
	strb	r3, [r2]
	ldr	r3, [fp, #-20]
	sub	r3, r3, #2
	ldr	r1, [fp, #-8]
	add	r3, r1, r3
	ldrb	r2, [r2]	@ zero_extendqisi2
	strb	r2, [r3]
	ldr	r2, [fp, #-20]
	sub	r2, r2, #1
	ldr	r1, [fp, #-8]
	add	r2, r1, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	strb	r3, [r2]
.L177:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	first_n_letters, .-first_n_letters
	.align	2
	.global	lower
	.syntax unified
	.arm
	.fpu softvfp
	.type	lower, %function
lower:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-8]
	b	.L180
.L181:
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r0, r3
	bl	tolower
	mov	r3, r0
	and	r2, r3, #255
	ldr	r3, [fp, #-8]
	strb	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L180:
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L181
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	lower, .-lower
	.section	.rodata
	.align	2
.LC72:
	.ascii	"\342\224\200\000"
	.align	2
.LC73:
	.ascii	"%s\000"
	.text
	.align	2
	.global	hr
	.syntax unified
	.arm
	.fpu softvfp
	.type	hr, %function
hr:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L183
.L184:
	ldr	r1, .L185
	ldr	r0, .L185+4
	bl	printify
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L183:
	ldr	r3, [fp, #-8]
	cmp	r3, #75
	ble	.L184
	ldr	r0, .L185+8
	bl	printify
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L186:
	.align	2
.L185:
	.word	.LC72
	.word	.LC73
	.word	.LC47
	.size	hr, .-hr
	.section	.rodata
	.align	2
.LC74:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	sigchld_handler
	.syntax unified
	.arm
	.fpu softvfp
	.type	sigchld_handler, %function
sigchld_handler:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #28
	str	r0, [fp, #-32]
	ldr	r3, .L195
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	mov	r2, #0
	mov	r1, #0
	mvn	r0, #0
	bl	waitpid
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	blt	.L194
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L190
.L192:
	ldr	r2, .L195+4
	ldr	r3, [fp, #-24]
	ldr	r3, [r2, r3, lsl #2]
	ldr	r3, [r3]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	bne	.L191
	ldr	r2, .L195+4
	ldr	r3, [fp, #-24]
	ldr	r3, [r2, r3, lsl #2]
	mov	r2, #0
	str	r2, [r3, #8]
	mov	r0, #0
	bl	time
	mov	r3, r0
	str	r3, [fp, #-28]
	ldr	r2, .L195+4
	ldr	r3, [fp, #-24]
	ldr	r3, [r2, r3, lsl #2]
	ldr	r4, [r3, #16]
	sub	r3, fp, #28
	mov	r0, r3
	bl	localtime
	mov	r3, r0
	mov	r2, #44
	mov	r1, r3
	mov	r0, r4
	bl	memcpy
	b	.L187
.L191:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L190:
	ldr	r3, .L195+8
	ldr	r3, [r3]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	blt	.L192
	b	.L187
.L194:
	nop
.L187:
	ldr	r3, .L195
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L193
	bl	__stack_chk_fail
.L193:
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L196:
	.align	2
.L195:
	.word	.LC74
	.word	processes
	.word	process_count
	.size	sigchld_handler, .-sigchld_handler
	.section	.rodata
	.align	2
.LC75:
	.ascii	"%d received ctrl+c\000"
	.text
	.align	2
	.global	exit_gracefully
	.syntax unified
	.arm
	.fpu softvfp
	.type	exit_gracefully, %function
exit_gracefully:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #2
	bne	.L198
	ldr	r3, .L199
	mov	r2, #4
	str	r2, [r3]
	bl	getpid
	mov	r3, r0
	mov	r1, r3
	ldr	r0, .L199+4
	bl	printify
.L198:
	bl	kill_all
	bl	free_all_processes
	mov	r1, #2
	mov	r0, #3
	bl	shutdown
	mov	r0, #3
	bl	close
	mov	r0, #4
	bl	close
	mov	r0, #5
	bl	close
	mov	r0, #6
	bl	close
	mov	r0, #7
	bl	close
	mov	r0, #8
	bl	close
	ldr	r0, [fp, #-8]
	bl	exit
.L200:
	.align	2
.L199:
	.word	outfd
	.word	.LC75
	.size	exit_gracefully, .-exit_gracefully
	.section	.rodata
	.align	2
.LC76:
	.ascii	"TM: printify: write\000"
	.align	2
.LC77:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	printify
	.syntax unified
	.arm
	.fpu softvfp
	.type	printify, %function
printify:
	@ args = 4, pretend = 16, frame = 520
	@ frame_needed = 1, uses_anonymous_args = 1
	push	{r0, r1, r2, r3}
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #524
	ldr	r3, [fp, #4]
	str	r3, [fp, #-528]
	ldr	r3, .L205
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	add	r3, fp, #8
	str	r3, [fp, #-520]
	ldr	r3, .L205+4
	ldr	r4, [r3]
	sub	r0, fp, #516
	ldr	r3, [fp, #-520]
	ldr	r2, [fp, #-528]
	mov	r1, #500
	bl	vsnprintf
	mov	r3, r0
	mov	r2, r3
	sub	r3, fp, #516
	mov	r1, r3
	mov	r0, r4
	bl	write
	mov	r3, r0
	cmn	r3, #1
	bne	.L204
	bl	__errno_location
	mov	r3, r0
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L205+8
	bl	perrorize
	bl	__errno_location
	mov	r3, r0
	ldr	r3, [r3]
	cmp	r3, #14
	bne	.L204
	mov	r0, #0
	bl	exit_gracefully
.L204:
	nop
	ldr	r3, .L205
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L203
	bl	__stack_chk_fail
.L203:
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, lr}
	add	sp, sp, #16
	bx	lr
.L206:
	.align	2
.L205:
	.word	.LC77
	.word	outfd
	.word	.LC76
	.size	printify, .-printify
	.section	.rodata
	.align	2
.LC78:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	fprintify
	.syntax unified
	.arm
	.fpu softvfp
	.type	fprintify, %function
fprintify:
	@ args = 4, pretend = 12, frame = 520
	@ frame_needed = 1, uses_anonymous_args = 1
	push	{r1, r2, r3}
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #524
	str	r0, [fp, #-524]
	ldr	r3, [fp, #4]
	str	r3, [fp, #-528]
	ldr	r3, .L211
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	mov	r3,#0
	add	r3, fp, #8
	str	r3, [fp, #-516]
	sub	r0, fp, #512
	ldr	r3, [fp, #-516]
	ldr	r2, [fp, #-528]
	mov	r1, #500
	bl	vsnprintf
	mov	r3, r0
	mov	r2, r3
	sub	r3, fp, #512
	mov	r1, r3
	ldr	r0, [fp, #-524]
	bl	write
	mov	r3, r0
	cmn	r3, #1
	bne	.L210
	bl	__errno_location
	mov	r3, r0
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L211+4
	bl	perrorize
	bl	__errno_location
	mov	r3, r0
	ldr	r3, [r3]
	cmp	r3, #14
	bne	.L210
	mov	r0, #0
	bl	exit_gracefully
.L210:
	nop
	ldr	r3, .L211
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L209
	bl	__stack_chk_fail
.L209:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, lr}
	add	sp, sp, #12
	bx	lr
.L212:
	.align	2
.L211:
	.word	.LC78
	.word	.LC76
	.size	fprintify, .-fprintify
	.section	.rodata
	.align	2
.LC79:
	.ascii	"%s: %s\012\000"
	.text
	.align	2
	.global	perrorize
	.syntax unified
	.arm
	.fpu softvfp
	.type	perrorize, %function
perrorize:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #12
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, .L214
	ldr	r4, [r3]
	ldr	r0, [fp, #-20]
	bl	strerror
	mov	r3, r0
	ldr	r2, [fp, #-16]
	ldr	r1, .L214+4
	mov	r0, r4
	bl	fprintify
	ldr	r3, .L214+8
	ldr	r3, [r3]
	mov	r0, r3
	bl	fsync
	nop
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L215:
	.align	2
.L214:
	.word	errfd
	.word	.LC79
	.word	outfd
	.size	perrorize, .-perrorize
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
