	.file	"831633.c"
	.intel_syntax noprefix
	.text
	.local	info
	.comm	info,48000,32
	.globl	tab
	.bss
	.align 32
	.type	tab, @object
	.size	tab, 3000
tab:
	.zero	3000
	.globl	offsets
	.align 32
	.type	offsets, @object
	.size	offsets, 6000
offsets:
	.zero	6000
	.globl	indexes
	.align 32
	.type	indexes, @object
	.size	indexes, 6000
indexes:
	.zero	6000
	.globl	values
	.align 32
	.type	values, @object
	.size	values, 24000
values:
	.zero	24000
	.globl	buf
	.align 32
	.type	buf, @object
	.size	buf, 1024
buf:
	.zero	1024
	.section	.rodata
.LC0:
	.string	"#define XK_%s 0x%lx"
	.align 8
.LC1:
	.string	"ignoring illegal keysym (%s), remove it from .h file!\n"
.LC2:
	.string	"makekeys: out of memory!\n"
.LC3:
	.string	"makekeys: too many keysyms!\n"
	.align 8
.LC4:
	.string	"/* This file is generated from keysymdef.h. */"
.LC5:
	.string	"/* Do not edit. */"
.LC6:
	.string	"#ifdef NEEDKTABLE"
	.align 8
.LC7:
	.string	"Const unsigned char _XkeyTable[] = {"
.LC8:
	.string	"0,"
	.align 8
.LC9:
	.string	"0x%.2x, 0x%.2x, 0x%.2x, 0x%.2x, "
.LC10:
	.string	"'%c',"
.LC11:
	.string	"0\n"
.LC12:
	.string	"0,\n"
.LC13:
	.string	"};"
.LC14:
	.string	"#define KTABLESIZE %d\n"
.LC15:
	.string	"#define KMAXHASH %d\n"
	.align 8
.LC16:
	.string	"static Const unsigned short hashString[KTABLESIZE] = {"
.LC17:
	.string	"0x%.4x"
.LC18:
	.string	", "
.LC19:
	.string	",\n"
.LC20:
	.string	"#endif /* NEEDKTABLE */"
.LC21:
	.string	"#ifdef NEEDVTABLE"
.LC22:
	.string	"#define VTABLESIZE %d\n"
.LC23:
	.string	"#define VMAXHASH %d\n"
	.align 8
.LC24:
	.string	"static Const unsigned short hashKeysym[VTABLESIZE] = {"
.LC25:
	.string	"#endif /* NEEDVTABLE */"
	.text
	.globl	main
	.type	main, @function
main:
.LFB6:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	r15
	push	r14
	push	r13
	push	r12
	push	rbx
	sub	rsp, 56
	.cfi_offset 15, -24
	.cfi_offset 14, -32
	.cfi_offset 13, -40
	.cfi_offset 12, -48
	.cfi_offset 3, -56
	mov	DWORD PTR -76[rbp], 0
	mov	DWORD PTR -88[rbp], 0
