	.file	"extr_h_db.c_main.c"
	.intel_syntax noprefix
	.text
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC0:
	.string	"/var/tmp"
.LC1:
	.string	"Cannot create `%s'"
.LC2:
	.string	"f:i:lo:s"
.LC3:
	.string	"-"
.LC4:
	.string	"r"
.LC5:
	.string	"Cannot reopen `%s'"
.LC6:
	.string	",\t "
.LC7:
	.string	"TMPDIR"
.LC8:
	.string	"%s/__dbtest"
.LC9:
	.string	"write failed"
.LC10:
	.string	"\n"
	.section	.rodata.str1.8,"aMS",@progbits,1
	.align 8
.LC11:
	.string	"line %zu: command doesn't take data"
	.align 8
.LC12:
	.string	"line %zu: 'K' not available for recno"
	.align 8
.LC13:
	.string	"line %zu: command doesn't take a key"
	.align 8
.LC14:
	.string	"line %zu: %s: unknown command character"
	.section	.rodata.str1.1
.LC15:
	.string	"db->close failed"
.LC16:
	.string	"Cannot dbopen `%s'"
	.section	.text.startup,"ax",@progbits
	.p2align 4
	.globl	main
	.type	main, @function
main:
.LFB0:
	.cfi_startproc
	endbr64
	push	r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	push	r14
	.cfi_def_cfa_offset 24
	.cfi_offset 14, -24
	push	r13
	.cfi_def_cfa_offset 32
	.cfi_offset 13, -32
	push	r12
	.cfi_def_cfa_offset 40
	.cfi_offset 12, -40
	push	rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	push	rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	sub	rsp, 4096
	.cfi_def_cfa_offset 4152
	or	QWORD PTR [rsp], 0
	sub	rsp, 4096
	.cfi_def_cfa_offset 8248
	or	QWORD PTR [rsp], 0
	sub	rsp, 88
	.cfi_def_cfa_offset 8336
	mov	r14d, DWORD PTR O_CREAT[rip]
	xor	r15d, r15d
	xor	r13d, r13d
	or	r14d, DWORD PTR O_RDWR[rip]
	lea	rbx, .L5[rip]
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR 8264[rsp], rax
	xor	eax, eax
	mov	eax, DWORD PTR COMMAND[rip]
	mov	ebp, edi
	mov	r12, rsi
	mov	QWORD PTR [rsp], 0
	mov	DWORD PTR 12[rsp], eax
.L2:
	lea	rdx, .LC2[rip]
	mov	rsi, r12
	mov	edi, ebp
	call	getopt@PLT
	cmp	eax, -1
	je	.L106
	sub	eax, 102
	cmp	eax, 13
	ja	.L3
	movsx	rax, DWORD PTR [rbx+rax*4]
	add	rax, rbx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L5:
	.long	.L9-.L5
	.long	.L3-.L5
	.long	.L3-.L5
	.long	.L8-.L5
	.long	.L3-.L5
	.long	.L3-.L5
	.long	.L7-.L5
	.long	.L3-.L5
	.long	.L3-.L5
	.long	.L6-.L5
	.long	.L3-.L5
	.long	.L3-.L5
	.long	.L3-.L5
	.long	.L78-.L5
	.section	.text.startup
.L78:
	mov	r13d, 1
	jmp	.L2
.L6:
	mov	rdi, QWORD PTR optarg[rip]
	mov	esi, DWORD PTR O_WRONLY[rip]
	mov	edx, 438
	or	esi, DWORD PTR O_CREAT[rip]
	or	esi, DWORD PTR O_TRUNC[rip]
	call	open@PLT
	mov	QWORD PTR ofd[rip], rax
	test	rax, rax
	jns	.L2
	mov	rdx, QWORD PTR optarg[rip]
	lea	rsi, .LC1[rip]
	mov	edi, 1
	xor	eax, eax
	call	err@PLT
	jmp	.L2
.L7:
	or	r14d, DWORD PTR DB_LOCK[rip]
	jmp	.L2
.L8:
	mov	rax, QWORD PTR optarg[rip]
	mov	QWORD PTR [rsp], rax
	jmp	.L2
.L9:
	mov	r15, QWORD PTR optarg[rip]
	jmp	.L2
.L3:
	xor	eax, eax
	call	usage@PLT
	jmp	.L2
	.p2align 4,,10
	.p2align 3
.L106:
	movsx	rdx, DWORD PTR optind[rip]
	sub	ebp, edx
	lea	rbx, [r12+rdx*8]
	cmp	ebp, 2
	je	.L11
	xor	eax, eax
	call	usage@PLT
.L11:
	mov	edi, DWORD PTR [rbx]
	call	dbtype@PLT
	mov	rdi, QWORD PTR 8[rbx]
	lea	rsi, .LC3[rip]
	mov	QWORD PTR type[rip], rax
	call	strcmp@PLT
	test	rax, rax
	jne	.L107
.L13:
	cmp	QWORD PTR [rsp], 0
	je	.L108
	mov	rdi, QWORD PTR [rsp]
	lea	rsi, .LC6[rip]
	lea	rbx, .LC6[rip]
	call	strtok@PLT
	test	rax, rax
	jne	.L17
	.p2align 4,,10
	.p2align 3
.L16:
	test	r15, r15
	je	.L109
	test	r13d, r13d
	je	.L110
.L24:
	mov	r8, QWORD PTR infop[rip]
	mov	rcx, QWORD PTR type[rip]
	mov	esi, r14d
	mov	rdi, r15
	mov	edx, DWORD PTR S_IWUSR[rip]
	or	edx, DWORD PTR S_IRUSR[rip]
	call	dbopen@PLT
	mov	rbp, rax
	test	rax, rax
	je	.L111
	mov	QWORD PTR XXdbp[rip], rbp
	lea	rbx, 64[rsp]
