// File: /workspace/github_c_makefile_star2_O1/rsa9000[P]regfanalysistools/regfdump.c
// Function: main
int main(int argc, char *argv[])
{
	FILE *fp;
	int res = 0;
	unsigned off;

	if (argc < 2) {
		fprintf(stderr, "Registry file not specified, exit.\n");
		return EXIT_FAILURE;
	}

	rbtree_init(&st.cells);

	st.icd = iconv_open("WCHAR_T", "UTF-16");
	if (st.icd == (iconv_t)-1) {
		fprintf(stderr, "Could not create iconv descriptor to convert UTF-16BE to WCHAR_T\n");
		return EXIT_FAILURE;
	}

	setlocale(LC_CTYPE, "");

	fp = fopen(argv[1], "rb");
	if (!fp) {
		fprintf(stderr, "Could not open registry file %s: %s\n", argv[1], strerror(errno));
		return EXIT_FAILURE;
	}

	res = regf_parse_fheader(fp);
	if (res) {
		fprintf(stderr, "Could not parse file header!\n");
		goto exit;
	}

	st.__data = mmap(NULL, st.data_sz, PROT_READ, MAP_SHARED, fileno(fp),
			 0x1000);
	if (st.__data == MAP_FAILED) {
		fprintf(stderr, "Could mmap hbin data: %s\n",
			strerror(errno));
		goto exit;
	}
	st.data = st.__data;

	res = regf_scan_data(st.data, st.data_sz);
	if (res) {
		fprintf(stderr, "Could not scan hbin data\n");
		goto exit;
	}

	for (off = 0; off < st.data_sz; off += res) {
		res = regf_parse_hbin(off);
		if (res <= 0) {
			PR_WARN(off, "hbin", "could not parse hbin\n");
			goto exit;
		}
	}
	res = 0;

	regf_cells_stat();

exit:
	if (st.data != NULL)
		munmap(st.__data, st.data_sz);

	fclose(fp);

	return res ? EXIT_FAILURE : EXIT_SUCCESS;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x258, %rsp            # imm = 0x258
cmpl $0x1, %edi
jle 0x27d5
movq %rsi, %rbx
leaq 0x5c18(%rip), %rdi      # 0x7108
callq 0x298c
leaq 0x2b2c(%rip), %rdi      # 0x4028
leaq 0x2b2d(%rip), %rsi      # 0x4030
callq 0x1170
movq %rax, 0x5bd1(%rip)      # 0x70e0
cmpq $-0x1, %rax
je 0x27dc
leaq 0x2d3e(%rip), %rsi      # 0x425e
xorl %edi, %edi
callq 0x1120
movq 0x8(%rbx), %rdi
leaq 0x2b47(%rip), %rsi      # 0x4079
callq 0x1130
testq %rax, %rax
je 0x27e3
movq %rax, %r14
movq %rax, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x1100
testl %eax, %eax
jne 0x27f7
leaq 0x50(%rsp), %rdi
movl $0x1, %esi
movl $0x200, %edx            # imm = 0x200
movq %r14, %rcx
callq 0x1060
cmpl $0x200, %eax            # imm = 0x200
jne 0x27fe
cmpl $0x66676572, 0x50(%rsp) # imm = 0x66676572
jne 0x2805
xorl %eax, %eax
xorl %edx, %edx
movl %edx, %ecx
movl 0x50(%rsp,%rax,4), %esi
movl %esi, %edx
xorl %ecx, %edx
incq %rax
cmpl $0x80, %eax
jne 0x158b
cmpl %ecx, %esi
jne 0x282b
movl 0x54(%rsp), %esi
movl 0x58(%rsp), %edx
leaq 0x2c22(%rip), %rdi      # 0x41d8
xorl %eax, %eax
callq 0x1090
movq 0x60(%rsp), %rsi
leaq 0x2c35(%rip), %rdi      # 0x41fe
xorl %eax, %eax
callq 0x1090
cmpl $0x0, 0x70(%rsp)
leaq 0x2c55(%rip), %rax      # 0x4231
leaq 0x2c49(%rip), %rsi      # 0x422c
cmoveq %rax, %rsi
leaq 0x2c2b(%rip), %rdi      # 0x4219
xorl %eax, %eax
callq 0x1090
movl 0x54(%rsp), %eax
cmpl 0x58(%rsp), %eax
jne 0x2832
movl 0x68(%rsp), %esi
movl 0x6c(%rsp), %edx
movl %esi, %eax
shll $0x4, %eax
orl %edx, %eax
movl %eax, 0x5ae0(%rip)      # 0x70f8
movq 0x78(%rsp), %rax
movq %rax, 0x5ad8(%rip)      # 0x70fc
leaq 0x2c34(%rip), %rdi      # 0x425f
xorl %r15d, %r15d
xorl %eax, %eax
callq 0x1090
movl 0x78(%rsp), %esi
leaq 0x2c35(%rip), %rdi      # 0x4275
xorl %eax, %eax
callq 0x1090
movl 0x7c(%rsp), %esi
leaq 0x2c3b(%rip), %rdi      # 0x428d
xorl %eax, %eax
callq 0x1090
movl 0x5aa1(%rip), %ebx      # 0x7100
movq %r14, %rdi
callq 0x10e0
movl $0x1000, %r9d           # imm = 0x1000
xorl %edi, %edi
movq %rbx, %rsi
movl $0x1, %edx
movl $0x1, %ecx
movl %eax, %r8d
callq 0x1080
movq %rax, 0x5a5d(%rip)      # 0x70e8
cmpq $-0x1, %rax
je 0x2880
movq %rax, %rbx
movq %r14, 0x38(%rsp)
movq %rax, 0x5a4c(%rip)      # 0x70f0
movl 0x5a56(%rip), %ebp      # 0x7100
testl %ebp, %ebp
je 0x1772
xorl %r14d, %r14d
leaq 0x2c41(%rip), %r15      # 0x42fd
movq %rbx, %r12
movl %ebp, 0x40(%rsp)
movl $0x4, %edx
movq %r12, %rdi
movq %r15, %rsi
callq 0x1040
testl %eax, %eax
jne 0x2887
movl 0x8(%r12), %eax
cmpq $0x25, %rax
jb 0x1763
movl %r14d, 0x34(%rsp)
leaq 0x24(%r12), %rbp
movl (%rbp), %eax
movl %eax, %r14d
negl %r14d
cmovsl %eax, %r14d
movl %ebp, %r15d
subl %ebx, %r15d
movl $0x1, %edi
movl $0x30, %esi
callq 0x10b0
movq %rax, %r13
movl %r15d, 0x18(%rax)
movl %r14d, 0x20(%rax)
leaq 0x59e4(%rip), %rdi      # 0x7108
movq %rax, %rsi
callq 0x2b0f
cmpl $0x0, (%rbp)
jle 0x173a
movl $0x1, 0x28(%r13)
movl %r14d, %eax
addq %rax, %rbp
movl 0x8(%r12), %eax
leaq (%r12,%rax), %rcx
cmpq %rcx, %rbp
jb 0x16f0
movq %rcx, %r12
movl 0x40(%rsp), %ebp
movl 0x34(%rsp), %r14d
leaq 0x2b9c(%rip), %r15      # 0x42fd
jmp 0x1766
addq %rax, %r12
addl %eax, %r14d
cmpl %ebp, %r14d
jb 0x16c3
cmpl $0x0, 0x5987(%rip)      # 0x7100
leaq 0x2ade(%rip), %r12      # 0x425e
je 0x2682
xorl %r14d, %r14d
movl %r14d, %ebx
addq 0x595d(%rip), %rbx      # 0x70f0
movl $0x4, %edx
movq %rbx, %rdi
leaq 0x2b5b(%rip), %rsi      # 0x42fd
callq 0x1040
testl %eax, %eax
jne 0x2656
movl 0x4(%rbx), %esi
movl 0x8(%rbx), %edx
movq 0x18(%rbx), %rcx
leaq 0x2b42(%rip), %rdi      # 0x4302
xorl %eax, %eax
callq 0x1090
movq %rbx, 0x48(%rsp)
movl 0x8(%rbx), %eax
addl %r14d, %eax
movb $0x0, 0x14(%rsp)
movl $0x20202020, 0x10(%rsp) # imm = 0x20202020
movq %r14, 0x40(%rsp)
leal 0x28(%r14), %r13d
movl %eax, 0x34(%rsp)
cmpl %eax, %r13d
jae 0x262d
movq 0x58f4(%rip), %r14      # 0x70f0
movl %r13d, %ebp
movl (%r14,%rbp), %eax
movl %eax, %r13d
negl %r13d
cmovsl %eax, %r13d
testl %eax, %eax
jle 0x1833
leaq 0x2b23(%rip), %rdi      # 0x433b
movl %ebp, %esi
movl %r13d, %edx
xorl %eax, %eax
callq 0x1090
addl %ebp, %r13d
cmpl 0x34(%rsp), %r13d
jb 0x17f5
jmp 0x262d
leaq (%r14,%rbp), %rbx
addq $0x4, %rbx
movl $0x2, %edx
movq %rbx, %rdi
leaq 0x2f6e(%rip), %rsi      # 0x47b8
callq 0x1040
testl %eax, %eax
je 0x1955
movl $0x2, %edx
movq %rbx, %rdi
leaq 0x2b13(%rip), %rsi      # 0x4379
callq 0x1040
testl %eax, %eax
je 0x19a0
movl $0x2, %edx
movq %rbx, %rdi
leaq 0x2b21(%rip), %rsi      # 0x43a3
callq 0x1040
testl %eax, %eax
je 0x1caa
movl $0x2, %edx
movq %rbx, %rdi
leaq 0x2b2c(%rip), %rsi      # 0x43ca
callq 0x1040
testl %eax, %eax
je 0x1e7b
movl $0x2, %edx
movq %rbx, %rdi
leaq 0x2b37(%rip), %rsi      # 0x43f1
callq 0x1040
testl %eax, %eax
je 0x1f77
movl $0x2, %edx
movq %rbx, %rdi
leaq 0x2b43(%rip), %rsi      # 0x4419
callq 0x1040
testl %eax, %eax
je 0x20c1
movl $0x2, %edx
movq %rbx, %rdi
leaq 0x2b4f(%rip), %rsi      # 0x4441
callq 0x1040
testl %eax, %eax
je 0x21b4
movl $0x2, %edx
movq %rbx, %rdi
leaq 0x2b5a(%rip), %rsi      # 0x4468
callq 0x1040
testl %eax, %eax
je 0x236b
movzbl (%rbx), %ecx
leal -0x61(%rcx), %eax
cmpb $0x19, %al
ja 0x235f
addq %rbp, %r14
movzbl 0x5(%r14), %r8d
leal -0x61(%r8), %eax
cmpb $0x19, %al
ja 0x235f
leaq 0x2b4c(%rip), %rdi      # 0x4490
movl %ebp, %esi
movl %r13d, %edx
xorl %eax, %eax
callq 0x1090
jmp 0x1824
leaq 0x29f9(%rip), %rdi      # 0x4355
movl %ebp, %esi
movl %r13d, %edx
xorl %eax, %eax
callq 0x1090
movq 0x5781(%rip), %rax      # 0x70f0
leaq (%rax,%rbp), %r15
testb $0x20, 0x6(%rax,%rbp)
jne 0x19f2
leaq 0x54(%r15), %rdi
movzwl 0x50(%r15), %esi
callq 0x289d
leaq 0x2b5e(%rip), %rdi      # 0x44ed
leaq 0x10(%rsp), %rsi
movq %rax, %rdx
xorl %eax, %eax
callq 0x1090
jmp 0x1a0e
leaq 0x29d5(%rip), %rdi      # 0x437c
movl %ebp, %esi
movl %r13d, %edx
xorl %eax, %eax
callq 0x1090
movq 0x5736(%rip), %rbx      # 0x70f0
movl 0x8(%rbx,%rbp), %edx
movl 0xc(%rbx,%rbp), %ecx
leaq 0x2ec8(%rip), %rdi      # 0x4891
leaq 0x10(%rsp), %r14
movq %r14, %rsi
xorl %eax, %eax
callq 0x1090
movl 0x10(%rbx,%rbp), %edx
leaq 0x2ed1(%rip), %rdi      # 0x48b4
movq %r14, %rsi
xorl %eax, %eax
callq 0x1090
jmp 0x1824
movzwl 0x50(%r15), %edx
leaq 0x54(%r15), %rcx
leaq 0x2ad9(%rip), %rdi      # 0x44db
leaq 0x10(%rsp), %rsi
xorl %eax, %eax
callq 0x1090
movzwl 0x6(%r15), %r14d
movq %r12, %rcx
testl %r14d, %r14d
je 0x1b8e
leaq 0x57ea(%rip), %rbx      # 0x7210
cmpl $0x80, %r14d
jb 0x1a4a
movl $0x6e6b6e, 0x57da(%rip) # imm = 0x6E6B6E
movl $0x6e75202c, 0x57cd(%rip) # imm = 0x6E75202C
leaq 0x57cc(%rip), %rbx      # 0x7216
testb $0x40, %r14b
je 0x1a77
leaq 0x57b9(%rip), %rsi      # 0x7210
subq %rbx, %rsi
addq $0x100, %rsi            # imm = 0x100
movq %rbx, %rdi
leaq 0x2d35(%rip), %rdx      # 0x47a0
xorl %eax, %eax
callq 0x10a0
cltq
addq %rax, %rbx
testb $0x20, %r14b
je 0x1aa4
leaq 0x578c(%rip), %rsi      # 0x7210
subq %rbx, %rsi
addq $0x100, %rsi            # imm = 0x100
movq %rbx, %rdi
leaq 0x2d11(%rip), %rdx      # 0x47a9
xorl %eax, %eax
callq 0x10a0
cltq
addq %rax, %rbx
testb $0x10, %r14b
je 0x1ad1
leaq 0x575f(%rip), %rsi      # 0x7210
subq %rbx, %rsi
addq $0x100, %rsi            # imm = 0x100
movq %rbx, %rdi
leaq 0x2cec(%rip), %rdx      # 0x47b1
xorl %eax, %eax
callq 0x10a0
cltq
addq %rax, %rbx
testb $0x8, %r14b
je 0x1afe
leaq 0x5732(%rip), %rsi      # 0x7210
subq %rbx, %rsi
addq $0x100, %rsi            # imm = 0x100
movq %rbx, %rdi
leaq 0x2cc9(%rip), %rdx      # 0x47bb
xorl %eax, %eax
callq 0x10a0
cltq
addq %rax, %rbx
testb $0x4, %r14b
je 0x1b2b
leaq 0x5705(%rip), %rsi      # 0x7210
subq %rbx, %rsi
addq $0x100, %rsi            # imm = 0x100
movq %rbx, %rdi
leaq 0x2ca4(%rip), %rdx      # 0x47c3
xorl %eax, %eax
callq 0x10a0
cltq
addq %rax, %rbx
testb $0x2, %r14b
je 0x1b58
leaq 0x56d8(%rip), %rsi      # 0x7210
subq %rbx, %rsi
addq $0x100, %rsi            # imm = 0x100
movq %rbx, %rdi
leaq 0x2c7f(%rip), %rdx      # 0x47cb
xorl %eax, %eax
callq 0x10a0
cltq
addq %rax, %rbx
leaq 0x56b3(%rip), %rcx      # 0x7212
testb $0x1, %r14b
je 0x1b8e
leaq 0x56a4(%rip), %rsi      # 0x7210
subq %rbx, %rsi
addq $0x100, %rsi            # imm = 0x100
movq %rbx, %rdi
leaq 0x2c52(%rip), %rdx      # 0x47d2
xorl %eax, %eax
callq 0x10a0
leaq 0x5684(%rip), %rcx      # 0x7212
leaq 0x2969(%rip), %rdi      # 0x44fe
leaq 0x10(%rsp), %rbx
movq %rbx, %rsi
movl %r14d, %edx
xorl %eax, %eax
callq 0x1090
movzwl 0x52(%r15), %edx
movl 0x38(%r15), %ecx
leaq 0x2961(%rip), %rdi      # 0x4518
movq %rbx, %rsi
xorl %eax, %eax
callq 0x1090
movq 0xc(%r15), %rdx
leaq 0x2971(%rip), %rdi      # 0x453d
movq %rbx, %rsi
xorl %eax, %eax
callq 0x1090
movl 0x18(%r15), %edx
leaq 0x2977(%rip), %rdi      # 0x4558
movq %rbx, %rsi
xorl %eax, %eax
callq 0x1090
movl 0x34(%r15), %edx
leaq 0x2978(%rip), %rdi      # 0x456e
movq %rbx, %rsi
xorl %eax, %eax
callq 0x1090
movl 0x1c(%r15), %edx
movl 0x24(%r15), %ecx
movl 0x3c(%r15), %r8d
movl 0x40(%r15), %r9d
leaq 0x296f(%rip), %rdi      # 0x4586
movq %rbx, %rsi
xorl %eax, %eax
callq 0x1090
movl 0x20(%r15), %edx
movl 0x28(%r15), %ecx
leaq 0x29a1(%rip), %rdi      # 0x45d1
movq %rbx, %rsi
xorl %eax, %eax
callq 0x1090
movl 0x2c(%r15), %edx
movl 0x30(%r15), %ecx
movl 0x44(%r15), %r8d
movl 0x48(%r15), %r9d
leaq 0x29a6(%rip), %rdi      # 0x45f7
movq %rbx, %rsi
xorl %eax, %eax
callq 0x1090
testb $0x4, 0x6(%r15)
jne 0x1cfd
movl 0x18(%r15), %esi
leaq 0x5497(%rip), %rdi      # 0x7108
callq 0x2f2d
leaq 0x5493(%rip), %rcx      # 0x7110
cmpq %rcx, %rax
setne %cl
testq %rax, %rax
setne %dl
testb %dl, %cl
jne 0x1cf6
movl 0x18(%r15), %ecx
leaq 0x29a8(%rip), %rdi      # 0x4640
movl %ebp, %esi
leaq 0x2b17(%rip), %rdx      # 0x47b8
xorl %eax, %eax
callq 0x1329
jmp 0x1cfd
leaq 0x26f5(%rip), %rdi      # 0x43a6
movl %ebp, %esi
movl %r13d, %edx
xorl %eax, %eax
callq 0x1090
movq 0x542c(%rip), %rbx      # 0x70f0
movzwl 0x6(%rbx,%rbp), %ecx
leaq 0x8(,%rcx,8), %rax
movslq (%rbx,%rbp), %rdx
negq %rdx
cmpq %rdx, %rax
jbe 0x1ec7
leaq 0x2be2(%rip), %rdi      # 0x48ca
movl %ebp, %esi
leaq 0x26b2(%rip), %rdx      # 0x43a3
jmp 0x2109
incl 0x24(%rax)
orb $0x2, 0x28(%rax)
movl 0x38(%r15), %esi
cmpl $-0x1, %esi
je 0x1d4d
leaq 0x53fb(%rip), %rdi      # 0x7108
callq 0x2f2d
leaq 0x53f7(%rip), %rcx      # 0x7110
cmpq %rcx, %rax
setne %cl
testq %rax, %rax
setne %dl
testb %dl, %cl
jne 0x1d46
movl 0x38(%r15), %ecx
leaq 0x293f(%rip), %rdi      # 0x4673
movl %ebp, %esi
leaq 0x2a7b(%rip), %rdx      # 0x47b8
xorl %eax, %eax
callq 0x1329
jmp 0x1d4d
incl 0x24(%rax)
orb $0x8, 0x28(%rax)
movl 0x34(%r15), %esi
leaq 0x53b0(%rip), %rdi      # 0x7108
callq 0x2f2d
leaq 0x53ac(%rip), %rcx      # 0x7110
cmpq %rcx, %rax
setne %cl
testq %rax, %rax
setne %dl
testb %dl, %cl
jne 0x1d91
movl 0x34(%r15), %ecx
leaq 0x292b(%rip), %rdi      # 0x46aa
movl %ebp, %esi
leaq 0x2a30(%rip), %rdx      # 0x47b8
xorl %eax, %eax
callq 0x1329
jmp 0x1d98
incl 0x24(%rax)
orb $0x4, 0x28(%rax)
cmpl $0x0, 0x1c(%r15)
je 0x1dea
movl 0x24(%r15), %esi
leaq 0x535e(%rip), %rdi      # 0x7108
callq 0x2f2d
leaq 0x535a(%rip), %rcx      # 0x7110
cmpq %rcx, %rax
setne %cl
testq %rax, %rax
setne %dl
testb %dl, %cl
jne 0x1de3
movl 0x24(%r15), %ecx
leaq 0x2919(%rip), %rdi      # 0x46ea
movl %ebp, %esi
leaq 0x29de(%rip), %rdx      # 0x47b8
xorl %eax, %eax
callq 0x1329
jmp 0x1dea
incl 0x24(%rax)
orb $0x10, 0x28(%rax)
cmpl $0x0, 0x2c(%r15)
je 0x1824
movl 0x30(%r15), %esi
leaq 0x5308(%rip), %rdi      # 0x7108
callq 0x2f2d
leaq 0x5304(%rip), %rcx      # 0x7110
cmpq %rcx, %rax
sete %cl
testq %rax, %rax
sete %dl
orb %cl, %dl
leaq 0x2902(%rip), %rdi      # 0x4723
jne 0x20b2
incl 0x24(%rax)
orb $0x20, 0x28(%rax)
movl $0x10, %esi
leaq 0x50(%rsp), %rdi
leaq 0x291c(%rip), %rdx      # 0x475b
leaq 0x10(%rsp), %rcx
xorl %eax, %eax
callq 0x10a0
movl 0x30(%r15), %esi
movq 0x529a(%rip), %rbx      # 0x70f0
movl (%rbx,%rsi), %eax
testl %eax, %eax
jle 0x206e
leaq 0x2975(%rip), %rdi      # 0x47dd
leaq 0x299e(%rip), %rdx      # 0x480d
xorl %eax, %eax
callq 0x1329
jmp 0x20ab
leaq 0x254b(%rip), %rdi      # 0x43cd
movl %ebp, %esi
movl %r13d, %edx
xorl %eax, %eax
callq 0x1090
movq 0x525b(%rip), %rbx      # 0x70f0
movzwl 0x6(%rbx,%rbp), %ecx
leaq 0x8(,%rcx,8), %rax
movslq (%rbx,%rbp), %rdx
negq %rdx
cmpq %rdx, %rax
jbe 0x1fc4
leaq 0x2a11(%rip), %rdi      # 0x48ca
movl %ebp, %esi
leaq 0x2508(%rip), %rdx      # 0x43ca
jmp 0x2109
leaq (%rbx,%rbp), %r15
leaq 0x2a2c(%rip), %rdi      # 0x48fe
leaq 0x10(%rsp), %rsi
movl %ecx, %edx
xorl %eax, %eax
callq 0x1090
cmpw $0x0, 0x6(%r15)
je 0x1824
addq %rbp, %rbx
addq $0xc, %rbx
xorl %r14d, %r14d
movl 0x8(%r15,%r14,8), %ecx
leaq 0x2a0d(%rip), %rdi      # 0x490f
leaq 0x10(%rsp), %rsi
movl %r14d, %edx
movq %rbx, %r8
xorl %eax, %eax
callq 0x1090
movl 0x8(%r15,%r14,8), %esi
leaq 0x51e8(%rip), %rdi      # 0x7108
callq 0x2f2d
leaq 0x51e4(%rip), %rcx      # 0x7110
cmpq %rcx, %rax
setne %cl
testq %rax, %rax
setne %dl
testb %dl, %cl
jne 0x1f5a
movl 0x8(%r15,%r14,8), %ecx
leaq 0x29ef(%rip), %rdi      # 0x4937
movl %ebp, %esi
leaq 0x2452(%rip), %rdx      # 0x43a3
xorl %eax, %eax
callq 0x1329
jmp 0x1f61
incl 0x24(%rax)
orb $0x2, 0x28(%rax)
incq %r14
movzwl 0x6(%r15), %eax
addq $0x8, %rbx
cmpq %rax, %r14
jb 0x1ef6
jmp 0x1824
leaq 0x2476(%rip), %rdi      # 0x43f4
movl %ebp, %esi
movl %r13d, %edx
xorl %eax, %eax
callq 0x1090
movq 0x515f(%rip), %r14      # 0x70f0
movzwl 0x6(%r14,%rbp), %ecx
leaq 0x8(,%rcx,4), %rax
movslq (%r14,%rbp), %rdx
negq %rdx
cmpq %rdx, %rax
jbe 0x2115
leaq 0x2914(%rip), %rdi      # 0x48ca
movl %ebp, %esi
leaq 0x2432(%rip), %rdx      # 0x43f1
jmp 0x2109
leaq (%rbx,%rbp), %r14
leaq 0x2998(%rip), %rdi      # 0x4967
leaq 0x10(%rsp), %rsi
movl %ecx, %edx
xorl %eax, %eax
callq 0x1090
cmpw $0x0, 0x6(%r14)
je 0x1824
leaq (%rbx,%rbp), %r15
addq $0x8, %r15
xorl %ebx, %ebx
movl (%r15,%rbx,8), %ecx
movl 0x4(%r15,%rbx,8), %r8d
leaq 0x2975(%rip), %rdi      # 0x4978
leaq 0x10(%rsp), %rsi
movl %ebx, %edx
xorl %eax, %eax
callq 0x1090
movl (%r15,%rbx,8), %esi
leaq 0x50ec(%rip), %rdi      # 0x7108
callq 0x2f2d
leaq 0x50e8(%rip), %rcx      # 0x7110
cmpq %rcx, %rax
setne %cl
testq %rax, %rax
setne %dl
testb %dl, %cl
jne 0x2055
movl (%r15,%rbx,8), %ecx
leaq 0x28f4(%rip), %rdi      # 0x4937
movl %ebp, %esi
leaq 0x237e(%rip), %rdx      # 0x43ca
xorl %eax, %eax
callq 0x1329
jmp 0x205c
incl 0x24(%rax)
orb $0x2, 0x28(%rax)
incq %rbx
movzwl 0x6(%r14), %eax
cmpq %rax, %rbx
jb 0x1ff3
jmp 0x1824
movq %rsi, 0x28(%rsp)
movl 0x2c(%r15), %r14d
leaq (,%r14,4), %rcx
negl %eax
addq $-0x4, %rax
cmpq %rax, %rcx
jbe 0x220e
leaq 0x277d(%rip), %rdi      # 0x4812
movq 0x28(%rsp), %rsi
leaq 0x276c(%rip), %rdx      # 0x480d
movl %r14d, %ecx
xorl %eax, %eax
callq 0x1329
leaq 0x26ae(%rip), %rdi      # 0x4760
movl 0x30(%r15), %ecx
movl %ebp, %esi
leaq 0x26f9(%rip), %rdx      # 0x47b8
jmp 0x2109
leaq 0x2354(%rip), %rdi      # 0x441c
movl %ebp, %esi
movl %r13d, %edx
xorl %eax, %eax
callq 0x1090
movq 0x5015(%rip), %r14      # 0x70f0
movzwl 0x6(%r14,%rbp), %ecx
leaq 0x8(,%rcx,4), %rax
movslq (%r14,%rbp), %rdx
negq %rdx
cmpq %rdx, %rax
jbe 0x22c0
leaq 0x27ca(%rip), %rdi      # 0x48ca
movl %ebp, %esi
leaq 0x2310(%rip), %rdx      # 0x4419
xorl %eax, %eax
callq 0x1329
jmp 0x1824
addq %rbp, %r14
leaq 0x2883(%rip), %rdi      # 0x49a2
leaq 0x10(%rsp), %rsi
movl %ecx, %edx
xorl %eax, %eax
callq 0x1090
cmpw $0x0, 0x6(%r14)
je 0x1824
xorl %ebx, %ebx
movl 0x8(%r14,%rbx,4), %ecx
leaq 0x286c(%rip), %rdi      # 0x49b3
leaq 0x10(%rsp), %rsi
movl %ebx, %edx
xorl %eax, %eax
callq 0x1090
movl 0x8(%r14,%rbx,4), %esi
leaq 0x4fa7(%rip), %rdi      # 0x7108
callq 0x2f2d
leaq 0x4fa3(%rip), %rcx      # 0x7110
cmpq %rcx, %rax
setne %cl
testq %rax, %rax
setne %dl
testb %dl, %cl
jne 0x219b
movl 0x8(%r14,%rbx,4), %ecx
leaq 0x27ae(%rip), %rdi      # 0x4937
movl %ebp, %esi
leaq 0x225f(%rip), %rdx      # 0x43f1
xorl %eax, %eax
callq 0x1329
jmp 0x21a2
incl 0x24(%rax)
orb $0x2, 0x28(%rax)
incq %rbx
movzwl 0x6(%r14), %eax
cmpq %rax, %rbx
jb 0x213b
jmp 0x1824
leaq 0x2289(%rip), %rdi      # 0x4444
movl %ebp, %esi
movl %r13d, %edx
xorl %eax, %eax
callq 0x1090
movq 0x4f22(%rip), %rbx      # 0x70f0
movzwl 0x6(%rbx,%rbp), %edx
addq %rbp, %rbx
testl %edx, %edx
je 0x2433
testb $0x1, 0x14(%rbx)
jne 0x2448
leaq 0x18(%rbx), %rdi
movl %edx, %esi
callq 0x289d
leaq 0x2861(%rip), %rdi      # 0x4a5b
leaq 0x10(%rsp), %rsi
movq %rax, %rdx
xorl %eax, %eax
callq 0x1090
jmp 0x245f
testq %r14, %r14
je 0x1824
addq 0x28(%rsp), %rbx
xorl %r12d, %r12d
movl $0x0, 0xc(%rsp)
movl 0x4(%rbx,%r12,4), %ecx
leaq 0x2617(%rip), %rdi      # 0x484a
leaq 0x50(%rsp), %rsi
movl %r12d, %edx
xorl %eax, %eax
callq 0x1090
movl 0x4(%rbx,%r12,4), %esi
leaq 0x4eba(%rip), %rdi      # 0x7108
callq 0x2f2d
leaq 0x4eb6(%rip), %rcx      # 0x7110
cmpq %rcx, %rax
setne %cl
testq %rax, %rax
setne %dl
testb %dl, %cl
jne 0x2293
movl 0x4(%rbx,%r12,4), %ecx
leaq 0x25e9(%rip), %rdi      # 0x485f
movq 0x28(%rsp), %rsi
leaq 0x258b(%rip), %rdx      # 0x480d
xorl %eax, %eax
callq 0x1329
movl $0xffffffff, 0xc(%rsp)  # imm = 0xFFFFFFFF
jmp 0x229a
incl 0x24(%rax)
orb $0x40, 0x28(%rax)
incq %r12
cmpq %r12, %r14
jne 0x2227
leaq 0x24b7(%rip), %rdi      # 0x4760
cmpl $0x0, 0xc(%rsp)
leaq 0x1fa9(%rip), %r12      # 0x425e
jne 0x20b2
jmp 0x1824
addq %rbp, %r14
leaq 0x2705(%rip), %rdi      # 0x49cf
leaq 0x10(%rsp), %rsi
movl %ecx, %edx
xorl %eax, %eax
callq 0x1090
cmpw $0x0, 0x6(%r14)
je 0x1824
xorl %ebx, %ebx
movl 0x8(%r14,%rbx,4), %ecx
leaq 0x26ee(%rip), %rdi      # 0x49e0
leaq 0x10(%rsp), %rsi
movl %ebx, %edx
xorl %eax, %eax
callq 0x1090
movl 0x8(%r14,%rbx,4), %esi
leaq 0x4dfc(%rip), %rdi      # 0x7108
callq 0x2f2d
leaq 0x4df8(%rip), %rcx      # 0x7110
cmpq %rcx, %rax
setne %cl
testq %rax, %rax
setne %dl
testb %dl, %cl
jne 0x2346
movl 0x8(%r14,%rbx,4), %ecx
leaq 0x26c8(%rip), %rdi      # 0x49fc
movl %ebp, %esi
leaq 0x20dc(%rip), %rdx      # 0x4419
xorl %eax, %eax
callq 0x1329
jmp 0x234d
incl 0x24(%rax)
orb $0x10, 0x28(%rax)
incq %rbx
movzwl 0x6(%r14), %eax
cmpq %rax, %rbx
jb 0x22e6
jmp 0x1824
leaq 0x2157(%rip), %rdi      # 0x44bd
jmp 0x1818
leaq 0x20f9(%rip), %rdi      # 0x446b
movl %ebp, %esi
movl %r13d, %edx
xorl %eax, %eax
callq 0x1090
movq 0x4d6b(%rip), %r15      # 0x70f0
movzwl 0x6(%r15,%rbp), %edx
leaq 0x2843(%rip), %rdi      # 0x4bd5
leaq 0x10(%rsp), %rsi
xorl %eax, %eax
callq 0x1090
cmpw $0x0, 0x6(%r15,%rbp)
je 0x1824
movl 0x8(%r15,%rbp), %esi
leaq 0x4d51(%rip), %rdi      # 0x7108
callq 0x2f2d
leaq 0x4d4d(%rip), %rcx      # 0x7110
cmpq %rcx, %rax
sete %cl
testq %rax, %rax
sete %dl
orb %cl, %dl
leaq 0x280e(%rip), %rdi      # 0x4be6
jne 0x2568
incl 0x24(%rax)
orb $0x2, 0x29(%rax)
movl $0x10, %esi
leaq 0x50(%rsp), %rdi
leaq 0x2365(%rip), %rdx      # 0x475b
leaq 0x10(%rsp), %rcx
xorl %eax, %eax
callq 0x10a0
movl 0x8(%r15,%rbp), %esi
movq 0x4ce2(%rip), %rbx      # 0x70f0
movl (%rbx,%rsi), %eax
testl %eax, %eax
jle 0x2526
leaq 0x283b(%rip), %rdi      # 0x4c5b
leaq 0x2866(%rip), %rdx      # 0x4c8d
xorl %eax, %eax
callq 0x1329
jmp 0x2561
leaq 0x25f8(%rip), %rdi      # 0x4a32
leaq 0x10(%rsp), %rsi
xorl %eax, %eax
callq 0x1090
jmp 0x245f
leaq 0x18(%rbx), %rcx
leaq 0x25f6(%rip), %rdi      # 0x4a49
leaq 0x10(%rsp), %rsi
xorl %eax, %eax
callq 0x1090
movl 0x10(%rbx), %edx
movl 0x8(%rbx), %r8d
movl 0xc(%rbx), %ecx
leaq 0x275d(%rip), %r9       # 0x4bcd
cmpq $0xb, %rdx
ja 0x2484
leaq 0x29ef(%rip), %rax      # 0x4e6c
movslq (%rax,%rdx,4), %r9
addq %rax, %r9
leaq 0x25e1(%rip), %rdi      # 0x4a6c
leaq 0x10(%rsp), %rsi
xorl %eax, %eax
callq 0x1090
movl 0x8(%rbx), %ecx
testl %ecx, %ecx
js 0x24d0
movl 0xc(%rbx), %esi
leaq 0x4c60(%rip), %rdi      # 0x7108
callq 0x2f2d
leaq 0x4c5c(%rip), %rcx      # 0x7110
cmpq %rcx, %rax
setne %cl
testq %rax, %rax
setne %dl
testb %dl, %cl
jne 0x24f4
movl 0xc(%rbx), %ecx
leaq 0x2614(%rip), %rdi      # 0x4ae2
jmp 0x24e6
andl $0x7fffffff, %ecx       # imm = 0x7FFFFFFF
cmpl $0x5, %ecx
jb 0x1824
leaq 0x25be(%rip), %rdi      # 0x4aa4
movl %ebp, %esi
leaq 0x1f52(%rip), %rdx      # 0x4441
jmp 0x2109
movl 0x8(%rbx), %esi
movl 0x4bfb(%rip), %edx      # 0x70f8
incl 0x24(%rax)
movl 0x28(%rax), %ecx
cmpl $0x3fd9, %esi           # imm = 0x3FD9
jb 0x2518
cmpl $0x14, %edx
jbe 0x2518
orl $0x100, %ecx            # imm = 0x100
jmp 0x251e
orl $0x80, %ecx
movl %ecx, 0x28(%rax)
jmp 0x1824
movq %rsi, 0x28(%rsp)
movzwl 0x6(%r15,%rbp), %r14d
leal (,%r14,4), %ecx
negl %eax
addq $-0x4, %rax
cmpq %rax, %rcx
jbe 0x257b
leaq 0x2747(%rip), %rdi      # 0x4c92
movq 0x28(%rsp), %rsi
leaq 0x2736(%rip), %rdx      # 0x4c8d
movl %r14d, %ecx
xorl %eax, %eax
callq 0x1329
leaq 0x26b8(%rip), %rdi      # 0x4c20
movl 0x8(%r15,%rbp), %ecx
movl %ebp, %esi
leaq 0x1ef2(%rip), %rdx      # 0x4468
jmp 0x2109
testl %r14d, %r14d
je 0x1824
addq 0x28(%rsp), %rbx
xorl %r12d, %r12d
movl $0x0, 0xc(%rsp)
movl 0x4(%rbx,%r12,4), %ecx
leaq 0x272c(%rip), %rdi      # 0x4ccc
leaq 0x50(%rsp), %rsi
movl %r12d, %edx
xorl %eax, %eax
callq 0x1090
movl 0x4(%rbx,%r12,4), %esi
leaq 0x4b4d(%rip), %rdi      # 0x7108
callq 0x2f2d
leaq 0x4b49(%rip), %rcx      # 0x7110
cmpq %rcx, %rax
setne %cl
testq %rax, %rax
setne %dl
testb %dl, %cl
jne 0x2600
movl 0x4(%rbx,%r12,4), %ecx
leaq 0x26fe(%rip), %rdi      # 0x4ce1
movq 0x28(%rsp), %rsi
leaq 0x269e(%rip), %rdx      # 0x4c8d
xorl %eax, %eax
callq 0x1329
movl $0xffffffff, 0xc(%rsp)  # imm = 0xFFFFFFFF
jmp 0x2607
incl 0x24(%rax)
orb $0x4, 0x29(%rax)
incq %r12
cmpq %r12, %r14
jne 0x2594
leaq 0x260a(%rip), %rdi      # 0x4c20
cmpl $0x0, 0xc(%rsp)
leaq 0x1c3c(%rip), %r12      # 0x425e
jne 0x2568
jmp 0x1824
movq 0x48(%rsp), %rax
movl 0x8(%rax), %ebx
movq 0x40(%rsp), %r14
testl %ebx, %ebx
jle 0x27ad
addl %r14d, %ebx
movl %ebx, %r14d
cmpl 0x4ab2(%rip), %ebx      # 0x7100
jb 0x1789
jmp 0x2682
movq 0x499b(%rip), %rax      # 0x6ff8
movq (%rax), %rdi
leaq 0x1c5e(%rip), %rsi      # 0x42c5
leaq 0x1c84(%rip), %rdx      # 0x42f2
movl %r14d, %ecx
movq %rbx, %r8
xorl %eax, %eax
callq 0x10c0
movl $0xffffffff, %ebx       # imm = 0xFFFFFFFF
jmp 0x263a
movq 0x4a7f(%rip), %rsi      # 0x7108
leaq 0x4a80(%rip), %rbx      # 0x7110
movq %rbx, %r14
cmpq %rbx, %rsi
je 0x26a7
leaq 0x4a69(%rip), %rdi      # 0x7108
callq 0x299f
movq %rax, %r14
movl $0x0, %r12d
movl $0x0, %r15d
movl $0x0, %ebp
cmpq %rbx, %r14
je 0x278a
leaq 0x4a40(%rip), %rbx      # 0x7108
leaq 0x4a41(%rip), %r13      # 0x7110
xorl %ebp, %ebp
xorl %r15d, %r15d
xorl %r12d, %r12d
movl 0x28(%r14), %ecx
testb $0x1, %cl
jne 0x272c
cmpl $0x0, 0x24(%r14)
jne 0x2702
movl 0x18(%r14), %esi
leaq 0x266f(%rip), %rdi      # 0x4d61
leaq 0x20a2(%rip), %rdx      # 0x479b
xorl %eax, %eax
callq 0x1329
incl %ebp
movl 0x28(%r14), %ecx
leal -0x1(%rcx), %eax
testl %eax, %ecx
jne 0x2753
testl $0xfffffff9, %ecx       # imm = 0xFFFFFFF9
je 0x2770
movl 0x24(%r14), %r8d
cmpl $0x2, %r8d
jb 0x2770
movl 0x18(%r14), %esi
leaq 0x26a3(%rip), %rdi      # 0x4dcd
jmp 0x2762
incl %r15d
cmpl $0x1, %ecx
ja 0x273b
cmpl $0x0, 0x24(%r14)
je 0x2770
movl 0x18(%r14), %esi
movl 0x24(%r14), %r8d
leaq 0x25d0(%rip), %rdi      # 0x4d1a
leaq 0x204a(%rip), %rdx      # 0x479b
jmp 0x2769
movl 0x18(%r14), %esi
movl 0x24(%r14), %r8d
leaq 0x261e(%rip), %rdi      # 0x4d80
leaq 0x2032(%rip), %rdx      # 0x479b
xorl %eax, %eax
callq 0x1329
movq %rbx, %rdi
movq %r14, %rsi
callq 0x29f2
movq %rax, %r14
incl %r12d
cmpq %r13, %rax
jne 0x26d7
leaq 0x2686(%rip), %rdi      # 0x4e17
movl %r12d, %esi
movl %r15d, %edx
movl %ebp, %ecx
xorl %eax, %eax
callq 0x1329
movq 0x38(%rsp), %r14
xorl %r15d, %r15d
jmp 0x2847
leaq 0x193f(%rip), %rdi      # 0x40f3
leaq 0x1b42(%rip), %rdx      # 0x42fd
movl %r14d, %esi
xorl %eax, %eax
callq 0x1329
xorl %r15d, %r15d
testl %ebx, %ebx
setne %r15b
movq 0x38(%rsp), %r14
jmp 0x2847
callq 0x130d
jmp 0x27ef
callq 0x12f1
jmp 0x27ef
addq $0x8, %rbx
movq %rbx, %rdi
callq 0x12b6
movl $0x1, %r15d
jmp 0x286b
callq 0x1190
jmp 0x2837
callq 0x11c3
jmp 0x2837
movq 0x47ec(%rip), %rax      # 0x6ff8
movq (%rax), %rdi
leaq 0x196a(%rip), %rsi      # 0x4180
leaq 0x1927(%rip), %rdx      # 0x4144
leaq 0x50(%rsp), %rcx
xorl %eax, %eax
callq 0x10c0
jmp 0x2837
callq 0x11f6
jmp 0x2837
callq 0x1215
leaq 0x50(%rsp), %rdi
callq 0x1234
movl $0x1, %r15d
cmpq $0x0, 0x48a1(%rip)      # 0x70f0
je 0x2863
movq 0x4890(%rip), %rdi      # 0x70e8
movl 0x48a2(%rip), %esi      # 0x7100
callq 0x1110
movq %r14, %rdi
callq 0x1070
movl %r15d, %eax
addq $0x258, %rsp            # imm = 0x258
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
callq 0x128a
jmp 0x2847
movq %r12, %rdi
movq %rbx, %rsi
callq 0x1256
movl $0x1, %r15d
jmp 0x27ce