	.file	"661693.c"
	.intel_syntax noprefix
	.text
	.globl	hashtable
	.bss
	.align 32
	.type	hashtable, @object
	.size	hashtable, 1688
hashtable:
	.zero	1688
	.globl	reloc
	.align 8
	.type	reloc, @object
	.size	reloc, 8
reloc:
	.zero	8
	.globl	public
	.align 8
	.type	public, @object
	.size	public, 8
public:
	.zero	8
	.globl	outfilnam
	.align 8
	.type	outfilnam, @object
	.size	outfilnam, 8
outfilnam:
	.zero	8
	.globl	base
	.align 8
	.type	base, @object
	.size	base, 8
base:
	.zero	8
	.globl	code
	.align 8
	.type	code, @object
	.size	code, 8
code:
	.zero	8
	.globl	name
	.align 32
	.type	name, @object
	.size	name, 101
name:
	.zero	101
	.globl	nrerror
	.align 4
	.type	nrerror, @object
	.size	nrerror, 4
nrerror:
	.zero	4
	.globl	wordord
	.align 4
	.type	wordord, @object
	.size	wordord, 4
wordord:
	.zero	4
	.globl	dwordord
	.align 4
	.type	dwordord, @object
	.size	dwordord, 4
dwordord:
	.zero	4
	.section	.rodata
.LC0:
	.string	"a.tsk"
.LC1:
	.string	"help"
.LC2:
	.string	"No input file!\n"
.LC3:
	.string	"End of memory!\n"
.LC4:
	.string	"Versoft linker Version 1.0\n"
.LC5:
	.string	"Pass 1\n"
.LC6:
	.string	"Misspelled base!\n"
.LC7:
	.string	"Invalid option %c.\n"
.LC8:
	.string	"r"
.LC9:
	.string	"Bad object format.\n"
.LC10:
	.string	"Internal linker error.\n"
.LC11:
	.string	"I can not open the file %s.\n"
.LC12:
	.string	"Zero code error.\n"
.LC13:
	.string	"Pass 2.\n"
.LC14:
	.string	"No .tsk file.\n"
.LC15:
	.string	"w"