.L9:
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, info[rip]
	add	rax, rdx
	add	rax, 8
	mov	rdx, rax
	lea	rsi, buf[rip]
	lea	rdi, .LC0[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	mov	ebx, eax
	cmp	ebx, -1
	je	.L72
	cmp	ebx, 2
	jne	.L73
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, info[rip+8]
	mov	rax, QWORD PTR [rdx+rax]
	cmp	rax, 16777215
	jne	.L6
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, info[rip+8]
	mov	QWORD PTR [rdx+rax], 0
.L6:
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, info[rip+8]
	mov	rax, QWORD PTR [rdx+rax]
	cmp	rax, 65535
	jbe	.L7
	mov	rax, QWORD PTR stderr[rip]
	lea	rdx, buf[rip]
	lea	rsi, .LC1[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	jmp	.L5
.L7:
	lea	rdi, buf[rip]
	call	strlen@PLT
	add	eax, 1
	mov	eax, eax
	mov	rdi, rax
	call	malloc@PLT
	mov	r12, rax
	test	r12, r12
	jne	.L8
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 25
	mov	esi, 1
	lea	rdi, .LC2[rip]
	call	fwrite@PLT
	mov	edi, 1
	call	exit@PLT
.L8:
	lea	rsi, buf[rip]
	mov	rdi, r12
	call	strcpy@PLT
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, info[rip]
	mov	QWORD PTR [rdx+rax], r12
	add	DWORD PTR -88[rbp], 1
	cmp	DWORD PTR -88[rbp], 3000
	jne	.L5
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 28
	mov	esi, 1
	lea	rdi, .LC3[rip]
	call	fwrite@PLT
	mov	edi, 1
	call	exit@PLT
.L73:
	nop
.L5:
	mov	rax, QWORD PTR stdin[rip]
	mov	rdx, rax
	mov	esi, 1024
	lea	rdi, buf[rip]
	call	fgets@PLT
	jmp	.L9
.L72:
	nop
	lea	rdi, .LC4[rip]
	call	puts@PLT
	lea	rdi, .LC5[rip]
	call	puts@PLT
	mov	edi, 10
	call	putchar@PLT
	mov	eax, DWORD PTR -88[rbp]
	mov	DWORD PTR -80[rbp], eax
	mov	DWORD PTR -72[rbp], 0
	mov	r13d, DWORD PTR -88[rbp]
	jmp	.L10
.L25:
	mov	DWORD PTR -84[rbp], 0
	lea	r12, tab[rip]
	mov	ebx, r13d
	jmp	.L11
.L12:
	mov	rax, r12
	lea	r12, 1[rax]
	mov	BYTE PTR [rax], 0
.L11:
	sub	ebx, 1
	test	ebx, ebx
	jns	.L12
	mov	ebx, 0
	jmp	.L13
.L22:
	movsx	rax, ebx
	sal	rax, 4
	mov	rdx, rax
	lea	rax, info[rip]
	mov	r12, QWORD PTR [rdx+rax]
	mov	QWORD PTR -64[rbp], 0
	jmp	.L14
.L15:
	mov	rax, QWORD PTR -64[rbp]
	lea	rdx, [rax+rax]
	movsx	rax, r15b
	add	rax, rdx
	mov	QWORD PTR -64[rbp], rax
.L14:
	mov	rax, r12
	lea	r12, 1[rax]
	movzx	r15d, BYTE PTR [rax]
	test	r15b, r15b
	jne	.L15
	movsx	rcx, r13d
	mov	rax, QWORD PTR -64[rbp]
	mov	edx, 0
	div	rcx
	mov	rax, rdx
	mov	r12d, eax
	mov	DWORD PTR -68[rbp], r12d
	mov	r14d, 0
	jmp	.L16
.L20:
	mov	eax, DWORD PTR -68[rbp]
	add	eax, 1
	add	r12d, eax
	cmp	r12d, r13d
	jl	.L17
	sub	r12d, r13d
.L17:
	cmp	r12d, DWORD PTR -68[rbp]
	je	.L74
	add	r14d, 1
.L16:
	movsx	rax, r12d
	lea	rdx, tab[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	test	al, al
	jne	.L20
	movsx	rax, r12d
	lea	rdx, tab[rip]
	mov	BYTE PTR [rax+rdx], 1
	cmp	r14d, DWORD PTR -84[rbp]
	jle	.L21
	mov	DWORD PTR -84[rbp], r14d
.L21:
	add	ebx, 1
.L13:
	cmp	ebx, DWORD PTR -88[rbp]
	jl	.L22
	cmp	DWORD PTR -84[rbp], 9
	jg	.L75
	mov	eax, DWORD PTR -84[rbp]
	cmp	eax, DWORD PTR -80[rbp]
	jge	.L23
	mov	eax, DWORD PTR -84[rbp]
	mov	DWORD PTR -80[rbp], eax
	mov	DWORD PTR -76[rbp], r13d
.L23:
	add	DWORD PTR -72[rbp], 1
	cmp	DWORD PTR -72[rbp], 9
	jg	.L76
	jmp	.L75
.L74:
	nop
	jmp	.L19
.L75:
	nop
.L19:
	add	r13d, 1
.L10:
	cmp	r13d, 2999
	jle	.L25
	jmp	.L24
.L76:
	nop
.L24:
	mov	r13d, DWORD PTR -76[rbp]
	lea	rdi, .LC6[rip]
	call	puts@PLT
	lea	rdi, .LC7[rip]
	call	puts@PLT
	lea	rdi, .LC8[rip]
	call	puts@PLT
	mov	r14d, 1
	mov	ebx, 0
	jmp	.L26
.L35:
	movsx	rax, ebx
	sal	rax, 4
	mov	rdx, rax
	lea	rax, info[rip]
	mov	r12, QWORD PTR [rdx+rax]
	mov	QWORD PTR -64[rbp], 0
	jmp	.L27
.L28:
	mov	rax, QWORD PTR -64[rbp]
	lea	rdx, [rax+rax]
	movsx	rax, r15b
	add	rax, rdx
	mov	QWORD PTR -64[rbp], rax
.L27:
	mov	rax, r12
	lea	r12, 1[rax]
	movzx	r15d, BYTE PTR [rax]
	test	r15b, r15b
	jne	.L28
	movsx	rcx, r13d
	mov	rax, QWORD PTR -64[rbp]
	mov	edx, 0
	div	rcx
	mov	rax, rdx
	mov	r12d, eax
	mov	DWORD PTR -68[rbp], r12d
	jmp	.L29
.L30:
	mov	eax, DWORD PTR -68[rbp]
	add	eax, 1
	add	r12d, eax
	cmp	r12d, r13d
	jl	.L29
	sub	r12d, r13d
.L29:
	movsx	rax, r12d
	lea	rdx, [rax+rax]
	lea	rax, offsets[rip]
	movzx	eax, WORD PTR [rdx+rax]
	test	ax, ax
	jne	.L30
	mov	ecx, r14d
	movsx	rax, r12d
	lea	rdx, [rax+rax]
	lea	rax, offsets[rip]
	mov	WORD PTR [rdx+rax], cx
	mov	ecx, r14d
	movsx	rax, ebx
	lea	rdx, [rax+rax]
	lea	rax, indexes[rip]
	mov	WORD PTR [rdx+rax], cx
	movsx	rax, ebx
	sal	rax, 4
	mov	rdx, rax
	lea	rax, info[rip+8]
	mov	rax, QWORD PTR [rdx+rax]
	mov	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	movzx	esi, al
	mov	rax, QWORD PTR -56[rbp]
	shr	rax, 8
	movzx	ecx, al
	mov	rax, QWORD PTR -64[rbp]
	movzx	edx, al
	mov	rax, QWORD PTR -64[rbp]
	shr	rax, 8
	movzx	eax, al
	mov	r8, rsi
	mov	rsi, rax
	lea	rdi, .LC9[rip]
	mov	eax, 0
	call	printf@PLT
	movsx	rax, ebx
	sal	rax, 4
	mov	rdx, rax
	lea	rax, info[rip]
	mov	r12, QWORD PTR [rdx+rax]
	add	r14d, 5
	jmp	.L31
.L32:
	movsx	eax, r15b
	mov	esi, eax
	lea	rdi, .LC10[rip]
	mov	eax, 0
	call	printf@PLT
	add	r14d, 1
.L31:
	mov	rax, r12
	lea	r12, 1[rax]
	movzx	r15d, BYTE PTR [rax]
	test	r15b, r15b
	jne	.L32
	mov	eax, DWORD PTR -88[rbp]
	sub	eax, 1
	cmp	ebx, eax
	jne	.L33
	lea	rax, .LC11[rip]
	jmp	.L34
.L33:
	lea	rax, .LC12[rip]
.L34:
	mov	rdi, rax
	mov	eax, 0
	call	printf@PLT
	add	ebx, 1
.L26:
	cmp	ebx, DWORD PTR -88[rbp]
	jl	.L35
	lea	rdi, .LC13[rip]
	call	puts@PLT
	mov	edi, 10
	call	putchar@PLT
	mov	esi, r13d
	lea	rdi, .LC14[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR -80[rbp]
	add	eax, 1
	mov	esi, eax
	lea	rdi, .LC15[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edi, 10
	call	putchar@PLT
	lea	rdi, .LC16[rip]
	call	puts@PLT
	mov	ebx, 0
	jmp	.L36
.L41:
	movsx	rax, ebx
	lea	rdx, [rax+rax]
	lea	rax, offsets[rip]
	movzx	eax, WORD PTR [rdx+rax]
	movzx	eax, ax
	mov	esi, eax
	lea	rdi, .LC17[rip]
	mov	eax, 0
	call	printf@PLT
	add	ebx, 1
	cmp	ebx, r13d
	je	.L77
	mov	eax, ebx
	and	eax, 7
	test	eax, eax
	je	.L39
	lea	rax, .LC18[rip]
	jmp	.L40
.L39:
	lea	rax, .LC19[rip]
.L40:
	mov	rdi, rax
	mov	eax, 0
	call	printf@PLT
.L36:
	cmp	ebx, r13d
	jl	.L41
	jmp	.L38
.L77:
	nop
.L38:
	mov	edi, 10
	call	putchar@PLT
	lea	rdi, .LC13[rip]
	call	puts@PLT
	lea	rdi, .LC20[rip]
	call	puts@PLT
	mov	eax, DWORD PTR -88[rbp]
	mov	DWORD PTR -80[rbp], eax
	mov	DWORD PTR -72[rbp], 0
	mov	r13d, DWORD PTR -88[rbp]
	jmp	.L42
.L56:
	mov	DWORD PTR -84[rbp], 0
	lea	r12, tab[rip]
	mov	ebx, r13d
	jmp	.L43
.L44:
	mov	rax, r12
	lea	r12, 1[rax]
	mov	BYTE PTR [rax], 0
.L43:
	sub	ebx, 1
	test	ebx, ebx
	jns	.L44
	mov	ebx, 0
	jmp	.L45
.L53:
	movsx	rax, ebx
	sal	rax, 4
	mov	rdx, rax
	lea	rax, info[rip+8]
	mov	rax, QWORD PTR [rdx+rax]
	mov	QWORD PTR -56[rbp], rax
	movsx	rcx, r13d
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, 0
	div	rcx
	mov	rax, rdx
	mov	r12d, eax
	mov	DWORD PTR -68[rbp], r12d
	mov	r14d, 0
	jmp	.L46
.L52:
	movsx	rax, r12d
	lea	rdx, 0[0+rax*8]
	lea	rax, values[rip]
	mov	rax, QWORD PTR [rdx+rax]
	cmp	QWORD PTR -56[rbp], rax
	je	.L78
	mov	eax, DWORD PTR -68[rbp]
	add	eax, 1
	add	r12d, eax
	cmp	r12d, r13d
	jl	.L49
	sub	r12d, r13d
.L49:
	cmp	r12d, DWORD PTR -68[rbp]
	je	.L79
	add	r14d, 1
.L46:
	movsx	rax, r12d
	lea	rdx, tab[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	test	al, al
	jne	.L52
	movsx	rax, r12d
	lea	rdx, tab[rip]
	mov	BYTE PTR [rax+rdx], 1
	movsx	rax, r12d
	lea	rcx, 0[0+rax*8]
	lea	rdx, values[rip]
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR [rcx+rdx], rax
	cmp	r14d, DWORD PTR -84[rbp]
	jle	.L80
	mov	DWORD PTR -84[rbp], r14d
	jmp	.L48
.L78:
	nop
	jmp	.L48
.L80:
	nop
.L48:
	add	ebx, 1
.L45:
	cmp	ebx, DWORD PTR -88[rbp]
	jl	.L53
	cmp	DWORD PTR -84[rbp], 9
	jg	.L81
	mov	eax, DWORD PTR -84[rbp]
	cmp	eax, DWORD PTR -80[rbp]
	jge	.L54
	mov	eax, DWORD PTR -84[rbp]
	mov	DWORD PTR -80[rbp], eax
	mov	DWORD PTR -76[rbp], r13d
.L54:
	add	DWORD PTR -72[rbp], 1
	cmp	DWORD PTR -72[rbp], 9
	jg	.L82
	jmp	.L81
.L79:
	nop
	jmp	.L51
.L81:
	nop
.L51:
	add	r13d, 1
.L42:
	cmp	r13d, 2999
	jle	.L56
	jmp	.L55
.L82:
	nop
.L55:
	mov	r13d, DWORD PTR -76[rbp]
	mov	ebx, r13d
	jmp	.L57
.L58:
	movsx	rax, ebx
	lea	rdx, [rax+rax]
	lea	rax, offsets[rip]
	mov	WORD PTR [rdx+rax], 0
.L57:
	sub	ebx, 1
	test	ebx, ebx
	jns	.L58
	mov	ebx, 0
	jmp	.L59
.L64:
	movsx	rax, ebx
	sal	rax, 4
	mov	rdx, rax
	lea	rax, info[rip+8]
	mov	rax, QWORD PTR [rdx+rax]
	mov	QWORD PTR -56[rbp], rax
	movsx	rcx, r13d
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, 0
	div	rcx
	mov	rax, rdx
	mov	r12d, eax
	mov	DWORD PTR -68[rbp], r12d
	jmp	.L60
.L63:
	movsx	rax, r12d
	lea	rdx, 0[0+rax*8]
	lea	rax, values[rip]
	mov	rax, QWORD PTR [rdx+rax]
	cmp	QWORD PTR -56[rbp], rax
	je	.L83
	mov	eax, DWORD PTR -68[rbp]
	add	eax, 1
	add	r12d, eax
	cmp	r12d, r13d
	jl	.L60
	sub	r12d, r13d
.L60:
	movsx	rax, r12d
	lea	rdx, [rax+rax]
	lea	rax, offsets[rip]
	movzx	eax, WORD PTR [rdx+rax]
	test	ax, ax
	jne	.L63
	movsx	rax, ebx
	lea	rdx, [rax+rax]
	lea	rax, indexes[rip]
	movzx	eax, WORD PTR [rdx+rax]
	lea	ecx, 2[rax]
	movsx	rax, r12d
	lea	rdx, [rax+rax]
	lea	rax, offsets[rip]
	mov	WORD PTR [rdx+rax], cx
	movsx	rax, r12d
	lea	rcx, 0[0+rax*8]
	lea	rdx, values[rip]
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR [rcx+rdx], rax
	jmp	.L62
.L83:
	nop
.L62:
	add	ebx, 1
.L59:
	cmp	ebx, DWORD PTR -88[rbp]
	jl	.L64
	mov	edi, 10
	call	putchar@PLT
	lea	rdi, .LC21[rip]
	call	puts@PLT
	mov	esi, r13d
	lea	rdi, .LC22[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR -80[rbp]
	add	eax, 1
	mov	esi, eax
	lea	rdi, .LC23[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edi, 10
	call	putchar@PLT
	lea	rdi, .LC24[rip]
	call	puts@PLT
	mov	ebx, 0
	jmp	.L65
.L70:
	movsx	rax, ebx
	lea	rdx, [rax+rax]
	lea	rax, offsets[rip]
	movzx	eax, WORD PTR [rdx+rax]
	movzx	eax, ax
	mov	esi, eax
	lea	rdi, .LC17[rip]
	mov	eax, 0
	call	printf@PLT
	add	ebx, 1
	cmp	ebx, r13d
	je	.L84
	mov	eax, ebx
	and	eax, 7
	test	eax, eax
	je	.L68
	lea	rax, .LC18[rip]
	jmp	.L69
.L68:
	lea	rax, .LC19[rip]
.L69:
	mov	rdi, rax
	mov	eax, 0
	call	printf@PLT
.L65:
	cmp	ebx, r13d
	jl	.L70
	jmp	.L67
.L84:
	nop
.L67:
	mov	edi, 10
	call	putchar@PLT
	lea	rdi, .LC13[rip]
	call	puts@PLT
	lea	rdi, .LC25[rip]
	call	puts@PLT
	mov	edi, 0
	call	exit@PLT
	.cfi_endproc
.LFE6:
	.size	main, .-main
	.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	"831633.c"
	.text
	.local	info
	.comm	info,24000,4
	.comm	tab,3000,4
	.comm	offsets,6000,4
	.comm	indexes,6000,4
	.comm	values,12000,4
	.comm	buf,1024,4
	.section	.rodata
	.align	2
.LC0:
	.ascii	"#define XK_%s 0x%lx\000"
	.align	2
.LC1:
	.ascii	"ignoring illegal keysym (%s), remove it from .h fil"
	.ascii	"e!\012\000"
	.align	2
.LC2:
	.ascii	"makekeys: out of memory!\012\000"
	.align	2
.LC3:
	.ascii	"makekeys: too many keysyms!\012\000"
	.align	2
.LC4:
	.ascii	"/* This file is generated from keysymdef.h. */\000"
	.align	2
.LC5:
	.ascii	"/* Do not edit. */\000"
	.global	__aeabi_uidivmod
	.align	2
.LC6:
	.ascii	"#ifdef NEEDKTABLE\000"
	.align	2
.LC7:
	.ascii	"Const unsigned char _XkeyTable[] = {\000"
	.align	2
.LC8:
	.ascii	"0,\000"
	.align	2
.LC9:
	.ascii	"0x%.2x, 0x%.2x, 0x%.2x, 0x%.2x, \000"
	.align	2
.LC10:
	.ascii	"'%c',\000"
	.align	2
.LC11:
	.ascii	"0\012\000"
	.align	2
.LC12:
	.ascii	"0,\012\000"
	.align	2
.LC13:
	.ascii	"};\000"
	.align	2
.LC14:
	.ascii	"#define KTABLESIZE %d\012\000"
	.align	2
.LC15:
	.ascii	"#define KMAXHASH %d\012\000"
	.align	2
.LC16:
	.ascii	"static Const unsigned short hashString[KTABLESIZE] "
	.ascii	"= {\000"
	.align	2
.LC17:
	.ascii	"0x%.4x\000"
	.align	2
.LC18:
	.ascii	", \000"
	.align	2
.LC19:
	.ascii	",\012\000"
	.align	2
.LC20:
	.ascii	"#endif /* NEEDKTABLE */\000"
	.align	2
.LC21:
	.ascii	"#ifdef NEEDVTABLE\000"
	.align	2
.LC22:
	.ascii	"#define VTABLESIZE %d\012\000"
	.align	2
.LC23:
	.ascii	"#define VMAXHASH %d\012\000"
	.align	2
.LC24:
	.ascii	"static Const unsigned short hashKeysym[VTABLESIZE] "
	.ascii	"= {\000"
	.align	2
.LC25:
	.ascii	"#endif /* NEEDVTABLE */\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, r6, r7, r8, fp, lr}
	add	fp, sp, #24
	sub	sp, sp, #44
	mov	r3, #0
	str	r3, [fp, #-44]
	mov	r3, #0
	str	r3, [fp, #-60]
.L9:
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #3
	ldr	r2, .L85
	add	r3, r3, r2
	add	r3, r3, #4
	mov	r2, r3
	ldr	r1, .L85+4
	ldr	r0, .L85+8
	bl	__isoc99_scanf
	mov	r4, r0
	cmn	r4, #1
	beq	.L72
	cmp	r4, #2
	bne	.L73
	ldr	r2, .L85
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	mvn	r2, #-16777216
	cmp	r3, r2
	bne	.L6
	ldr	r2, .L85
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3, #4]
.L6:
	ldr	r2, .L85
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	cmp	r3, #65536
	bcc	.L7
	ldr	r3, .L85+12
	ldr	r3, [r3]
	ldr	r2, .L85+4
	ldr	r1, .L85+16
	mov	r0, r3
	bl	fprintf
	b	.L5
.L7:
	ldr	r0, .L85+4
	bl	strlen
	mov	r3, r0
	add	r3, r3, #1
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	mov	r5, r3
	cmp	r5, #0
	bne	.L8
	ldr	r3, .L85+12
	ldr	r3, [r3]
	mov	r2, #25
	mov	r1, #1
	ldr	r0, .L85+20
	bl	fwrite
	mov	r0, #1
	bl	exit
.L8:
	ldr	r1, .L85+4
	mov	r0, r5
	bl	strcpy
	ldr	r2, .L85
	ldr	r3, [fp, #-60]
	str	r5, [r2, r3, lsl #3]
	ldr	r3, [fp, #-60]
	add	r3, r3, #1
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-60]
	ldr	r2, .L85+24
	cmp	r3, r2
	bne	.L5
	ldr	r3, .L85+12
	ldr	r3, [r3]
	mov	r2, #28
	mov	r1, #1
	ldr	r0, .L85+28
	bl	fwrite
	mov	r0, #1
	bl	exit
.L73:
	nop
.L5:
	ldr	r3, .L85+32
	ldr	r3, [r3]
	mov	r2, r3
	mov	r1, #1024
	ldr	r0, .L85+4
	bl	fgets
	b	.L9
.L72:
	nop
	ldr	r0, .L85+36
	bl	puts
	ldr	r0, .L85+40
	bl	puts
	mov	r0, #10
	bl	putchar
	ldr	r3, [fp, #-60]
	str	r3, [fp, #-48]
	mov	r3, #0
	str	r3, [fp, #-40]
	ldr	r6, [fp, #-60]
	b	.L10
.L25:
	mov	r3, #0
	str	r3, [fp, #-56]
	ldr	r5, .L85+44
	mov	r4, r6
	b	.L11
.L12:
	mov	r3, r5
	add	r5, r3, #1
	mov	r2, #0
	strb	r2, [r3]
.L11:
	sub	r4, r4, #1
	cmp	r4, #0
	bge	.L12
	mov	r4, #0
	b	.L13
.L22:
	ldr	r3, .L85
	ldr	r5, [r3, r4, lsl #3]
	mov	r3, #0
	str	r3, [fp, #-52]
	b	.L14
.L15:
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #1
	mov	r2, r8
	add	r3, r3, r2
	str	r3, [fp, #-52]
.L14:
	mov	r3, r5
	add	r5, r3, #1
	ldrb	r8, [r3]	@ zero_extendqisi2
	cmp	r8, #0
	bne	.L15
	mov	r2, r6
	ldr	r3, [fp, #-52]
	mov	r1, r2
	mov	r0, r3
	bl	__aeabi_uidivmod
	mov	r3, r1
	mov	r5, r3
	str	r5, [fp, #-36]
	mov	r7, #0
	b	.L16
.L20:
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	add	r5, r5, r3
	cmp	r5, r6
	blt	.L17
	sub	r5, r5, r6
.L17:
	ldr	r3, [fp, #-36]
	cmp	r5, r3
	beq	.L74
	add	r7, r7, #1
.L16:
	ldr	r3, .L85+44
	ldrb	r3, [r3, r5]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L20
	ldr	r3, .L85+44
	mov	r2, #1
	strb	r2, [r3, r5]
	ldr	r3, [fp, #-56]
	cmp	r7, r3
	ble	.L21
	str	r7, [fp, #-56]
.L21:
	add	r4, r4, #1
.L13:
	ldr	r3, [fp, #-60]
	cmp	r4, r3
	blt	.L22
	ldr	r3, [fp, #-56]
	cmp	r3, #9
	bgt	.L75
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-48]
	cmp	r2, r3
	bge	.L23
	ldr	r3, [fp, #-56]
	str	r3, [fp, #-48]
	str	r6, [fp, #-44]
.L23:
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-40]
	cmp	r3, #9
	bgt	.L76
	b	.L75
.L74:
	nop
	b	.L19
.L75:
	nop
.L19:
	add	r6, r6, #1
.L10:
	ldr	r3, .L85+48
	cmp	r6, r3
	ble	.L25
	b	.L24
.L76:
	nop
.L24:
	ldr	r6, [fp, #-44]
	ldr	r0, .L85+52
	bl	puts
	ldr	r0, .L85+56
	bl	puts
	ldr	r0, .L85+60
	bl	puts
	mov	r7, #1
	mov	r4, #0
	b	.L26
.L35:
	ldr	r3, .L85
	ldr	r5, [r3, r4, lsl #3]
	mov	r3, #0
	str	r3, [fp, #-52]
	b	.L27
.L28:
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #1
	mov	r2, r8
	add	r3, r3, r2
	str	r3, [fp, #-52]
.L27:
	mov	r3, r5
	add	r5, r3, #1
	ldrb	r8, [r3]	@ zero_extendqisi2
	cmp	r8, #0
	bne	.L28
	mov	r2, r6
	ldr	r3, [fp, #-52]
	mov	r1, r2
	mov	r0, r3
	bl	__aeabi_uidivmod
	mov	r3, r1
	mov	r5, r3
	str	r5, [fp, #-36]
	b	.L29
.L30:
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	add	r5, r5, r3
	cmp	r5, r6
	blt	.L29
	sub	r5, r5, r6
.L29:
	ldr	r2, .L85+64
	lsl	r3, r5, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	cmp	r3, #0
	bne	.L30
	lsl	r3, r7, #16
	lsr	r2, r3, #16
	ldr	r1, .L85+64
	lsl	r3, r5, #1
	add	r3, r1, r3
	strh	r2, [r3]	@ movhi
	lsl	r3, r7, #16
	lsr	r2, r3, #16
	ldr	r1, .L85+68
	lsl	r3, r4, #1
	add	r3, r1, r3
	strh	r2, [r3]	@ movhi
	ldr	r2, .L85
	lsl	r3, r4, #3
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-52]
	lsr	r3, r3, #8
	and	r1, r3, #255
	ldr	r3, [fp, #-52]
	and	r2, r3, #255
	ldr	r3, [fp, #-32]
	lsr	r3, r3, #8
	and	r0, r3, #255
	ldr	r3, [fp, #-32]
	and	r3, r3, #255
	str	r3, [sp]
	mov	r3, r0
	ldr	r0, .L85+72
	bl	printf
	ldr	r3, .L85
	ldr	r5, [r3, r4, lsl #3]
	add	r7, r7, #5
	b	.L31
.L32:
	mov	r3, r8
	mov	r1, r3
	ldr	r0, .L85+76
	bl	printf
	add	r7, r7, #1
.L31:
	mov	r3, r5
	add	r5, r3, #1
	ldrb	r8, [r3]	@ zero_extendqisi2
	cmp	r8, #0
	bne	.L32
	ldr	r3, [fp, #-60]
	sub	r3, r3, #1
	cmp	r4, r3
	bne	.L33
	ldr	r3, .L85+80
	b	.L34
.L33:
	ldr	r3, .L85+84
.L34:
	mov	r0, r3
	bl	printf
	add	r4, r4, #1
.L26:
	ldr	r3, [fp, #-60]
	cmp	r4, r3
	blt	.L35
	ldr	r0, .L85+88
	bl	puts
	mov	r0, #10
	bl	putchar
	mov	r1, r6
	ldr	r0, .L85+92
	bl	printf
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	mov	r1, r3
	ldr	r0, .L85+96
	bl	printf
	mov	r0, #10
	bl	putchar
	ldr	r0, .L85+100
	bl	puts
	mov	r4, #0
	b	.L36
.L41:
	ldr	r2, .L85+64
	lsl	r3, r4, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r1, r3
	ldr	r0, .L85+104
	bl	printf
	add	r4, r4, #1
	cmp	r4, r6
	beq	.L77
	and	r3, r4, #7
	cmp	r3, #0
	beq	.L39
	ldr	r3, .L85+108
	b	.L40
.L39:
	ldr	r3, .L85+112
.L40:
	mov	r0, r3
	bl	printf
.L36:
	cmp	r4, r6
	blt	.L41
	b	.L38
.L77:
	nop
.L38:
	mov	r0, #10
	bl	putchar
	ldr	r0, .L85+88
	bl	puts
	ldr	r0, .L85+116
	bl	puts
	ldr	r3, [fp, #-60]
	str	r3, [fp, #-48]
	mov	r3, #0
	str	r3, [fp, #-40]
	ldr	r6, [fp, #-60]
	b	.L42
.L56:
	mov	r3, #0
	str	r3, [fp, #-56]
	ldr	r5, .L85+44
	mov	r4, r6
	b	.L43
.L44:
	mov	r3, r5
	add	r5, r3, #1
	mov	r2, #0
	strb	r2, [r3]
.L43:
	sub	r4, r4, #1
	cmp	r4, #0
	bge	.L44
	mov	r4, #0
	b	.L45
.L53:
	ldr	r2, .L85
	lsl	r3, r4, #3
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	str	r3, [fp, #-32]
	mov	r2, r6
	ldr	r3, [fp, #-32]
	mov	r1, r2
	mov	r0, r3
	bl	__aeabi_uidivmod
	mov	r3, r1
	mov	r5, r3
	str	r5, [fp, #-36]
	mov	r7, #0
	b	.L46
.L52:
	ldr	r3, .L85+120
	ldr	r3, [r3, r5, lsl #2]
	ldr	r2, [fp, #-32]
	cmp	r2, r3
	beq	.L78
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	add	r5, r5, r3
	cmp	r5, r6
	blt	.L49
	sub	r5, r5, r6
.L49:
	ldr	r3, [fp, #-36]
	cmp	r5, r3
	beq	.L79
	add	r7, r7, #1
.L46:
	ldr	r3, .L85+44
	ldrb	r3, [r3, r5]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L52
	ldr	r3, .L85+44
	mov	r2, #1
	strb	r2, [r3, r5]
	ldr	r2, .L85+120
	ldr	r3, [fp, #-32]
	str	r3, [r2, r5, lsl #2]
	ldr	r3, [fp, #-56]
	cmp	r7, r3
	ble	.L80
	str	r7, [fp, #-56]
	b	.L48
.L78:
	nop
	b	.L48
.L80:
	nop
.L48:
	add	r4, r4, #1
.L45:
	ldr	r3, [fp, #-60]
	cmp	r4, r3
	blt	.L53
	ldr	r3, [fp, #-56]
	cmp	r3, #9
	bgt	.L81
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-48]
	cmp	r2, r3
	bge	.L54
	ldr	r3, [fp, #-56]
	str	r3, [fp, #-48]
	str	r6, [fp, #-44]
.L54:
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-40]
	cmp	r3, #9
	bgt	.L82
	b	.L81
.L79:
	nop
	b	.L51
.L81:
	nop
.L51:
	add	r6, r6, #1
.L42:
	ldr	r3, .L85+48
	cmp	r6, r3
	ble	.L56
	b	.L55
.L82:
	nop
.L55:
	ldr	r6, [fp, #-44]
	mov	r4, r6
	b	.L57
.L58:
	ldr	r2, .L85+64
	lsl	r3, r4, #1
	add	r3, r2, r3
	mov	r2, #0
	strh	r2, [r3]	@ movhi
.L57:
	sub	r4, r4, #1
	cmp	r4, #0
	bge	.L58
	mov	r4, #0
	b	.L59
.L64:
	ldr	r2, .L85
	lsl	r3, r4, #3
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	str	r3, [fp, #-32]
	mov	r2, r6
	ldr	r3, [fp, #-32]
	mov	r1, r2
	mov	r0, r3
	bl	__aeabi_uidivmod
	mov	r3, r1
	mov	r5, r3
	str	r5, [fp, #-36]
	b	.L60
.L63:
	ldr	r3, .L85+120
	ldr	r3, [r3, r5, lsl #2]
	ldr	r2, [fp, #-32]
	cmp	r2, r3
	beq	.L83
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	add	r5, r5, r3
	cmp	r5, r6
	blt	.L60
	sub	r5, r5, r6
.L60:
	ldr	r2, .L85+64
	lsl	r3, r5, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	cmp	r3, #0
	bne	.L63
	ldr	r2, .L85+68
	lsl	r3, r4, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	add	r3, r3, #2
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r1, .L85+64
	lsl	r3, r5, #1
	add	r3, r1, r3
	strh	r2, [r3]	@ movhi
	ldr	r2, .L85+120
	ldr	r3, [fp, #-32]
	str	r3, [r2, r5, lsl #2]
	b	.L62
.L83:
	nop
.L62:
	add	r4, r4, #1
.L59:
	ldr	r3, [fp, #-60]
	cmp	r4, r3
	blt	.L64
	mov	r0, #10
	bl	putchar
	ldr	r0, .L85+124
	bl	puts
	mov	r1, r6
	ldr	r0, .L85+128
	bl	printf
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	mov	r1, r3
	ldr	r0, .L85+132
	bl	printf
	mov	r0, #10
	bl	putchar
	ldr	r0, .L85+136
	bl	puts
	mov	r4, #0
	b	.L65
.L70:
	ldr	r2, .L85+64
	lsl	r3, r4, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r1, r3
	ldr	r0, .L85+104
	bl	printf
	add	r4, r4, #1
	cmp	r4, r6
	beq	.L84
	and	r3, r4, #7
	cmp	r3, #0
	beq	.L68
	ldr	r3, .L85+108
	b	.L69
.L68:
	ldr	r3, .L85+112
.L69:
	mov	r0, r3
	bl	printf
.L65:
	cmp	r4, r6
	blt	.L70
	b	.L67
.L84:
	nop
.L67:
	mov	r0, #10
	bl	putchar
	ldr	r0, .L85+88
	bl	puts
	ldr	r0, .L85+140
	bl	puts
	mov	r0, #0
	bl	exit
.L86:
	.align	2
.L85:
	.word	info
	.word	buf
	.word	.LC0
	.word	stderr
	.word	.LC1
	.word	.LC2
	.word	3000
	.word	.LC3
	.word	stdin
	.word	.LC4
	.word	.LC5
	.word	tab
	.word	2999
	.word	.LC6
	.word	.LC7
	.word	.LC8
	.word	offsets
	.word	indexes
	.word	.LC9
	.word	.LC10
	.word	.LC11
	.word	.LC12
	.word	.LC13
	.word	.LC14
	.word	.LC15
	.word	.LC16
	.word	.LC17
	.word	.LC18
	.word	.LC19
	.word	.LC20
	.word	values
	.word	.LC21
	.word	.LC22
	.word	.LC23
	.word	.LC24
	.word	.LC25
	.size	main, .-main
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