.L74:
	lea	rax, 32[rsp]
	mov	r12d, DWORD PTR COMMAND[rip]
	mov	DWORD PTR lineno[rip], 1
	lea	r13, .L35[rip]
	mov	QWORD PTR [rsp], rax
	.p2align 4,,10
	.p2align 3
.L25:
	mov	edx, DWORD PTR stdin[rip]
	mov	esi, 8192
	mov	rdi, rbx
	call	fgets@PLT
	mov	r15, rax
	test	rax, rax
	je	.L112
	mov	rax, QWORD PTR STDOUT_FILENO[rip]
	cmp	QWORD PTR ofd[rip], rax
	je	.L113
.L27:
	mov	r14, rbx
.L29:
	mov	esi, DWORD PTR [r14]
	add	r14, 4
	lea	eax, -16843009[rsi]
	not	esi
	and	eax, esi
	and	eax, -2139062144
	je	.L29
	mov	esi, eax
	shr	esi, 16
	test	eax, 32896
	cmove	eax, esi
	lea	rsi, 2[r14]
	cmove	r14, rsi
	mov	ecx, eax
	add	cl, al
	sbb	r14, 3
	sub	r14, rbx
	je	.L31
	movzx	edi, BYTE PTR [r15]
	call	isspace@PLT
	test	rax, rax
	jne	.L31
	movzx	eax, BYTE PTR [r15]
	cmp	al, 35
	je	.L31
	mov	r8d, DWORD PTR lineno[rip]
	cmp	DWORD PTR XXlineno[rip], r8d
	jne	.L32
	mov	DWORD PTR XXlineno[rip], 1
	movzx	eax, BYTE PTR [r15]
.L32:
	sub	eax, 68
	cmp	al, 47
	ja	.L33
	movzx	eax, al
	movsx	rax, DWORD PTR 0[r13+rax*4]
	add	rax, r13
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L35:
	.long	.L47-.L35
	.long	.L33-.L35
	.long	.L33-.L35
	.long	.L33-.L35
	.long	.L33-.L35
	.long	.L33-.L35
	.long	.L33-.L35
	.long	.L46-.L35
	.long	.L33-.L35
	.long	.L33-.L35
	.long	.L33-.L35
	.long	.L33-.L35
	.long	.L33-.L35
	.long	.L33-.L35
	.long	.L33-.L35
	.long	.L45-.L35
	.long	.L33-.L35
	.long	.L33-.L35
	.long	.L33-.L35
	.long	.L33-.L35
	.long	.L33-.L35
	.long	.L33-.L35
	.long	.L33-.L35
	.long	.L33-.L35
	.long	.L33-.L35
	.long	.L33-.L35
	.long	.L33-.L35
	.long	.L33-.L35
	.long	.L33-.L35
	.long	.L33-.L35
	.long	.L33-.L35
	.long	.L44-.L35
	.long	.L43-.L35
	.long	.L42-.L35
	.long	.L41-.L35
	.long	.L40-.L35
	.long	.L33-.L35
	.long	.L33-.L35
	.long	.L33-.L35
	.long	.L39-.L35
	.long	.L33-.L35
	.long	.L33-.L35
	.long	.L33-.L35
	.long	.L38-.L35
	.long	.L37-.L35
	.long	.L33-.L35
	.long	.L36-.L35
	.long	.L34-.L35
	.section	.text.startup
	.p2align 4,,10
	.p2align 3
.L114:
	mov	rdi, QWORD PTR type[rip]
	mov	rsi, rax
	call	setinfo@PLT
	mov	QWORD PTR infop[rip], rax
.L18:
	xor	edi, edi
	mov	rsi, rbx
	call	strtok@PLT
	test	rax, rax
	je	.L16
.L17:
	cmp	BYTE PTR [rax], 0
	je	.L18
	jmp	.L114
.L47:
	mov	edi, r12d
	call	chkdata@PLT
	lea	rsi, 16[rsp]
	lea	rdi, 1[r15]
	call	rfile@PLT
	mov	QWORD PTR 24[rsp], rax
.L53:
	mov	eax, DWORD PTR 12[rsp]
	cmp	eax, 130
	je	.L54
	cmp	eax, 132
	jne	.L55
	lea	rsi, 16[rsp]
	lea	rdi, 48[rsp]
	call	compare@PLT
.L56:
	mov	rax, QWORD PTR DB_RECNO[rip]
	cmp	QWORD PTR type[rip], rax
	je	.L57
	mov	rdi, QWORD PTR 40[rsp]
	call	free@PLT
.L57:
	mov	rdi, QWORD PTR 24[rsp]
	call	free@PLT
	mov	r12d, DWORD PTR COMMAND[rip]
	.p2align 4,,10
	.p2align 3
.L31:
	add	DWORD PTR lineno[rip], 1
	jmp	.L25
	.p2align 4,,10
	.p2align 3
.L113:
	mov	esi, 10
	mov	rdi, r15
	call	strchr@PLT
	test	rax, rax
	je	.L27
	mov	BYTE PTR [rax], 0
	jmp	.L27
	.p2align 4,,10
	.p2align 3
.L112:
	mov	rdi, rbp
	call	[QWORD PTR 0[rbp]]
	test	rax, rax
	jne	.L115
