	.file	"152011.c"
	.intel_syntax noprefix
	.text
	.local	buf
	.comm	buf,8,8
	.local	bufsize
	.comm	bufsize,8,8
	.local	offset
	.comm	offset,8,8
	.local	optf
	.comm	optf,4,4
	.local	optc
	.comm	optc,4,4
	.local	optn
	.comm	optn,4,4
	.section	.rodata
.LC0:
	.string	""
	.align 8
.LC1:
	.string	"Unable to allocate memory for read buffer"
	.align 8
.LC2:
	.string	"Option [-c] requires non-zero byte offset"
	.align 8
.LC3:
	.string	"Option [-n] requires integer line offset"
	.align 8
.LC4:
	.string	"usage: tail [-f] [-c number] [-n number] [file]\n"
.LC5:
	.string	"fc:n:"
	.align 8
.LC6:
	.string	"Options [-c] and [-n] are mutually exclusive"
.LC7:
	.string	"stdin"
.LC8:
	.string	"-"
	.text
	.globl	main
	.type	main, @function
main:
.LFB0:
	.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	QWORD PTR -32[rbp], rsi
	lea	rsi, .LC0[rip]
	mov	edi, 6
	call	setlocale@PLT
	mov	DWORD PTR opterr[rip], 0
	mov	edi, 43
	call	sysconf@PLT
	mov	rdx, rax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	mov	QWORD PTR bufsize[rip], rax
	mov	rax, QWORD PTR bufsize[rip]
	mov	edx, 4096
	cmp	rax, 4096
	cmovl	rax, rdx
	mov	QWORD PTR bufsize[rip], rax
	mov	rax, QWORD PTR bufsize[rip]
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR buf[rip], rax
	mov	rax, QWORD PTR buf[rip]
	test	rax, rax
	jne	.L3
	lea	rsi, .LC1[rip]
	mov	edi, 0
	call	fatal
	jmp	.L3
.L14:
	cmp	DWORD PTR -16[rbp], 110
	je	.L4
	cmp	DWORD PTR -16[rbp], 110
	jg	.L5
	cmp	DWORD PTR -16[rbp], 99
	je	.L6
	cmp	DWORD PTR -16[rbp], 102
	jne	.L5
	mov	DWORD PTR optf[rip], 1
	jmp	.L3
.L6:
	mov	DWORD PTR optc[rip], 1
	mov	QWORD PTR offset[rip], 0
	mov	rax, QWORD PTR optarg[rip]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L7
	mov	rax, QWORD PTR optarg[rip]
	mov	rdi, rax
	call	isdecint
	test	eax, eax
	je	.L7
	mov	rax, QWORD PTR optarg[rip]
	mov	rdi, rax
	call	atol@PLT
	mov	QWORD PTR offset[rip], rax
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR optarg[rip]
	movzx	eax, BYTE PTR [rax]
	movsx	rax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 2048
	test	eax, eax
	je	.L8
	mov	rax, QWORD PTR offset[rip]
	neg	rax
	jmp	.L9
.L8:
	mov	rax, QWORD PTR offset[rip]
.L9:
	mov	QWORD PTR offset[rip], rax
.L7:
	mov	rax, QWORD PTR offset[rip]
	test	rax, rax
	jne	.L3
	lea	rsi, .LC2[rip]
	mov	edi, 0
	call	fatal
.L4:
	mov	DWORD PTR optn[rip], 1
	mov	rax, QWORD PTR optarg[rip]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L11
	mov	rax, QWORD PTR optarg[rip]
	mov	rdi, rax
	call	isdecint
	test	eax, eax
	je	.L11
	mov	rax, QWORD PTR optarg[rip]
	mov	rdi, rax
	call	atol@PLT
	mov	QWORD PTR offset[rip], rax
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR optarg[rip]
	movzx	eax, BYTE PTR [rax]
	movsx	rax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 2048
	test	eax, eax
	je	.L12
	mov	rax, QWORD PTR offset[rip]
	neg	rax
	jmp	.L13
.L12:
	mov	rax, QWORD PTR offset[rip]
.L13:
	mov	QWORD PTR offset[rip], rax
	mov	rax, QWORD PTR offset[rip]
	test	rax, rax
	jne	.L22
	mov	rax, QWORD PTR offset[rip]
	test	rax, rax
	jne	.L11
	mov	rax, QWORD PTR optarg[rip]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 43
	jne	.L22
.L11:
	lea	rsi, .LC3[rip]
	mov	edi, 0
	call	fatal
.L5:
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 48
	mov	esi, 1
	lea	rdi, .LC4[rip]
	call	fwrite@PLT
	mov	edi, 1
	call	exit@PLT
.L22:
	nop
.L3:
	mov	rcx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -20[rbp]
	lea	rdx, .LC5[rip]
	mov	rsi, rcx
	mov	edi, eax
	call	getopt@PLT
	mov	DWORD PTR -16[rbp], eax
	cmp	DWORD PTR -16[rbp], -1
	jne	.L14
	mov	eax, DWORD PTR optc[rip]
	test	eax, eax
	jne	.L15
	mov	eax, DWORD PTR optn[rip]
	test	eax, eax
	jne	.L15
	mov	DWORD PTR optn[rip], 1
	mov	QWORD PTR offset[rip], -10
.L15:
	mov	eax, DWORD PTR optc[rip]
	test	eax, eax
	je	.L16
	mov	eax, DWORD PTR optn[rip]
	test	eax, eax
	je	.L16
	lea	rsi, .LC6[rip]
	mov	edi, 0
	call	fatal
.L16:
	mov	eax, DWORD PTR optind[rip]
	cmp	DWORD PTR -20[rbp], eax
	jg	.L17
	lea	rsi, .LC7[rip]
	mov	edi, 0
	call	tailfile
	jmp	.L18