.LC16:
	.string	"Unable to open the file %s.\n"
	.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
	push	r12
	push	rbx
	sub	rsp, 64
	.cfi_offset 12, -24
	.cfi_offset 3, -32
	mov	DWORD PTR -68[rbp], edi
	mov	QWORD PTR -80[rbp], rsi
	lea	rax, .LC0[rip]
	mov	QWORD PTR outfilnam[rip], rax
	mov	DWORD PTR wordord[rip], 0
	mov	DWORD PTR dwordord[rip], 0
	mov	DWORD PTR -48[rbp], 0
	mov	QWORD PTR base[rip], 0
	cmp	DWORD PTR -68[rbp], 1
	je	.L2
	cmp	DWORD PTR -68[rbp], 2
	jne	.L3
	mov	rax, QWORD PTR -80[rbp]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	lea	rsi, .LC1[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L3
.L2:
	mov	eax, 0
	call	usage
.L3:
	mov	DWORD PTR -52[rbp], 1
	jmp	.L4
.L6:
	mov	eax, DWORD PTR -52[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -80[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 45
	je	.L5
	add	DWORD PTR -48[rbp], 1
.L5:
	add	DWORD PTR -52[rbp], 1
.L4:
	mov	eax, DWORD PTR -68[rbp]
	cmp	DWORD PTR -52[rbp], eax
	jb	.L6
	cmp	DWORD PTR -48[rbp], 0
	jne	.L7
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 15
	mov	esi, 1
	lea	rdi, .LC2[rip]
	call	fwrite@PLT
	mov	edi, 1
	call	exit@PLT
.L7:
	mov	edx, DWORD PTR -48[rbp]
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 4
	mov	rdi, rax
	mov	eax, 0
	call	malloc@PLT
	mov	QWORD PTR -32[rbp], rax
	cmp	QWORD PTR -32[rbp], 0
	jne	.L8
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 15
	mov	esi, 1
	lea	rdi, .LC3[rip]
	call	fwrite@PLT
	mov	edi, 1
	call	exit@PLT
.L8:
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 27
	mov	esi, 1
	lea	rdi, .LC4[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 7
	mov	esi, 1
	lea	rdi, .LC5[rip]
	call	fwrite@PLT
	mov	DWORD PTR -44[rbp], 0
	mov	DWORD PTR -52[rbp], 1
	jmp	.L9
.L33:
	mov	eax, DWORD PTR -52[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -80[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 45
	jne	.L10
	mov	eax, DWORD PTR -52[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -80[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	cmp	eax, 119
	je	.L11
	cmp	eax, 119
	jg	.L12
	cmp	eax, 110
	je	.L13
	cmp	eax, 110
	jg	.L12
	cmp	eax, 66
	je	.L14
	cmp	eax, 100
	je	.L15
	jmp	.L12
.L14:
	mov	eax, DWORD PTR -52[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -80[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	add	rax, 2
	movzx	eax, BYTE PTR [rax]
	cmp	al, 120
	je	.L16
	mov	eax, DWORD PTR -52[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -80[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	add	rax, 2
	movzx	eax, BYTE PTR [rax]
	cmp	al, 88
	jne	.L17
.L16:
	mov	r12d, 3
	mov	QWORD PTR base[rip], 0
	jmp	.L18
.L22:
	mov	rax, QWORD PTR base[rip]
	sal	rax, 4
	mov	QWORD PTR base[rip], rax
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	movsx	rax, ebx
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 256
	test	eax, eax
	je	.L19
	mov	edi, ebx
	call	tolower@PLT
	mov	ebx, eax
.L19:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	movsx	rax, ebx
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 2048
	test	eax, eax
	je	.L20
	lea	eax, -48[rbx]
	movsx	rdx, eax
	mov	rax, QWORD PTR base[rip]
	add	rax, rdx
	mov	QWORD PTR base[rip], rax
	jmp	.L21
.L20:
	lea	eax, -87[rbx]
	movsx	rdx, eax
	mov	rax, QWORD PTR base[rip]
	add	rax, rdx
	mov	QWORD PTR base[rip], rax
.L21:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	movsx	rax, ebx
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 4096
	test	eax, eax
	jne	.L18
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 17
	mov	esi, 1
	lea	rdi, .LC6[rip]
	call	fwrite@PLT
	mov	edi, 1
	call	exit@PLT
.L18:
	mov	eax, DWORD PTR -52[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -80[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, r12d
	lea	r12d, 1[rax]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	ebx, al
	test	ebx, ebx
	jne	.L22
	jmp	.L54
.L17:
	mov	r12d, 2
	mov	QWORD PTR base[rip], 0
	jmp	.L24
.L25:
	mov	rdx, QWORD PTR base[rip]
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	add	rax, rax
	mov	QWORD PTR base[rip], rax
	lea	eax, -48[rbx]
	movsx	rdx, eax
	mov	rax, QWORD PTR base[rip]
	add	rax, rdx
	mov	QWORD PTR base[rip], rax
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	movsx	rax, ebx
	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 stderr[rip]
	mov	rcx, rax
	mov	edx, 17
	mov	esi, 1
	lea	rdi, .LC6[rip]
	call	fwrite@PLT
	mov	edi, 1
	call	exit@PLT
.L24:
	mov	eax, DWORD PTR -52[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -80[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, r12d
	lea	r12d, 1[rax]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	ebx, al
	test	ebx, ebx
	jne	.L25
	jmp	.L27
.L54:
	jmp	.L27
.L13:
	mov	eax, DWORD PTR -52[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -80[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	add	rax, 2
	mov	QWORD PTR outfilnam[rip], rax
	jmp	.L27
.L11:
	mov	DWORD PTR wordord[rip], 1
	jmp	.L27
.L15:
	mov	DWORD PTR dwordord[rip], 1
	jmp	.L27
.L12:
	mov	eax, DWORD PTR -52[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -80[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	movsx	edx, al
	mov	rax, QWORD PTR stderr[rip]
	lea	rsi, .LC7[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	edi, 1
	call	exit@PLT
.L10:
	mov	eax, DWORD PTR -52[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -80[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	lea	rsi, .LC8[rip]
	mov	rdi, rax
	call	fopen@PLT
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], 0
	je	.L28
	mov	edx, DWORD PTR -44[rbp]
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	QWORD PTR 32[rax], 0
	mov	edx, DWORD PTR -44[rbp]
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	QWORD PTR 40[rax], 0
	mov	edx, DWORD PTR -44[rbp]
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	QWORD PTR 48[rax], 0
	mov	edx, DWORD PTR -44[rbp]
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	QWORD PTR 56[rax], 0
	mov	edx, DWORD PTR -44[rbp]
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	DWORD PTR 24[rax], 1
	mov	eax, DWORD PTR -44[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -44[rbp], edx
	mov	edx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	pas1
	test	eax, eax
	je	.L57
	cmp	eax, 1
	jne	.L55
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 19
	mov	esi, 1
	lea	rdi, .LC9[rip]
	call	fwrite@PLT
	mov	edi, 1
	call	exit@PLT
.L55:
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 23
	mov	esi, 1
	lea	rdi, .LC10[rip]
	call	fwrite@PLT
	mov	edi, 2
	call	exit@PLT
.L57:
	nop
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	fclose@PLT
	jmp	.L27
.L28:
	mov	eax, DWORD PTR -52[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -80[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR stderr[rip]
	lea	rsi, .LC11[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	edi, 1
	call	exit@PLT
.L27:
	add	DWORD PTR -52[rbp], 1
.L9:
	mov	eax, DWORD PTR -68[rbp]
	cmp	DWORD PTR -52[rbp], eax
	jb	.L33
	mov	rax, QWORD PTR base[rip]
	mov	QWORD PTR -40[rbp], rax
	mov	DWORD PTR -52[rbp], 0
	jmp	.L34
.L35:
	mov	edx, DWORD PTR -52[rbp]
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR 16[rdx], rax
	mov	edx, DWORD PTR -52[rbp]
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	rcx, QWORD PTR 8[rax]
	mov	edx, DWORD PTR -52[rbp]
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	sub	rcx, rax
	mov	rdx, rcx
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	add	rax, 1
	mov	QWORD PTR -40[rbp], rax
	add	DWORD PTR -52[rbp], 1
.L34:
	mov	eax, DWORD PTR -52[rbp]
	cmp	eax, DWORD PTR -44[rbp]
	jb	.L35
	mov	rax, QWORD PTR base[rip]
	sub	QWORD PTR -40[rbp], rax
	cmp	QWORD PTR -40[rbp], 0
	jne	.L36
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 17
	mov	esi, 1
	lea	rdi, .LC12[rip]
	call	fwrite@PLT
	mov	edi, 1
	call	exit@PLT
.L36:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	malloc@PLT
	mov	QWORD PTR code[rip], rax
	mov	rax, QWORD PTR code[rip]
	test	rax, rax
	jne	.L37
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 15
	mov	esi, 1
	lea	rdi, .LC3[rip]
	call	fwrite@PLT
	mov	edi, 1
	call	exit@PLT
.L37:
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 8
	mov	esi, 1
	lea	rdi, .LC13[rip]
	call	fwrite@PLT
	mov	DWORD PTR -44[rbp], 0
	mov	DWORD PTR -52[rbp], 1
	jmp	.L38
.L46:
	mov	eax, DWORD PTR -52[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -80[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 45
	je	.L39
	mov	eax, DWORD PTR -52[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -80[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	lea	rsi, .LC8[rip]
	mov	rdi, rax
	call	fopen@PLT
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], 0
	je	.L40
	mov	edx, DWORD PTR -44[rbp]
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR 32[rax]
	test	rax, rax
	je	.L41
	mov	edx, DWORD PTR -44[rbp]
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR 32[rax]
	sal	rax, 4
	mov	rdi, rax
	mov	eax, 0
	call	malloc@PLT
	mov	QWORD PTR reloc[rip], rax
	mov	rax, QWORD PTR reloc[rip]
	test	rax, rax
	jne	.L41
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 15
	mov	esi, 1
	lea	rdi, .LC3[rip]
	call	fwrite@PLT
	mov	edi, 1
	call	exit@PLT
.L41:
	mov	edx, DWORD PTR -44[rbp]
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR 40[rax]
	test	rax, rax
	je	.L42
	mov	edx, DWORD PTR -44[rbp]
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR 40[rax]
	sal	rax, 3
	mov	rdi, rax
	mov	eax, 0
	call	malloc@PLT
	mov	QWORD PTR public[rip], rax
	mov	rax, QWORD PTR public[rip]
	test	rax, rax
	jne	.L42
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 15
	mov	esi, 1
	lea	rdi, .LC3[rip]
	call	fwrite@PLT
	mov	edi, 1
	call	exit@PLT
.L42:
	mov	edx, DWORD PTR -44[rbp]
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	pas2
	test	eax, eax
	je	.L58
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 23
	mov	esi, 1
	lea	rdi, .LC10[rip]
	call	fwrite@PLT
	mov	edi, 2
	call	exit@PLT
.L58:
	nop
	mov	eax, DWORD PTR -44[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -44[rbp], edx
	mov	edx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	rdi, rax
	mov	eax, 0
	call	do_relocation
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	fclose@PLT
	jmp	.L39
.L40:
	mov	eax, DWORD PTR -52[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -80[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR stderr[rip]
	lea	rsi, .LC11[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	edi, 1
	call	exit@PLT
.L39:
	add	DWORD PTR -52[rbp], 1
.L38:
	mov	eax, DWORD PTR -68[rbp]
	cmp	DWORD PTR -52[rbp], eax
	jb	.L46
	mov	DWORD PTR -52[rbp], 0
	jmp	.L47
.L48:
	mov	edx, DWORD PTR -52[rbp]
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	rdi, rax
	mov	eax, 0
	call	relext
	add	DWORD PTR -52[rbp], 1
.L47:
	mov	eax, DWORD PTR -52[rbp]
	cmp	eax, DWORD PTR -48[rbp]
	jb	.L48
	mov	eax, DWORD PTR nrerror[rip]
	test	eax, eax
	je	.L49
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 14
	mov	esi, 1
	lea	rdi, .LC14[rip]
	call	fwrite@PLT
	mov	edi, 1
	call	exit@PLT
.L49:
	mov	rax, QWORD PTR outfilnam[rip]
	lea	rsi, .LC15[rip]
	mov	rdi, rax
	call	fopen@PLT
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], 0
	jne	.L50
	mov	rdx, QWORD PTR outfilnam[rip]
	mov	rax, QWORD PTR stderr[rip]
	lea	rsi, .LC16[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	edi, 1
	call	exit@PLT
.L50:
	mov	DWORD PTR -52[rbp], 0
	jmp	.L51
.L52:
	mov	rdx, QWORD PTR code[rip]
	mov	eax, DWORD PTR -52[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	rdx, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	fputc@PLT
	add	DWORD PTR -52[rbp], 1
.L51:
	mov	eax, DWORD PTR -52[rbp]
	cmp	QWORD PTR -40[rbp], rax
	ja	.L52
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	fclose@PLT
	mov	eax, 0
	add	rsp, 64
	pop	rbx
	pop	r12
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	main, .-main
	.globl	chk
	.bss
	.align 4
	.type	chk, @object
	.size	chk, 4
chk:
	.zero	4
	.section	.rodata
.LC17:
	.string	"Check summ error!\n"
	.text
	.globl	pas1
	.type	pas1, @function
pas1:
.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, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	getc@PLT
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], 85
	je	.L60
	mov	eax, 1
	jmp	.L61
.L60:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	getc@PLT
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], 170
	je	.L63
	mov	eax, 1
	jmp	.L61
.L96:
	mov	eax, DWORD PTR -12[rbp]
	sub	eax, 129
	cmp	eax, 4
	ja	.L64
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L66[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L66[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L66:
	.long	.L70-.L66
	.long	.L69-.L66
	.long	.L68-.L66
	.long	.L67-.L66
	.long	.L65-.L66
	.text
.L70:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	getint
	mov	DWORD PTR -16[rbp], eax
	mov	DWORD PTR chk[rip], 0
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	getlong
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 24[rax]
	test	eax, eax
	je	.L71
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR 24[rax], 0
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], rdx
.L71:
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR [rax]
	cmp	QWORD PTR -8[rbp], rax
	jnb	.L72
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
.L72:
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 8[rax]
	cmp	QWORD PTR -8[rbp], rax
	jbe	.L73
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], rdx
.L73:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	getc@PLT
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR chk[rip]
	xor	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR chk[rip], eax
	mov	eax, DWORD PTR -12[rbp]
	add	eax, 5
	cmp	DWORD PTR -16[rbp], eax
	je	.L74
	mov	eax, 1
	jmp	.L61
.L74:
	mov	eax, DWORD PTR -12[rbp]
	sub	eax, 1
	mov	eax, eax
	add	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR [rax]
	cmp	QWORD PTR -8[rbp], rax
	jnb	.L75
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
.L75:
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 8[rax]
	cmp	QWORD PTR -8[rbp], rax
	jbe	.L76
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], rdx
.L76:
	mov	DWORD PTR -20[rbp], 0
	jmp	.L77
.L78:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	getc@PLT
	mov	edx, eax
	mov	eax, DWORD PTR chk[rip]
	xor	eax, edx
	mov	DWORD PTR chk[rip], eax
	add	DWORD PTR -20[rbp], 1
.L77:
	mov	eax, DWORD PTR -20[rbp]
	cmp	eax, DWORD PTR -12[rbp]
	jb	.L78
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	getc@PLT
	mov	edx, eax
	mov	eax, DWORD PTR chk[rip]
	cmp	edx, eax
	je	.L63
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 18
	mov	esi, 1
	lea	rdi, .LC17[rip]
	call	fwrite@PLT
	mov	edi, 1
	call	exit@PLT
.L69:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	getint
	mov	DWORD PTR -16[rbp], eax
	mov	DWORD PTR chk[rip], 0
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	getc@PLT
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR chk[rip]
	xor	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR chk[rip], eax
	mov	edx, DWORD PTR -12[rbp]
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, 1
	cmp	DWORD PTR -16[rbp], eax
	je	.L80
	mov	eax, 1
	jmp	.L61
.L80:
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -12[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR 32[rax], rdx
	mov	DWORD PTR -20[rbp], 0
	jmp	.L81
.L82:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	getc@PLT
	mov	edx, eax
	mov	eax, DWORD PTR chk[rip]
	xor	eax, edx
	mov	DWORD PTR chk[rip], eax
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	getlong
	add	DWORD PTR -20[rbp], 1
.L81:
	mov	eax, DWORD PTR -20[rbp]
	cmp	eax, DWORD PTR -12[rbp]
	jb	.L82
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	getc@PLT
	mov	edx, eax
	mov	eax, DWORD PTR chk[rip]
	cmp	edx, eax
	je	.L63
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 18
	mov	esi, 1
	lea	rdi, .LC17[rip]
	call	fwrite@PLT
	mov	edi, 1
	call	exit@PLT
.L68:
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 40[rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR 40[rax], rdx
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	getint
	mov	DWORD PTR -16[rbp], eax
	mov	DWORD PTR chk[rip], 0
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	getc@PLT
	mov	edx, eax
	mov	eax, DWORD PTR chk[rip]
	xor	eax, edx
	mov	DWORD PTR chk[rip], eax
	sub	DWORD PTR -16[rbp], 1
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	getc@PLT
	mov	DWORD PTR -20[rbp], eax
	mov	eax, DWORD PTR chk[rip]
	xor	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR chk[rip], eax
	sub	DWORD PTR -16[rbp], 1
	jmp	.L84
.L85:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	getc@PLT
	mov	DWORD PTR -20[rbp], eax
	mov	eax, DWORD PTR chk[rip]
	xor	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR chk[rip], eax
	sub	DWORD PTR -16[rbp], 1
.L84:
	cmp	DWORD PTR -20[rbp], 0
	jne	.L85
	cmp	DWORD PTR -16[rbp], 4
	je	.L86
	mov	eax, 1
	jmp	.L61
.L86:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	getlong
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	getc@PLT
	mov	edx, eax
	mov	eax, DWORD PTR chk[rip]
	cmp	edx, eax
	je	.L63
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 18
	mov	esi, 1
	lea	rdi, .LC17[rip]
	call	fwrite@PLT
	mov	edi, 1
	call	exit@PLT
.L67:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	getint
	mov	DWORD PTR -16[rbp], eax
	mov	DWORD PTR chk[rip], 0
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	getc@PLT
	mov	DWORD PTR -20[rbp], eax
	mov	eax, DWORD PTR chk[rip]
	xor	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR chk[rip], eax
	sub	DWORD PTR -16[rbp], 1
	jmp	.L88
.L89:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	getc@PLT
	mov	DWORD PTR -20[rbp], eax
	mov	eax, DWORD PTR chk[rip]
	xor	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR chk[rip], eax
	sub	DWORD PTR -16[rbp], 1
.L88:
	cmp	DWORD PTR -20[rbp], 0
	jne	.L89
	cmp	DWORD PTR -16[rbp], 2
	je	.L90
	mov	eax, 1
	jmp	.L61
.L90:
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 48[rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR 48[rax], rdx
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	getint
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	getc@PLT
	mov	edx, eax
	mov	eax, DWORD PTR chk[rip]
	cmp	edx, eax
	je	.L63
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 18
	mov	esi, 1
	lea	rdi, .LC17[rip]
	call	fwrite@PLT
	mov	edi, 1
	call	exit@PLT
.L65:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	getint
	mov	DWORD PTR -16[rbp], eax
	mov	DWORD PTR chk[rip], 0
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	getc@PLT
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR chk[rip]
	xor	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR chk[rip], eax
	mov	edx, DWORD PTR -12[rbp]
	mov	eax, edx
	sal	eax, 3
	sub	eax, edx
	add	eax, 1
	cmp	DWORD PTR -16[rbp], eax
	je	.L92
	mov	eax, 1
	jmp	.L61
.L92:
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR 56[rax]
	mov	eax, DWORD PTR -12[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR 56[rax], rdx
	mov	DWORD PTR -20[rbp], 0
	jmp	.L93
.L94:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	getint
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	getc@PLT
	mov	edx, eax
	mov	eax, DWORD PTR chk[rip]
	xor	eax, edx
	mov	DWORD PTR chk[rip], eax
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	getlong
	add	DWORD PTR -20[rbp], 1
.L93:
	mov	eax, DWORD PTR -20[rbp]
	cmp	eax, DWORD PTR -12[rbp]
	jb	.L94
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	getc@PLT
	mov	edx, eax
	mov	eax, DWORD PTR chk[rip]
	cmp	edx, eax
	je	.L63
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 18
	mov	esi, 1
	lea	rdi, .LC17[rip]
	call	fwrite@PLT
	mov	edi, 1
	call	exit@PLT
.L64:
	mov	eax, 1
	jmp	.L61
.L63:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	getc@PLT
	mov	DWORD PTR -12[rbp], eax
	cmp	DWORD PTR -12[rbp], -1
	jne	.L96
	mov	eax, 0
.L61:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1:
	.size	pas1, .-pas1
	.section	.rodata
	.align 8
.LC18:
	.string	"WARNING Symbol %s duplicated.\n"
	.text
	.globl	pas2
	.type	pas2, @function
pas2:
.LFB2:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 72
	.cfi_offset 3, -24
	mov	QWORD PTR -72[rbp], rdi
	mov	QWORD PTR -80[rbp], rsi
	mov	DWORD PTR -52[rbp], 0
	mov	DWORD PTR -48[rbp], 0
	mov	DWORD PTR -44[rbp], 0
	mov	rax, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR 48[rax]
	test	rax, rax
	je	.L98
	mov	rax, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR 48[rax]
	mov	rsi, rax
	mov	edi, 8
	mov	eax, 0
	call	calloc@PLT
	mov	rdx, QWORD PTR -80[rbp]
	mov	QWORD PTR 64[rdx], rax
	mov	rax, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR 64[rax]
	test	rax, rax
	jne	.L98
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 15
	mov	esi, 1
	lea	rdi, .LC3[rip]
	call	fwrite@PLT
	mov	edi, 1
	call	exit@PLT
.L98:
	mov	rax, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR 56[rax]
	test	rax, rax
	je	.L99
	mov	rax, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR 56[rax]
	sal	rax, 4
	mov	rdi, rax
	mov	eax, 0
	call	malloc@PLT
	mov	rdx, QWORD PTR -80[rbp]
	mov	QWORD PTR 72[rdx], rax
	mov	rax, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR 72[rax]
	test	rax, rax
	jne	.L99
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 15
	mov	esi, 1
	lea	rdi, .LC3[rip]
	call	fwrite@PLT
	mov	edi, 1
	call	exit@PLT
.L99:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	call	getc@PLT
	mov	DWORD PTR -60[rbp], eax
	cmp	DWORD PTR -60[rbp], 85
	je	.L100
	mov	eax, 1
	jmp	.L101
.L100:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	call	getc@PLT
	mov	DWORD PTR -60[rbp], eax
	cmp	DWORD PTR -60[rbp], 170
	je	.L103
	mov	eax, 1
	jmp	.L101
.L130:
	mov	eax, DWORD PTR -36[rbp]
	sub	eax, 129
	cmp	eax, 4
	ja	.L104
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L106[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L106[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L106:
	.long	.L110-.L106
	.long	.L109-.L106
	.long	.L108-.L106
	.long	.L107-.L106
	.long	.L105-.L106
	.text
.L110:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	getint
	mov	DWORD PTR -40[rbp], eax
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	getlong
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	call	getc@PLT
	mov	DWORD PTR -36[rbp], eax
	mov	eax, DWORD PTR -36[rbp]
	add	eax, 5
	cmp	DWORD PTR -40[rbp], eax
	je	.L111
	mov	eax, 1
	jmp	.L101
.L111:
	mov	rax, QWORD PTR -80[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -80[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, rdx
	sub	rax, rcx
	mov	rdx, QWORD PTR base[rip]
	sub	rax, rdx
	add	QWORD PTR -32[rbp], rax
	mov	DWORD PTR -60[rbp], 0
	jmp	.L112
.L113:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	call	getc@PLT
	mov	ecx, eax
	mov	rsi, QWORD PTR code[rip]
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -32[rbp], rdx
	add	rax, rsi
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
	add	DWORD PTR -60[rbp], 1
.L112:
	mov	eax, DWORD PTR -60[rbp]
	cmp	eax, DWORD PTR -36[rbp]
	jb	.L113
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	call	getc@PLT
	jmp	.L103
.L109:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	getint
	mov	DWORD PTR -40[rbp], eax
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	call	getc@PLT
	mov	DWORD PTR -36[rbp], eax
	mov	edx, DWORD PTR -36[rbp]
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, 1
	cmp	DWORD PTR -40[rbp], eax
	je	.L114
	mov	eax, 1
	jmp	.L101
.L114:
	mov	DWORD PTR -60[rbp], 0
	jmp	.L115
.L117:
	mov	rdx, QWORD PTR reloc[rip]
	mov	eax, DWORD PTR -52[rbp]
	sal	rax, 4
	lea	rbx, [rdx+rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	call	getc@PLT
	mov	DWORD PTR [rbx], eax
	mov	rdx, QWORD PTR reloc[rip]
	mov	eax, DWORD PTR -52[rbp]
	sal	rax, 4
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	je	.L116
	mov	rdx, QWORD PTR reloc[rip]
	mov	eax, DWORD PTR -52[rbp]
	sal	rax, 4
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	eax, 240
	je	.L116
	mov	eax, 1
	jmp	.L101
.L116:
	mov	rcx, QWORD PTR reloc[rip]
	mov	eax, DWORD PTR -52[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -52[rbp], edx
	mov	eax, eax
	sal	rax, 4
	lea	rbx, [rcx+rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	getlong
	mov	QWORD PTR 8[rbx], rax
	add	DWORD PTR -60[rbp], 1
.L115:
	mov	eax, DWORD PTR -60[rbp]
	cmp	eax, DWORD PTR -36[rbp]
	jb	.L117
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	call	getc@PLT
	jmp	.L103
.L108:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	getint
	mov	DWORD PTR -40[rbp], eax
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	call	getc@PLT
	mov	DWORD PTR -36[rbp], eax
	sub	DWORD PTR -40[rbp], 1
	mov	DWORD PTR -56[rbp], 0
.L118:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	call	getc@PLT
	mov	DWORD PTR -60[rbp], eax
	sub	DWORD PTR -40[rbp], 1
	mov	eax, DWORD PTR -56[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -56[rbp], edx
	mov	edx, DWORD PTR -60[rbp]
	mov	ecx, edx
	mov	edx, eax
	lea	rax, name[rip]
	mov	BYTE PTR [rdx+rax], cl
	cmp	DWORD PTR -60[rbp], 0
	jne	.L118
	lea	rdi, name[rip]
	mov	eax, 0
	call	search_in_the_table
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	je	.L119
	mov	rax, QWORD PTR stderr[rip]
	lea	rdx, name[rip]
	lea	rsi, .LC18[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR nrerror[rip]
	add	eax, 1
	mov	DWORD PTR nrerror[rip], eax
	jmp	.L103
.L119:
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR [rax], 1
	cmp	DWORD PTR -36[rbp], 240
	jne	.L120
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 24[rax], 1
	jmp	.L121
.L120:
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 24[rax], 0
.L121:
	cmp	DWORD PTR -40[rbp], 4
	je	.L122
	mov	eax, 1
	jmp	.L101
.L122:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	getlong
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 8[rdx], rax
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	call	getc@PLT
	mov	rcx, QWORD PTR public[rip]
	mov	eax, DWORD PTR -48[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -48[rbp], edx
	mov	eax, eax
	sal	rax, 3
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR [rdx], rax
	jmp	.L103
.L107:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	getint
	mov	DWORD PTR -40[rbp], eax
	mov	DWORD PTR -56[rbp], 0
.L123:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	call	getc@PLT
	mov	DWORD PTR -60[rbp], eax
	mov	eax, DWORD PTR -56[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -56[rbp], edx
	mov	edx, DWORD PTR -60[rbp]
	mov	ecx, edx
	mov	edx, eax
	lea	rax, name[rip]
	mov	BYTE PTR [rdx+rax], cl
	sub	DWORD PTR -40[rbp], 1
	cmp	DWORD PTR -60[rbp], 0
	jne	.L123
	cmp	DWORD PTR -40[rbp], 2
	je	.L124
	mov	eax, 1
	jmp	.L101
.L124:
	lea	rdi, name[rip]
	mov	eax, 0
	call	search_in_the_table
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	getint
	mov	DWORD PTR -36[rbp], eax
	mov	rax, QWORD PTR -80[rbp]
	mov	rdx, QWORD PTR 48[rax]
	mov	eax, DWORD PTR -36[rbp]
	cmp	rdx, rax
	jbe	.L125
	mov	eax, 1
	jmp	.L101
.L125:
	mov	rax, QWORD PTR -80[rbp]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -36[rbp]
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L126
	mov	eax, 1
	jmp	.L101
.L126:
	mov	rax, QWORD PTR -80[rbp]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -36[rbp]
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	call	getc@PLT
	jmp	.L103
.L105:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	getint
	mov	DWORD PTR -40[rbp], eax
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	call	getc@PLT
	mov	DWORD PTR -36[rbp], eax
	mov	edx, DWORD PTR -36[rbp]
	mov	eax, edx
	sal	eax, 3
	sub	eax, edx
	add	eax, 1
	cmp	DWORD PTR -40[rbp], eax
	je	.L127
	mov	eax, 1
	jmp	.L101
.L127:
	mov	DWORD PTR -60[rbp], 0
	jmp	.L128
.L129:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	getint
	mov	rdx, QWORD PTR -80[rbp]
	mov	rcx, QWORD PTR 72[rdx]
	mov	edx, DWORD PTR -44[rbp]
	sal	rdx, 4
	add	rdx, rcx
	mov	DWORD PTR 4[rdx], eax
	mov	rax, QWORD PTR -80[rbp]
	mov	rdx, QWORD PTR 72[rax]
	mov	eax, DWORD PTR -44[rbp]
	sal	rax, 4
	lea	rbx, [rdx+rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	call	getc@PLT
	mov	DWORD PTR [rbx], eax
	mov	rax, QWORD PTR -80[rbp]
	mov	rcx, QWORD PTR 72[rax]
	mov	eax, DWORD PTR -44[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -44[rbp], edx
	mov	eax, eax
	sal	rax, 4
	lea	rbx, [rcx+rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	getlong
	mov	QWORD PTR 8[rbx], rax
	add	DWORD PTR -60[rbp], 1
.L128:
	mov	eax, DWORD PTR -60[rbp]
	cmp	eax, DWORD PTR -36[rbp]
	jb	.L129
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	call	getc@PLT
	jmp	.L103
.L104:
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 23
	mov	esi, 1
	lea	rdi, .LC10[rip]
	call	fwrite@PLT
	mov	edi, 2
	call	exit@PLT
.L103:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	call	getc@PLT
	mov	DWORD PTR -36[rbp], eax
	cmp	DWORD PTR -36[rbp], -1
	jne	.L130
	mov	eax, 0
.L101:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE2:
	.size	pas2, .-pas2
	.globl	gw
	.type	gw, @function
gw:
.LFB3:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	eax, DWORD PTR wordord[rip]
	test	eax, eax
	je	.L132
	mov	rdx, QWORD PTR code[rip]
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 1
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	rcx, QWORD PTR code[rip]
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 8
	add	eax, edx
	cdqe
	jmp	.L133
.L132:
	mov	rdx, QWORD PTR code[rip]
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	rcx, QWORD PTR code[rip]
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 1
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 8
	add	eax, edx
	cdqe
.L133:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE3:
	.size	gw, .-gw
	.globl	gdw
	.type	gdw, @function
gdw:
.LFB4:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 8
	.cfi_offset 3, -24
	mov	QWORD PTR -16[rbp], rdi
	mov	eax, DWORD PTR dwordord[rip]
	test	eax, eax
	je	.L135
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 2
	mov	rdi, rax
	mov	eax, 0
	call	gw
	mov	rbx, rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	gw
	sal	rax, 16
	add	rax, rbx
	jmp	.L136
.L135:
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	gw
	mov	rbx, rax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 2
	mov	rdi, rax
	mov	eax, 0
	call	gw
	sal	rax, 16
	add	rax, rbx
.L136:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE4:
	.size	gdw, .-gdw
	.globl	pw
	.type	pw, @function
pw:
.LFB5:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	eax, DWORD PTR wordord[rip]
	test	eax, eax
	je	.L138
	mov	rdx, QWORD PTR code[rip]
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 1
	add	rax, rdx
	mov	rdx, QWORD PTR -16[rbp]
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -16[rbp]
	shr	rax, 8
	mov	rcx, rax
	mov	rdx, QWORD PTR code[rip]
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
	jmp	.L140
.L138:
	mov	rdx, QWORD PTR code[rip]
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR -16[rbp]
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -16[rbp]
	shr	rax, 8
	mov	rcx, rax
	mov	rdx, QWORD PTR code[rip]
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 1
	add	rax, rdx
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
.L140:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE5:
	.size	pw, .-pw
	.globl	pdw
	.type	pdw, @function
pdw:
.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	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	eax, DWORD PTR dwordord[rip]
	test	eax, eax
	je	.L142
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, ax
	mov	rdx, QWORD PTR -8[rbp]
	add	rdx, 2
	mov	rsi, rax
	mov	rdi, rdx
	mov	eax, 0
	call	pw
	mov	rax, QWORD PTR -16[rbp]
	shr	rax, 16
	movzx	edx, ax
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	pw
	jmp	.L144
.L142:
	mov	rax, QWORD PTR -16[rbp]
	movzx	edx, ax
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	pw
	mov	rax, QWORD PTR -16[rbp]
	shr	rax, 16
	movzx	eax, ax
	mov	rdx, QWORD PTR -8[rbp]
	add	rdx, 2
	mov	rsi, rax
	mov	rdi, rdx
	mov	eax, 0
	call	pw
.L144:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	pdw, .-pdw
	.globl	do_relocation
	.type	do_relocation, @function
do_relocation:
.LFB7:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, rdx
	sub	rax, rcx
	mov	QWORD PTR -16[rbp], rax
	mov	DWORD PTR -20[rbp], 0
	jmp	.L146
.L149:
	mov	rdx, QWORD PTR reloc[rip]
	mov	eax, DWORD PTR -20[rbp]
	sal	rax, 4
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jne	.L147
	mov	rdx, QWORD PTR reloc[rip]
	mov	eax, DWORD PTR -20[rbp]
	sal	rax, 4
	add	rax, rdx
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR base[rip]
	sub	rax, rdx
	mov	rdi, rax
	mov	eax, 0
	call	gw
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	add	QWORD PTR -8[rbp], rax
	mov	rdx, QWORD PTR reloc[rip]
	mov	eax, DWORD PTR -20[rbp]
	sal	rax, 4
	add	rax, rdx
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	mov	rcx, QWORD PTR base[rip]
	sub	rax, rcx
	mov	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	mov	eax, 0
	call	pw
	jmp	.L148
.L147:
	mov	rdx, QWORD PTR reloc[rip]
	mov	eax, DWORD PTR -20[rbp]
	sal	rax, 4
	add	rax, rdx
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR base[rip]
	sub	rax, rdx
	mov	rdi, rax
	mov	eax, 0
	call	gdw
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	add	QWORD PTR -8[rbp], rax
	mov	rdx, QWORD PTR reloc[rip]
	mov	eax, DWORD PTR -20[rbp]
	sal	rax, 4
	add	rax, rdx
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	mov	rcx, QWORD PTR base[rip]
	sub	rax, rcx
	mov	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	mov	eax, 0
	call	pdw
.L148:
	add	DWORD PTR -20[rbp], 1
.L146:
	mov	edx, DWORD PTR -20[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 32[rax]
	cmp	rdx, rax
	jb	.L149
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 32[rax]
	test	rax, rax
	je	.L150
	mov	rax, QWORD PTR reloc[rip]
	mov	rdi, rax
	call	free@PLT
.L150:
	mov	DWORD PTR -20[rbp], 0
	jmp	.L151
.L153:
	mov	rdx, QWORD PTR public[rip]
	mov	eax, DWORD PTR -20[rbp]
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 24[rax]
	test	eax, eax
	je	.L152
	mov	rdx, QWORD PTR public[rip]
	mov	eax, DWORD PTR -20[rbp]
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rcx, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR public[rip]
	mov	eax, DWORD PTR -20[rbp]
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -16[rbp]
	add	rdx, rcx
	mov	QWORD PTR 8[rax], rdx
.L152:
	add	DWORD PTR -20[rbp], 1
.L151:
	mov	edx, DWORD PTR -20[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 40[rax]
	cmp	rdx, rax
	jb	.L153
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 40[rax]
	test	rax, rax
	je	.L155
	mov	rax, QWORD PTR public[rip]
	mov	rdi, rax
	call	free@PLT
.L155:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	do_relocation, .-do_relocation
	.section	.rodata
.LC19:
	.string	"Undefined external %s.\n"
.LC20:
	.string	"Byte big.\n"
.LC21:
	.string	"Word big.\n"
.LC22:
	.string	"Rbyte too far.\n"
.LC23:
	.string	"Rword too far.\n"
	.text
	.globl	relext
	.type	relext, @function
relext:
.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, 80
	mov	QWORD PTR -72[rbp], rdi
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdx, QWORD PTR base[rip]
	sub	rax, rdx
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, rdx
	sub	rax, rcx
	mov	QWORD PTR -40[rbp], rax
	mov	DWORD PTR -52[rbp], 0
	jmp	.L157
.L171:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR 72[rax]
	mov	eax, DWORD PTR -52[rbp]
	sal	rax, 4
	add	rax, rdx
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -48[rbp]
	add	rax, rdx
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rcx, QWORD PTR 72[rax]
	mov	eax, DWORD PTR -52[rbp]
	sal	rax, 4
	add	rax, rcx
	mov	eax, DWORD PTR 4[rax]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jne	.L158
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR stderr[rip]
	lea	rsi, .LC19[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR nrerror[rip]
	add	eax, 1
	mov	DWORD PTR nrerror[rip], eax
	jmp	.L159
.L158:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR 72[rax]
	mov	eax, DWORD PTR -52[rbp]
	sal	rax, 4
	add	rax, rdx
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -40[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -16[rbp]
	sub	rax, rdx
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR 72[rax]
	mov	eax, DWORD PTR -52[rbp]
	sal	rax, 4
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	eax, 254
	je	.L172
	cmp	eax, 254
	jg	.L161
	cmp	eax, 253
	je	.L173
	cmp	eax, 253
	jg	.L161
	cmp	eax, 251
	je	.L163
	cmp	eax, 251
	jg	.L161
	cmp	eax, 4
	je	.L164
	cmp	eax, 4
	jg	.L161
	cmp	eax, 1
	je	.L165
	cmp	eax, 2
	je	.L166
	jmp	.L161
.L165:
	mov	rdx, QWORD PTR code[rip]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR -16[rbp]
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -16[rbp]
	mov	al, 0
	test	rax, rax
	je	.L174
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 10
	mov	esi, 1
	lea	rdi, .LC20[rip]
	call	fwrite@PLT
	jmp	.L174
.L166:
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	pw
	mov	rax, QWORD PTR -16[rbp]
	mov	ax, 0
	test	rax, rax
	je	.L175
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 10
	mov	esi, 1
	lea	rdi, .LC21[rip]
	call	fwrite@PLT
	jmp	.L175
.L164:
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	pdw
	jmp	.L159
.L172:
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, 1
	mov	QWORD PTR -16[rbp], rax
	mov	rdx, QWORD PTR code[rip]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR -16[rbp]
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -16[rbp]
	mov	al, 0
	test	rax, rax
	je	.L176
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 15
	mov	esi, 1
	lea	rdi, .LC22[rip]
	call	fwrite@PLT
	jmp	.L176
.L173:
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, 2
	mov	QWORD PTR -16[rbp], rax
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	pw
	mov	rax, QWORD PTR -16[rbp]
	mov	ax, 0
	test	rax, rax
	je	.L177
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 15
	mov	esi, 1
	lea	rdi, .LC23[rip]
	call	fwrite@PLT
	jmp	.L177
.L163:
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, 4
	mov	QWORD PTR -16[rbp], rax
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	pdw
	jmp	.L159
.L161:
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 23
	mov	esi, 1
	lea	rdi, .LC10[rip]
	call	fwrite@PLT
	mov	edi, 2
	call	exit@PLT
.L174:
	nop
	jmp	.L159
.L175:
	nop
	jmp	.L159
.L176:
	nop
	jmp	.L159
.L177:
	nop
.L159:
	add	DWORD PTR -52[rbp], 1
.L157:
	mov	edx, DWORD PTR -52[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 56[rax]
	cmp	rdx, rax
	jb	.L171
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	relext, .-relext
	.globl	getlong
	.type	getlong, @function
getlong:
.LFB9:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	getc@PLT
	cdqe
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, eax
	mov	eax, DWORD PTR chk[rip]
	xor	eax, edx
	mov	DWORD PTR chk[rip], eax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	getc@PLT
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR chk[rip]
	xor	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR chk[rip], eax
	mov	eax, DWORD PTR -12[rbp]
	sal	rax, 8
	add	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	getc@PLT
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR chk[rip]
	xor	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR chk[rip], eax
	mov	eax, DWORD PTR -12[rbp]
	sal	rax, 16
	add	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	getc@PLT
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR chk[rip]
	xor	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR chk[rip], eax
	mov	eax, DWORD PTR -12[rbp]
	sal	rax, 24
	add	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	getlong, .-getlong
	.globl	getint
	.type	getint, @function
getint:
.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, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	getc@PLT
	mov	DWORD PTR -8[rbp], eax
	mov	eax, DWORD PTR chk[rip]
	xor	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR chk[rip], eax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	getc@PLT
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR chk[rip]
	xor	eax, DWORD PTR -4[rbp]
	mov	DWORD PTR chk[rip], eax
	mov	eax, DWORD PTR -4[rbp]
	sal	eax, 8
	add	DWORD PTR -8[rbp], eax
	mov	eax, DWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	getint, .-getint
	.globl	hashpjw
	.type	hashpjw, @function
hashpjw:
.LFB11:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -16[rbp], 0
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -24[rbp], rax
	jmp	.L183
.L185:
	mov	rax, QWORD PTR -16[rbp]
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	rax, al
	add	rax, rdx
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	and	eax, 4026531840
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L184
	mov	rax, QWORD PTR -8[rbp]
	shr	rax, 24
	xor	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	xor	QWORD PTR -16[rbp], rax
.L184:
	add	QWORD PTR -24[rbp], 1
.L183:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L185
	mov	rcx, QWORD PTR -16[rbp]
	movabs	rdx, 5595220951267352149
	mov	rax, rcx
	mul	rdx
	mov	rax, rdx
	shr	rax, 6
	imul	rdx, rax, 211
	mov	rax, rcx
	sub	rax, rdx
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	hashpjw, .-hashpjw
	.section	.rodata
.LC24:
	.string	"Not enough memory!\n"
	.text
	.globl	search_in_the_table
	.type	search_in_the_table, @function
search_in_the_table:
.LFB12:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 40
	.cfi_offset 3, -24
	mov	QWORD PTR -40[rbp], rdi
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	hashpjw
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, hashtable[rip]
	add	rax, rdx
	mov	QWORD PTR -24[rbp], rax
	jmp	.L188
.L192:
	cmp	DWORD PTR -28[rbp], 0
	je	.L189
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	add	rax, 40
	jmp	.L190
.L189:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	add	rax, 32
.L190:
	mov	QWORD PTR -24[rbp], rax
.L188:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L191
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcmp@PLT
	mov	DWORD PTR -28[rbp], eax
	cmp	DWORD PTR -28[rbp], 0
	jne	.L192
.L191:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L193
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	jmp	.L194
.L193:
	mov	edi, 48
	mov	eax, 0
	call	malloc@PLT
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L195
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 19
	mov	esi, 1
	lea	rdi, .LC24[rip]
	call	fwrite@PLT
	mov	edi, 1
	call	exit@PLT
.L195:
	mov	rax, QWORD PTR -24[rbp]
	mov	rbx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	strdup
	mov	QWORD PTR 16[rbx], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR 16[rax]
	test	rax, rax
	jne	.L196
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 15
	mov	esi, 1
	lea	rdi, .LC3[rip]
	call	fwrite@PLT
	mov	edi, 1
	call	exit@PLT
.L196:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	DWORD PTR [rax], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR 8[rax], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR 32[rax], 0
	mov	rdx, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rdx]
	mov	rax, QWORD PTR 32[rax]
	mov	QWORD PTR 40[rdx], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
.L194:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE12:
	.size	search_in_the_table, .-search_in_the_table
	.globl	strdup
	.type	strdup, @function
strdup:
.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, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	strlen@PLT
	add	eax, 1
	mov	edi, eax
	mov	eax, 0
	call	malloc@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L198
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	strcpy@PLT
.L198:
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE13:
	.size	strdup, .-strdup
	.section	.rodata
	.align 8
.LC25:
	.string	"Usage: link [options] input_file_name_list\n"
	.align 8
.LC26:
	.string	"Options: -B[x]nnnn base address. (if x then in hex.)\n"
	.align 8
.LC27:
	.string	"n&name change default (a.tsk) outfilename\n"
.LC28:
	.string	"w reverse word order.\n"
.LC29:
	.string	"d reverse long word order.\n"
	.align 8
.LC30:
	.string	"\nThe & means: write the name without space.\n"
	.text
	.globl	usage
	.type	usage, @function
usage:
.LFB14:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 43
	mov	esi, 1
	lea	rdi, .LC25[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 53
	mov	esi, 1
	lea	rdi, .LC26[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 42
	mov	esi, 1
	lea	rdi, .LC27[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 22
	mov	esi, 1
	lea	rdi, .LC28[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 27
	mov	esi, 1
	lea	rdi, .LC29[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 44
	mov	esi, 1
	lea	rdi, .LC30[rip]
	call	fwrite@PLT
	mov	edi, 1
	call	exit@PLT
	.cfi_endproc
.LFE14:
	.size	usage, .-usage
	.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	"661693.c"
	.text
	.comm	hashtable,844,4
	.comm	reloc,4,4
	.comm	public,4,4
	.comm	outfilnam,4,4
	.comm	base,4,4
	.comm	code,4,4
	.comm	name,101,4
	.global	nrerror
	.bss
	.align	2
	.type	nrerror, %object
	.size	nrerror, 4
nrerror:
	.space	4
	.comm	wordord,4,4
	.comm	dwordord,4,4
	.section	.rodata
	.align	2
.LC0:
	.ascii	"a.tsk\000"
	.align	2
.LC1:
	.ascii	"help\000"
	.align	2
.LC2:
	.ascii	"No input file!\012\000"
	.align	2
.LC3:
	.ascii	"End of memory!\012\000"
	.align	2
.LC4:
	.ascii	"Versoft linker Version 1.0\012\000"
	.align	2
.LC5:
	.ascii	"Pass 1\012\000"
	.align	2
.LC6:
	.ascii	"Misspelled base!\012\000"
	.align	2
.LC7:
	.ascii	"Invalid option %c.\012\000"
	.align	2
.LC8:
	.ascii	"r\000"
	.align	2
.LC9:
	.ascii	"Bad object format.\012\000"
	.align	2
.LC10:
	.ascii	"Internal linker error.\012\000"
	.align	2
.LC11:
	.ascii	"I can not open the file %s.\012\000"
	.align	2
.LC12:
	.ascii	"Zero code error.\012\000"
	.align	2
.LC13:
	.ascii	"Pass 2.\012\000"
	.align	2
.LC14:
	.ascii	"No .tsk file.\012\000"
	.align	2
.LC15:
	.ascii	"w\000"
	.align	2
.LC16:
	.ascii	"Unable to open the file %s.\012\000"
	.text
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #32
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	ldr	r3, .L59
	ldr	r2, .L59+4
	str	r2, [r3]
	ldr	r3, .L59+8
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L59+12
	mov	r2, #0
	str	r2, [r3]
	mov	r3, #0
	str	r3, [fp, #-32]
	ldr	r3, .L59+16
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-40]
	cmp	r3, #1
	beq	.L2
	ldr	r3, [fp, #-40]
	cmp	r3, #2
	bne	.L3
	ldr	r3, [fp, #-44]
	add	r3, r3, #4
	ldr	r3, [r3]
	ldr	r1, .L59+20
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L3
.L2:
	bl	usage
.L3:
	mov	r3, #1
	str	r3, [fp, #-36]
	b	.L4
.L6:
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-44]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #45
	beq	.L5
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L5:
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
.L4:
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-36]
	cmp	r2, r3
	bcc	.L6
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L7
	ldr	r3, .L59+24
	ldr	r3, [r3]
	mov	r2, #15
	mov	r1, #1
	ldr	r0, .L59+28
	bl	fwrite
	mov	r0, #1
	bl	exit
.L7:
	ldr	r2, [fp, #-32]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #3
	mov	r0, r3
	bl	malloc
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L8
	ldr	r3, .L59+24
	ldr	r3, [r3]
	mov	r2, #15
	mov	r1, #1
	ldr	r0, .L59+32
	bl	fwrite
	mov	r0, #1
	bl	exit
.L8:
	ldr	r3, .L59+24
	ldr	r3, [r3]
	mov	r2, #27
	mov	r1, #1
	ldr	r0, .L59+36
	bl	fwrite
	ldr	r3, .L59+24
	ldr	r3, [r3]
	mov	r2, #7
	mov	r1, #1
	ldr	r0, .L59+40
	bl	fwrite
	mov	r3, #0
	str	r3, [fp, #-28]
	mov	r3, #1
	str	r3, [fp, #-36]
	b	.L9
.L33:
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-44]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #45
	bne	.L10
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-44]
	add	r3, r2, r3
	ldr	r3, [r3]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #119
	beq	.L11
	cmp	r3, #119
	bgt	.L12
	cmp	r3, #110
	beq	.L13
	cmp	r3, #110
	bgt	.L12
	cmp	r3, #66
	beq	.L14
	cmp	r3, #100
	beq	.L15
	b	.L12
.L14:
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-44]
	add	r3, r2, r3
	ldr	r3, [r3]
	add	r3, r3, #2
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #120
	beq	.L16
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-44]
	add	r3, r2, r3
	ldr	r3, [r3]
	add	r3, r3, #2
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #88
	bne	.L17
.L16:
	mov	r5, #3
	ldr	r3, .L59+16
	mov	r2, #0
	str	r2, [r3]
	b	.L18
.L22:
	ldr	r3, .L59+16
	ldr	r3, [r3]
	lsl	r3, r3, #4
	ldr	r2, .L59+16
	str	r3, [r2]
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	mov	r3, r4
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #256
	cmp	r3, #0
	beq	.L19
	mov	r0, r4
	bl	tolower
	mov	r4, r0
.L19:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	mov	r3, r4
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #2048
	cmp	r3, #0
	beq	.L20
	mov	r2, r4
	ldr	r3, .L59+16
	ldr	r3, [r3]
	add	r3, r2, r3
	sub	r3, r3, #48
	ldr	r2, .L59+16
	str	r3, [r2]
	b	.L21
.L20:
	mov	r2, r4
	ldr	r3, .L59+16
	ldr	r3, [r3]
	add	r3, r2, r3
	sub	r3, r3, #87
	ldr	r2, .L59+16
	str	r3, [r2]
.L21:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	mov	r3, r4
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #4096
	cmp	r3, #0
	bne	.L18
	ldr	r3, .L59+24
	ldr	r3, [r3]
	mov	r2, #17
	mov	r1, #1
	ldr	r0, .L59+44
	bl	fwrite
	mov	r0, #1
	bl	exit
.L18:
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-44]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r5
	add	r5, r2, #1
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r4, r3
	cmp	r4, #0
	bne	.L22
	b	.L54
.L17:
	mov	r5, #2
	ldr	r3, .L59+16
	mov	r2, #0
	str	r2, [r3]
	b	.L24
.L25:
	ldr	r3, .L59+16
	ldr	r2, [r3]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #1
	mov	r2, r3
	ldr	r3, .L59+16
	str	r2, [r3]
	mov	r2, r4
	ldr	r3, .L59+16
	ldr	r3, [r3]
	add	r3, r2, r3
	sub	r3, r3, #48
	ldr	r2, .L59+16
	str	r3, [r2]
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	mov	r3, r4
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #2048
	cmp	r3, #0
	bne	.L24
	ldr	r3, .L59+24
	ldr	r3, [r3]
	mov	r2, #17
	mov	r1, #1
	ldr	r0, .L59+44
	bl	fwrite
	mov	r0, #1
	bl	exit
.L24:
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-44]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r5
	add	r5, r2, #1
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r4, r3
	cmp	r4, #0
	bne	.L25
	b	.L27
.L54:
	b	.L27
.L13:
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-44]
	add	r3, r2, r3
	ldr	r3, [r3]
	add	r3, r3, #2
	ldr	r2, .L59
	str	r3, [r2]
	b	.L27
.L11:
	ldr	r3, .L59+8
	mov	r2, #1
	str	r2, [r3]
	b	.L27
.L15:
	ldr	r3, .L59+12
	mov	r2, #1
	str	r2, [r3]
	b	.L27
.L12:
	ldr	r3, .L59+24
	ldr	r0, [r3]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-44]
	add	r3, r2, r3
	ldr	r3, [r3]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r1, .L59+48
	bl	fprintf
	mov	r0, #1
	bl	exit
.L10:
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-44]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, .L59+52
	mov	r0, r3
	bl	fopen
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L28
	ldr	r2, [fp, #-28]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #3
	mov	r2, r3
	ldr	r3, [fp, #-20]
	add	r3, r3, r2
	mov	r2, #0
	str	r2, [r3, #16]
	ldr	r2, [fp, #-28]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #3
	mov	r2, r3
	ldr	r3, [fp, #-20]
	add	r3, r3, r2
	mov	r2, #0
	str	r2, [r3, #20]
	ldr	r2, [fp, #-28]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #3
	mov	r2, r3
	ldr	r3, [fp, #-20]
	add	r3, r3, r2
	mov	r2, #0
	str	r2, [r3, #24]
	ldr	r2, [fp, #-28]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #3
	mov	r2, r3
	ldr	r3, [fp, #-20]
	add	r3, r3, r2
	mov	r2, #0
	str	r2, [r3, #28]
	ldr	r2, [fp, #-28]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #3
	mov	r2, r3
	ldr	r3, [fp, #-20]
	add	r3, r3, r2
	mov	r2, #1
	str	r2, [r3, #12]
	ldr	r2, [fp, #-28]
	add	r3, r2, #1
	str	r3, [fp, #-28]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #3
	mov	r2, r3
	ldr	r3, [fp, #-20]
	add	r3, r3, r2
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	pas1
	mov	r3, r0
	cmp	r3, #0
	beq	.L57
	cmp	r3, #1
	bne	.L55
	ldr	r3, .L59+24
	ldr	r3, [r3]
	mov	r2, #19
	mov	r1, #1
	ldr	r0, .L59+56
	bl	fwrite
	mov	r0, #1
	bl	exit
.L55:
	ldr	r3, .L59+24
	ldr	r3, [r3]
	mov	r2, #23
	mov	r1, #1
	ldr	r0, .L59+60
	bl	fwrite
	mov	r0, #2
	bl	exit
.L57:
	nop
	ldr	r0, [fp, #-16]
	bl	fclose
	b	.L27
.L28:
	ldr	r3, .L59+24
	ldr	r0, [r3]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-44]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, .L59+64
	bl	fprintf
	mov	r0, #1
	bl	exit
.L27:
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
.L9:
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-36]
	cmp	r2, r3
	bcc	.L33
	ldr	r3, .L59+16
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-36]
	b	.L34
.L35:
	ldr	r2, [fp, #-36]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #3
	mov	r2, r3
	ldr	r3, [fp, #-20]
	add	r3, r3, r2
	ldr	r2, [fp, #-24]
	str	r2, [r3, #8]
	ldr	r2, [fp, #-36]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #3
	mov	r2, r3
	ldr	r3, [fp, #-20]
	add	r3, r3, r2
	ldr	r1, [r3, #4]
	ldr	r2, [fp, #-36]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #3
	mov	r2, r3
	ldr	r3, [fp, #-20]
	add	r3, r3, r2
	ldr	r3, [r3]
	sub	r2, r1, r3
	ldr	r3, [fp, #-24]
	add	r3, r2, r3
	add	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
.L34:
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-28]
	cmp	r2, r3
	bcc	.L35
	ldr	r3, .L59+16
	ldr	r3, [r3]
	ldr	r2, [fp, #-24]
	sub	r3, r2, r3
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L36
	ldr	r3, .L59+24
	ldr	r3, [r3]
	mov	r2, #17
	mov	r1, #1
	ldr	r0, .L59+68
	bl	fwrite
	mov	r0, #1
	bl	exit
.L36:
	ldr	r0, [fp, #-24]
	bl	malloc
	mov	r3, r0
	ldr	r2, .L59+72
	str	r3, [r2]
	ldr	r3, .L59+72
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L37
	ldr	r3, .L59+24
	ldr	r3, [r3]
	mov	r2, #15
	mov	r1, #1
	ldr	r0, .L59+32
	bl	fwrite
	mov	r0, #1
	bl	exit
.L37:
	ldr	r3, .L59+24
	ldr	r3, [r3]
	mov	r2, #8
	mov	r1, #1
	ldr	r0, .L59+76
	bl	fwrite
	mov	r3, #0
	str	r3, [fp, #-28]
	mov	r3, #1
	str	r3, [fp, #-36]
	b	.L38
.L46:
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-44]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #45
	beq	.L39
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-44]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, .L59+52
	mov	r0, r3
	bl	fopen
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L40
	ldr	r2, [fp, #-28]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #3
	mov	r2, r3
	ldr	r3, [fp, #-20]
	add	r3, r3, r2
	ldr	r3, [r3, #16]
	cmp	r3, #0
	beq	.L41
	ldr	r2, [fp, #-28]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #3
	mov	r2, r3
	ldr	r3, [fp, #-20]
	add	r3, r3, r2
	ldr	r3, [r3, #16]
	lsl	r3, r3, #3
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	ldr	r2, .L59+80
	str	r3, [r2]
	ldr	r3, .L59+80
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L41
	ldr	r3, .L59+24
	ldr	r3, [r3]
	mov	r2, #15
	mov	r1, #1
	ldr	r0, .L59+32
	bl	fwrite
	mov	r0, #1
	bl	exit
.L41:
	ldr	r2, [fp, #-28]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #3
	mov	r2, r3
	ldr	r3, [fp, #-20]
	add	r3, r3, r2
	ldr	r3, [r3, #20]
	cmp	r3, #0
	beq	.L42
	ldr	r2, [fp, #-28]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #3
	mov	r2, r3
	ldr	r3, [fp, #-20]
	add	r3, r3, r2
	ldr	r3, [r3, #20]
	lsl	r3, r3, #2
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	ldr	r2, .L59+84
	str	r3, [r2]
	ldr	r3, .L59+84
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L42
	ldr	r3, .L59+24
	ldr	r3, [r3]
	mov	r2, #15
	mov	r1, #1
	ldr	r0, .L59+32
	bl	fwrite
	mov	r0, #1
	bl	exit
.L42:
	ldr	r2, [fp, #-28]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #3
	mov	r2, r3
	ldr	r3, [fp, #-20]
	add	r3, r3, r2
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	pas2
	mov	r3, r0
	cmp	r3, #0
	beq	.L58
	ldr	r3, .L59+24
	ldr	r3, [r3]
	mov	r2, #23
	mov	r1, #1
	ldr	r0, .L59+60
	bl	fwrite
	mov	r0, #2
	bl	exit
.L58:
	nop
	ldr	r2, [fp, #-28]
	add	r3, r2, #1
	str	r3, [fp, #-28]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #3
	mov	r2, r3
	ldr	r3, [fp, #-20]
	add	r3, r3, r2
	mov	r0, r3
	bl	do_relocation
	ldr	r0, [fp, #-16]
	bl	fclose
	b	.L39
.L40:
	ldr	r3, .L59+24
	ldr	r0, [r3]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-44]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, .L59+64
	bl	fprintf
	mov	r0, #1
	bl	exit
.L39:
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
.L38:
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-36]
	cmp	r2, r3
	bcc	.L46
	mov	r3, #0
	str	r3, [fp, #-36]
	b	.L47
.L48:
	ldr	r2, [fp, #-36]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #3
	mov	r2, r3
	ldr	r3, [fp, #-20]
	add	r3, r3, r2
	mov	r0, r3
	bl	relext
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
.L47:
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-32]
	cmp	r2, r3
	bcc	.L48
	ldr	r3, .L59+88
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L49
	ldr	r3, .L59+24
	ldr	r3, [r3]
	mov	r2, #14
	mov	r1, #1
	ldr	r0, .L59+92
	bl	fwrite
	mov	r0, #1
	bl	exit
.L49:
	ldr	r3, .L59
	ldr	r3, [r3]
	ldr	r1, .L59+96
	mov	r0, r3
	bl	fopen
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L50
	ldr	r3, .L59+24
	ldr	r3, [r3]
	ldr	r2, .L59
	ldr	r2, [r2]
	ldr	r1, .L59+100
	mov	r0, r3
	bl	fprintf
	mov	r0, #1
	bl	exit
.L50:
	mov	r3, #0
	str	r3, [fp, #-36]
	b	.L51
.L52:
	ldr	r3, .L59+72
	ldr	r2, [r3]
	ldr	r3, [fp, #-36]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	ldr	r1, [fp, #-16]
	mov	r0, r3
	bl	fputc
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
.L51:
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	bcc	.L52
	ldr	r0, [fp, #-16]
	bl	fclose
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L60:
	.align	2
.L59:
	.word	outfilnam
	.word	.LC0
	.word	wordord
	.word	dwordord
	.word	base
	.word	.LC1
	.word	stderr
	.word	.LC2
	.word	.LC3
	.word	.LC4
	.word	.LC5
	.word	.LC6
	.word	.LC7
	.word	.LC8
	.word	.LC9
	.word	.LC10
	.word	.LC11
	.word	.LC12
	.word	code
	.word	.LC13
	.word	reloc
	.word	public
	.word	nrerror
	.word	.LC14
	.word	.LC15
	.word	.LC16
	.size	main, .-main
	.comm	chk,4,4
	.section	.rodata
	.align	2
.LC17:
	.ascii	"Check summ error!\012\000"
	.text
	.align	2
	.global	pas1
	.syntax unified
	.arm
	.fpu softvfp
	.type	pas1, %function
pas1:
	@ 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	r0, [fp, #-24]
	bl	getc
	mov	r3, r0
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #85
	beq	.L62
	mov	r3, #1
	b	.L63
.L62:
	ldr	r0, [fp, #-24]
	bl	getc
	mov	r3, r0
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #170
	beq	.L65
	mov	r3, #1
	b	.L63
.L98:
	ldr	r3, [fp, #-12]
	sub	r3, r3, #129
	cmp	r3, #4
	ldrls	pc, [pc, r3, asl #2]
	b	.L66
.L68:
	.word	.L72
	.word	.L71
	.word	.L70
	.word	.L69
	.word	.L67
.L72:
	ldr	r0, [fp, #-24]
	bl	getint
	str	r0, [fp, #-16]
	ldr	r3, .L99
	mov	r2, #0
	str	r2, [r3]
	ldr	r0, [fp, #-24]
	bl	getlong
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	beq	.L73
	ldr	r3, [fp, #-28]
	mov	r2, #0
	str	r2, [r3, #12]
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #4]
.L73:
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	bcs	.L74
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
.L74:
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	bls	.L75
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #4]
.L75:
	ldr	r0, [fp, #-24]
	bl	getc
	mov	r3, r0
	str	r3, [fp, #-12]
	ldr	r3, .L99
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	eor	r3, r3, r2
	ldr	r2, .L99
	str	r3, [r2]
	ldr	r3, [fp, #-12]
	add	r3, r3, #5
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	beq	.L76
	mov	r3, #1
	b	.L63
.L76:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	sub	r3, r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	bcs	.L77
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
.L77:
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	bls	.L78
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #4]
.L78:
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L79
.L80:
	ldr	r0, [fp, #-24]
	bl	getc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L99
	ldr	r3, [r3]
	eor	r3, r3, r2
	ldr	r2, .L99
	str	r3, [r2]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L79:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-12]
	cmp	r2, r3
	bcc	.L80
	ldr	r0, [fp, #-24]
	bl	getc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L99
	ldr	r3, [r3]
	cmp	r2, r3
	beq	.L65
	ldr	r3, .L99+4
	ldr	r3, [r3]
	mov	r2, #18
	mov	r1, #1
	ldr	r0, .L99+8
	bl	fwrite
	mov	r0, #1
	bl	exit
.L71:
	ldr	r0, [fp, #-24]
	bl	getint
	str	r0, [fp, #-16]
	ldr	r3, .L99
	mov	r2, #0
	str	r2, [r3]
	ldr	r0, [fp, #-24]
	bl	getc
	mov	r3, r0
	str	r3, [fp, #-12]
	ldr	r3, .L99
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	eor	r3, r3, r2
	ldr	r2, .L99
	str	r3, [r2]
	ldr	r2, [fp, #-12]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	add	r3, r3, #1
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	beq	.L82
	mov	r3, #1
	b	.L63
.L82:
	ldr	r3, [fp, #-28]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-12]
	add	r2, r2, r3
	ldr	r3, [fp, #-28]
	str	r2, [r3, #16]
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L83
.L84:
	ldr	r0, [fp, #-24]
	bl	getc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L99
	ldr	r3, [r3]
	eor	r3, r3, r2
	ldr	r2, .L99
	str	r3, [r2]
	ldr	r0, [fp, #-24]
	bl	getlong
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L83:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-12]
	cmp	r2, r3
	bcc	.L84
	ldr	r0, [fp, #-24]
	bl	getc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L99
	ldr	r3, [r3]
	cmp	r2, r3
	beq	.L65
	ldr	r3, .L99+4
	ldr	r3, [r3]
	mov	r2, #18
	mov	r1, #1
	ldr	r0, .L99+8
	bl	fwrite
	mov	r0, #1
	bl	exit
.L70:
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #20]
	add	r2, r3, #1
	ldr	r3, [fp, #-28]
	str	r2, [r3, #20]
	ldr	r0, [fp, #-24]
	bl	getint
	str	r0, [fp, #-16]
	ldr	r3, .L99
	mov	r2, #0
	str	r2, [r3]
	ldr	r0, [fp, #-24]
	bl	getc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L99
	ldr	r3, [r3]
	eor	r3, r3, r2
	ldr	r2, .L99
	str	r3, [r2]
	ldr	r3, [fp, #-16]
	sub	r3, r3, #1
	str	r3, [fp, #-16]
	ldr	r0, [fp, #-24]
	bl	getc
	mov	r3, r0
	str	r3, [fp, #-20]
	ldr	r3, .L99
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	eor	r3, r3, r2
	ldr	r2, .L99
	str	r3, [r2]
	ldr	r3, [fp, #-16]
	sub	r3, r3, #1
	str	r3, [fp, #-16]
	b	.L86
.L87:
	ldr	r0, [fp, #-24]
	bl	getc
	mov	r3, r0
	str	r3, [fp, #-20]
	ldr	r3, .L99
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	eor	r3, r3, r2
	ldr	r2, .L99
	str	r3, [r2]
	ldr	r3, [fp, #-16]
	sub	r3, r3, #1
	str	r3, [fp, #-16]
.L86:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L87
	ldr	r3, [fp, #-16]
	cmp	r3, #4
	beq	.L88
	mov	r3, #1
	b	.L63
.L88:
	ldr	r0, [fp, #-24]
	bl	getlong
	ldr	r0, [fp, #-24]
	bl	getc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L99
	ldr	r3, [r3]
	cmp	r2, r3
	beq	.L65
	ldr	r3, .L99+4
	ldr	r3, [r3]
	mov	r2, #18
	mov	r1, #1
	ldr	r0, .L99+8
	bl	fwrite
	mov	r0, #1
	bl	exit
.L69:
	ldr	r0, [fp, #-24]
	bl	getint
	str	r0, [fp, #-16]
	ldr	r3, .L99
	mov	r2, #0
	str	r2, [r3]
	ldr	r0, [fp, #-24]
	bl	getc
	mov	r3, r0
	str	r3, [fp, #-20]
	ldr	r3, .L99
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	eor	r3, r3, r2
	ldr	r2, .L99
	str	r3, [r2]
	ldr	r3, [fp, #-16]
	sub	r3, r3, #1
	str	r3, [fp, #-16]
	b	.L90
.L91:
	ldr	r0, [fp, #-24]
	bl	getc
	mov	r3, r0
	str	r3, [fp, #-20]
	ldr	r3, .L99
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	eor	r3, r3, r2
	ldr	r2, .L99
	str	r3, [r2]
	ldr	r3, [fp, #-16]
	sub	r3, r3, #1
	str	r3, [fp, #-16]
.L90:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L91
	ldr	r3, [fp, #-16]
	cmp	r3, #2
	beq	.L92
	mov	r3, #1
	b	.L63
.L92:
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #24]
	add	r2, r3, #1
	ldr	r3, [fp, #-28]
	str	r2, [r3, #24]
	ldr	r0, [fp, #-24]
	bl	getint
	ldr	r0, [fp, #-24]
	bl	getc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L99
	ldr	r3, [r3]
	cmp	r2, r3
	beq	.L65
	ldr	r3, .L99+4
	ldr	r3, [r3]
	mov	r2, #18
	mov	r1, #1
	ldr	r0, .L99+8
	bl	fwrite
	mov	r0, #1
	bl	exit
.L67:
	ldr	r0, [fp, #-24]
	bl	getint
	str	r0, [fp, #-16]
	ldr	r3, .L99
	mov	r2, #0
	str	r2, [r3]
	ldr	r0, [fp, #-24]
	bl	getc
	mov	r3, r0
	str	r3, [fp, #-12]
	ldr	r3, .L99
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	eor	r3, r3, r2
	ldr	r2, .L99
	str	r3, [r2]
	ldr	r2, [fp, #-12]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	add	r3, r3, #1
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	beq	.L94
	mov	r3, #1
	b	.L63
.L94:
	ldr	r3, [fp, #-28]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-12]
	add	r2, r2, r3
	ldr	r3, [fp, #-28]
	str	r2, [r3, #28]
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L95
.L96:
	ldr	r0, [fp, #-24]
	bl	getint
	ldr	r0, [fp, #-24]
	bl	getc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L99
	ldr	r3, [r3]
	eor	r3, r3, r2
	ldr	r2, .L99
	str	r3, [r2]
	ldr	r0, [fp, #-24]
	bl	getlong
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L95:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-12]
	cmp	r2, r3
	bcc	.L96
	ldr	r0, [fp, #-24]
	bl	getc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L99
	ldr	r3, [r3]
	cmp	r2, r3
	beq	.L65
	ldr	r3, .L99+4
	ldr	r3, [r3]
	mov	r2, #18
	mov	r1, #1
	ldr	r0, .L99+8
	bl	fwrite
	mov	r0, #1
	bl	exit
.L66:
	mov	r3, #1
	b	.L63
.L65:
	ldr	r0, [fp, #-24]
	bl	getc
	mov	r3, r0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmn	r3, #1
	bne	.L98
	mov	r3, #0
.L63:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L100:
	.align	2
.L99:
	.word	chk
	.word	stderr
	.word	.LC17
	.size	pas1, .-pas1
	.section	.rodata
	.align	2
.LC18:
	.ascii	"WARNING Symbol %s duplicated.\012\000"
	.text
	.align	2
	.global	pas2
	.syntax unified
	.arm
	.fpu softvfp
	.type	pas2, %function
pas2:
	@ 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]
	mov	r3, #0
	str	r3, [fp, #-40]
	mov	r3, #0
	str	r3, [fp, #-36]
	mov	r3, #0
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-60]
	ldr	r3, [r3, #24]
	cmp	r3, #0
	beq	.L102
	ldr	r3, [fp, #-60]
	ldr	r3, [r3, #24]
	mov	r1, r3
	mov	r0, #4
	bl	calloc
	mov	r2, r0
	ldr	r3, [fp, #-60]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-60]
	ldr	r3, [r3, #32]
	cmp	r3, #0
	bne	.L102
	ldr	r3, .L135
	ldr	r3, [r3]
	mov	r2, #15
	mov	r1, #1
	ldr	r0, .L135+4
	bl	fwrite
	mov	r0, #1
	bl	exit
.L102:
	ldr	r3, [fp, #-60]
	ldr	r3, [r3, #28]
	cmp	r3, #0
	beq	.L103
	ldr	r3, [fp, #-60]
	ldr	r2, [r3, #28]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r0, r3
	bl	malloc
	mov	r2, r0
	ldr	r3, [fp, #-60]
	str	r2, [r3, #36]
	ldr	r3, [fp, #-60]
	ldr	r3, [r3, #36]
	cmp	r3, #0
	bne	.L103
	ldr	r3, .L135
	ldr	r3, [r3]
	mov	r2, #15
	mov	r1, #1
	ldr	r0, .L135+4
	bl	fwrite
	mov	r0, #1
	bl	exit
.L103:
	ldr	r0, [fp, #-56]
	bl	getc
	mov	r3, r0
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	cmp	r3, #85
	beq	.L104
	mov	r3, #1
	b	.L105
.L104:
	ldr	r0, [fp, #-56]
	bl	getc
	mov	r3, r0
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	cmp	r3, #170
	beq	.L107
	mov	r3, #1
	b	.L105
.L134:
	ldr	r3, [fp, #-20]
	sub	r3, r3, #129
	cmp	r3, #4
	ldrls	pc, [pc, r3, asl #2]
	b	.L108
.L110:
	.word	.L114
	.word	.L113
	.word	.L112
	.word	.L111
	.word	.L109
.L114:
	ldr	r0, [fp, #-56]
	bl	getint
	str	r0, [fp, #-24]
	ldr	r0, [fp, #-56]
	bl	getlong
	str	r0, [fp, #-28]
	ldr	r0, [fp, #-56]
	bl	getc
	mov	r3, r0
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	add	r3, r3, #5
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	beq	.L115
	mov	r3, #1
	b	.L105
.L115:
	ldr	r3, [fp, #-60]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-60]
	ldr	r3, [r3]
	sub	r2, r2, r3
	ldr	r3, .L135+8
	ldr	r3, [r3]
	sub	r3, r2, r3
	ldr	r2, [fp, #-28]
	add	r3, r2, r3
	str	r3, [fp, #-28]
	mov	r3, #0
	str	r3, [fp, #-48]
	b	.L116
.L117:
	ldr	r0, [fp, #-56]
	bl	getc
	ldr	r3, .L135+12
	ldr	r2, [r3]
	ldr	r3, [fp, #-28]
	add	r1, r3, #1
	str	r1, [fp, #-28]
	add	r3, r2, r3
	and	r2, r0, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-48]
.L116:
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	bcc	.L117
	ldr	r0, [fp, #-56]
	bl	getc
	b	.L107
.L113:
	ldr	r0, [fp, #-56]
	bl	getint
	str	r0, [fp, #-24]
	ldr	r0, [fp, #-56]
	bl	getc
	mov	r3, r0
	str	r3, [fp, #-20]
	ldr	r2, [fp, #-20]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	add	r3, r3, #1
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	beq	.L118
	mov	r3, #1
	b	.L105
.L118:
	mov	r3, #0
	str	r3, [fp, #-48]
	b	.L119
.L121:
	ldr	r3, .L135+16
	ldr	r2, [r3]
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #3
	add	r4, r2, r3
	ldr	r0, [fp, #-56]
	bl	getc
	mov	r3, r0
	str	r3, [r4]
	ldr	r3, .L135+16
	ldr	r2, [r3]
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L120
	ldr	r3, .L135+16
	ldr	r2, [r3]
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #240
	beq	.L120
	mov	r3, #1
	b	.L105
.L120:
	ldr	r3, .L135+16
	ldr	r2, [r3]
	ldr	r3, [fp, #-40]
	add	r1, r3, #1
	str	r1, [fp, #-40]
	lsl	r3, r3, #3
	add	r4, r2, r3
	ldr	r0, [fp, #-56]
	bl	getlong
	mov	r3, r0
	str	r3, [r4, #4]
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-48]
.L119:
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	bcc	.L121
	ldr	r0, [fp, #-56]
	bl	getc
	b	.L107
.L112:
	ldr	r0, [fp, #-56]
	bl	getint
	str	r0, [fp, #-24]
	ldr	r0, [fp, #-56]
	bl	getc
	mov	r3, r0
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-24]
	sub	r3, r3, #1
	str	r3, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-44]
.L122:
	ldr	r0, [fp, #-56]
	bl	getc
	mov	r3, r0
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-24]
	sub	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-44]
	add	r2, r3, #1
	str	r2, [fp, #-44]
	ldr	r2, [fp, #-48]
	and	r1, r2, #255
	ldr	r2, .L135+20
	strb	r1, [r2, r3]
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	bne	.L122
	ldr	r0, .L135+20
	bl	search_in_the_table
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L123
	ldr	r3, .L135
	ldr	r3, [r3]
	ldr	r2, .L135+20
	ldr	r1, .L135+24
	mov	r0, r3
	bl	fprintf
	ldr	r3, .L135+28
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L135+28
	str	r3, [r2]
	b	.L107
.L123:
	ldr	r3, [fp, #-16]
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-20]
	cmp	r3, #240
	bne	.L124
	ldr	r3, [fp, #-16]
	mov	r2, #1
	str	r2, [r3, #12]
	b	.L125
.L124:
	ldr	r3, [fp, #-16]
	mov	r2, #0
	str	r2, [r3, #12]
.L125:
	ldr	r3, [fp, #-24]
	cmp	r3, #4
	beq	.L126
	mov	r3, #1
	b	.L105
.L126:
	ldr	r0, [fp, #-56]
	bl	getlong
	mov	r2, r0
	ldr	r3, [fp, #-16]
	str	r2, [r3, #4]
	ldr	r0, [fp, #-56]
	bl	getc
	ldr	r3, .L135+32
	ldr	r2, [r3]
	ldr	r3, [fp, #-36]
	add	r1, r3, #1
	str	r1, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	b	.L107
.L111:
	ldr	r0, [fp, #-56]
	bl	getint
	str	r0, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-44]
.L127:
	ldr	r0, [fp, #-56]
	bl	getc
	mov	r3, r0
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-44]
	add	r2, r3, #1
	str	r2, [fp, #-44]
	ldr	r2, [fp, #-48]
	and	r1, r2, #255
	ldr	r2, .L135+20
	strb	r1, [r2, r3]
	ldr	r3, [fp, #-24]
	sub	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	bne	.L127
	ldr	r3, [fp, #-24]
	cmp	r3, #2
	beq	.L128
	mov	r3, #1
	b	.L105
.L128:
	ldr	r0, .L135+20
	bl	search_in_the_table
	str	r0, [fp, #-16]
	ldr	r0, [fp, #-56]
	bl	getint
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-60]
	ldr	r3, [r3, #24]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	bcs	.L129
	mov	r3, #1
	b	.L105
.L129:
	ldr	r3, [fp, #-60]
	ldr	r2, [r3, #32]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L130
	mov	r3, #1
	b	.L105
.L130:
	ldr	r3, [fp, #-60]
	ldr	r2, [r3, #32]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	ldr	r0, [fp, #-56]
	bl	getc
	b	.L107
.L109:
	ldr	r0, [fp, #-56]
	bl	getint
	str	r0, [fp, #-24]
	ldr	r0, [fp, #-56]
	bl	getc
	mov	r3, r0
	str	r3, [fp, #-20]
	ldr	r2, [fp, #-20]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	add	r3, r3, #1
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	beq	.L131
	mov	r3, #1
	b	.L105
.L131:
	mov	r3, #0
	str	r3, [fp, #-48]
	b	.L132
.L133:
	ldr	r0, [fp, #-56]
	bl	getint
	ldr	r3, [fp, #-60]
	ldr	r1, [r3, #36]
	ldr	r2, [fp, #-32]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	mov	r2, r0
	str	r2, [r3, #4]
	ldr	r3, [fp, #-60]
	ldr	r1, [r3, #36]
	ldr	r2, [fp, #-32]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r4, r1, r3
	ldr	r0, [fp, #-56]
	bl	getc
	mov	r3, r0
	str	r3, [r4]
	ldr	r3, [fp, #-60]
	ldr	r1, [r3, #36]
	ldr	r2, [fp, #-32]
	add	r3, r2, #1
	str	r3, [fp, #-32]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r4, r1, r3
	ldr	r0, [fp, #-56]
	bl	getlong
	mov	r3, r0
	str	r3, [r4, #8]
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-48]
.L132:
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	bcc	.L133
	ldr	r0, [fp, #-56]
	bl	getc
	b	.L107
.L108:
	ldr	r3, .L135
	ldr	r3, [r3]
	mov	r2, #23
	mov	r1, #1
	ldr	r0, .L135+36
	bl	fwrite
	mov	r0, #2
	bl	exit
.L107:
	ldr	r0, [fp, #-56]
	bl	getc
	mov	r3, r0
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmn	r3, #1
	bne	.L134
	mov	r3, #0
.L105:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L136:
	.align	2
.L135:
	.word	stderr
	.word	.LC3
	.word	base
	.word	code
	.word	reloc
	.word	name
	.word	.LC18
	.word	nrerror
	.word	public
	.word	.LC10
	.size	pas2, .-pas2
	.align	2
	.global	gw
	.syntax unified
	.arm
	.fpu softvfp
	.type	gw, %function
gw:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, .L140
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L138
	ldr	r3, .L140+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r3, .L140+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	add	r3, r1, r3
	b	.L139
.L138:
	ldr	r3, .L140+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r3, .L140+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	add	r3, r1, r3
.L139:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L141:
	.align	2
.L140:
	.word	wordord
	.word	code
	.size	gw, .-gw
	.align	2
	.global	gdw
	.syntax unified
	.arm
	.fpu softvfp
	.type	gdw, %function
gdw:
	@ 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]
	ldr	r3, .L145
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L143
	ldr	r3, [fp, #-16]
	add	r3, r3, #2
	mov	r0, r3
	bl	gw
	mov	r4, r0
	ldr	r0, [fp, #-16]
	bl	gw
	mov	r3, r0
	lsl	r3, r3, #16
	add	r3, r4, r3
	b	.L144
.L143:
	ldr	r0, [fp, #-16]
	bl	gw
	mov	r4, r0
	ldr	r3, [fp, #-16]
	add	r3, r3, #2
	mov	r0, r3
	bl	gw
	mov	r3, r0
	lsl	r3, r3, #16
	add	r3, r4, r3
.L144:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L146:
	.align	2
.L145:
	.word	dwordord
	.size	gdw, .-gdw
	.align	2
	.global	pw
	.syntax unified
	.arm
	.fpu softvfp
	.type	pw, %function
pw:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, .L151
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L148
	ldr	r3, .L151+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	add	r3, r2, r3
	ldr	r2, [fp, #-12]
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-12]
	lsr	r2, r3, #8
	ldr	r3, .L151+4
	ldr	r1, [r3]
	ldr	r3, [fp, #-8]
	add	r3, r1, r3
	and	r2, r2, #255
	strb	r2, [r3]
	b	.L150
.L148:
	ldr	r3, .L151+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	ldr	r2, [fp, #-12]
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-12]
	lsr	r2, r3, #8
	ldr	r3, .L151+4
	ldr	r1, [r3]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	add	r3, r1, r3
	and	r2, r2, #255
	strb	r2, [r3]
.L150:
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L152:
	.align	2
.L151:
	.word	wordord
	.word	code
	.size	pw, .-pw
	.align	2
	.global	pdw
	.syntax unified
	.arm
	.fpu softvfp
	.type	pdw, %function
pdw:
	@ 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]
	str	r1, [fp, #-12]
	ldr	r3, .L157
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L154
	ldr	r3, [fp, #-8]
	add	r2, r3, #2
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r1, r3
	mov	r0, r2
	bl	pw
	ldr	r3, [fp, #-12]
	lsr	r3, r3, #16
	mov	r1, r3
	ldr	r0, [fp, #-8]
	bl	pw
	b	.L156
.L154:
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r1, r3
	ldr	r0, [fp, #-8]
	bl	pw
	ldr	r3, [fp, #-8]
	add	r2, r3, #2
	ldr	r3, [fp, #-12]
	lsr	r3, r3, #16
	mov	r1, r3
	mov	r0, r2
	bl	pw
.L156:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L158:
	.align	2
.L157:
	.word	dwordord
	.size	pdw, .-pdw
	.align	2
	.global	do_relocation
	.syntax unified
	.arm
	.fpu softvfp
	.type	do_relocation, %function
do_relocation:
	@ 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]
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	sub	r3, r2, r3
	str	r3, [fp, #-12]
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L160
.L163:
	ldr	r3, .L170
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L161
	ldr	r3, .L170
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-12]
	add	r2, r2, r3
	ldr	r3, .L170+4
	ldr	r3, [r3]
	sub	r3, r2, r3
	mov	r0, r3
	bl	gw
	str	r0, [fp, #-8]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, .L170
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-12]
	add	r2, r2, r3
	ldr	r3, .L170+4
	ldr	r3, [r3]
	sub	r3, r2, r3
	ldr	r1, [fp, #-8]
	mov	r0, r3
	bl	pw
	b	.L162
.L161:
	ldr	r3, .L170
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-12]
	add	r2, r2, r3
	ldr	r3, .L170+4
	ldr	r3, [r3]
	sub	r3, r2, r3
	mov	r0, r3
	bl	gdw
	str	r0, [fp, #-8]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, .L170
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-12]
	add	r2, r2, r3
	ldr	r3, .L170+4
	ldr	r3, [r3]
	sub	r3, r2, r3
	ldr	r1, [fp, #-8]
	mov	r0, r3
	bl	pdw
.L162:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L160:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #16]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	bcc	.L163
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #16]
	cmp	r3, #0
	beq	.L164
	ldr	r3, .L170
	ldr	r3, [r3]
	mov	r0, r3
	bl	free
.L164:
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L165
.L167:
	ldr	r3, .L170+8
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	beq	.L166
	ldr	r3, .L170+8
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, [r3, #4]
	ldr	r3, .L170+8
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	add	r2, r1, r2
	str	r2, [r3, #4]
.L166:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L165:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	bcc	.L167
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #20]
	cmp	r3, #0
	beq	.L169
	ldr	r3, .L170+8
	ldr	r3, [r3]
	mov	r0, r3
	bl	free
.L169:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L171:
	.align	2
.L170:
	.word	reloc
	.word	base
	.word	public
	.size	do_relocation, .-do_relocation
	.section	.rodata
	.align	2
.LC19:
	.ascii	"Undefined external %s.\012\000"
	.align	2
.LC20:
	.ascii	"Byte big.\012\000"
	.align	2
.LC21:
	.ascii	"Word big.\012\000"
	.align	2
.LC22:
	.ascii	"Rbyte too far.\012\000"
	.align	2
.LC23:
	.ascii	"Rword too far.\012\000"
	.text
	.align	2
	.global	relext
	.syntax unified
	.arm
	.fpu softvfp
	.type	relext, %function
relext:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-40]
	ldr	r3, [fp, #-40]
	ldr	r2, [r3, #8]
	ldr	r3, .L194
	ldr	r3, [r3]
	sub	r3, r2, r3
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-40]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	sub	r3, r2, r3
	str	r3, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-32]
	b	.L173
.L187:
	ldr	r3, [fp, #-40]
	ldr	r1, [r3, #36]
	ldr	r2, [fp, #-32]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-28]
	add	r3, r2, r3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-40]
	ldr	r1, [r3, #32]
	ldr	r3, [fp, #-40]
	ldr	r0, [r3, #36]
	ldr	r2, [fp, #-32]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r0, r3
	ldr	r3, [r3, #4]
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L174
	ldr	r3, .L194+4
	ldr	r0, [r3]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	mov	r2, r3
	ldr	r1, .L194+8
	bl	fprintf
	ldr	r3, .L194+12
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L194+12
	str	r3, [r2]
	b	.L175
.L174:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-40]
	ldr	r1, [r3, #36]
	ldr	r2, [fp, #-32]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-24]
	add	r3, r2, r3
	ldr	r2, [fp, #-12]
	sub	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-40]
	ldr	r1, [r3, #36]
	ldr	r2, [fp, #-32]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3]
	cmp	r3, #254
	beq	.L188
	cmp	r3, #254
	bgt	.L177
	cmp	r3, #253
	beq	.L189
	cmp	r3, #253
	bgt	.L177
	cmp	r3, #251
	beq	.L179
	cmp	r3, #251
	bgt	.L177
	cmp	r3, #4
	beq	.L180
	cmp	r3, #4
	bgt	.L177
	cmp	r3, #1
	beq	.L181
	cmp	r3, #2
	beq	.L182
	b	.L177
.L181:
	ldr	r3, .L194+16
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	add	r3, r2, r3
	ldr	r2, [fp, #-12]
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-12]
	bic	r3, r3, #255
	cmp	r3, #0
	beq	.L190
	ldr	r3, .L194+4
	ldr	r3, [r3]
	mov	r2, #10
	mov	r1, #1
	ldr	r0, .L194+20
	bl	fwrite
	b	.L190
.L182:
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-20]
	bl	pw
	ldr	r3, [fp, #-12]
	lsr	r3, r3, #16
	lsl	r3, r3, #16
	cmp	r3, #0
	beq	.L191
	ldr	r3, .L194+4
	ldr	r3, [r3]
	mov	r2, #10
	mov	r1, #1
	ldr	r0, .L194+24
	bl	fwrite
	b	.L191
.L180:
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-20]
	bl	pdw
	b	.L175
.L188:
	ldr	r3, [fp, #-8]
	sub	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r3, .L194+16
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	add	r3, r2, r3
	ldr	r2, [fp, #-12]
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-12]
	bic	r3, r3, #255
	cmp	r3, #0
	beq	.L192
	ldr	r3, .L194+4
	ldr	r3, [r3]
	mov	r2, #15
	mov	r1, #1
	ldr	r0, .L194+28
	bl	fwrite
	b	.L192
.L189:
	ldr	r3, [fp, #-8]
	sub	r3, r3, #2
	str	r3, [fp, #-12]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-20]
	bl	pw
	ldr	r3, [fp, #-12]
	lsr	r3, r3, #16
	lsl	r3, r3, #16
	cmp	r3, #0
	beq	.L193
	ldr	r3, .L194+4
	ldr	r3, [r3]
	mov	r2, #15
	mov	r1, #1
	ldr	r0, .L194+32
	bl	fwrite
	b	.L193
.L179:
	ldr	r3, [fp, #-8]
	sub	r3, r3, #4
	str	r3, [fp, #-12]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-20]
	bl	pdw
	b	.L175
.L177:
	ldr	r3, .L194+4
	ldr	r3, [r3]
	mov	r2, #23
	mov	r1, #1
	ldr	r0, .L194+36
	bl	fwrite
	mov	r0, #2
	bl	exit
.L190:
	nop
	b	.L175
.L191:
	nop
	b	.L175
.L192:
	nop
	b	.L175
.L193:
	nop
.L175:
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L173:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #28]
	ldr	r2, [fp, #-32]
	cmp	r2, r3
	bcc	.L187
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L195:
	.align	2
.L194:
	.word	base
	.word	stderr
	.word	.LC19
	.word	nrerror
	.word	code
	.word	.LC20
	.word	.LC21
	.word	.LC22
	.word	.LC23
	.word	.LC10
	.size	relext, .-relext
	.align	2
	.global	getlong
	.syntax unified
	.arm
	.fpu softvfp
	.type	getlong, %function
getlong:
	@ 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	r0, [fp, #-16]
	bl	getc
	mov	r3, r0
	str	r3, [fp, #-12]
	ldr	r3, .L198
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	eor	r3, r3, r2
	ldr	r2, .L198
	str	r3, [r2]
	ldr	r0, [fp, #-16]
	bl	getc
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, .L198
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eor	r3, r3, r2
	ldr	r2, .L198
	str	r3, [r2]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #8
	ldr	r2, [fp, #-12]
	add	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r0, [fp, #-16]
	bl	getc
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, .L198
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eor	r3, r3, r2
	ldr	r2, .L198
	str	r3, [r2]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #16
	ldr	r2, [fp, #-12]
	add	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r0, [fp, #-16]
	bl	getc
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, .L198
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eor	r3, r3, r2
	ldr	r2, .L198
	str	r3, [r2]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #24
	ldr	r2, [fp, #-12]
	add	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L199:
	.align	2
.L198:
	.word	chk
	.size	getlong, .-getlong
	.align	2
	.global	getint
	.syntax unified
	.arm
	.fpu softvfp
	.type	getint, %function
getint:
	@ 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	r0, [fp, #-16]
	bl	getc
	mov	r3, r0
	str	r3, [fp, #-12]
	ldr	r3, .L202
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	eor	r3, r3, r2
	ldr	r2, .L202
	str	r3, [r2]
	ldr	r0, [fp, #-16]
	bl	getc
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, .L202
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eor	r3, r3, r2
	ldr	r2, .L202
	str	r3, [r2]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #8
	ldr	r2, [fp, #-12]
	add	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L203:
	.align	2
.L202:
	.word	chk
	.size	getint, .-getint
	.align	2
	.global	hashpjw
	.syntax unified
	.arm
	.fpu softvfp
	.type	hashpjw, %function
hashpjw:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #28
	str	r0, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-16]
	b	.L205
.L207:
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #4
	ldr	r2, [fp, #-16]
	ldrb	r2, [r2]	@ zero_extendqisi2
	add	r3, r3, r2
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	and	r3, r3, #-268435456
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L206
	ldr	r3, [fp, #-8]
	lsr	r3, r3, #24
	ldr	r2, [fp, #-12]
	eor	r3, r3, r2
	str	r3, [fp, #-12]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-8]
	eor	r3, r3, r2
	str	r3, [fp, #-12]
.L206:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L205:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L207
	ldr	r0, [fp, #-12]
	ldr	r3, .L209
	umull	r2, r3, r0, r3
	lsr	r1, r3, #7
	mov	r2, r1
	lsl	r2, r2, #3
	sub	r2, r2, r1
	lsl	r3, r2, #4
	sub	r3, r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r1
	sub	r1, r0, r3
	mov	r3, r1
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L210:
	.align	2
.L209:
	.word	-1689489505
	.size	hashpjw, .-hashpjw
	.section	.rodata
	.align	2
.LC24:
	.ascii	"Not enough memory!\012\000"
	.text
	.align	2
	.global	search_in_the_table
	.syntax unified
	.arm
	.fpu softvfp
	.type	search_in_the_table, %function
search_in_the_table:
	@ 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
	str	r0, [fp, #-24]
	ldr	r0, [fp, #-24]
	bl	hashpjw
	mov	r3, r0
	lsl	r3, r3, #2
	ldr	r2, .L221
	add	r3, r3, r2
	str	r3, [fp, #-20]
	b	.L212
.L216:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L213
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	add	r3, r3, #20
	b	.L214
.L213:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	add	r3, r3, #16
.L214:
	str	r3, [fp, #-20]
.L212:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L215
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	strcmp
	mov	r3, r0
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L216
.L215:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L217
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	b	.L218
.L217:
	mov	r0, #24
	bl	malloc
	mov	r2, r0
	ldr	r3, [fp, #-20]
	str	r2, [r3]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L219
	ldr	r3, .L221+4
	ldr	r3, [r3]
	mov	r2, #19
	mov	r1, #1
	ldr	r0, .L221+8
	bl	fwrite
	mov	r0, #1
	bl	exit
.L219:
	ldr	r3, [fp, #-20]
	ldr	r4, [r3]
	ldr	r0, [fp, #-24]
	bl	strdup
	mov	r3, r0
	str	r3, [r4, #8]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L220
	ldr	r3, .L221+4
	ldr	r3, [r3]
	mov	r2, #15
	mov	r1, #1
	ldr	r0, .L221+12
	bl	fwrite
	mov	r0, #1
	bl	exit
.L220:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	mov	r2, #0
	str	r2, [r3, #4]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	mov	r2, #0
	str	r2, [r3, #16]
	ldr	r2, [fp, #-20]
	ldr	r2, [r2]
	ldr	r3, [r3, #16]
	str	r3, [r2, #20]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
.L218:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L222:
	.align	2
.L221:
	.word	hashtable
	.word	stderr
	.word	.LC24
	.word	.LC3
	.size	search_in_the_table, .-search_in_the_table
	.align	2
	.global	strdup
	.syntax unified
	.arm
	.fpu softvfp
	.type	strdup, %function
strdup:
	@ 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	r0, [fp, #-16]
	bl	strlen
	mov	r3, r0
	add	r3, r3, #1
	mov	r0, r3
	bl	malloc
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L224
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-8]
	bl	strcpy
.L224:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	strdup, .-strdup
	.section	.rodata
	.align	2
.LC25:
	.ascii	"Usage: link [options] input_file_name_list\012\000"
	.align	2
.LC26:
	.ascii	"Options: -B[x]nnnn base address. (if x then in hex."
	.ascii	")\012\000"
	.align	2
.LC27:
	.ascii	"n&name change default (a.tsk) outfilename\012\000"
	.align	2
.LC28:
	.ascii	"w reverse word order.\012\000"
	.align	2
.LC29:
	.ascii	"d reverse long word order.\012\000"
	.align	2
.LC30:
	.ascii	"\012The & means: write the name without space.\012\000"
	.text
	.align	2
	.global	usage
	.syntax unified
	.arm
	.fpu softvfp
	.type	usage, %function
usage:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L227
	ldr	r3, [r3]
	mov	r2, #43
	mov	r1, #1
	ldr	r0, .L227+4
	bl	fwrite
	ldr	r3, .L227
	ldr	r3, [r3]
	mov	r2, #53
	mov	r1, #1
	ldr	r0, .L227+8
	bl	fwrite
	ldr	r3, .L227
	ldr	r3, [r3]
	mov	r2, #42
	mov	r1, #1
	ldr	r0, .L227+12
	bl	fwrite
	ldr	r3, .L227
	ldr	r3, [r3]
	mov	r2, #22
	mov	r1, #1
	ldr	r0, .L227+16
	bl	fwrite
	ldr	r3, .L227
	ldr	r3, [r3]
	mov	r2, #27
	mov	r1, #1
	ldr	r0, .L227+20
	bl	fwrite
	ldr	r3, .L227
	ldr	r3, [r3]
	mov	r2, #44
	mov	r1, #1
	ldr	r0, .L227+24
	bl	fwrite
	mov	r0, #1
	bl	exit
.L228:
	.align	2
.L227:
	.word	stderr
	.word	.LC25
	.word	.LC26
	.word	.LC27
	.word	.LC28
	.word	.LC29
	.word	.LC30
	.size	usage, .-usage
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