.L72:
	mov	rdi, QWORD PTR ofd[rip]
	call	close@PLT
	mov	rax, QWORD PTR 8264[rsp]
	xor	rax, QWORD PTR fs:40
	jne	.L116
	add	rsp, 8280
	.cfi_remember_state
	.cfi_def_cfa_offset 56
	xor	eax, eax
	pop	rbx
	.cfi_def_cfa_offset 48
	pop	rbp
	.cfi_def_cfa_offset 40
	pop	r12
	.cfi_def_cfa_offset 32
	pop	r13
	.cfi_def_cfa_offset 24
	pop	r14
	.cfi_def_cfa_offset 16
	pop	r15
	.cfi_def_cfa_offset 8
	ret
.L108:
	.cfi_restore_state
	mov	QWORD PTR infop[rip], 0
	jmp	.L16
.L115:
	lea	rsi, .LC15[rip]
	mov	edi, 1
	xor	eax, eax
	call	err@PLT
	jmp	.L72
.L107:
	mov	rdi, QWORD PTR 8[rbx]
	mov	edx, DWORD PTR stdin[rip]
	lea	rsi, .LC4[rip]
	call	freopen@PLT
	test	rax, rax
	jne	.L13
	mov	rdx, QWORD PTR 8[rbx]
	lea	rsi, .LC5[rip]
	mov	edi, 1
	call	err@PLT
	jmp	.L13
.L110:
	mov	rdi, r15
	call	unlink@PLT
	jmp	.L24
.L33:
	mov	rcx, r15
	mov	edx, r8d
	lea	rsi, .LC14[rip]
	xor	eax, eax
	mov	edi, 1
	call	errx@PLT
	jmp	.L31
.L46:
	mov	edi, r12d
	call	chkkey@PLT
	mov	rax, QWORD PTR DB_RECNO[rip]
	cmp	QWORD PTR type[rip], rax
	je	.L117
.L58:
	mov	rsi, QWORD PTR [rsp]
	lea	rdi, 1[r15]
	call	rfile@PLT
	mov	QWORD PTR 40[rsp], rax
.L59:
	mov	eax, DWORD PTR 12[rsp]
	add	eax, -128
	cmp	eax, 4
	ja	.L61
	lea	rcx, .L63[rip]
	movsx	rax, DWORD PTR [rcx+rax*4]
	add	rax, rcx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L63:
	.long	.L67-.L63
	.long	.L66-.L63
	.long	.L65-.L63
	.long	.L64-.L63
	.long	.L62-.L63
	.section	.text.startup
.L64:
	mov	rsi, QWORD PTR [rsp]
	mov	rdi, rbp
	call	get@PLT
	mov	rax, QWORD PTR DB_RECNO[rip]
	cmp	QWORD PTR type[rip], rax
	jne	.L102
.L70:
	mov	r12d, DWORD PTR COMMAND[rip]
	jmp	.L31
.L65:
	mov	r12d, DWORD PTR DATA[rip]
	jmp	.L31
.L66:
	mov	rsi, QWORD PTR [rsp]
	mov	rdi, rbp
	call	rem@PLT
	mov	rax, QWORD PTR DB_RECNO[rip]
	cmp	QWORD PTR type[rip], rax
	je	.L70
.L104:
	mov	eax, DWORD PTR R_CURSOR[rip]
	cmp	DWORD PTR flags[rip], eax
	je	.L70
.L102:
	mov	rdi, QWORD PTR 40[rsp]
	call	free@PLT
	jmp	.L70
.L67:
	mov	rsi, QWORD PTR [rsp]
	mov	rdi, rbp
	call	seq@PLT
	mov	rax, QWORD PTR DB_RECNO[rip]
	cmp	QWORD PTR type[rip], rax
	jne	.L104
	jmp	.L70
.L62:
	mov	rsi, QWORD PTR [rsp]
	lea	rdx, 48[rsp]
	mov	rdi, rbp
	call	getdata@PLT
	mov	r12d, DWORD PTR DATA[rip]
	jmp	.L31
.L45:
	mov	edi, r12d
	call	chkcmd@PLT
	mov	rdi, rbp
	call	synk@PLT
	mov	r12d, DWORD PTR COMMAND[rip]
	jmp	.L31
.L44:
	mov	edi, r12d
	call	chkcmd@PLT
	mov	DWORD PTR 12[rsp], 132
	mov	r12d, DWORD PTR KEY[rip]
	jmp	.L31
.L43:
	mov	edi, r12d
	sub	r14, 1
	call	chkdata@PLT
	lea	rdi, 1[r15]
	mov	rsi, r14
	call	xcopy@PLT
	mov	QWORD PTR 16[rsp], r14
	mov	QWORD PTR 24[rsp], rax
	jmp	.L53
.L42:
	mov	edi, r12d
	call	chkcmd@PLT
	cmp	BYTE PTR -2[r15+r14], 13
	jne	.L48
	sub	r14, 1
.L48:
	sub	r14d, 1
	mov	rdi, QWORD PTR ofd[rip]
	lea	rsi, 1[r15]
	mov	edx, r14d
	call	write@PLT
	cmp	eax, r14d
	je	.L49
.L50:
	lea	rsi, .LC9[rip]
	mov	edi, 1
	xor	eax, eax
	call	err@PLT
	jmp	.L31
.L41:
	lea	rdi, 1[r15]
	call	setflags@PLT
	mov	DWORD PTR flags[rip], eax
	jmp	.L31
.L38:
	xor	esi, esi
	cmp	BYTE PTR 1[r15], 114
	mov	rdi, rbp
	sete	sil
	xor	edx, edx
	call	dump@PLT
	jmp	.L31
.L37:
	mov	edi, r12d
	call	chkcmd@PLT
	mov	DWORD PTR 12[rsp], 130
	mov	r12d, DWORD PTR KEY[rip]
	jmp	.L31