.L17:
	mov	eax, DWORD PTR optind[rip]
	lea	edx, 1[rax]
	mov	DWORD PTR optind[rip], edx
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	lea	rsi, .LC8[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L19
	lea	rsi, .LC7[rip]
	mov	edi, 0
	call	tailfile
	jmp	.L18
.L19:
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 0
	mov	rdi, rax
	mov	eax, 0
	call	open@PLT
	mov	DWORD PTR -12[rbp], eax
	cmp	DWORD PTR -12[rbp], -1
	jne	.L20
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rax
	mov	edi, 1
	call	fatal
	jmp	.L18
.L20:
	mov	rdx, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR -12[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	tailfile
	mov	eax, DWORD PTR -12[rbp]
	mov	edi, eax
	call	close@PLT
	cmp	eax, -1
	jne	.L18
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rax
	mov	edi, 1
	call	fatal
.L18:
	mov	eax, 0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	main, .-main
	.type	isdecint, @function
isdecint:
.LFB1:
	.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 -12[rbp], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -8[rbp], rax
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	rax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 2048
	test	eax, eax
	jne	.L24
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 43
	je	.L24
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 45
	je	.L24
	mov	DWORD PTR -12[rbp], 1
	jmp	.L25
.L24:
	add	QWORD PTR -8[rbp], 1
	jmp	.L26
.L28:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	rax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 2048
	test	eax, eax
	jne	.L27
	mov	DWORD PTR -12[rbp], 1
.L27:
	add	QWORD PTR -8[rbp], 1
.L26:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L28
.L25:
	cmp	DWORD PTR -12[rbp], 0
	sete	al
	movzx	eax, al
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1:
	.size	isdecint, .-isdecint
	.section	.rodata
	.align 8
.LC9:
	.string	"tail: Option [-f] ignored; can only follow regular files and FIFOs\n"
.LC10:
	.string	"Followed file has vanished"
.LC11:
	.string	"Followed file has shrunk"
.LC12:
	.string	"stdout"
	.text
	.type	tailfile, @function
tailfile:
.LFB2:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 208
	mov	DWORD PTR -196[rbp], edi
	mov	QWORD PTR -208[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rdx, -160[rbp]
	mov	eax, DWORD PTR -196[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	fstat@PLT
	cmp	eax, -1
	jne	.L31
	mov	rax, QWORD PTR -208[rbp]
	mov	rsi, rax
	mov	edi, 1
	call	fatal
.L31:
	mov	eax, DWORD PTR -136[rbp]
	and	eax, 61440
	cmp	eax, 32768
	jne	.L32
	mov	DWORD PTR -180[rbp], 1
	mov	rax, QWORD PTR -112[rbp]
	mov	QWORD PTR -176[rbp], rax
	jmp	.L33
.L32:
	mov	QWORD PTR -176[rbp], 0
	mov	DWORD PTR -180[rbp], 0
.L33:
	mov	rax, QWORD PTR offset[rip]
	test	rax, rax
	je	.L34
	mov	eax, DWORD PTR optc[rip]
	test	eax, eax
	je	.L35
	mov	rcx, QWORD PTR -176[rbp]
	mov	edx, DWORD PTR -180[rbp]
	mov	rsi, QWORD PTR -208[rbp]
	mov	eax, DWORD PTR -196[rbp]
	mov	edi, eax
	call	tailbyteoffset
	jmp	.L34
.L35:
	mov	rcx, QWORD PTR -176[rbp]
	mov	edx, DWORD PTR -180[rbp]
	mov	rsi, QWORD PTR -208[rbp]
	mov	eax, DWORD PTR -196[rbp]
	mov	edi, eax
	call	taillineoffset
.L34:
	mov	eax, DWORD PTR optf[rip]
	test	eax, eax
	je	.L45
	cmp	DWORD PTR -196[rbp], 0
	jne	.L37
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 67
	mov	esi, 1
	lea	rdi, .LC9[rip]
	call	fwrite@PLT
	mov	edi, 0
	call	exit@PLT
.L37:
	mov	edi, 1
	call	sleep@PLT
	cmp	DWORD PTR -180[rbp], 0
	je	.L41
	lea	rdx, -160[rbp]
	mov	rax, QWORD PTR -208[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	stat@PLT
	cmp	eax, -1
	jne	.L39
	lea	rsi, .LC10[rip]
	mov	edi, 0
	call	fatal
	jmp	.L40
.L39:
	mov	rax, QWORD PTR -112[rbp]
	cmp	QWORD PTR -176[rbp], rax
	jle	.L40
	lea	rsi, .LC11[rip]
	mov	edi, 0
	call	fatal
.L40:
	mov	rax, QWORD PTR -112[rbp]
	mov	QWORD PTR -176[rbp], rax
	jmp	.L41
.L42:
	mov	rdx, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR buf[rip]
	mov	rsi, rax
	mov	edi, 1
	call	write@PLT
	cmp	QWORD PTR -168[rbp], rax
	je	.L41
	lea	rsi, .LC12[rip]
	mov	edi, 1
	call	fatal
.L41:
	mov	rax, QWORD PTR bufsize[rip]
	mov	rdx, rax
	mov	rcx, QWORD PTR buf[rip]
	mov	eax, DWORD PTR -196[rbp]
	mov	rsi, rcx
	mov	edi, eax
	call	read@PLT
	mov	QWORD PTR -168[rbp], rax
	cmp	QWORD PTR -168[rbp], 0
	jg	.L42
	cmp	QWORD PTR -168[rbp], 0
	jns	.L37
	mov	rax, QWORD PTR -208[rbp]
	mov	rsi, rax
	mov	edi, 1
	call	fatal
	jmp	.L37
.L45:
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L44
	call	__stack_chk_fail@PLT
.L44:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE2:
	.size	tailfile, .-tailfile
	.type	tailbyteoffset, @function
tailbyteoffset:
.LFB3:
	.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 -20[rbp], edi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -24[rbp], edx
	mov	QWORD PTR -40[rbp], rcx
	cmp	DWORD PTR -24[rbp], 0
	je	.L47
	mov	rax, QWORD PTR offset[rip]
	test	rax, rax
	jle	.L48
	mov	rax, QWORD PTR offset[rip]
	sub	rax, 1
	cmp	QWORD PTR -40[rbp], rax
	cmovle	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR offset[rip], rax
	jmp	.L49
.L48:
	mov	rdx, QWORD PTR offset[rip]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	edx, 0
	test	rax, rax
	cmovs	rax, rdx
	mov	QWORD PTR offset[rip], rax
.L49:
	mov	rcx, QWORD PTR offset[rip]
	mov	eax, DWORD PTR -20[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	edi, eax
	call	lseek@PLT
	cmp	rax, -1
	jne	.L50
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rax
	mov	edi, 1
	call	fatal
.L50:
	mov	rdx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -20[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	copytoeof
	jmp	.L69
.L47:
	mov	rax, QWORD PTR offset[rip]
	test	rax, rax
	jle	.L52
	mov	rax, QWORD PTR offset[rip]
	sub	rax, 1
	mov	QWORD PTR offset[rip], rax
.L57:
	mov	rax, QWORD PTR bufsize[rip]
	mov	rdx, rax
	mov	rcx, QWORD PTR buf[rip]
	mov	eax, DWORD PTR -20[rbp]
	mov	rsi, rcx
	mov	edi, eax
	call	read@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jns	.L53
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rax
	mov	edi, 1
	call	fatal
.L53:
	cmp	QWORD PTR -8[rbp], 0
	jne	.L54
	mov	QWORD PTR offset[rip], 0
.L54:
	mov	rax, QWORD PTR offset[rip]
	cmp	QWORD PTR -8[rbp], rax
	jge	.L67
	mov	rax, QWORD PTR offset[rip]
	sub	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR offset[rip], rax
	jmp	.L57
.L67:
	nop
	mov	rdx, QWORD PTR offset[rip]
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, rdx
	mov	rdx, rax
	mov	rcx, QWORD PTR buf[rip]
	mov	rax, QWORD PTR offset[rip]
	add	rax, rcx
	mov	rsi, rax
	mov	edi, 1
	call	write@PLT
	mov	rcx, QWORD PTR offset[rip]
	mov	rdx, QWORD PTR -8[rbp]
	sub	rdx, rcx
	cmp	rax, rdx
	je	.L58
	lea	rsi, .LC12[rip]
	mov	edi, 1
	call	fatal
.L58:
	mov	rdx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -20[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	copytoeof
	jmp	.L69
.L52:
	mov	rax, QWORD PTR bufsize[rip]
	mov	rdx, rax
	shr	rdx, 63
	add	rax, rdx
	sar	rax
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR bufsize[rip]
	mov	rdx, rax
	mov	rcx, QWORD PTR buf[rip]
	mov	eax, DWORD PTR -20[rbp]
	mov	rsi, rcx
	mov	edi, eax
	call	read@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jns	.L59
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rax
	mov	edi, 1
	call	fatal
.L59:
	mov	rax, QWORD PTR bufsize[rip]
	cmp	QWORD PTR -8[rbp], rax
	jge	.L60
	mov	rdx, QWORD PTR offset[rip]
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	mov	edx, 0
	test	rax, rax
	cmovs	rax, rdx
	mov	QWORD PTR offset[rip], rax
	mov	rdx, QWORD PTR offset[rip]
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, rdx
	mov	QWORD PTR -40[rbp], rax
	jmp	.L61
.L60:
	mov	rdx, QWORD PTR -16[rbp]
	mov	rcx, QWORD PTR buf[rip]
	mov	rax, QWORD PTR -16[rbp]
	add	rcx, rax
	mov	rax, QWORD PTR buf[rip]
	mov	rsi, rcx
	mov	rdi, rax
	call	memcpy@PLT
	mov	rdx, QWORD PTR -16[rbp]
	mov	rcx, QWORD PTR buf[rip]
	mov	rax, QWORD PTR -16[rbp]
	add	rcx, rax
	mov	eax, DWORD PTR -20[rbp]
	mov	rsi, rcx
	mov	edi, eax
	call	read@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jns	.L62
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rax
	mov	edi, 1
	call	fatal
	jmp	.L60
.L62:
	mov	rax, QWORD PTR -8[rbp]
	cmp	rax, QWORD PTR -16[rbp]
	jl	.L68
	jmp	.L60
.L68:
	nop
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR offset[rip]
	add	rax, rdx
	mov	edx, 0
	test	rax, rax
	cmovs	rax, rdx
	mov	QWORD PTR offset[rip], rax
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR offset[rip]
	sub	rax, rdx
	mov	QWORD PTR -40[rbp], rax
.L61:
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR buf[rip]
	mov	rdx, QWORD PTR offset[rip]
	add	rcx, rdx
	mov	rdx, rax
	mov	rsi, rcx
	mov	edi, 1
	call	write@PLT
	cmp	QWORD PTR -40[rbp], rax
	je	.L69
	lea	rsi, .LC12[rip]
	mov	edi, 1
	call	fatal
.L69:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE3:
	.size	tailbyteoffset, .-tailbyteoffset
	.type	taillineoffset, @function
taillineoffset:
.LFB4:
	.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	DWORD PTR -40[rbp], edx
	mov	QWORD PTR -56[rbp], rcx
	mov	rax, QWORD PTR offset[rip]
	test	rax, rax
	jle	.L71
	mov	rax, QWORD PTR offset[rip]
	sub	rax, 1
	mov	QWORD PTR offset[rip], rax
.L80:
	mov	rax, QWORD PTR bufsize[rip]
	mov	rdx, rax
	mov	rcx, QWORD PTR buf[rip]
	mov	eax, DWORD PTR -36[rbp]
	mov	rsi, rcx
	mov	edi, eax
	call	read@PLT
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	jns	.L72
	mov	rax, QWORD PTR -48[rbp]
	mov	rsi, rax
	mov	edi, 1
	call	fatal
.L72:
	cmp	QWORD PTR -16[rbp], 0
	jne	.L73
	mov	QWORD PTR offset[rip], 0
	jmp	.L74
.L73:
	mov	QWORD PTR -24[rbp], 0
	jmp	.L75
.L78:
	mov	rdx, QWORD PTR buf[rip]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 10
	jne	.L76
	mov	rax, QWORD PTR offset[rip]
	sub	rax, 1
	mov	QWORD PTR offset[rip], rax
.L76:
	add	QWORD PTR -24[rbp], 1
.L75:
	mov	rax, QWORD PTR -24[rbp]
	cmp	rax, QWORD PTR -16[rbp]
	jge	.L77
	mov	rax, QWORD PTR offset[rip]
	test	rax, rax
	jg	.L78
.L77:
	mov	rax, QWORD PTR offset[rip]
	test	rax, rax
	jne	.L80
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR offset[rip], rax
.L74:
	mov	rdx, QWORD PTR offset[rip]
	mov	rax, QWORD PTR -16[rbp]
	sub	rax, rdx
	mov	rdx, rax
	mov	rcx, QWORD PTR buf[rip]
	mov	rax, QWORD PTR offset[rip]
	add	rax, rcx
	mov	rsi, rax
	mov	edi, 1
	call	write@PLT
	mov	rcx, QWORD PTR offset[rip]
	mov	rdx, QWORD PTR -16[rbp]
	sub	rdx, rcx
	cmp	rax, rdx
	je	.L81
	lea	rsi, .LC12[rip]
	mov	edi, 1
	call	fatal
.L81:
	mov	rdx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -36[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	copytoeof
	jmp	.L117
.L71:
	cmp	DWORD PTR -40[rbp], 0
	je	.L83
	cmp	QWORD PTR -56[rbp], 0
	jle	.L83
	mov	rdx, QWORD PTR bufsize[rip]
	mov	rax, QWORD PTR -56[rbp]
	sub	rax, rdx
	mov	edx, 0
	test	rax, rax
	cmovs	rax, rdx
	mov	QWORD PTR -16[rbp], rax
	mov	rcx, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -36[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	edi, eax
	call	lseek@PLT
	cmp	rax, -1
	jne	.L84
	mov	rax, QWORD PTR -48[rbp]
	mov	rsi, rax
	mov	edi, 1
	call	fatal
.L84:
	mov	rax, QWORD PTR bufsize[rip]
	mov	rdx, rax
	mov	rcx, QWORD PTR buf[rip]
	mov	eax, DWORD PTR -36[rbp]
	mov	rsi, rcx
	mov	edi, eax
	call	read@PLT
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	jns	.L85
	mov	rax, QWORD PTR -48[rbp]
	mov	rsi, rax
	mov	edi, 1
	call	fatal
.L85:
	mov	rdx, QWORD PTR buf[rip]
	mov	rax, QWORD PTR -16[rbp]
	sub	rax, 1
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 10
	jne	.L86
	mov	rax, QWORD PTR offset[rip]
	sub	rax, 1
	mov	QWORD PTR offset[rip], rax
.L86:
	mov	rax, QWORD PTR -16[rbp]
	sub	rax, 1
	mov	QWORD PTR -24[rbp], rax
	jmp	.L87
.L90:
	mov	rdx, QWORD PTR buf[rip]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 10
	jne	.L88
	mov	rax, QWORD PTR offset[rip]
	add	rax, 1
	mov	QWORD PTR offset[rip], rax
.L88:
	sub	QWORD PTR -24[rbp], 1
.L87:
	cmp	QWORD PTR -24[rbp], 0
	js	.L89
	mov	rax, QWORD PTR offset[rip]
	test	rax, rax
	js	.L90
.L89:
	mov	rax, QWORD PTR offset[rip]
	test	rax, rax
	jne	.L91
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 2
	mov	QWORD PTR offset[rip], rax
	jmp	.L92
.L91:
	mov	QWORD PTR offset[rip], 0
.L92:
	mov	rdx, QWORD PTR offset[rip]
	mov	rax, QWORD PTR -16[rbp]
	sub	rax, rdx
	mov	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR buf[rip]
	mov	rdx, QWORD PTR offset[rip]
	add	rcx, rdx
	mov	rdx, rax
	mov	rsi, rcx
	mov	edi, 1
	call	write@PLT
	cmp	QWORD PTR -56[rbp], rax
	je	.L82
	lea	rsi, .LC12[rip]
	mov	edi, 1
	call	fatal
	jmp	.L82
.L83:
	mov	rax, QWORD PTR bufsize[rip]
	mov	rdx, rax
	shr	rdx, 63
	add	rax, rdx
	sar	rax
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR bufsize[rip]
	mov	rdx, rax
	mov	rcx, QWORD PTR buf[rip]
	mov	eax, DWORD PTR -36[rbp]
	mov	rsi, rcx
	mov	edi, eax
	call	read@PLT
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	jns	.L94
	mov	rax, QWORD PTR -48[rbp]
	mov	rsi, rax
	mov	edi, 1
	call	fatal
.L94:
	mov	rax, QWORD PTR bufsize[rip]
	cmp	QWORD PTR -16[rbp], rax
	jge	.L95
	cmp	QWORD PTR -16[rbp], 0
	jne	.L96
	mov	QWORD PTR offset[rip], 0
	jmp	.L97
.L96:
	mov	rdx, QWORD PTR buf[rip]
	mov	rax, QWORD PTR -16[rbp]
	sub	rax, 1
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 10
	jne	.L98
	mov	rax, QWORD PTR offset[rip]
	sub	rax, 1
	mov	QWORD PTR offset[rip], rax
.L98:
	mov	rax, QWORD PTR -16[rbp]
	sub	rax, 1
	mov	QWORD PTR -24[rbp], rax
	jmp	.L99
.L102:
	mov	rdx, QWORD PTR buf[rip]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 10
	jne	.L100
	mov	rax, QWORD PTR offset[rip]
	add	rax, 1
	mov	QWORD PTR offset[rip], rax
.L100:
	sub	QWORD PTR -24[rbp], 1
.L99:
	cmp	QWORD PTR -24[rbp], 0
	js	.L101
	mov	rax, QWORD PTR offset[rip]
	test	rax, rax
	js	.L102
.L101:
	mov	rax, QWORD PTR offset[rip]
	test	rax, rax
	jne	.L103
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 2
	mov	QWORD PTR offset[rip], rax
	jmp	.L97
.L103:
	mov	QWORD PTR offset[rip], 0
.L97:
	mov	rdx, QWORD PTR offset[rip]
	mov	rax, QWORD PTR -16[rbp]
	sub	rax, rdx
	mov	QWORD PTR -56[rbp], rax
	jmp	.L104
.L95:
	mov	rdx, QWORD PTR -8[rbp]
	mov	rcx, QWORD PTR buf[rip]
	mov	rax, QWORD PTR -8[rbp]
	add	rcx, rax
	mov	rax, QWORD PTR buf[rip]
	mov	rsi, rcx
	mov	rdi, rax
	call	memcpy@PLT
	mov	rdx, QWORD PTR -8[rbp]
	mov	rcx, QWORD PTR buf[rip]
	mov	rax, QWORD PTR -8[rbp]
	add	rcx, rax
	mov	eax, DWORD PTR -36[rbp]
	mov	rsi, rcx
	mov	edi, eax
	call	read@PLT
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	jns	.L105
	mov	rax, QWORD PTR -48[rbp]
	mov	rsi, rax
	mov	edi, 1
	call	fatal
	jmp	.L95
.L105:
	mov	rax, QWORD PTR -16[rbp]
	cmp	rax, QWORD PTR -8[rbp]
	jl	.L116
	jmp	.L95
.L116:
	nop
	mov	rdx, QWORD PTR buf[rip]
	mov	rcx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rcx
	sub	rax, 1
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 10
	jne	.L108
	mov	rax, QWORD PTR offset[rip]
	sub	rax, 1
	mov	QWORD PTR offset[rip], rax
.L108:
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	sub	rax, 1
	mov	QWORD PTR -24[rbp], rax
	jmp	.L109
.L112:
	mov	rdx, QWORD PTR buf[rip]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 10
	jne	.L110
	mov	rax, QWORD PTR offset[rip]
	add	rax, 1
	mov	QWORD PTR offset[rip], rax
.L110:
	sub	QWORD PTR -24[rbp], 1
.L109:
	cmp	QWORD PTR -24[rbp], 0
	js	.L111
	mov	rax, QWORD PTR offset[rip]
	test	rax, rax
	js	.L112
.L111:
	mov	rax, QWORD PTR offset[rip]
	test	rax, rax
	jne	.L113
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 2
	mov	QWORD PTR offset[rip], rax
	jmp	.L114
.L113:
	mov	QWORD PTR offset[rip], 0
.L114:
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR offset[rip]
	sub	rax, rdx
	mov	QWORD PTR -56[rbp], rax
.L104:
	mov	rax, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR buf[rip]
	mov	rdx, QWORD PTR offset[rip]
	add	rcx, rdx
	mov	rdx, rax
	mov	rsi, rcx
	mov	edi, 1
	call	write@PLT
	cmp	QWORD PTR -56[rbp], rax
	je	.L117
	lea	rsi, .LC12[rip]
	mov	edi, 1
	call	fatal
	jmp	.L117
.L82:
.L117:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE4:
	.size	taillineoffset, .-taillineoffset
	.type	copytoeof, @function
copytoeof:
.LFB5:
	.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	QWORD PTR -32[rbp], rsi
	jmp	.L119
.L120:
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR buf[rip]
	mov	rsi, rax
	mov	edi, 1
	call	write@PLT
	cmp	QWORD PTR -8[rbp], rax
	je	.L119
	lea	rsi, .LC12[rip]
	mov	edi, 1
	call	fatal
.L119:
	mov	rax, QWORD PTR bufsize[rip]
	mov	rdx, rax
	mov	rcx, QWORD PTR buf[rip]
	mov	eax, DWORD PTR -20[rbp]
	mov	rsi, rcx
	mov	edi, eax
	call	read@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jg	.L120
	cmp	QWORD PTR -8[rbp], 0
	jns	.L122
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rax
	mov	edi, 1
	call	fatal
.L122:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE5:
	.size	copytoeof, .-copytoeof
	.section	.rodata
.LC13:
	.string	"tail: %s: %s\n"
.LC14:
	.string	"tail: %s\n"
	.text
	.type	fatal, @function
fatal:
.LFB6:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	DWORD PTR -4[rbp], edi
	mov	QWORD PTR -16[rbp], rsi
	cmp	DWORD PTR -4[rbp], 1
	jne	.L124
	call	__errno_location@PLT
	mov	eax, DWORD PTR [rax]
	mov	edi, eax
	call	strerror@PLT
	mov	rcx, rax
	mov	rax, QWORD PTR stderr[rip]
	mov	rdx, QWORD PTR -16[rbp]
	lea	rsi, .LC13[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	jmp	.L125
.L124:
	mov	rax, QWORD PTR stderr[rip]
	mov	rdx, QWORD PTR -16[rbp]
	lea	rsi, .LC14[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
.L125:
	mov	edi, 1
	call	exit@PLT
	.cfi_endproc
.LFE6:
	.size	fatal, .-fatal
	.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	"152011.c"
	.text
	.local	buf
	.comm	buf,4,4
	.local	bufsize
	.comm	bufsize,4,4
	.local	offset
	.comm	offset,4,4
	.local	optf
	.comm	optf,4,4
	.local	optc
	.comm	optc,4,4
	.local	optn
	.comm	optn,4,4
	.section	.rodata
	.align	2
.LC0:
	.ascii	"\000"
	.align	2
.LC1:
	.ascii	"Unable to allocate memory for read buffer\000"
	.align	2
.LC2:
	.ascii	"Option [-c] requires non-zero byte offset\000"
	.align	2
.LC3:
	.ascii	"Option [-n] requires integer line offset\000"
	.align	2
.LC4:
	.ascii	"usage: tail [-f] [-c number] [-n number] [file]\012"
	.ascii	"\000"
	.align	2
.LC5:
	.ascii	"fc:n:\000"
	.align	2
.LC6:
	.ascii	"Options [-c] and [-n] are mutually exclusive\000"
	.align	2
.LC7:
	.ascii	"stdin\000"
	.align	2
.LC8:
	.ascii	"-\000"
	.text
	.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]
	ldr	r1, .L23
	mov	r0, #6
	bl	setlocale
	ldr	r3, .L23+4
	mov	r2, #0
	str	r2, [r3]
	mov	r0, #43
	bl	sysconf
	mov	r2, r0
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, .L23+8
	str	r2, [r3]
	ldr	r3, .L23+8
	ldr	r3, [r3]
	cmp	r3, #4096
	movge	r3, r3
	movlt	r3, #4096
	ldr	r2, .L23+8
	str	r3, [r2]
	ldr	r3, .L23+8
	ldr	r3, [r3]
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L23+12
	str	r2, [r3]
	ldr	r3, .L23+12
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L3
	ldr	r1, .L23+16
	mov	r0, #0
	bl	fatal
	b	.L3
.L14:
	ldr	r3, [fp, #-16]
	cmp	r3, #110
	beq	.L4
	ldr	r3, [fp, #-16]
	cmp	r3, #110
	bgt	.L5
	ldr	r3, [fp, #-16]
	cmp	r3, #99
	beq	.L6
	ldr	r3, [fp, #-16]
	cmp	r3, #102
	bne	.L5
	ldr	r3, .L23+20
	mov	r2, #1
	str	r2, [r3]
	b	.L3
.L6:
	ldr	r3, .L23+24
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, .L23+28
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L23+32
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L7
	ldr	r3, .L23+32
	ldr	r3, [r3]
	mov	r0, r3
	bl	isdecint
	mov	r3, r0
	cmp	r3, #0
	beq	.L7
	ldr	r3, .L23+32
	ldr	r3, [r3]
	mov	r0, r3
	bl	atol
	mov	r3, r0
	ldr	r2, .L23+28
	str	r3, [r2]
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, .L23+32
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #2048
	cmp	r3, #0
	beq	.L8
	ldr	r3, .L23+28
	ldr	r3, [r3]
	rsb	r3, r3, #0
	b	.L9
.L8:
	ldr	r3, .L23+28
	ldr	r3, [r3]
.L9:
	ldr	r2, .L23+28
	str	r3, [r2]
.L7:
	ldr	r3, .L23+28
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L3
	ldr	r1, .L23+36
	mov	r0, #0
	bl	fatal
.L4:
	ldr	r3, .L23+40
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, .L23+32
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L11
	ldr	r3, .L23+32
	ldr	r3, [r3]
	mov	r0, r3
	bl	isdecint
	mov	r3, r0
	cmp	r3, #0
	beq	.L11
	ldr	r3, .L23+32
	ldr	r3, [r3]
	mov	r0, r3
	bl	atol
	mov	r3, r0
	ldr	r2, .L23+28
	str	r3, [r2]
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, .L23+32
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #2048
	cmp	r3, #0
	beq	.L12
	ldr	r3, .L23+28
	ldr	r3, [r3]
	rsb	r3, r3, #0
	b	.L13
.L12:
	ldr	r3, .L23+28
	ldr	r3, [r3]
.L13:
	ldr	r2, .L23+28
	str	r3, [r2]
	ldr	r3, .L23+28
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L22
	ldr	r3, .L23+28
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L11
	ldr	r3, .L23+32
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #43
	bne	.L22
.L11:
	ldr	r1, .L23+44
	mov	r0, #0
	bl	fatal
.L5:
	ldr	r3, .L23+48
	ldr	r3, [r3]
	mov	r2, #48
	mov	r1, #1
	ldr	r0, .L23+52
	bl	fwrite
	mov	r0, #1
	bl	exit
.L22:
	nop
.L3:
	ldr	r2, .L23+56
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	getopt
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmn	r3, #1
	bne	.L14
	ldr	r3, .L23+24
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L15
	ldr	r3, .L23+40
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L15
	ldr	r3, .L23+40
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, .L23+28
	mvn	r2, #9
	str	r2, [r3]
.L15:
	ldr	r3, .L23+24
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L16
	ldr	r3, .L23+40
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L16
	ldr	r1, .L23+60
	mov	r0, #0
	bl	fatal
.L16:
	ldr	r3, .L23+64
	ldr	r3, [r3]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	bgt	.L17
	ldr	r1, .L23+68
	mov	r0, #0
	bl	tailfile
	b	.L18
.L17:
	ldr	r3, .L23+64
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r1, .L23+64
	str	r2, [r1]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-28]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r1, .L23+72
	ldr	r0, [fp, #-12]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L19
	ldr	r1, .L23+68
	mov	r0, #0
	bl	tailfile
	b	.L18
.L19:
	mov	r1, #0
	ldr	r0, [fp, #-12]
	bl	open
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmn	r3, #1
	bne	.L20
	ldr	r1, [fp, #-12]
	mov	r0, #1
	bl	fatal
	b	.L18
.L20:
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	tailfile
	ldr	r0, [fp, #-8]
	bl	close
	mov	r3, r0
	cmn	r3, #1
	bne	.L18
	ldr	r1, [fp, #-12]
	mov	r0, #1
	bl	fatal
.L18:
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L24:
	.align	2
.L23:
	.word	.LC0
	.word	opterr
	.word	bufsize
	.word	buf
	.word	.LC1
	.word	optf
	.word	optc
	.word	offset
	.word	optarg
	.word	.LC2
	.word	optn
	.word	.LC3
	.word	stderr
	.word	.LC4
	.word	.LC5
	.word	.LC6
	.word	optind
	.word	.LC7
	.word	.LC8
	.size	main, .-main
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	isdecint, %function
isdecint:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-8]
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #2048
	cmp	r3, #0
	bne	.L26
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #43
	beq	.L26
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #45
	beq	.L26
	mov	r3, #1
	str	r3, [fp, #-12]
	b	.L27
.L26:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
	b	.L28
.L30:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #2048
	cmp	r3, #0
	bne	.L29
	mov	r3, #1
	str	r3, [fp, #-12]
.L29:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L28:
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L30
.L27:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	isdecint, .-isdecint
	.section	.rodata
	.align	2
.LC9:
	.ascii	"tail: Option [-f] ignored; can only follow regular "
	.ascii	"files and FIFOs\012\000"
	.align	2
.LC10:
	.ascii	"Followed file has vanished\000"
	.align	2
.LC11:
	.ascii	"Followed file has shrunk\000"
	.align	2
.LC12:
	.ascii	"stdout\000"
	.align	2
.LC13:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	tailfile, %function
tailfile:
	@ args = 0, pretend = 0, frame = 120
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #120
	str	r0, [fp, #-120]
	str	r1, [fp, #-124]
	ldr	r3, .L48
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #100
	mov	r1, r3
	ldr	r0, [fp, #-120]
	bl	fstat
	mov	r3, r0
	cmn	r3, #1
	bne	.L33
	ldr	r1, [fp, #-124]
	mov	r0, #1
	bl	fatal
.L33:
	ldr	r3, [fp, #-84]
	and	r3, r3, #61440
	cmp	r3, #32768
	bne	.L34
	mov	r3, #1
	str	r3, [fp, #-112]
	ldr	r3, [fp, #-56]
	str	r3, [fp, #-108]
	b	.L35
.L34:
	mov	r3, #0
	str	r3, [fp, #-108]
	ldr	r3, [fp, #-108]
	str	r3, [fp, #-112]
.L35:
	ldr	r3, .L48+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L36
	ldr	r3, .L48+8
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L37
	ldr	r3, [fp, #-108]
	ldr	r2, [fp, #-112]
	ldr	r1, [fp, #-124]
	ldr	r0, [fp, #-120]
	bl	tailbyteoffset
	b	.L36
.L37:
	ldr	r3, [fp, #-108]
	ldr	r2, [fp, #-112]
	ldr	r1, [fp, #-124]
	ldr	r0, [fp, #-120]
	bl	taillineoffset
.L36:
	ldr	r3, .L48+12
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L47
	ldr	r3, [fp, #-120]
	cmp	r3, #0
	bne	.L39
	ldr	r3, .L48+16
	ldr	r3, [r3]
	mov	r2, #67
	mov	r1, #1
	ldr	r0, .L48+20
	bl	fwrite
	mov	r0, #0
	bl	exit
.L39:
	mov	r0, #1
	bl	sleep
	ldr	r3, [fp, #-112]
	cmp	r3, #0
	beq	.L43
	sub	r3, fp, #100
	mov	r1, r3
	ldr	r0, [fp, #-124]
	bl	stat
	mov	r3, r0
	cmn	r3, #1
	bne	.L41
	ldr	r1, .L48+24
	mov	r0, #0
	bl	fatal
	b	.L42
.L41:
	ldr	r3, [fp, #-56]
	ldr	r2, [fp, #-108]
	cmp	r2, r3
	ble	.L42
	ldr	r1, .L48+28
	mov	r0, #0
	bl	fatal
.L42:
	ldr	r3, [fp, #-56]
	str	r3, [fp, #-108]
	b	.L43
.L44:
	ldr	r3, .L48+32
	ldr	r3, [r3]
	ldr	r2, [fp, #-104]
	mov	r1, r3
	mov	r0, #1
	bl	write
	mov	r2, r0
	ldr	r3, [fp, #-104]
	cmp	r3, r2
	beq	.L43
	ldr	r1, .L48+36
	mov	r0, #1
	bl	fatal
.L43:
	ldr	r3, .L48+32
	ldr	r3, [r3]
	ldr	r2, .L48+40
	ldr	r2, [r2]
	mov	r1, r3
	ldr	r0, [fp, #-120]
	bl	read
	str	r0, [fp, #-104]
	ldr	r3, [fp, #-104]
	cmp	r3, #0
	bgt	.L44
	ldr	r3, [fp, #-104]
	cmp	r3, #0
	bge	.L39
	ldr	r1, [fp, #-124]
	mov	r0, #1
	bl	fatal
	b	.L39
.L47:
	nop
	ldr	r3, .L48
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L46
	bl	__stack_chk_fail
.L46:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L49:
	.align	2
.L48:
	.word	.LC13
	.word	offset
	.word	optc
	.word	optf
	.word	stderr
	.word	.LC9
	.word	.LC10
	.word	.LC11
	.word	buf
	.word	.LC12
	.word	bufsize
	.size	tailfile, .-tailfile
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	tailbyteoffset, %function
tailbyteoffset:
	@ 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, [fp, #-24]
	cmp	r3, #0
	beq	.L51
	ldr	r3, .L74
	ldr	r3, [r3]
	cmp	r3, #0
	ble	.L52
	ldr	r3, .L74
	ldr	r3, [r3]
	sub	r2, r3, #1
	ldr	r3, [fp, #-28]
	cmp	r2, r3
	movlt	r3, r2
	movge	r3, r3
	ldr	r2, .L74
	str	r3, [r2]
	b	.L53
.L52:
	ldr	r3, .L74
	ldr	r2, [r3]
	ldr	r3, [fp, #-28]
	add	r3, r2, r3
	bic	r3, r3, r3, asr #31
	ldr	r2, .L74
	str	r3, [r2]
.L53:
	ldr	r3, .L74
	ldr	r3, [r3]
	mov	r2, #0
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	lseek
	mov	r3, r0
	cmn	r3, #1
	bne	.L54
	ldr	r1, [fp, #-20]
	mov	r0, #1
	bl	fatal
.L54:
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	copytoeof
	b	.L73
.L51:
	ldr	r3, .L74
	ldr	r3, [r3]
	cmp	r3, #0
	ble	.L56
	ldr	r3, .L74
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L74
	str	r3, [r2]
.L61:
	ldr	r3, .L74+4
	ldr	r3, [r3]
	ldr	r2, .L74+8
	ldr	r2, [r2]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	read
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bge	.L57
	ldr	r1, [fp, #-20]
	mov	r0, #1
	bl	fatal
.L57:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L58
	ldr	r3, .L74
	mov	r2, #0
	str	r2, [r3]
.L58:
	ldr	r3, .L74
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	bge	.L71
	ldr	r3, .L74
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	sub	r3, r2, r3
	ldr	r2, .L74
	str	r3, [r2]
	b	.L61
.L71:
	nop
	ldr	r3, .L74+4
	ldr	r3, [r3]
	ldr	r2, .L74
	ldr	r2, [r2]
	add	r1, r3, r2
	ldr	r3, .L74
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	sub	r3, r2, r3
	mov	r2, r3
	mov	r0, #1
	bl	write
	mov	r1, r0
	ldr	r3, .L74
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	sub	r3, r2, r3
	cmp	r1, r3
	beq	.L62
	ldr	r1, .L74+12
	mov	r0, #1
	bl	fatal
.L62:
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	copytoeof
	b	.L73
.L56:
	ldr	r3, .L74+8
	ldr	r3, [r3]
	lsr	r2, r3, #31
	add	r3, r2, r3
	asr	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r3, .L74+4
	ldr	r3, [r3]
	ldr	r2, .L74+8
	ldr	r2, [r2]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	read
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bge	.L63
	ldr	r1, [fp, #-20]
	mov	r0, #1
	bl	fatal
.L63:
	ldr	r3, .L74+8
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	bge	.L64
	ldr	r3, .L74
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	bic	r3, r3, r3, asr #31
	ldr	r2, .L74
	str	r3, [r2]
	ldr	r3, .L74
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	sub	r3, r2, r3
	str	r3, [fp, #-28]
	b	.L65
.L64:
	ldr	r3, .L74+4
	ldr	r0, [r3]
	ldr	r3, .L74+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	ldr	r2, [fp, #-12]
	mov	r1, r3
	bl	memcpy
	ldr	r3, .L74+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	ldr	r2, [fp, #-12]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	read
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bge	.L66
	ldr	r1, [fp, #-20]
	mov	r0, #1
	bl	fatal
	b	.L64
.L66:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-12]
	cmp	r2, r3
	blt	.L72
	b	.L64
.L72:
	nop
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-8]
	add	r2, r2, r3
	ldr	r3, .L74
	ldr	r3, [r3]
	add	r3, r2, r3
	bic	r3, r3, r3, asr #31
	ldr	r2, .L74
	str	r3, [r2]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-8]
	add	r2, r2, r3
	ldr	r3, .L74
	ldr	r3, [r3]
	sub	r3, r2, r3
	str	r3, [fp, #-28]
.L65:
	ldr	r3, .L74+4
	ldr	r3, [r3]
	ldr	r2, .L74
	ldr	r2, [r2]
	add	r3, r3, r2
	ldr	r2, [fp, #-28]
	mov	r1, r3
	mov	r0, #1
	bl	write
	mov	r2, r0
	ldr	r3, [fp, #-28]
	cmp	r3, r2
	beq	.L73
	ldr	r1, .L74+12
	mov	r0, #1
	bl	fatal
.L73:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L75:
	.align	2
.L74:
	.word	offset
	.word	buf
	.word	bufsize
	.word	.LC12
	.size	tailbyteoffset, .-tailbyteoffset
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	taillineoffset, %function
taillineoffset:
	@ 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]
	str	r3, [fp, #-36]
	ldr	r3, .L124
	ldr	r3, [r3]
	cmp	r3, #0
	ble	.L77
	ldr	r3, .L124
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L124
	str	r3, [r2]
.L86:
	ldr	r3, .L124+4
	ldr	r3, [r3]
	ldr	r2, .L124+8
	ldr	r2, [r2]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	read
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bge	.L78
	ldr	r1, [fp, #-28]
	mov	r0, #1
	bl	fatal
.L78:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L79
	ldr	r3, .L124
	mov	r2, #0
	str	r2, [r3]
	b	.L80
.L79:
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L81
.L84:
	ldr	r3, .L124+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #10
	bne	.L82
	ldr	r3, .L124
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L124
	str	r3, [r2]
.L82:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L81:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	cmp	r2, r3
	bge	.L83
	ldr	r3, .L124
	ldr	r3, [r3]
	cmp	r3, #0
	bgt	.L84
.L83:
	ldr	r3, .L124
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L86
	ldr	r2, .L124
	ldr	r3, [fp, #-16]
	str	r3, [r2]
.L80:
	ldr	r3, .L124+4
	ldr	r3, [r3]
	ldr	r2, .L124
	ldr	r2, [r2]
	add	r1, r3, r2
	ldr	r3, .L124
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	sub	r3, r2, r3
	mov	r2, r3
	mov	r0, #1
	bl	write
	mov	r1, r0
	ldr	r3, .L124
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	sub	r3, r2, r3
	cmp	r1, r3
	beq	.L87
	ldr	r1, .L124+12
	mov	r0, #1
	bl	fatal
.L87:
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	copytoeof
	b	.L123
.L77:
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	beq	.L89
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	ble	.L89
	ldr	r3, .L124+8
	ldr	r3, [r3]
	ldr	r2, [fp, #-36]
	sub	r3, r2, r3
	bic	r3, r3, r3, asr #31
	str	r3, [fp, #-12]
	mov	r2, #0
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-24]
	bl	lseek
	mov	r3, r0
	cmn	r3, #1
	bne	.L90
	ldr	r1, [fp, #-28]
	mov	r0, #1
	bl	fatal
.L90:
	ldr	r3, .L124+4
	ldr	r3, [r3]
	ldr	r2, .L124+8
	ldr	r2, [r2]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	read
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bge	.L91
	ldr	r1, [fp, #-28]
	mov	r0, #1
	bl	fatal
.L91:
	ldr	r3, .L124+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	sub	r3, r3, #1
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #10
	bne	.L92
	ldr	r3, .L124
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L124
	str	r3, [r2]
.L92:
	ldr	r3, [fp, #-12]
	sub	r3, r3, #1
	str	r3, [fp, #-16]
	b	.L93
.L96:
	ldr	r3, .L124+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #10
	bne	.L94
	ldr	r3, .L124
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L124
	str	r3, [r2]
.L94:
	ldr	r3, [fp, #-16]
	sub	r3, r3, #1
	str	r3, [fp, #-16]
.L93:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	blt	.L95
	ldr	r3, .L124
	ldr	r3, [r3]
	cmp	r3, #0
	blt	.L96
.L95:
	ldr	r3, .L124
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L97
	ldr	r3, [fp, #-16]
	add	r3, r3, #2
	ldr	r2, .L124
	str	r3, [r2]
	b	.L98
.L97:
	ldr	r3, .L124
	mov	r2, #0
	str	r2, [r3]
.L98:
	ldr	r3, .L124
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	sub	r3, r2, r3
	str	r3, [fp, #-36]
	ldr	r3, .L124+4
	ldr	r3, [r3]
	ldr	r2, .L124
	ldr	r2, [r2]
	add	r3, r3, r2
	ldr	r2, [fp, #-36]
	mov	r1, r3
	mov	r0, #1
	bl	write
	mov	r2, r0
	ldr	r3, [fp, #-36]
	cmp	r3, r2
	beq	.L88
	ldr	r1, .L124+12
	mov	r0, #1
	bl	fatal
	b	.L88
.L89:
	ldr	r3, .L124+8
	ldr	r3, [r3]
	lsr	r2, r3, #31
	add	r3, r2, r3
	asr	r3, r3, #1
	str	r3, [fp, #-8]
	ldr	r3, .L124+4
	ldr	r3, [r3]
	ldr	r2, .L124+8
	ldr	r2, [r2]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	read
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bge	.L100
	ldr	r1, [fp, #-28]
	mov	r0, #1
	bl	fatal
.L100:
	ldr	r3, .L124+8
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	bge	.L101
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L102
	ldr	r3, .L124
	mov	r2, #0
	str	r2, [r3]
	b	.L103
.L102:
	ldr	r3, .L124+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	sub	r3, r3, #1
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #10
	bne	.L104
	ldr	r3, .L124
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L124
	str	r3, [r2]
.L104:
	ldr	r3, [fp, #-12]
	sub	r3, r3, #1
	str	r3, [fp, #-16]
	b	.L105
.L108:
	ldr	r3, .L124+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #10
	bne	.L106
	ldr	r3, .L124
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L124
	str	r3, [r2]
.L106:
	ldr	r3, [fp, #-16]
	sub	r3, r3, #1
	str	r3, [fp, #-16]
.L105:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	blt	.L107
	ldr	r3, .L124
	ldr	r3, [r3]
	cmp	r3, #0
	blt	.L108
.L107:
	ldr	r3, .L124
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L109
	ldr	r3, [fp, #-16]
	add	r3, r3, #2
	ldr	r2, .L124
	str	r3, [r2]
	b	.L103
.L109:
	ldr	r3, .L124
	mov	r2, #0
	str	r2, [r3]
.L103:
	ldr	r3, .L124
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	sub	r3, r2, r3
	str	r3, [fp, #-36]
	b	.L110
.L101:
	ldr	r3, .L124+4
	ldr	r0, [r3]
	ldr	r3, .L124+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	ldr	r2, [fp, #-8]
	mov	r1, r3
	bl	memcpy
	ldr	r3, .L124+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	ldr	r2, [fp, #-8]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	read
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bge	.L111
	ldr	r1, [fp, #-28]
	mov	r0, #1
	bl	fatal
	b	.L101
.L111:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-8]
	cmp	r2, r3
	blt	.L122
	b	.L101
.L122:
	nop
	ldr	r3, .L124+4
	ldr	r2, [r3]
	ldr	r1, [fp, #-8]
	ldr	r3, [fp, #-12]
	add	r3, r1, r3
	sub	r3, r3, #1
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #10
	bne	.L114
	ldr	r3, .L124
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L124
	str	r3, [r2]
.L114:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	sub	r3, r3, #1
	str	r3, [fp, #-16]
	b	.L115
.L118:
	ldr	r3, .L124+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #10
	bne	.L116
	ldr	r3, .L124
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L124
	str	r3, [r2]
.L116:
	ldr	r3, [fp, #-16]
	sub	r3, r3, #1
	str	r3, [fp, #-16]
.L115:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	blt	.L117
	ldr	r3, .L124
	ldr	r3, [r3]
	cmp	r3, #0
	blt	.L118
.L117:
	ldr	r3, .L124
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L119
	ldr	r3, [fp, #-16]
	add	r3, r3, #2
	ldr	r2, .L124
	str	r3, [r2]
	b	.L120
.L119:
	ldr	r3, .L124
	mov	r2, #0
	str	r2, [r3]
.L120:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-12]
	add	r2, r2, r3
	ldr	r3, .L124
	ldr	r3, [r3]
	sub	r3, r2, r3
	str	r3, [fp, #-36]
.L110:
	ldr	r3, .L124+4
	ldr	r3, [r3]
	ldr	r2, .L124
	ldr	r2, [r2]
	add	r3, r3, r2
	ldr	r2, [fp, #-36]
	mov	r1, r3
	mov	r0, #1
	bl	write
	mov	r2, r0
	ldr	r3, [fp, #-36]
	cmp	r3, r2
	beq	.L123
	ldr	r1, .L124+12
	mov	r0, #1
	bl	fatal
	b	.L123
.L88:
.L123:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L125:
	.align	2
.L124:
	.word	offset
	.word	buf
	.word	bufsize
	.word	.LC12
	.size	taillineoffset, .-taillineoffset
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	copytoeof, %function
copytoeof:
	@ 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]
	b	.L127
.L128:
	ldr	r3, .L131
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	mov	r1, r3
	mov	r0, #1
	bl	write
	mov	r2, r0
	ldr	r3, [fp, #-8]
	cmp	r3, r2
	beq	.L127
	ldr	r1, .L131+4
	mov	r0, #1
	bl	fatal
.L127:
	ldr	r3, .L131
	ldr	r3, [r3]
	ldr	r2, .L131+8
	ldr	r2, [r2]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	read
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bgt	.L128
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bge	.L130
	ldr	r1, [fp, #-20]
	mov	r0, #1
	bl	fatal
.L130:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L132:
	.align	2
.L131:
	.word	buf
	.word	.LC12
	.word	bufsize
	.size	copytoeof, .-copytoeof
	.section	.rodata
	.align	2
.LC14:
	.ascii	"tail: %s: %s\012\000"
	.align	2
.LC15:
	.ascii	"tail: %s\012\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	fatal, %function
fatal:
	@ 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, [fp, #-16]
	cmp	r3, #1
	bne	.L134
	ldr	r3, .L136
	ldr	r4, [r3]
	bl	__errno_location
	mov	r3, r0
	ldr	r3, [r3]
	mov	r0, r3
	bl	strerror
	mov	r3, r0
	ldr	r2, [fp, #-20]
	ldr	r1, .L136+4
	mov	r0, r4
	bl	fprintf
	b	.L135
.L134:
	ldr	r3, .L136
	ldr	r3, [r3]
	ldr	r2, [fp, #-20]
	ldr	r1, .L136+8
	mov	r0, r3
	bl	fprintf
.L135:
	mov	r0, #1
	bl	exit
.L137:
	.align	2
.L136:
	.word	stderr
	.word	.LC14
	.word	.LC15
	.size	fatal, .-fatal
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
