// File: /workspace/github_c_makefile_star2_O3/jsummers[P]deark/modules/exe.c
// Function: de_run_exe
static void de_run_exe(deark *c, de_module_params *mparams)
{
	lctx *d = NULL;

	d = de_malloc(c, sizeof(lctx));

	if(c->debug_level!=0) {
		d->check_checksum = (u8)de_get_ext_option_bool(c, "exe:checksum", 0xff);
		if(d->check_checksum==0xff) {
			d->check_checksum = (c->debug_level>=2);
		}
	}
	d->extract_std_resources = 1;
	d->execomp_mode = (u8)de_get_ext_option_bool(c, "execomp", 0xff);
	d->sfx_only_mode = (u8)de_get_ext_option_bool(c, "exe:sfx", 0);
	if(d->sfx_only_mode) {
		d->extract_std_resources = 0;
	}

	if(!do_all_headers(c, d)) goto done;

	if(d->execomp_mode==1) {
		do_execomp(c, d);
		goto done;
	}

	if(d->subfmt==EXE_SUBFMT_PE32 || d->subfmt==EXE_SUBFMT_PE32PLUS) {
		if(d->pe_sections_offset>0) {
			do_pe_section_table(c, d);
		}
	}
	else if(d->fmt==EXE_FMT_NE) {
		do_ne_segment_table(c, d);
		if(d->ne_rsrc_tbl_offset>0) {
			do_ne_rsrc_tbl(c, d);
		}
	}
	else if(d->fmt==EXE_FMT_LX || d->fmt==EXE_FMT_LE) {
		if(d->lx_rsrc_tbl_offset>0) {
			do_lx_or_le_rsrc_tbl(c, d);
		}
	}

	if(!d->ei) {
		d->ei = de_malloc(c, sizeof(struct fmtutil_exe_info));
		fmtutil_collect_exe_info(c, c->infile, d->ei);
	}
	do_exesfx(c, d);
	do_specialexe(c, d);
	do_execomp(c, d);

done:
	if(d) {
		de_free(c, d->ei);
		de_free(c, d);
	}
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xd8, %rsp
movq %rdi, %rbx
movl $0x120, %esi            # imm = 0x120
callq 0xe8b2b
movq %rax, %r14
cmpl $0x0, (%rbx)
je 0x44a61
leaq 0xd7c8e(%rip), %rsi     # 0x11c6d2
movq %rbx, %rdi
movl $0xff, %edx
callq 0xe9bd0
movb %al, 0x5(%r14)
cmpb $-0x1, %al
jne 0x44a61
cmpl $0x2, (%rbx)
setge 0x5(%r14)
movb $0x1, 0x4(%r14)
leaq 0xd7c72(%rip), %rsi     # 0x11c6df
movq %rbx, %rdi
movl $0xff, %edx
callq 0xe9bd0
movb %al, 0x2(%r14)
leaq 0xd7c62(%rip), %rsi     # 0x11c6e7
movq %rbx, %rdi
xorl %edx, %edx
callq 0xe9bd0
movb %al, 0x3(%r14)
testb %al, %al
je 0x44a9c
movb $0x0, 0x4(%r14)
movq %r14, 0x8(%rsp)
leaq 0x30(%rsp), %rsi
movq %rbx, %rdi
callq 0xe8a1c
movq $0x0, 0x20(%rsp)
leaq 0x34(%rsp), %rsi
movq %rbx, %rdi
callq 0xe8a1c
leaq 0xd7c40(%rip), %rsi     # 0x11c70b
movq %rbx, %rdi
xorl %edx, %edx
xorl %eax, %eax
callq 0xe8617
movq %rbx, %rdi
movl $0x1, %esi
callq 0xe8a15
movq 0x18(%rbx), %rdi
leaq 0x50(%rsp), %rdx
xorl %esi, %esi
movl $0x2, %ecx
xorl %r8d, %r8d
callq 0xf1762
leaq 0x60(%rsp), %r14
leaq 0xd7c1a(%rip), %rsi     # 0x11c722
movq %rbx, %rdi
movq %r14, %rdx
xorl %eax, %eax
callq 0xe8617
movl -0xc(%r14), %eax
cmpl $0x5a4d, %eax           # imm = 0x5A4D
je 0x44b2b
cmpl $0x4d5a, %eax           # imm = 0x4D5A
jne 0x44d3a
leaq 0x20(%rsp), %rsi
movq $0x2, (%rsi)
movq 0x18(%rbx), %rdi
callq 0xeebeb
movl $0x1ff, %ecx            # imm = 0x1FF
movq %rax, %r15
andq %rcx, %r15
cmpq %rcx, %rax
jle 0x44b66
leaq 0xd7beb(%rip), %rsi     # 0x11c742
movq %rbx, %rdi
movl %eax, %edx
movl %r15d, %ecx
xorl %eax, %eax
callq 0xe8faa
testq %r15, %r15
leaq 0xd7c2b(%rip), %rcx     # 0x11c79b
leaq 0x100539(%rip), %rbp    # 0x1450b0
cmovneq %rbp, %rcx
leaq 0xd7bfd(%rip), %rsi     # 0x11c77f
movq %rbx, %rdi
movl %r15d, %edx
xorl %eax, %eax
callq 0xe8617
movq 0x18(%rbx), %rdi
leaq 0x20(%rsp), %rsi
callq 0xeebeb
movq %rax, %r14
movl %r14d, %r12d
cmpq $0x7ff, %rax            # imm = 0x7FF
jle 0x44bcc
andl $0x7ff, %r12d           # imm = 0x7FF
leaq 0xd7bea(%rip), %rsi     # 0x11c7a3
movq %rbx, %rdi
movl %r14d, %edx
movl %r12d, %ecx
xorl %eax, %eax
callq 0xe8faa
movq %r12, %r14
leaq 0xd7c08(%rip), %rsi     # 0x11c7db
movq %rbx, %rdi
movl %r12d, %edx
xorl %eax, %eax
callq 0xe8617
shlq $0x9, %r14
testq %r15, %r15
leaq -0x200(%r14,%r15), %rdx
cmoveq %r14, %rdx
movq 0x8(%rsp), %r14
movq %rdx, 0x30(%r14)
movq 0x18(%rbx), %rdi
movq 0x18(%rdi), %rcx
cmpq %rcx, %rdx
jle 0x44c1e
leaq 0xd7bda(%rip), %rsi     # 0x11c7ea
movq %rbx, %rdi
xorl %eax, %eax
callq 0xe8faa
movq 0x18(%rbx), %rdi
leaq 0x20(%rsp), %r15
movq %r15, %rsi
callq 0xeebeb
movq %rax, 0x28(%r14)
leaq 0xd7bee(%rip), %rsi     # 0x11c824
movq %rbx, %rdi
movl %eax, %edx
xorl %eax, %eax
callq 0xe8617
movq 0x18(%rbx), %rdi
movq %r15, %rsi
callq 0xeebeb
movq %rax, %rcx
shlq $0x4, %rcx
movq %rcx, 0x20(%r14)
leaq 0xd7be0(%rip), %rsi     # 0x11c840
movq %rbx, %rdi
movl %eax, %edx
xorl %eax, %eax
callq 0xe8617
movq 0x18(%rbx), %rdi
movq %r15, %rsi
callq 0xeebeb
movq %rax, %rcx
shlq $0x4, %rcx
leaq 0xd7bd7(%rip), %rsi     # 0x11c85d
movq %rbx, %rdi
movl %eax, %edx
xorl %eax, %eax
callq 0xe8617
movq 0x18(%rbx), %rdi
movq %r15, %rsi
callq 0xeebeb
movq %rax, %rcx
shlq $0x4, %rcx
leaq 0xd7bc8(%rip), %rsi     # 0x11c874
movq %rbx, %rdi
movl %eax, %edx
xorl %eax, %eax
callq 0xe8617
movq 0x18(%rbx), %rdi
movq %r15, %rsi
callq 0xeecce
leaq 0xd7bc0(%rip), %rsi     # 0x11c88b
movq %rbx, %rdi
movl %eax, %edx
xorl %eax, %eax
callq 0xe8617
movq 0x18(%rbx), %rdi
movq %r15, %rsi
callq 0xeebeb
leaq 0xd7bab(%rip), %rsi     # 0x11c895
movq %rbx, %rdi
movl %eax, %edx
xorl %eax, %eax
callq 0xe8617
movq 0x18(%rbx), %rdi
movq %r15, %rsi
callq 0xeebeb
movl %eax, 0x40(%r14)
leaq 0x106057(%rip), %rsi    # 0x14ad64
movq %rbx, %rdi
movl %eax, %edx
xorl %eax, %eax
callq 0xe8617
cmpb $0x0, 0x5(%r14)
je 0x44e2f
movq 0x30(%r14), %rax
movq 0x18(%rbx), %rcx
cmpq 0x18(%rcx), %rax
jle 0x44d6d
xorl %r15d, %r15d
jmp 0x44e27
leaq 0xd79f1(%rip), %rsi     # 0x11c732
movq %rbx, %rdi
xorl %eax, %eax
callq 0xe9295
movl 0x34(%rsp), %esi
movq %rbx, %rdi
callq 0xe8a25
movl 0x30(%rsp), %esi
movq %rbx, %rdi
callq 0xe8a25
movq 0x8(%rsp), %r14
jmp 0x467f5
movq %rbx, %rdi
movl $0x31, %esi
callq 0xeb499
movq %rax, %r15
movq 0x18(%rbx), %rsi
movl $0x12, %ecx
movq %rax, %rdi
xorl %edx, %edx
callq 0xeb944
movq 0x18(%rbx), %rsi
movq 0x30(%r14), %rcx
addq $-0x14, %rcx
movl $0x14, %edx
movq %r15, %rdi
callq 0xeb944
movq %r15, %rdi
callq 0xeb865
movl %eax, %ebp
movl $0xffff, %r13d          # imm = 0xFFFF
andl %r13d, %ebp
movl %ebp, %r12d
xorl %r13d, %r12d
movq 0x18(%rbx), %rsi
movq 0x30(%r14), %rdx
movq 0x18(%rsi), %rcx
subq %rdx, %rcx
movq %r15, %rdi
callq 0xeb944
movq %r15, %rdi
callq 0xeb865
movl %eax, %r14d
andl %r13d, %r14d
leaq 0x105fe9(%rip), %rsi    # 0x14add7
movq %rbx, %rdi
movl %r12d, %edx
xorl %eax, %eax
callq 0xe8617
cmpl %ebp, %r14d
je 0x44e1b
xorl $0xffff, %r14d          # imm = 0xFFFF
leaq 0xd7b58(%rip), %rsi     # 0x11c966
movq %rbx, %rdi
movl %r14d, %edx
xorl %eax, %eax
callq 0xe8617
movq 0x8(%rsp), %r14
leaq 0x100289(%rip), %rbp    # 0x1450b0
movq %r15, %rdi
callq 0xeb858
movq 0x18(%rbx), %rdi
leaq 0x20(%rsp), %r13
movq %r13, %rsi
callq 0xeebeb
movq %rax, %r15
leaq 0xd7a55(%rip), %rsi     # 0x11c89f
movq %rbx, %rdi
movl %r15d, %edx
xorl %eax, %eax
callq 0xe8617
movq 0x18(%rbx), %rdi
movq %r13, %rsi
callq 0xeecce
movq %rax, %r12
shlq $0x4, %r12
leaq 0xd7a38(%rip), %rsi     # 0x11c8a9
movq %rbx, %rdi
movl %eax, %edx
movl %r12d, %ecx
xorl %eax, %eax
callq 0xe8617
movq 0x18(%rbx), %rdi
movq %r13, %rsi
callq 0xeebeb
movq %rax, 0x10(%r14)
cmpq $0x0, 0x28(%r14)
leaq 0xd7a3b(%rip), %rcx     # 0x11c8d7
cmovneq %rbp, %rcx
leaq 0xd7a16(%rip), %rsi     # 0x11c8bd
movq %rbx, %rdi
movq %rax, %rdx
xorl %eax, %eax
callq 0xe8617
movq 0x18(%rbx), %rdi
movq %r13, %rsi
callq 0xeebeb
leaq 0xd7a1e(%rip), %rsi     # 0x11c8e5
movq %rbx, %rdi
movl %eax, %edx
xorl %eax, %eax
callq 0xe8617
movq 0x20(%r14), %rdx
movq 0x30(%r14), %r8
movq %r8, %rcx
subq %rdx, %rcx
leaq 0xd7a13(%rip), %rsi     # 0x11c8fb
movq %rbx, %rdi
xorl %eax, %eax
callq 0xe8617
addq %r15, %r12
addq 0x20(%r14), %r12
leaq 0xd7a2c(%rip), %rsi     # 0x11c92c
movq %rbx, %rdi
movq %r12, %rdx
xorl %eax, %eax
callq 0xe8617
movq 0x18(%rbx), %rax
movq 0x18(%rax), %rdx
subq 0x30(%r14), %rdx
jle 0x44f2c
leaq 0xd7a1f(%rip), %rsi     # 0x11c941
movq %rbx, %rdi
xorl %eax, %eax
callq 0xe8617
movq %rbx, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0xe8a15
movl 0x34(%rsp), %esi
movq %rbx, %rdi
callq 0xe8a25
movq 0x28(%r14), %rax
leaq -0x50001(%rax), %rcx
cmpq $-0x50000, %rcx         # imm = 0xFFFB0000
jb 0x4504e
movq 0x10(%r14), %rdx
testq %rdx, %rdx
jle 0x4504e
leaq (%rdx,%rax,4), %rax
movq %rax, 0x18(%r14)
cmpq 0x20(%r14), %rax
jg 0x4504e
movq 0x18(%rbx), %rcx
cmpq 0x18(%rcx), %rax
jg 0x4504e
leaq 0xf3c62(%rip), %rsi     # 0x138bf3
movq %rbx, %rdi
xorl %eax, %eax
callq 0xe8617
movq %rbx, %rdi
movl $0x1, %esi
callq 0xe8a15
movl 0x28(%r14), %edx
movq 0x18(%r14), %rcx
leaq 0xd79e0(%rip), %rsi     # 0x11c997
movq %rbx, %rdi
xorl %eax, %eax
callq 0xe8617
cmpl $0x2, (%rbx)
jl 0x45041
movq 0x10(%r14), %rax
movq %rax, 0x50(%rsp)
movq 0x28(%r14), %rax
movl $0x1388, %ebp           # imm = 0x1388
cmpq %rbp, %rax
cmovlq %rax, %rbp
testq %rax, %rax
jle 0x45035
leaq 0x50(%rsp), %r14
leaq 0xd79bf(%rip), %r15     # 0x11c9af
xorl %r12d, %r12d
movq 0x18(%rbx), %rdi
movq %r14, %rsi
callq 0xeebeb
movq %rax, %r13
movq 0x18(%rbx), %rdi
movq %r14, %rsi
callq 0xeebeb
movl %eax, %r9d
shll $0x4, %r9d
addl %r13d, %r9d
movq %rbx, %rdi
movq %r15, %rsi
movl %r12d, %edx
movl %eax, %ecx
movl %r13d, %r8d
xorl %eax, %eax
callq 0xe8617
incq %r12
cmpq %r12, %rbp
jne 0x44ff3
movq 0x8(%rsp), %r14
leaq 0x10006f(%rip), %rbp    # 0x1450b0
movq %rbx, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0xe8a15
movq 0x18(%rbx), %rdi
movl $0x3c, %esi
callq 0xeed61
movq %rax, 0x38(%r14)
cmpq $0x40, %rax
jl 0x45090
movq 0x18(%rbx), %rdi
cmpq 0x18(%rdi), %rax
jge 0x45090
cmpq $0x3c, 0x20(%r14)
jg 0x4507e
cmpq $0x3c, 0x30(%r14)
jg 0x45090
movq 0x10(%r14), %rcx
leaq -0x3d(%rcx), %rdx
cmpq $0x3, %rdx
jae 0x4539d
movb $0x1, (%r14)
leaq 0xd7954(%rip), %rsi     # 0x11c9ef
movq %rbx, %rdi
callq 0xeb125
cmpb $0x1, (%r14)
je 0x45951
movq 0x38(%r14), %rdx
leaq 0xd7637(%rip), %rsi     # 0x11c6ef
movq %rbx, %rdi
xorl %eax, %eax
callq 0xe8617
movzbl (%r14), %eax
addl $-0x2, %eax
cmpl $0x4, %eax
ja 0x45951
leaq 0xd7583(%rip), %rcx     # 0x11c65c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0xd6197(%rip), %rsi     # 0x11b280
movq %rbx, %rdi
callq 0xeb125
movq 0x38(%r14), %r15
leaq 0xd7d4b(%rip), %rsi     # 0x11ce47
movq %rbx, %rdi
movq %r15, %rdx
xorl %eax, %eax
callq 0xe8617
movq %rbx, %rdi
movl $0x1, %esi
callq 0xe8a15
movq 0x18(%rbx), %rdi
leaq 0x2(%r15), %rsi
callq 0xeead3
movl %eax, %ebp
movq 0x18(%rbx), %rdi
leaq 0x3(%r15), %rsi
callq 0xeead3
movzbl %bpl, %edx
movzbl %al, %ecx
leaq 0xd7d21(%rip), %rsi     # 0x11ce61
movq %rbx, %rdi
xorl %eax, %eax
callq 0xe8617
movq 0x18(%rbx), %rdi
leaq 0xc(%r15), %rsi
callq 0xeebc8
movq %r14, %rcx
movq %rax, %r14
movl %r14d, 0x60(%rcx)
movq %rbx, %rdi
callq 0xf6410
movq %rax, %r12
movl %r14d, %edx
andl $0x3, %edx
leaq 0xd7db5(%rip), %rsi     # 0x11cf2e
movq %rax, %rdi
xorl %eax, %eax
callq 0xf7132
movl %r14d, %ebp
andl $-0x4, %ebp
testb $0x4, %r14b
je 0x451a1
leaq 0xd7da2(%rip), %rsi     # 0x11cf38
movq %r12, %rdi
callq 0xf7105
addl $-0x4, %ebp
testb $0x8, %bpl
movq 0x8(%rsp), %r14
je 0x451be
leaq 0xd7d8f(%rip), %rsi     # 0x11cf42
movq %r12, %rdi
callq 0xf7105
addl $-0x8, %ebp
testw %bp, %bp
jns 0x451d8
leaq 0xd7a86(%rip), %rsi     # 0x11cc50
movq %r12, %rdi
callq 0xf7105
addl $0xffff8000, %ebp       # imm = 0xFFFF8000
testl %ebp, %ebp
je 0x451ef
leaq 0xe0ec2(%rip), %rsi     # 0x1260a5
movq %r12, %rdi
movl %ebp, %edx
xorl %eax, %eax
callq 0xf7132
movl 0x60(%r14), %ebp
movq %r12, %rdi
callq 0xf705c
leaq 0xd7d4f(%rip), %rsi     # 0x11cf51
movq %rbx, %rdi
movl %ebp, %edx
movq %rax, %rcx
xorl %eax, %eax
callq 0xe8617
movq %r12, %rdi
callq 0xf6753
movq 0x18(%rbx), %rdi
leaq 0x1c(%r15), %rsi
callq 0xeebc8
movq %rax, 0x48(%r14)
leaq 0xd7c46(%rip), %rsi     # 0x11ce77
movq %rbx, %rdi
movl %eax, %edx
xorl %eax, %eax
callq 0xe8617
cmpq $0x0, 0x48(%r14)
je 0x4526a
movq 0x18(%rbx), %rdi
leaq 0x22(%r15), %rsi
callq 0xeebc8
leaq (%rax,%r15), %rdx
movq %rdx, 0x50(%r14)
leaq 0xd7c2e(%rip), %rsi     # 0x11ce8e
movq %rbx, %rdi
xorl %eax, %eax
callq 0xe8617
movq 0x18(%rbx), %rdi
leaq 0x24(%r15), %rsi
callq 0xeebc8
leaq (%rax,%r15), %rdx
movq %rdx, 0x58(%r14)
leaq 0xd7c25(%rip), %rsi     # 0x11ceab
movq %rbx, %rdi
xorl %eax, %eax
callq 0xe8617
movq 0x18(%rbx), %rdi
leaq 0x32(%r15), %rsi
callq 0xeebc8
testl %eax, %eax
movl $0x9, %edx
cmovnel %eax, %edx
movl %edx, 0x64(%r14)
leaq 0xd7c17(%rip), %rsi     # 0x11cec9
movq %rbx, %rdi
xorl %eax, %eax
callq 0xe8617
movq 0x18(%rbx), %rdi
addq $0x36, %r15
movq %r15, %rsi
callq 0xeead3
leal -0x1(%rax), %ecx
cmpb $0x4, %cl
ja 0x456c4
movzbl %cl, %ecx
leaq 0xd73be(%rip), %rdx     # 0x11c6a0
movslq (%rdx,%rcx,4), %rcx
addq %rdx, %rcx
jmp 0x456cb
leaq 0xd7702(%rip), %rsi     # 0x11c9f7
jmp 0x45381
movq 0x38(%r14), %r13
leaq 0x7(%r13), %rax
testq %r13, %r13
cmovnsq %r13, %rax
andq $-0x8, %rax
cmpq $0x98, %rax
jge 0x456f1
movq 0x38(%r14), %r15
leaq 0xd775c(%rip), %rsi     # 0x11ca80
movq %rbx, %rdi
movq %r15, %rdx
xorl %eax, %eax
callq 0xe8617
movq %rbx, %rdi
movl $0x1, %esi
callq 0xe8a15
movq 0x18(%rbx), %rdi
leaq 0x4(%r15), %rsi
callq 0xeebc8
movl $0x8, %edx
leaq 0x13c199(%rip), %rsi    # 0x1814f0
leaq 0xe6df3(%rip), %rcx     # 0x12c151
cmpl %eax, -0x8(%rdx,%rsi)
je 0x45439
addq $0x10, %rdx
cmpq $0x168, %rdx            # imm = 0x168
jne 0x4535e
jmp 0x4543d
leaq 0xd768b(%rip), %rsi     # 0x11ca0c
movq %rbx, %rdi
callq 0xeb125
movq 0x38(%r14), %rdx
movq %rbx, %rdi
movq %r14, %rsi
callq 0x46c93
jmp 0x45951
cmpq $0x3f, %rcx
jg 0x453b5
cmpq $0x0, 0x28(%r14)
jle 0x453b5
cmpq $0x3c, 0x18(%r14)
jg 0x45090
leaq 0x50(%rsp), %r14
movl $0x4, %ecx
movq %r14, %rsi
movq %rax, %rdx
callq 0xee8d4
cmpl $0x4550, (%r14)         # imm = 0x4550
je 0x45829
cmpw $0x454e, 0x50(%rsp)     # imm = 0x454E
movq 0x8(%rsp), %r14
je 0x4652d
cmpw $0x584c, 0x50(%rsp)     # imm = 0x584C
je 0x46531
cmpw $0x454c, 0x50(%rsp)     # imm = 0x454C
je 0x46535
movb 0x50(%rsp), %al
addb $-0x41, %al
cmpb $0x19, %al
ja 0x45090
movb 0x51(%rsp), %al
leal -0x30(%rax), %ecx
cmpb $0xa, %cl
setb %cl
addb $-0x41, %al
cmpb $0x1a, %al
setb %al
orb %cl, %al
je 0x45090
leaq 0xd759c(%rip), %rsi     # 0x11c9d0
jmp 0x4509b
movq (%rdx,%rsi), %rcx
leaq 0xd764d(%rip), %rsi     # 0x11ca91
movq %rbx, %rdi
movl %eax, %edx
xorl %eax, %eax
callq 0xe8617
movq 0x18(%rbx), %rdi
leaq 0x6(%r15), %rsi
callq 0xeebc8
movq %rax, 0xe0(%r14)
leaq 0xd7647(%rip), %rsi     # 0x11cab2
movq %rbx, %rdi
movl %eax, %edx
xorl %eax, %eax
callq 0xe8617
movq 0x18(%rbx), %rdi
leaq 0x14(%r15), %rsi
callq 0xeebc8
movq %rax, 0xd0(%r14)
leaq 0xd7637(%rip), %rsi     # 0x11cac9
movq %rbx, %rdi
movq %rax, %rdx
xorl %eax, %eax
callq 0xe8617
movq 0x18(%rbx), %rdi
leaq 0x16(%r15), %rsi
callq 0xeebc8
movq %rax, %r13
movq %rbx, %rdi
callq 0xf6410
movq %rax, %r12
testb $0x1, %r13b
je 0x454cf
leaq 0xd771e(%rip), %rsi     # 0x11cbe5
movq %r12, %rdi
callq 0xf7105
testb $0x2, %r13b
je 0x454e4
leaq 0xd7719(%rip), %rsi     # 0x11cbf5
movq %r12, %rdi
callq 0xf7105
testb $0x4, %r13b
je 0x454f9
leaq 0xd7715(%rip), %rsi     # 0x11cc06
movq %r12, %rdi
callq 0xf7105
testb $0x8, %r13b
je 0x4550e
leaq 0xd771b(%rip), %rsi     # 0x11cc21
movq %r12, %rdi
callq 0xf7105
testb $0x20, %r13b
je 0x45523
leaq 0xd771a(%rip), %rsi     # 0x11cc35
movq %r12, %rdi
callq 0xf7105
btl $0x8, %r13d
jae 0x45539
leaq 0xd7718(%rip), %rsi     # 0x11cc49
movq %r12, %rdi
callq 0xf7105
btl $0x9, %r13d
jae 0x4554f
leaq 0xd76e5(%rip), %rsi     # 0x11cc2c
movq %r12, %rdi
callq 0xf7105
btl $0xd, %r13d
jae 0x45565
leaq 0xd76f3(%rip), %rsi     # 0x11cc50
movq %r12, %rdi
callq 0xf7105
movq %r12, %rdi
callq 0xf705c
leaq 0xd76e0(%rip), %rsi     # 0x11cc54
movq %rbx, %rdi
movl %r13d, %edx
movq %rax, %rcx
xorl %eax, %eax
callq 0xe8617
movq %r12, %rdi
callq 0xf6753
movq 0xd0(%r14), %rcx
testq %rcx, %rcx
jle 0x45935
leaq 0x18(%r15), %r12
leaq 0xd76ca(%rip), %rsi     # 0x11cc71
movq %rbx, %rdi
movq %r12, %rdx
xorl %eax, %eax
callq 0xe8617
movq %rbx, %rdi
movl $0x1, %esi
callq 0xe8a15
movq 0x18(%rbx), %rdi
movq %r12, %rsi
callq 0xeebc8
movq %rax, %r14
leaq 0xd76c3(%rip), %rsi     # 0x11cc9a
movq %rbx, %rdi
movl %r14d, %edx
xorl %eax, %eax
callq 0xe8617
cmpq $0x107, %r14            # imm = 0x107
je 0x458fd
cmpq $0x20b, %r14            # imm = 0x20B
je 0x45835
cmpq $0x10b, %r14            # imm = 0x10B
jne 0x45906
movq %rbx, %r13
movq 0x8(%rsp), %rbx
movb $0x1, 0x1(%rbx)
leaq 0xd768e(%rip), %rsi     # 0x11ccac
movq %r13, %rdi
callq 0xeb125
leaq 0x34(%r15), %r14
leaq 0xd76a8(%rip), %rsi     # 0x11ccd9
movq %r13, %rdi
movq %r14, %rdx
xorl %eax, %eax
callq 0xe8617
movq %r13, %rdi
movl $0x1, %esi
callq 0xe8a15
movq 0x18(%r13), %rdi
movq %r14, %rsi
movq %rbx, %r14
movq %r13, %rbx
callq 0xeed61
leaq 0xd76a1(%rip), %rsi     # 0x11cd05
movq %r13, %rdi
movl %eax, %edx
xorl %eax, %eax
callq 0xe8617
movq 0x18(%r13), %rdi
leaq 0x5c(%r15), %rsi
callq 0xeebc8
cmpq $0x3, %rax
leaq 0xd76b6(%rip), %rcx     # 0x11cd3e
cmoveq %rcx, %rbp
cmpq $0x2, %rax
leaq 0xd7698(%rip), %rcx     # 0x11cd2f
cmovneq %rbp, %rcx
leaq 0xd767d(%rip), %rsi     # 0x11cd1f
movq %r13, %rdi
movl %eax, %edx
xorl %eax, %eax
callq 0xe8617
movq %r13, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0xe8a15
addq $0x78, %r15
jmp 0x458ed
leaq 0xe6a86(%rip), %rcx     # 0x12c151
movzbl %al, %edx
leaq 0xd7846(%rip), %rsi     # 0x11cf1b
movq %rbx, %rdi
xorl %eax, %eax
callq 0xe8617
movq %rbx, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0xe8a15
jmp 0x45951
movq %r13, %rcx
subq %rax, %rcx
subq %rcx, %r13
addq $-0x90, %r13
leaq 0x90(%r13), %rax
cmpq $0x98, %rax
jl 0x45319
leaq 0x88(%r13), %rsi
movq 0x18(%rbx), %rdi
callq 0xeed61
addq $-0x8, %r13
cmpl $0x68636952, %eax       # imm = 0x68636952
jne 0x45701
movq 0x18(%rbx), %rdi
leaq 0x94(%r13), %rsi
callq 0xeed61
movq %rax, %r15
movq 0x18(%rbx), %rdi
movl $0x80, %esi
callq 0xeed61
xorl %r15d, %eax
cmpl $0x536e6144, %eax       # imm = 0x536E6144
jne 0x45319
leaq 0x98(%r13), %r14
leaq 0x90(%r13), %rcx
leaq 0x18(%r13), %r8
leaq 0xd72aa(%rip), %rsi     # 0x11ca21
movl $0x80, %edx
movq %rbx, %rdi
xorl %eax, %eax
callq 0xe8617
movq %rbx, %rdi
movl $0x1, %esi
callq 0xe8a15
movabsq $0x7ffffffffffffff8, %rax # imm = 0x7FFFFFFFFFFFFFF8
andq %r14, %rax
cmpq $0x98, %rax
je 0x4580b
shrq $0x3, %r13
cmpq $0x1, %r13
adcq $0x0, %r13
movl $0x94, %r12d
xorl %ebp, %ebp
movq 0x18(%rbx), %rdi
leaq -0x4(%r12), %rsi
callq 0xeed61
movq %rax, %r14
movq 0x18(%rbx), %rdi
movq %r12, %rsi
callq 0xeed61
xorl %r15d, %r14d
xorl %r15d, %eax
movl %r14d, %ecx
shrl $0x10, %ecx
movzwl %r14w, %r8d
movq %rbx, %rdi
leaq 0xd7262(%rip), %rsi     # 0x11ca55
movl %ebp, %edx
movl %eax, %r9d
xorl %eax, %eax
callq 0xe8617
incq %rbp
addq $0x8, %r12
cmpq %rbp, %r13
jne 0x457bc
movq %rbx, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0xe8a15
movq 0x8(%rsp), %r14
leaq 0xff88c(%rip), %rbp     # 0x1450b0
jmp 0x45319
movb $0x3, %al
movq 0x8(%rsp), %r14
jmp 0x46537
movq %rbx, %r13
movq 0x8(%rsp), %rbx
movb $0x2, 0x1(%rbx)
leaq 0xd7469(%rip), %rsi     # 0x11ccb1
movq %r13, %rdi
callq 0xeb125
leaq 0x30(%r15), %r14
leaq 0xd75a1(%rip), %rsi     # 0x11cdfc
movq %r13, %rdi
movq %r14, %rdx
xorl %eax, %eax
callq 0xe8617
movq %r13, %rdi
movl $0x1, %esi
callq 0xe8a15
movq 0x18(%r13), %rdi
movq %r14, %rsi
movq %rbx, %r14
movq %r13, %rbx
callq 0xeef09
leaq 0xd759d(%rip), %rsi     # 0x11ce2b
movq %r13, %rdi
movq %rax, %rdx
xorl %eax, %eax
callq 0xe8617
movq 0x18(%r13), %rdi
leaq 0x5c(%r15), %rsi
callq 0xeebc8
cmpq $0x3, %rax
leaq 0xd748b(%rip), %rcx     # 0x11cd3e
cmoveq %rcx, %rbp
cmpq $0x2, %rax
leaq 0xd746d(%rip), %rcx     # 0x11cd2f
cmovneq %rbp, %rcx
leaq 0xd7452(%rip), %rsi     # 0x11cd1f
movq %r13, %rdi
movl %eax, %edx
xorl %eax, %eax
callq 0xe8617
movq %r13, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0xe8a15
addq $0x88, %r15
movq %r13, %rdi
movq %r14, %rsi
movq %r15, %rdx
callq 0x46e41
jmp 0x4591a
leaq 0xd73b3(%rip), %rsi     # 0x11ccb7
jmp 0x4590d
leaq 0xd73b7(%rip), %rsi     # 0x11ccc4
movq %rbx, %rdi
callq 0xeb125
movq 0x8(%rsp), %r14
movq %rbx, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0xe8a15
addq 0xd0(%r14), %r12
movq %r12, 0xd8(%r14)
movq %rbx, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0xe8a15
leaq 0xd5de0(%rip), %rsi     # 0x11b729
movq %rbx, %rdi
callq 0xeb125
movl 0x30(%rsp), %esi
movq %rbx, %rdi
callq 0xe8a25
cmpb $0x1, 0x2(%r14)
jne 0x4596c
movq %rbx, %rdi
jmp 0x467ed
movb 0x1(%r14), %al
decb %al
cmpb $0x1, %al
ja 0x45b48
movq 0xd8(%r14), %r15
testq %r15, %r15
jle 0x4655c
leaq 0xd67df(%rip), %rsi     # 0x11c170
movq %rbx, %rdi
movq %r15, %rdx
xorl %eax, %eax
callq 0xe8617
movq %rbx, %rdi
movl $0x1, %esi
callq 0xe8a15
cmpq $0x0, 0xe0(%r14)
jle 0x45b36
leaq 0xd77ff(%rip), %rbp     # 0x11d1bf
xorl %r12d, %r12d
cmpb $0x0, 0x6(%r14)
jne 0x45b36
movq %rbx, %rdi
leaq 0x50(%rsp), %rsi
callq 0xe8a1c
movq %rbx, %rdi
leaq 0xd776b(%rip), %rsi     # 0x11d150
movl %r12d, %edx
movq %r15, %rcx
xorl %eax, %eax
callq 0xe8617
movq %rbx, %rdi
movl $0x1, %esi
callq 0xe8a15
movq 0x18(%rbx), %rdi
movl $0x8, %edx
movl $0x8, %ecx
movq %r15, %rsi
movl $0x1, %r8d
movl $0x2, %r9d
callq 0xef87c
movq %rax, %r13
movq 0x18(%rax), %rdi
callq 0xf705c
movq %rbx, %rdi
leaq 0xd7733(%rip), %rsi     # 0x11d16a
movq %rax, %rdx
xorl %eax, %eax
callq 0xe8617
movq 0x18(%rbx), %rdi
leaq 0xc(%r15), %rsi
callq 0xeed61
movq %rax, 0xf0(%r14)
movq 0x18(%rbx), %rdi
leaq 0x10(%r15), %rsi
callq 0xeed61
movq %rax, %r14
movq 0x18(%rbx), %rdi
leaq 0x14(%r15), %rsi
callq 0xeed61
movq 0x8(%rsp), %rcx
movq %rax, 0xf8(%rcx)
movq 0x8(%rsp), %rax
movq 0xf0(%rax), %rcx
movq %rbx, %rdi
leaq 0xd76e9(%rip), %rsi     # 0x11d17d
movq %rcx, %rdx
xorl %eax, %eax
callq 0xe8617
movq 0x8(%rsp), %rax
movq 0xf8(%rax), %rdx
movq %rbx, %rdi
leaq 0xd76e9(%rip), %rsi     # 0x11d19d
movq %r14, %rcx
movq 0x8(%rsp), %r14
xorl %eax, %eax
callq 0xe8617
movq 0x8(%r13), %rdi
movq %rbp, %rsi
callq 0x181a0
testl %eax, %eax
jne 0x45b05
cmpb $0x0, 0x6(%r14)
jne 0x45b05
movq 0xf8(%r14), %rax
movq %rax, 0xe8(%r14)
movq $0x0, 0x118(%r14)
movq %rbx, %rdi
movq %r14, %rsi
xorl %edx, %edx
movl $0x1, %ecx
callq 0x47023
movq %rbx, %rdi
movq %r13, %rsi
callq 0xefaca
movl 0x50(%rsp), %esi
movq %rbx, %rdi
callq 0xe8a25
cmpq $0x62, %r12
ja 0x45b36
incq %r12
addq $0x28, %r15
cmpq 0xe0(%r14), %r12
jl 0x459c3
movq %rbx, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0xe8a15
jmp 0x4655c
movb (%r14), %al
movzbl %al, %ecx
leal -0x5(%rcx), %edx
cmpl $0x2, %edx
jae 0x45bb4
movq 0xb8(%r14), %rcx
testq %rcx, %rcx
jle 0x4655c
cmpb $0x6, %al
leaq 0xd7006(%rip), %rax     # 0x11cb75
leaq 0xd6e57(%rip), %rdx     # 0x11c9cd
cmoveq %rax, %rdx
leaq 0xd7a8a(%rip), %rsi     # 0x11d60b
movq %rbx, %rdi
xorl %eax, %eax
callq 0xe8617
movq 0xc0(%r14), %rax
cmpq $0x2710, %rax           # imm = 0x2710
jle 0x45d95
leaq 0xd7a7f(%rip), %rsi     # 0x11d624
movq %rbx, %rdi
xorl %eax, %eax
callq 0xe9295
jmp 0x4655c
cmpl $0x2, %ecx
jne 0x4655c
leaq 0x50(%rsp), %rsi
movq %rbx, %rdi
callq 0xe8a1c
cmpq $0x0, 0x48(%r14)
jle 0x45d03
movq 0x8(%rsp), %rax
cmpl $0x18, 0x68(%rax)
ja 0x45d03
movq %rbx, %r14
movq 0x8(%rsp), %rbx
movq 0x50(%rbx), %rdx
leaq 0xd346f(%rip), %rsi     # 0x119066
movq %r14, %rdi
xorl %eax, %eax
callq 0xe8617
movq %r14, %rdi
movl $0x1, %esi
callq 0xe8a15
cmpq $0x0, 0x48(%rbx)
movq %r14, %rbx
jle 0x45d03
movq 0x8(%rsp), %rax
movq 0x50(%rax), %r15
leaq 0xffa89(%rip), %rbp     # 0x1456b5
leaq 0xe36fa(%rip), %r12     # 0x12932d
xorl %r13d, %r13d
cmpq $0x1f3, %r13            # imm = 0x1F3
ja 0x45d03
movq 0x18(%rbx), %rax
cmpq 0x18(%rax), %r15
jge 0x45d03
incq %r13
movq %rbx, %rdi
leaq 0xd77fb(%rip), %rsi     # 0x11d459
movl %r13d, %edx
xorl %eax, %eax
callq 0xe8617
movq %rbx, %rdi
movl $0x1, %esi
callq 0xe8a15
movq 0x18(%rbx), %rdi
movq %r15, %rsi
callq 0xeebc8
movq 0x8(%rsp), %rbx
movb 0x64(%rbx), %cl
shlq %cl, %rax
movq %r14, %rdi
leaq 0xf6ee7(%rip), %rsi     # 0x13cb7d
movq %rax, %rdx
xorl %eax, %eax
callq 0xe8617
movq 0x18(%r14), %rdi
leaq 0x2(%r15), %rsi
callq 0xeebc8
testq %rax, %rax
movl $0x10000, %ecx          # imm = 0x10000
cmoveq %rcx, %rax
movq %r14, %rdi
movq %rbp, %rsi
movq %rax, %rdx
xorl %eax, %eax
callq 0xe8617
movq 0x18(%r14), %rdi
leaq 0x4(%r15), %rsi
callq 0xeebc8
movq %r14, %rdi
movq %r12, %rsi
movl %eax, %edx
xorl %eax, %eax
callq 0xe8617
movq %r14, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0xe8a15
addq $0x8, %r15
cmpq 0x48(%rbx), %r13
movq %r14, %rbx
jl 0x45c36
movl 0x50(%rsp), %esi
movq %rbx, %rdi
callq 0xe8a25
movq 0x8(%rsp), %r14
cmpq $0x0, 0x58(%r14)
jle 0x4655c
leaq 0x20(%rsp), %rsi
movq %rbx, %rdi
callq 0xe8a1c
movq 0x58(%r14), %r12
leaq 0xd78d7(%rip), %rsi     # 0x11d60e
movq %rbx, %rdi
movq %r12, %rdx
xorl %eax, %eax
callq 0xe8617
movq %rbx, %rdi
movl $0x1, %esi
callq 0xe8a15
movq 0x18(%rbx), %rdi
movq %r12, %rsi
callq 0xeebc8
movl %eax, 0x68(%r14)
leaq 0xd76fd(%rip), %rsi     # 0x11d465
movq %rbx, %rdi
movl %eax, %edx
xorl %eax, %eax
callq 0xe8617
cmpl $0x19, 0x68(%r14)
jb 0x4610a
leaq 0xd76f1(%rip), %rsi     # 0x11d477
movq %rbx, %rdi
xorl %eax, %eax
callq 0xe8617
jmp 0x46550
testq %rax, %rax
jle 0x4655c
movl $0xa, %ebp
xorl %r13d, %r13d
movq %r13, 0x18(%rsp)
movq 0xb8(%r14), %r13
movq %rbp, %r14
addq %r13, %r14
leaq -0xa(,%r13), %rsi
addq %rbp, %rsi
movq 0x18(%rbx), %rdi
callq 0xeebc8
movq %rax, %r12
movq 0x18(%rbx), %rdi
leaq -0x8(,%r13), %rsi
addq %rbp, %rsi
callq 0xeebc8
movq %rax, 0x10(%rsp)
movq 0x18(%rbx), %rdi
leaq -0x6(,%r13), %rsi
addq %rbp, %rsi
callq 0xeed61
movq %rax, %r15
movq 0x18(%rbx), %rdi
movq %rbp, 0x28(%rsp)
leaq -0x2(,%r13), %rsi
addq %rbp, %rsi
movq 0x18(%rsp), %r13
callq 0xeebc8
movq %rax, %rbp
movq 0x18(%rbx), %rdi
movq %r14, %rsi
callq 0xeed61
movq %rax, %r14
movq %rbx, %rdi
leaq 0xd77ff(%rip), %rsi     # 0x11d638
movl %r13d, %edx
movq %r12, 0x38(%rsp)
movl %r12d, %ecx
movq 0x10(%rsp), %r8
movq %r15, 0x10(%rsp)
movq %r15, %r9
xorl %eax, %eax
pushq %r14
pushq %rbp
callq 0xe8617
addq $0x10, %rsp
movq %rbx, %rdi
movl $0x1, %esi
callq 0xe8a15
testq %rbp, %rbp
jle 0x45e7f
movq 0x8(%rsp), %rax
cmpq %rbp, 0xa8(%rax)
jge 0x45ec2
movq %rbx, %rdi
leaq 0xd77e8(%rip), %rsi     # 0x11d671
movl %ebp, %edx
xorl %eax, %eax
callq 0xe9295
movq %rbx, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0xe8a15
incq %r13
movq 0x28(%rsp), %rbp
addq $0xe, %rbp
movq 0x8(%rsp), %r14
cmpq 0xc0(%r14), %r13
jl 0x45da6
jmp 0x4655c
movq %r14, %r15
movq 0x8(%rsp), %rax
movq 0xa0(%rax), %r12
leaq (,%rbp,2), %r13
addq %rbp, %r13
leaq -0x18(%r12,%r13,8), %r14
movq %rbx, %rdi
leaq 0xd77a2(%rip), %rsi     # 0x11d68d
movq %r14, %rdx
xorl %eax, %eax
callq 0xe8617
movq 0x18(%rbx), %rdi
movq %r14, %rsi
callq 0xeed61
movq %rax, 0x48(%rsp)
movq 0x18(%rbx), %rdi
leaq (%r12,%r13,8), %rsi
addq $-0x14, %rsi
callq 0xeed61
movq %rax, 0x40(%rsp)
movq 0x18(%rbx), %rdi
leaq (%r12,%r13,8), %rsi
addq $-0x10, %rsi
callq 0xeed61
movq %rax, 0xd0(%rsp)
movq 0x18(%rbx), %rdi
leaq (%r12,%r13,8), %rsi
addq $-0xc, %rsi
callq 0xeed61
movq %rax, %r14
movq 0x18(%rbx), %rdi
leaq (%r12,%r13,8), %rsi
addq $-0x8, %rsi
movq 0x18(%rsp), %r13
callq 0xeed61
movq %rax, %r10
movq %rbx, %rdi
leaq 0xd773e(%rip), %rsi     # 0x11d6aa
movl %ebp, %edx
movq 0x48(%rsp), %rcx
movq 0x40(%rsp), %r8
movq 0xd0(%rsp), %r9
xorl %eax, %eax
pushq %r10
pushq %r14
callq 0xe8617
addq $0x10, %rsp
testq %r14, %r14
jle 0x45e92
movq %rbx, %r12
movq 0x8(%rsp), %rbx
movq 0xb0(%rbx), %rax
leaq (%rax,%r14,8), %r14
addq $-0x8, %r14
movq %r12, %rdi
leaq 0xd772a(%rip), %rsi     # 0x11d6e3
movq %r14, %rdx
xorl %eax, %eax
callq 0xe8617
movq 0x18(%r12), %rdi
movq %r14, %rsi
callq 0xeed61
movq 0x98(%rbx), %rcx
testq %rcx, %rcx
movl $0x0, %edx
cmovlel %edx, %ecx
shlq %cl, %rax
movq %r15, %rdx
addq 0xc8(%rbx), %rdx
movq %r12, %rbx
addq %rax, %rdx
movq %r12, %rdi
leaq 0xd76ff(%rip), %rsi     # 0x11d6fe
movq %rdx, %r15
xorl %eax, %eax
callq 0xe8617
movq 0x38(%rsp), %rax
decq %rax
cmpq $0x1, %rax
ja 0x45e92
cmpq $0x10, 0x10(%rsp)
jl 0x45e92
movq 0x18(%rbx), %rdi
movl $0x2, %ecx
leaq 0x50(%rsp), %rsi
movq %r15, %rdx
callq 0xee8d4
movzwl 0x50(%rsp), %eax
xorl %ebp, %ebp
cmpl $0x4142, %eax           # imm = 0x4142
setne %r14b
cmpw $0x4142, %ax            # imm = 0x4142
jne 0x4606a
movq 0x18(%rbx), %rdi
leaq 0xe(%r15), %rdx
movl $0x2, %ecx
leaq 0x50(%rsp), %rsi
callq 0xee8d4
movb %r14b, %bpl
cmpw $0x4d42, 0x50(%rsp)     # imm = 0x4D42
je 0x460cb
cmpw $0x4943, 0x50(%rsp)     # imm = 0x4943
movq 0x8(%rsp), %rax
je 0x460b5
cmpw $0x4349, 0x50(%rsp)     # imm = 0x4349
je 0x460b5
cmpw $0x5043, 0x50(%rsp)     # imm = 0x5043
je 0x460a3
cmpw $0x5450, 0x50(%rsp)     # imm = 0x5450
jne 0x45e92
testl %ebp, %ebp
leaq 0xd767f(%rip), %rcx     # 0x11d72b
leaq 0xd7675(%rip), %rax     # 0x11d728
jmp 0x460db
testl %ebp, %ebp
leaq 0xd7662(%rip), %rcx     # 0x11d720
leaq 0xd7658(%rip), %rdx     # 0x11d71d
cmoveq %rdx, %rcx
jmp 0x460e4
testl %ebp, %ebp
leaq 0xdb08e(%rip), %rcx     # 0x121162
leaq 0xd7638(%rip), %rax     # 0x11d713
cmoveq %rax, %rcx
movq 0x8(%rsp), %rax
cmpb $0x0, 0x4(%rax)
je 0x45e92
movq 0x18(%rbx), %rdi
movq %r15, %rsi
movq 0x10(%rsp), %rdx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0xefd48
jmp 0x45e92
addq $0x2, %r12
movq 0x18(%rbx), %rdi
movq %r12, %rsi
callq 0xeebc8
testq %rax, %rax
je 0x46517
movq %rax, %r15
xorl %r13d, %r13d
xorl %edx, %edx
movq %rbx, %rdi
leaq 0xd73b6(%rip), %rsi     # 0x11d4eb
movl %edx, 0x48(%rsp)
movq %r12, %rcx
xorl %eax, %eax
callq 0xe8617
movq %rbx, %rdi
movl $0x1, %esi
callq 0xe8a15
testw %r15w, %r15w
js 0x46164
movl $0x0, 0x70(%r14)
xorl %eax, %eax
xorl %ecx, %ecx
jmp 0x4619b
addl $0xffff8000, %r15d      # imm = 0xFFFF8000
movl %r15d, 0x70(%r14)
xorl %eax, %eax
leaq 0x13b4d8(%rip), %rcx    # 0x181650
cmpl %r15d, (%rax,%rcx)
je 0x46193
addq $0x18, %rax
cmpq $0x198, %rax            # imm = 0x198
jne 0x46178
movl $0x1, %ecx
xorl %eax, %eax
jmp 0x4619b
addq %rcx, %rax
movl $0x1, %ecx
movq %rax, 0x78(%r14)
movl %ecx, 0x6c(%r14)
movq 0x18(%rbx), %rdi
leaq 0x2(%r12), %rsi
callq 0xeebc8
movq %rax, %r15
cmpl $0x0, 0x6c(%r14)
je 0x461d5
movl 0x70(%r14), %edx
movq %rbx, %rdi
leaq 0xd7336(%rip), %rsi     # 0x11d4ff
movl %r15d, %ecx
xorl %eax, %eax
callq 0xe8617
jmp 0x461e9
movq %rbx, %rdi
leaq 0xd733b(%rip), %rsi     # 0x11d51a
movl %r15d, %edx
xorl %eax, %eax
callq 0xe8617
addq %r15, %r13
cmpq $0x2710, %r13           # imm = 0x2710
jg 0x4653f
movq %r13, 0x40(%rsp)
movq %r12, 0x10(%rsp)
movq %r15, 0x38(%rsp)
testq %r15, %r15
jle 0x464ca
movq 0x10(%rsp), %rax
leaq 0xe(%rax), %r15
movq 0x38(%rsp), %r12
movq %r12, 0x18(%rsp)
leaq -0x6(%r15), %r14
movq %rbx, %rdi
leaq 0x50(%rsp), %rsi
callq 0xe8a1c
movq 0x18(%rbx), %rdi
movq %r14, %rsi
callq 0xeebc8
movq %rax, %r12
movq 0x8(%rsp), %rbp
movb 0x68(%rbp), %cl
shlq %cl, %r12
movq 0x18(%rbx), %rdi
leaq -0x4(%r15), %rsi
callq 0xeebc8
movq %rax, %r13
movb 0x68(%rbp), %cl
shlq %cl, %r13
movq %rbx, %rdi
leaq 0xd72f4(%rip), %rsi     # 0x11d563
movq %r14, %rdx
movq %r12, 0x28(%rsp)
movq %r12, %rcx
movq %r13, %r8
xorl %eax, %eax
callq 0xe8617
movq %rbx, %rdi
movl $0x1, %esi
callq 0xe8a15
movq 0x18(%rbx), %rdi
movq %r15, %rsi
callq 0xeebc8
testw %ax, %ax
js 0x463a4
movq 0x58(%rbp), %r14
addq %rax, %r14
movq %rbx, %rdi
leaq 0xd72d0(%rip), %rsi     # 0x11d587
movq %r14, %rdx
xorl %eax, %eax
callq 0xe8617
cmpl $0x0, 0x6c(%rbp)
je 0x463ce
movq %rbx, %rdi
callq 0xea504
movq %rax, %rbp
movq 0x18(%rbx), %rdi
movq %r14, %rsi
callq 0xeead3
testb %al, %al
je 0x463e0
movzbl %al, %ecx
movq 0x18(%rbx), %rdi
incq %r14
movq %r14, %rsi
movq %rcx, %rdx
xorl %r8d, %r8d
movl $0x1, %r9d
callq 0xef87c
movq %rax, %r14
movq 0x18(%rax), %rdi
callq 0xf705c
movq %rbx, %rdi
leaq 0xd728b(%rip), %rsi     # 0x11d5a9
movq %rax, %rdx
xorl %eax, %eax
callq 0xe8617
cmpb $0x0, 0xd0(%rbx)
je 0x46342
movq 0x18(%r14), %rdx
movq %rbx, %rdi
movq %rbp, %rsi
xorl %ecx, %ecx
callq 0xea53f
cmpq $0x14, %r13
jl 0x463d5
movq 0x8(%rsp), %rax
cmpl $0x400, 0x70(%rax)      # imm = 0x400
jne 0x463d5
movq 0x8(%r14), %rdi
leaq 0xd7258(%rip), %rsi     # 0x11d5bd
callq 0x181a0
movl %eax, %r12d
movq %rbx, %rdi
movq %r14, %rsi
callq 0xefaca
movb $0x1, %r14b
testl %r12d, %r12d
jne 0x463f1
movq 0x8(%rsp), %rax
movb $0x1, 0x80(%rax)
movq 0x28(%rsp), %rcx
movq %rcx, 0x88(%rax)
movq %r13, 0x90(%rax)
xorl %r14d, %r14d
jmp 0x463f1
leal -0x8000(%rax), %edx
movq %rbx, %rdi
leaq 0xd71e7(%rip), %rsi     # 0x11d59b
xorl %eax, %eax
callq 0xe8617
cmpl $0x0, 0x6c(%rbp)
je 0x463ce
movq %rbx, %rdi
callq 0xea504
movq %rax, %rbp
jmp 0x463e0
xorl %ebp, %ebp
jmp 0x464a1
movq %rbx, %rdi
movq %r14, %rsi
callq 0xefaca
movb $0x1, %r14b
testq %r13, %r13
movq 0x18(%rsp), %r12
jle 0x464a6
movq 0x8(%rsp), %rax
movq 0x78(%rax), %rax
testq %rax, %rax
je 0x46408
movq 0x8(%rax), %r9
testq %r9, %r9
jne 0x4640f
leaq 0xe5d42(%rip), %r9      # 0x12c151
movq 0x8(%rsp), %rax
movl 0x70(%rax), %r8d
movq %rbx, %rdi
leaq 0xd71a6(%rip), %rsi     # 0x11d5c8
movq 0x28(%rsp), %rdx
movq %r13, %rcx
xorl %eax, %eax
callq 0xe8617
movq %rbx, %rdi
movl $0x1, %esi
callq 0xe8a15
testb %r14b, %r14b
jne 0x46454
movq %rbx, %rdi
leaq 0xd71a5(%rip), %rsi     # 0x11d5f2
xorl %eax, %eax
callq 0xe8617
movq 0x8(%rsp), %rsi
cmpb $0x0, 0x4(%rsi)
je 0x46494
movq 0x78(%rsi), %rax
leaq -0x1(%r13), %rcx
cmpq $0x5f5e100, %rcx        # imm = 0x5F5E100
setae %cl
testq %rax, %rax
sete %dl
orb %cl, %dl
jne 0x46494
movq 0x10(%rax), %rax
testq %rax, %rax
je 0x46494
movq %rbx, %rdi
movq 0x28(%rsp), %rdx
movq %r13, %rcx
movq %rbp, %r8
callq *%rax
movq %rbx, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0xe8a15
movq 0x18(%rsp), %r12
movl 0x50(%rsp), %esi
movq %rbx, %rdi
callq 0xe8a25
movq %rbx, %rdi
movq %rbp, %rsi
callq 0xea50e
addq $0xc, %r15
decq %r12
jne 0x4621f
movq 0x10(%rsp), %r12
addq $0x8, %r12
movq %rbx, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0xe8a15
movq 0x38(%rsp), %rax
leaq (%rax,%rax,2), %rax
leaq (%r12,%rax,4), %r12
movl 0x48(%rsp), %ebp
incl %ebp
movq 0x18(%rbx), %rdi
movq %r12, %rsi
callq 0xeebc8
movl %ebp, %edx
movq %rax, %r15
testq %rax, %rax
movq 0x8(%rsp), %r14
movq 0x40(%rsp), %r13
jne 0x4612b
leaq 0xd6faa(%rip), %rsi     # 0x11d4c8
movq %rbx, %rdi
movq %r12, %rdx
xorl %eax, %eax
callq 0xe8617
jmp 0x46550
movb $0x2, %al
jmp 0x46537
movb $0x5, %al
jmp 0x46537
movb $0x6, %al
movb %al, (%r14)
jmp 0x450ad
leaq 0xd6fee(%rip), %rsi     # 0x11d534
movq %rbx, %rdi
xorl %eax, %eax
callq 0xe9295
movl 0x20(%rsp), %esi
movq %rbx, %rdi
callq 0xe8a25
movq 0x8(%r14), %rsi
testq %rsi, %rsi
je 0x4656c
leaq 0x50(%rsp), %r15
jmp 0x4659e
movl $0xf0, %esi
movq %rbx, %rdi
callq 0xe8b2b
movq %rax, 0x8(%r14)
movq 0x18(%rbx), %rsi
movq %rbx, %rdi
movq %rax, %rdx
callq 0x104f96
movq 0x8(%r14), %rsi
testq %rsi, %rsi
leaq 0x50(%rsp), %r15
je 0x46717
pxor %xmm0, %xmm0
movdqa %xmm0, 0x50(%rsp)
movdqa %xmm0, 0xb0(%rsp)
movdqa %xmm0, 0xa0(%rsp)
movdqa %xmm0, 0x90(%rsp)
movdqa %xmm0, 0x80(%rsp)
movdqa %xmm0, 0x70(%rsp)
movdqa %xmm0, 0x60(%rsp)
movq $0x0, 0xc0(%rsp)
movl $0x1, 0x58(%rsp)
cmpb $0x0, 0x80(%r14)
je 0x46615
leaq 0xa0(%rsp), %rdi
movb $0x6e, -0x4f(%rdi)
leaq 0xd7126(%rip), %rsi     # 0x11d72f
movl $0x28, %edx
callq 0xe8219
jmp 0x46622
leaq 0x50(%rsp), %rdx
movq %rbx, %rdi
callq 0x105b73
cmpb $0x0, 0x55(%rsp)
sete %cl
movb 0x51(%rsp), %al
testb %al, %al
setne %dl
orb %cl, %dl
je 0x46706
testb %al, %al
je 0x46717
leaq 0xa0(%rsp), %r14
leaq 0xd713e(%rip), %rsi     # 0x11d790
movq %rbx, %rdi
movq %r14, %rdx
xorl %eax, %eax
callq 0xe8617
movzbl -0x4f(%r14), %eax
addl $-0x65, %eax
cmpl $0x9, %eax
ja 0x469e3
leaq 0xd5ff9(%rip), %rcx     # 0x11c670
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq 0x8(%rsp), %r14
cmpq $0x0, 0x8(%r14)
je 0x46717
leaq 0xd71d6(%rip), %rsi     # 0x11d86d
movq %rbx, %rdi
xorl %eax, %eax
callq 0xe8617
movq %rbx, %rdi
movl $0x1, %esi
callq 0xe8a15
movl $0x70, %esi
movq %rbx, %rdi
callq 0xe8b2b
movq %r14, %rcx
movq %rax, %r14
leaq 0x105b1e(%rip), %rax    # 0x14c1e6
movq %rax, (%r14)
movq %r15, 0x38(%r14)
movq 0x8(%rcx), %rax
movq (%rax), %rcx
movq 0x18(%rcx), %r9
leaq 0x102886(%rip), %rsi    # 0x148f67
movq %rbx, %rdi
movq %r14, %rdx
xorl %r8d, %r8d
callq 0xe9aa3
testb $0x1, 0x40(%r14)
jne 0x46948
leaq 0xd7186(%rip), %rsi     # 0x11d887
jmp 0x4693e
leaq 0xd7035(%rip), %rsi     # 0x11d742
movq %rbx, %rdi
xorl %eax, %eax
callq 0xe9393
movq 0x8(%r14), %rsi
testq %rsi, %rsi
je 0x467e5
pxor %xmm0, %xmm0
leaq 0x50(%rsp), %r14
movdqa %xmm0, (%r14)
movdqa %xmm0, 0x60(%r14)
movdqa %xmm0, 0x50(%r14)
movdqa %xmm0, 0x40(%r14)
movdqa %xmm0, 0x30(%r14)
movdqa %xmm0, 0x20(%r14)
movdqa %xmm0, 0x10(%r14)
movq $0x0, 0x70(%r14)
movl $0x1, 0x8(%r14)
movq %rbx, %rdi
movq %r14, %rdx
callq 0x105864
cmpb $0x0, 0x1(%r14)
je 0x467e5
leaq 0xa0(%rsp), %r14
leaq 0xd7233(%rip), %rsi     # 0x11d9ba
movq %rbx, %rdi
movq %r14, %rdx
xorl %eax, %eax
callq 0xe8617
movq -0x8(%r14), %rdx
testq %rdx, %rdx
je 0x467e5
leaq 0xd722f(%rip), %rsi     # 0x11d9d3
movq %rbx, %rdi
xorl %eax, %eax
callq 0xe8617
movq %rbx, %rdi
movl $0x1, %esi
callq 0xe8a15
movq 0x98(%rsp), %rsi
movq 0x18(%rbx), %rcx
movq 0x18(%rcx), %r9
movq %rbx, %rdi
xorl %edx, %edx
xorl %r8d, %r8d
callq 0xe9b13
movq %rbx, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0xe8a15
movq %rbx, %rdi
movq 0x8(%rsp), %r14
movq %r14, %rsi
callq 0x46b0e
movq 0x8(%r14), %rsi
movq %rbx, %rdi
callq 0xe8be2
movq %rbx, %rdi
movq %r14, %rsi
callq 0xe8be2
addq $0xd8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x8(%rsp), %r14
cmpq $0x0, 0x8(%r14)
je 0x46717
movq 0x60(%rsp), %rdx
leaq 0xd7130(%rip), %rsi     # 0x11d96a
movq %rbx, %rdi
xorl %eax, %eax
callq 0xe8617
movq %rbx, %rdi
movl $0x1, %esi
callq 0xe8a15
movl $0x70, %esi
movq %rbx, %rdi
callq 0xe8b2b
movq %rax, %r14
leaq 0xff166(%rip), %rax     # 0x1459ce
movq %rax, (%r14)
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq (%rax), %rcx
movq 0x48(%rax), %r8
movq 0x50(%rax), %r9
leaq 0xd8cdc(%rip), %rsi     # 0x11f562
movq %rbx, %rdi
movq %r14, %rdx
callq 0xe9aa3
movq %rbx, %rdi
movq %r14, %rsi
movq 0x8(%rsp), %r14
callq 0xe8be2
movq %rbx, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0xe8a15
jmp 0x46717
movq 0x8(%rsp), %r14
cmpq $0x0, 0x8(%r14)
je 0x46717
movq 0x60(%rsp), %rdx
leaq 0xd7018(%rip), %rsi     # 0x11d8e7
movq %rbx, %rdi
xorl %eax, %eax
callq 0xe8617
movq %rbx, %rdi
movl $0x1, %esi
callq 0xe8a15
movl $0x70, %esi
movq %rbx, %rdi
callq 0xe8b2b
movq %rax, %r14
leaq 0x1058e9(%rip), %rax    # 0x14c1e6
movq %rax, (%r14)
cmpb $0x0, 0x53(%rsp)
je 0x4690b
movq %r15, 0x38(%r14)
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq (%rax), %rcx
movq 0x18(%rcx), %r9
leaq 0xd1625(%rip), %rsi     # 0x117f47
movq %rbx, %rdi
movq %r14, %rdx
xorl %r8d, %r8d
callq 0xe9aa3
testb $0x1, 0x40(%r14)
jne 0x46948
leaq 0xd6fcc(%rip), %rsi     # 0x11d90a
movq %rbx, %rdi
xorl %eax, %eax
callq 0xe8faa
movq %rbx, %rdi
movq %r14, %rsi
callq 0xe8be2
movq %rbx, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0xe8a15
jmp 0x46a4b
movq %rbx, %r15
movq 0x8(%rsp), %rbx
cmpb $0x0, 0x3(%rbx)
je 0x46a18
leaq 0xd7013(%rip), %rsi     # 0x11d991
movq %r15, %rdi
xorl %eax, %eax
callq 0xe8617
movl $0x70, %esi
movq %r15, %rdi
callq 0xe8b2b
movq %rax, %r14
movdqu 0x88(%rbx), %xmm0
pshufd $0xe8, %xmm0, %xmm0     # xmm0 = xmm0[0,2,2,3]
movq %xmm0, 0x10(%rax)
movq %r15, %rdi
movl $0x1, %esi
callq 0xe8a15
leaq 0xd6ff5(%rip), %rsi     # 0x11d9b3
movq %r15, %rdi
movq %r14, %rdx
callq 0xe9a45
movq %r15, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0xe8a15
movq %r15, %rdi
movq %r14, %rsi
callq 0xe8be2
jmp 0x46a2c
cmpb $0x0, 0x53(%rsp)
je 0x46a37
movq 0x8(%rsp), %r14
movq 0x8(%r14), %rax
movq (%rax), %rdi
movq 0x60(%rsp), %rsi
movq 0x68(%rsp), %rdx
movq 0x90(%rsp), %rcx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0xefd48
jmp 0x46717
leaq 0xd6df0(%rip), %rsi     # 0x11d80f
movq %r15, %rdi
movq %r14, %rdx
xorl %eax, %eax
callq 0xe9393
movq %rbx, %r14
movq %r15, %rbx
jmp 0x46717
leaq 0xd6d73(%rip), %rsi     # 0x11d7b1
movq %rbx, %rdi
movq %r14, %rdx
xorl %eax, %eax
callq 0xe9393
movq 0x8(%rsp), %r14
jmp 0x46717