.L36:
	mov	edi, r12d
	call	chkcmd@PLT
	mov	eax, DWORD PTR R_CURSOR[rip]
	cmp	DWORD PTR flags[rip], eax
	je	.L118
	mov	DWORD PTR 12[rsp], 129
	mov	r12d, DWORD PTR KEY[rip]
	jmp	.L31
.L34:
	mov	edi, r12d
	call	chkcmd@PLT
	mov	eax, DWORD PTR R_CURSOR[rip]
	cmp	DWORD PTR flags[rip], eax
	jne	.L52
	mov	DWORD PTR 12[rsp], 128
	mov	r12d, DWORD PTR KEY[rip]
	jmp	.L31
.L40:
	mov	edi, r12d
	call	chkcmd@PLT
	mov	DWORD PTR 12[rsp], 131
	mov	r12d, DWORD PTR KEY[rip]
	jmp	.L31
.L39:
	mov	edi, r12d
	call	chkkey@PLT
	mov	rax, QWORD PTR DB_RECNO[rip]
	lea	rdi, 1[r15]
	cmp	QWORD PTR type[rip], rax
	je	.L119
	lea	r15, -1[r14]
	mov	rsi, r15
	call	xcopy@PLT
	mov	QWORD PTR 32[rsp], r15
	mov	QWORD PTR 40[rsp], rax
	jmp	.L59
.L109:
	lea	rdi, .LC7[rip]
	call	getenv@PLT
	mov	rcx, rax
	test	rax, rax
	je	.L120
.L21:
	lea	rbx, 64[rsp]
	lea	rdx, .LC8[rip]
	mov	esi, 8192
	mov	rdi, rbx
	call	snprintf@PLT
	mov	rdi, rbx
	call	unlink@PLT
	mov	r8, QWORD PTR infop[rip]
	mov	esi, r14d
	mov	rdi, rbx
	mov	rcx, QWORD PTR type[rip]
	mov	edx, DWORD PTR S_IWUSR[rip]
	or	edx, DWORD PTR S_IRUSR[rip]
	call	dbopen@PLT
	mov	rbp, rax
	test	rax, rax
	je	.L121
	mov	QWORD PTR XXdbp[rip], rax
.L73:
	mov	rdi, rbx
	call	unlink@PLT
	jmp	.L74
.L54:
	mov	rsi, QWORD PTR [rsp]
	lea	rdx, 16[rsp]
	mov	rdi, rbp
	call	put@PLT
	jmp	.L56
.L55:
	mov	edx, DWORD PTR lineno[rip]
	lea	rsi, .LC11[rip]
	mov	edi, 1
	xor	eax, eax
	call	errx@PLT
	jmp	.L56
.L52:
	mov	rsi, QWORD PTR [rsp]
	mov	rdi, rbp
	call	seq@PLT
	jmp	.L31
.L119:
	call	atoi@PLT
	mov	QWORD PTR 32[rsp], 4
	mov	DWORD PTR recno.2124[rip], eax
	lea	rax, recno.2124[rip]
	mov	QWORD PTR 40[rsp], rax
	jmp	.L59
.L49:
	mov	rdi, QWORD PTR ofd[rip]
	mov	edx, 1
	lea	rsi, .LC10[rip]
	call	write@PLT
	sub	eax, 1
	jne	.L50
	jmp	.L31
.L120:
	lea	rcx, .LC0[rip]
	jmp	.L21
.L61:
	mov	edx, DWORD PTR lineno[rip]
	lea	rsi, .LC13[rip]
	mov	edi, 1
	xor	eax, eax
	call	errx@PLT
	jmp	.L31
.L117:
	mov	edx, DWORD PTR lineno[rip]
	lea	rsi, .LC12[rip]
	mov	edi, 1
	xor	eax, eax
	call	errx@PLT
	jmp	.L58
.L118:
	mov	rsi, QWORD PTR [rsp]
	mov	rdi, rbp
	call	rem@PLT
	mov	r12d, DWORD PTR COMMAND[rip]
	jmp	.L31
.L121:
	mov	rdx, rbx
	lea	rsi, .LC16[rip]
	mov	edi, 1
	xor	eax, eax
	call	err@PLT
	mov	QWORD PTR XXdbp[rip], 0
	jmp	.L73
.L111:
	mov	rdx, r15
	mov	edi, 1
	lea	rbx, 64[rsp]
	xor	eax, eax
	lea	rsi, .LC16[rip]
	call	err@PLT
	mov	QWORD PTR XXdbp[rip], 0
	jmp	.L74
.L116:
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE0:
	.size	main, .-main
	.local	recno.2124
	.comm	recno.2124,4,4
	.comm	type,8,8
	.comm	stdin,4,4
	.comm	ofd,8,8
	.comm	lineno,4,4
	.comm	infop,8,8
	.comm	flags,4,4
	.comm	XXlineno,4,4
	.comm	XXdbp,8,8
	.comm	S_IWUSR,4,4
	.comm	S_IRUSR,4,4
	.comm	STDOUT_FILENO,8,8
	.comm	R_CURSOR,4,4
	.comm	O_WRONLY,4,4
	.comm	O_TRUNC,4,4
	.comm	O_RDWR,4,4
	.comm	O_CREAT,4,4
	.comm	KEY,4,4
	.comm	DB_RECNO,8,8
	.comm	DB_LOCK,4,4
	.comm	DB_BTREE,8,8
	.comm	DATA,4,4
	.comm	COMMAND,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	 1f - 0f
	.long	 4f - 1f
	.long	 5
0:
	.string	 "GNU"
1:
	.align 8
	.long	 0xc0000002
	.long	 3f - 2f
2:
	.long	 0x3
3:
	.align 8
4:

	.arch armv5t
	.eabi_attribute 20, 1
	.eabi_attribute 21, 1
	.eabi_attribute 23, 3
	.eabi_attribute 24, 1
	.eabi_attribute 25, 1
	.eabi_attribute 26, 2
	.eabi_attribute 30, 2
	.eabi_attribute 34, 0
	.eabi_attribute 18, 4
	.file	"extr_h_db.c_main.c"
	.text
	.section	.rodata.str1.4,"aMS",%progbits,1
	.align	2
.LC0:
	.ascii	"/var/tmp\000"
	.align	2
.LC1:
	.ascii	"Cannot create `%s'\000"
	.align	2
.LC2:
	.ascii	"f:i:lo:s\000"
	.align	2
.LC3:
	.ascii	"r\000"
	.align	2
.LC4:
	.ascii	"Cannot reopen `%s'\000"
	.align	2
.LC5:
	.ascii	",\011 \000"
	.align	2
.LC6:
	.ascii	"TMPDIR\000"
	.align	2
.LC7:
	.ascii	"%s/__dbtest\000"
	.align	2
.LC8:
	.ascii	"write failed\000"
	.align	2
.LC9:
	.ascii	"\012\000"
	.align	2
.LC10:
	.ascii	"line %zu: command doesn't take data\000"
	.align	2
.LC11:
	.ascii	"line %zu: 'K' not available for recno\000"
	.align	2
.LC12:
	.ascii	"line %zu: command doesn't take a key\000"
	.align	2
.LC13:
	.ascii	"line %zu: %s: unknown command character\000"
	.align	2
.LC14:
	.ascii	"db->close failed\000"
	.align	2
.LC15:
	.ascii	"Cannot dbopen `%s'\000"
	.section	.rodata.cst4,"aM",%progbits,4
	.align	2
.LC16:
	.word	__stack_chk_guard
	.section	.text.startup,"ax",%progbits
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ args = 0, pretend = 0, frame = 8248
	@ frame_needed = 0, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, r10, fp, lr}
	mov	r9, #0
	mov	r4, r0
	mov	r6, r9
	ldr	r10, .L125
	ldr	r3, .L125+4
	ldr	r8, [r10]
	ldr	r3, [r3]
	sub	sp, sp, #8256
	orr	r8, r8, r3
	ldr	r3, .L125+8
	sub	sp, sp, #4
	add	r2, sp, #8192
	mov	r5, r1
	ldr	r3, [r3]
	ldr	r1, .L125+12
	ldr	fp, .L125+16
	ldr	r7, .L125+20
	ldr	r1, [r1]
	str	r1, [r2, #60]
	mov	r1,#0
	add	r2, r2, #60
	str	r9, [sp, #12]
	str	r3, [sp, #24]
.L2:
	mov	r2, r7
	mov	r1, r5
	mov	r0, r4
	bl	getopt
	cmn	r0, #1
	beq	.L109
	sub	r0, r0, #102
	cmp	r0, #13
	ldrls	pc, [pc, r0, asl #2]
	b	.L3
.L5:
	.word	.L9
	.word	.L3
	.word	.L3
	.word	.L8
	.word	.L3
	.word	.L3
	.word	.L7
	.word	.L3
	.word	.L3
	.word	.L6
	.word	.L3
	.word	.L3
	.word	.L3
	.word	.L77
.L77:
	mov	r6, #1
	b	.L2
.L6:
	ldr	r3, .L125+24
	ldr	r1, .L125+28
	ldr	r2, [r10]
	ldr	r3, [r3]
	ldr	r1, [r1]
	orr	r3, r3, r2
	orr	r1, r3, r1
	ldr	r3, .L125+32
	ldr	r2, .L125+36
	ldr	r0, [r3]
	bl	open
	cmp	r0, #0
	str	r0, [fp]
	bge	.L2
	ldr	r3, .L125+32
	ldr	r1, .L125+40
	ldr	r2, [r3]
	mov	r0, #1
	bl	err
	b	.L2
.L7:
	ldr	r3, .L125+44
	ldr	r3, [r3]
	orr	r8, r8, r3
	b	.L2
.L8:
	ldr	r3, .L125+32
	ldr	r9, [r3]
	b	.L2
.L9:
	ldr	r3, .L125+32
	ldr	r3, [r3]
	str	r3, [sp, #12]
	b	.L2
.L3:
	bl	usage
	b	.L2
.L109:
	ldr	r3, .L125+48
	ldr	r7, [r3]
	sub	r4, r4, r7
	cmp	r4, #2
	add	r4, r5, r7, lsl #2
	beq	.L11
	bl	usage
.L11:
	ldr	r0, [r5, r7, lsl #2]
	bl	dbtype
	ldr	r2, .L125+52
	ldr	r3, [r4, #4]
	str	r0, [r2]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r7, .L125+56
	cmp	r2, #45
	beq	.L110
.L13:
	mov	r0, r3
	ldr	r2, [r7]
	ldr	r1, .L125+60
	bl	freopen
	cmp	r0, #0
	beq	.L111
.L14:
	cmp	r9, #0
	beq	.L112
	ldr	r1, .L125+64
	mov	r0, r9
	bl	strtok
	subs	r1, r0, #0
	ldr	r4, .L125+68
	ldrne	r5, .L125+64
	bne	.L18
.L17:
	ldr	r3, [sp, #12]
	cmp	r3, #0
	beq	.L113
	cmp	r6, #0
	beq	.L114
.L25:
	ldr	r2, .L125+72
	ldr	r3, .L125+76
	ldr	r2, [r2]
	ldr	r3, [r3]
	ldr	r1, [r4]
	orr	r2, r2, r3
	ldr	r3, .L125+52
	str	r1, [sp]
	ldr	r3, [r3]
	mov	r1, r8
	ldr	r0, [sp, #12]
	bl	dbopen
	subs	r3, r0, #0
	str	r3, [sp, #16]
	beq	.L115
.L102:
	add	r2, sp, #64
	ldr	r3, .L125+80
	str	r2, [sp, #20]
	ldr	r2, [sp, #16]
	add	r6, sp, #60
	str	r2, [r3]
.L73:
	mov	r3, #1
	ldr	r2, .L125+8
	ldr	r5, .L125+84
	ldr	r2, [r2]
	ldr	r8, .L125+88
	ldr	r9, .L125+92
	str	r2, [sp, #12]
	str	r3, [r5]
.L26:
	mov	r1, #8192
	mov	r0, r6
	ldr	r2, [r7]
	bl	fgets
	subs	r4, r0, #0
	beq	.L116
	ldr	r2, [fp]
	ldr	r3, [r8]
	cmp	r2, r3
	beq	.L117
.L28:
	mov	r0, r6
	bl	strlen
	subs	r10, r0, #0
	beq	.L30
	ldrb	r0, [r4]	@ zero_extendqisi2
	bl	isspace
	cmp	r0, #0
	bne	.L30
	ldrb	r3, [r4]	@ zero_extendqisi2
	cmp	r3, #35
	beq	.L30
	ldr	r0, [r9]
	ldr	r2, [r5]
	cmp	r0, r2
	moveq	r3, #1
	streq	r3, [r9]
	ldrbeq	r3, [r4]	@ zero_extendqisi2
	sub	r3, r3, #68
	cmp	r3, #47
	ldrls	pc, [pc, r3, asl #2]
	b	.L32
.L34:
	.word	.L46
	.word	.L32
	.word	.L32
	.word	.L32
	.word	.L32
	.word	.L32
	.word	.L32
	.word	.L45
	.word	.L32
	.word	.L32
	.word	.L32
	.word	.L32
	.word	.L32
	.word	.L32
	.word	.L32
	.word	.L44
	.word	.L32
	.word	.L32
	.word	.L32
	.word	.L32
	.word	.L32
	.word	.L32
	.word	.L32
	.word	.L32
	.word	.L32
	.word	.L32
	.word	.L32
	.word	.L32
	.word	.L32
	.word	.L32
	.word	.L32
	.word	.L43
	.word	.L42
	.word	.L41
	.word	.L40
	.word	.L39
	.word	.L32
	.word	.L32
	.word	.L32
	.word	.L38
	.word	.L32
	.word	.L32
	.word	.L32
	.word	.L37
	.word	.L36
	.word	.L32
	.word	.L35
	.word	.L33
.L118:
	ldr	r3, .L125+52
	ldr	r0, [r3]
	bl	setinfo
	str	r0, [r4]
.L19:
	mov	r1, r5
	mov	r0, #0
	bl	strtok
	subs	r1, r0, #0
	beq	.L17
.L18:
	ldrb	r3, [r1]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L19
	b	.L118
.L46:
	ldr	r0, [sp, #12]
	bl	chkdata
	add	r0, r4, #1
	ldr	r4, [sp, #20]
	sub	r1, r4, #28
	bl	rfile
	str	r0, [r4, #-24]
.L52:
	ldr	r3, [sp, #24]
	cmp	r3, #130
	beq	.L53
	cmp	r3, #132
	bne	.L54
	ldr	r3, [sp, #20]
	sub	r1, r3, #28
	sub	r0, r3, #12
	bl	compare
.L55:
	ldr	r3, .L125+96
	ldr	r2, .L125+52
	ldr	r3, [r3]
	ldr	r2, [r2]
	cmp	r2, r3
	beq	.L56
	ldr	r3, [sp, #20]
	ldr	r0, [r3, #-16]
	bl	free
.L56:
	ldr	r3, [sp, #20]
	ldr	r0, [r3, #-24]
	bl	free
	ldr	r3, .L125+8
	ldr	r3, [r3]
	str	r3, [sp, #12]
.L30:
	ldr	r3, [r5]
	add	r3, r3, #1
	str	r3, [r5]
	b	.L26
.L117:
	mov	r1, #10
	bl	strchr
	cmp	r0, #0
	movne	r3, #0
	strbne	r3, [r0]
	b	.L28
.L116:
	ldr	r0, [sp, #16]
	ldr	r3, [r0]
	blx	r3
	cmp	r0, #0
	bne	.L119
.L71:
	ldr	r0, [fp]
	bl	close
	add	r3, sp, #8192
	ldr	r2, .L125+12
	add	r3, r3, #60
	ldr	r1, [r2]
	ldr	r2, [r3]
	eors	r1, r2, r1
	mov	r2, #0
	bne	.L120
	mov	r0, #0
	add	sp, sp, #8256
	add	sp, sp, #4
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, r10, fp, pc}
.L110:
	ldrb	r2, [r3, #1]	@ zero_extendqisi2
	cmp	r2, #0
	beq	.L14
	b	.L13
.L112:
	ldr	r4, .L125+68
	str	r9, [r4]
	b	.L17
.L119:
	ldr	r1, .L125+100
	mov	r0, #1
	bl	err
	b	.L71
.L114:
	ldr	r0, [sp, #12]
	bl	unlink
	b	.L25
.L32:
	mov	r3, r4
	ldr	r1, .L125+104
	mov	r0, #1
	bl	errx
	b	.L30
.L45:
	ldr	r3, .L125+96
	ldr	r0, [sp, #12]
	mov	r10, r3
	str	r3, [sp, #28]
	bl	chkkey
	ldr	r2, .L125+52
	ldr	r3, [r10]
	ldr	r2, [r2]
	cmp	r2, r3
	beq	.L121
.L57:
	add	r0, r4, #1
	ldr	r4, [sp, #20]
	sub	r1, r4, #20
	bl	rfile
	str	r0, [r4, #-16]
.L58:
	ldr	r3, [sp, #24]
	sub	r3, r3, #128
	cmp	r3, #4
	ldrls	pc, [pc, r3, asl #2]
	b	.L60
.L62:
	.word	.L66
	.word	.L65
	.word	.L64
	.word	.L63
	.word	.L61
.L44:
	ldr	r0, [sp, #12]
	bl	chkcmd
	ldr	r0, [sp, #16]
	bl	synk
	ldr	r3, .L125+8
	ldr	r3, [r3]
	str	r3, [sp, #12]
	b	.L30
.L43:
	ldr	r0, [sp, #12]
	bl	chkcmd
	mov	r2, #132
	ldr	r3, .L125+108
	str	r2, [sp, #24]
	ldr	r3, [r3]
	str	r3, [sp, #12]
	b	.L30
.L42:
	sub	r10, r10, #1
	ldr	r0, [sp, #12]
	bl	chkdata
	mov	r1, r10
	add	r0, r4, #1
	bl	xcopy
	ldr	r3, [sp, #20]
	str	r10, [r3, #-28]
	str	r0, [r3, #-24]
	b	.L52
.L41:
	ldr	r0, [sp, #12]
	bl	chkcmd
	add	r3, r4, r10
	ldrb	r3, [r3, #-2]	@ zero_extendqisi2
	ldr	r0, [fp]
	cmp	r3, #13
	subeq	r10, r10, #1
	sub	r10, r10, #1
	mov	r2, r10
	add	r1, r4, #1
	bl	write
	cmp	r0, r10
	beq	.L48
.L49:
	ldr	r1, .L125+112
	mov	r0, #1
	bl	err
	b	.L30
.L40:
	add	r0, r4, #1
	bl	setflags
	ldr	r3, .L125+116
	str	r0, [r3]
	b	.L30
.L37:
	ldrb	r1, [r4, #1]	@ zero_extendqisi2
	mov	r2, #0
	sub	r1, r1, #114
	clz	r1, r1
	ldr	r0, [sp, #16]
	lsr	r1, r1, #5
	bl	dump
	b	.L30
.L36:
	ldr	r0, [sp, #12]
	bl	chkcmd
	mov	r2, #130
	ldr	r3, .L125+108
	str	r2, [sp, #24]
	ldr	r3, [r3]
	str	r3, [sp, #12]
	b	.L30
.L35:
	ldr	r0, [sp, #12]
	bl	chkcmd
	ldr	r2, .L125+116
	ldr	r3, .L125+120
	ldr	r2, [r2]
	ldr	r3, [r3]
	cmp	r2, r3
	beq	.L122
	mov	r2, #129
	ldr	r3, .L125+108
	str	r2, [sp, #24]
	ldr	r3, [r3]
	str	r3, [sp, #12]
	b	.L30
.L33:
	ldr	r0, [sp, #12]
	bl	chkcmd
	ldr	r2, .L125+116
	ldr	r3, .L125+120
	ldr	r2, [r2]
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L51
	mov	r2, #128
	ldr	r3, .L125+108
	str	r2, [sp, #24]
	ldr	r3, [r3]
	str	r3, [sp, #12]
	b	.L30
.L39:
	ldr	r0, [sp, #12]
	bl	chkcmd
	mov	r2, #131
	ldr	r3, .L125+108
	str	r2, [sp, #24]
	ldr	r3, [r3]
	str	r3, [sp, #12]
	b	.L30
.L38:
	ldr	r3, .L125+96
	ldr	r0, [sp, #12]
	str	r3, [sp, #28]
	bl	chkkey
	ldr	r3, .L125+96
	ldr	r2, .L125+52
	ldr	r3, [r3]
	ldr	r2, [r2]
	add	r0, r4, #1
	cmp	r2, r3
	beq	.L123
	sub	r4, r10, #1
	mov	r1, r4
	bl	xcopy
	ldr	r3, [sp, #20]
	str	r4, [r3, #-20]
	str	r0, [r3, #-16]
	b	.L58
.L61:
	ldr	r3, [sp, #20]
	ldr	r0, [sp, #16]
	sub	r2, r3, #12
	sub	r1, r3, #20
	bl	getdata
	ldr	r3, .L125+124
	ldr	r3, [r3]
	str	r3, [sp, #12]
	b	.L30
.L63:
	ldr	r4, [sp, #20]
	ldr	r0, [sp, #16]
	sub	r1, r4, #20
	bl	get
	ldr	r3, [sp, #28]
	ldr	r2, .L125+52
	ldr	r3, [r3]
	ldr	r2, [r2]
	cmp	r2, r3
	bne	.L103
.L69:
	ldr	r3, .L125+8
	ldr	r3, [r3]
	str	r3, [sp, #12]
	b	.L30
.L64:
	ldr	r3, .L125+124
	ldr	r3, [r3]
	str	r3, [sp, #12]
	b	.L30
.L65:
	ldr	r4, [sp, #20]
	ldr	r0, [sp, #16]
	sub	r1, r4, #20
	bl	rem
.L107:
	ldr	r3, [sp, #28]
	ldr	r2, .L125+52
	ldr	r3, [r3]
	ldr	r2, [r2]
	cmp	r2, r3
	beq	.L69
	ldr	r2, .L125+116
	ldr	r3, .L125+120
	ldr	r2, [r2]
	ldr	r3, [r3]
	cmp	r2, r3
	beq	.L69
.L103:
	ldr	r0, [r4, #-16]
	bl	free
	b	.L69
.L66:
	ldr	r4, [sp, #20]
	ldr	r0, [sp, #16]
	sub	r1, r4, #20
	bl	seq
	b	.L107
.L111:
	ldr	r2, [r4, #4]
	ldr	r1, .L125+128
	mov	r0, #1
	bl	err
	b	.L14
.L113:
	ldr	r0, .L125+132
	bl	getenv
	add	r6, sp, #60
	cmp	r0, #0
	add	r2, sp, #64
	ldr	r3, .L125+136
	mov	r1, #8192
	movne	r3, r0
	str	r2, [sp, #20]
	mov	r0, r6
	ldr	r2, .L125+140
	bl	snprintf
	mov	r0, r6
	bl	unlink
	ldr	r2, .L125+72
	ldr	r3, .L125+76
	ldr	r2, [r2]
	ldr	r3, [r3]
	ldr	r1, [r4]
	orr	r2, r2, r3
	ldr	r3, .L125+52
	str	r1, [sp]
	ldr	r3, [r3]
	mov	r1, r8
	mov	r0, r6
	bl	dbopen
	subs	r3, r0, #0
	str	r3, [sp, #16]
	ldrne	r2, [sp, #16]
	ldrne	r3, .L125+80
	strne	r2, [r3]
	beq	.L124
.L72:
	mov	r0, r6
	bl	unlink
	b	.L73
.L54:
	ldr	r2, [r5]
	ldr	r1, .L125+144
	mov	r0, #1
	bl	errx
	b	.L55
.L53:
	ldr	r3, [sp, #20]
	ldr	r0, [sp, #16]
	sub	r2, r3, #28
	sub	r1, r3, #20
	bl	put
	b	.L55
.L51:
	ldr	r3, [sp, #20]
	ldr	r0, [sp, #16]
	sub	r1, r3, #20
	bl	seq
	b	.L30
.L48:
	mov	r2, #1
	ldr	r1, .L125+148
	ldr	r0, [fp]
	bl	write
	cmp	r0, #1
	bne	.L49
	b	.L30
.L123:
	bl	atoi
	mov	r2, #4
	ldr	r3, .L125+152
	ldr	r1, [sp, #20]
	str	r0, [r3]
	str	r2, [r1, #-20]
	str	r3, [r1, #-16]
	b	.L58
.L121:
	ldr	r2, [r5]
	ldr	r1, .L125+156
	mov	r0, #1
	bl	errx
	b	.L57
.L122:
	ldr	r3, [sp, #20]
	ldr	r0, [sp, #16]
	sub	r1, r3, #20
	bl	rem
	ldr	r3, .L125+8
	ldr	r3, [r3]
	str	r3, [sp, #12]
	b	.L30
.L124:
	mov	r2, r6
	mov	r0, #1
	ldr	r1, .L125+160
	bl	err
	ldr	r3, .L125+80
	ldr	r2, [sp, #12]
	str	r2, [r3]
	b	.L72
.L115:
	ldr	r2, [sp, #12]
	ldr	r1, .L125+160
	mov	r0, #1
	bl	err
	b	.L102
.L120:
	bl	__stack_chk_fail
.L60:
	ldr	r2, [r5]
	ldr	r1, .L125+164
	mov	r0, #1
	bl	errx
	b	.L30
.L126:
	.align	2
.L125:
	.word	O_CREAT
	.word	O_RDWR
	.word	COMMAND
	.word	.LC16
	.word	ofd
	.word	.LC2
	.word	O_WRONLY
	.word	O_TRUNC
	.word	optarg
	.word	438
	.word	.LC1
	.word	DB_LOCK
	.word	optind
	.word	type
	.word	stdin
	.word	.LC3
	.word	.LC5
	.word	infop
	.word	S_IWUSR
	.word	S_IRUSR
	.word	XXdbp
	.word	lineno
	.word	STDOUT_FILENO
	.word	XXlineno
	.word	DB_RECNO
	.word	.LC14
	.word	.LC13
	.word	KEY
	.word	.LC8
	.word	flags
	.word	R_CURSOR
	.word	DATA
	.word	.LC4
	.word	.LC6
	.word	.LC0
	.word	.LC7
	.word	.LC10
	.word	.LC9
	.word	.LANCHOR0
	.word	.LC11
	.word	.LC15
	.word	.LC12
	.size	main, .-main
	.comm	type,4,4
	.comm	stdin,4,4
	.comm	ofd,4,4
	.comm	lineno,4,4
	.comm	infop,4,4
	.comm	flags,4,4
	.comm	XXlineno,4,4
	.comm	XXdbp,4,4
	.comm	S_IWUSR,4,4
	.comm	S_IRUSR,4,4
	.comm	STDOUT_FILENO,4,4
	.comm	R_CURSOR,4,4
	.comm	O_WRONLY,4,4
	.comm	O_TRUNC,4,4
	.comm	O_RDWR,4,4
	.comm	O_CREAT,4,4
	.comm	KEY,4,4
	.comm	DB_RECNO,4,4
	.comm	DB_LOCK,4,4
	.comm	DB_BTREE,4,4
	.comm	DATA,4,4
	.comm	COMMAND,4,4
	.bss
	.align	2
	.set	.LANCHOR0,. + 0
	.type	recno.4408, %object
	.size	recno.4408, 4
recno.4408:
	.space	4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
