// File: /workspace/github_c_makefile_star2_O2/jsummers[P]deark/modules/cfb.c
// Function: de_run_cfb_internal
static void de_run_cfb_internal(deark *c, lctx *d)
{
	do_init_format_detection(c, d);

	if(!do_header(c, d)) {
		goto done;
	}

	read_difat(c, d);

	read_fat(c, d);

	read_minifat(c, d);

	read_directory_stream(c, d);

	do_directory(c, d);

done:
	dbuf_close(d->difat);
	dbuf_close(d->fat);
	dbuf_close(d->minifat);
	dbuf_close(d->dir);
	if(d->dir_entry) {
		i64 k;
		for(k=0; k<d->num_dir_entries; k++) {
			de_destroy_stringreaderdata(c, d->dir_entry[k].fname_srd);
			ucstring_destroy(d->dir_entry[k].path);
		}
		de_free(c, d->dir_entry);
	}
	dbuf_close(d->mini_sector_stream);
	if(d->thumbsdb_catalog) {
		i64 k;
		for(k=0; k<d->thumbsdb_catalog_num_entries; k++) {
			de_destroy_stringreaderdata(c, d->thumbsdb_catalog[k].fname_srd);
		}
		de_free(c, d->thumbsdb_catalog);
		d->thumbsdb_catalog = NULL;
	}
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x158, %rsp            # imm = 0x158
movq %rsi, %rbx
movq %rdi, %rbp
cmpl $0x0, (%rsi)
jne 0x3ab6e
movl $0x1, 0xb8(%rbx)
leaq 0xf1879(%rip), %rsi     # 0x12c3ee
movq %rbp, %rdi
xorl %edx, %edx
xorl %eax, %eax
callq 0xde896
pushq $0x1
popq %rsi
movq %rbp, %rdi
callq 0xdeba7
movq 0x18(%rbp), %rdi
pushq $0x18
popq %rsi
callq 0xe3fa3
movq %rax, 0x10(%rbx)
movq 0x18(%rbp), %rdi
pushq $0x1a
popq %rsi
callq 0xe3fa3
movq %rax, 0x18(%rbx)
movl 0x10(%rbx), %ecx
leaq 0xf2c91(%rip), %rsi     # 0x12d847
movq %rbp, %rdi
movl %eax, %edx
xorl %eax, %eax
callq 0xde896
movq 0x18(%rbx), %rdx
leaq -0x3(%rdx), %rax
cmpq $0x1, %rax
ja 0x3aebd
movq 0x18(%rbp), %rdi
pushq $0x1c
popq %rsi
callq 0xe3fa3
cmpq $0xfffe, %rax           # imm = 0xFFFE
jne 0x3aec9
movq 0x18(%rbp), %rdi
pushq $0x1e
popq %rsi
callq 0xe3fa3
movq %rax, %r15
movq %rax, %rdi
callq 0xdfba1
movq %rax, 0x20(%rbx)
leaq 0xd1be2(%rip), %rsi     # 0x10c7f0
movq %rbp, %rdi
movl %r15d, %edx
movl %eax, %ecx
xorl %eax, %eax
callq 0xde896
movq 0x20(%rbx), %rdx
cmpq $0x1000, %rdx           # imm = 0x1000
je 0x3ac37
cmpq $0x200, %rdx            # imm = 0x200
jne 0x3b071
movq 0x18(%rbp), %rdi
pushq $0x20
popq %rsi
callq 0xe3fa3
movq %rax, %r15
movq %rax, %rdi
callq 0xdfba1
movq %rax, 0x50(%rbx)
leaq 0xd1b92(%rip), %rsi     # 0x10c7eb
movq %rbp, %rdi
movl %r15d, %edx
movl %eax, %ecx
xorl %eax, %eax
callq 0xde896
movq 0x50(%rbx), %rdx
cmpq $0x40, %rdx
jne 0x3aed8
movq 0x18(%rbp), %rdi
pushq $0x2c
popq %rsi
callq 0xe409f
movq %rax, 0x28(%rbx)
leaq 0xd1ba1(%rip), %rsi     # 0x10c82e
movq %rbp, %rdi
movl %eax, %edx
xorl %eax, %eax
callq 0xde896
movq 0x18(%rbp), %rdi
pushq $0x30
popq %rsi
callq 0xe40f2
movq %rax, 0x30(%rbx)
leaq 0xd0(%rsp), %r12
movq %rbx, %rdi
movq %rax, %rsi
movq %r12, %rdx
callq 0x3cd75
movl 0x30(%rbx), %edx
leaq 0xd1b7f(%rip), %rsi     # 0x10c848
movq %rbp, %rdi
movq %r12, %rcx
xorl %eax, %eax
callq 0xde896
movq 0x18(%rbp), %rdi
pushq $0x38
popq %rsi
callq 0xe409f
movq %rax, 0x38(%rbx)
leaq 0xd1b7b(%rip), %rsi     # 0x10c868
movq %rbp, %rdi
movl %eax, %edx
xorl %eax, %eax
callq 0xde896
movq 0x18(%rbp), %rdi
pushq $0x3c
popq %rsi
callq 0xe40f2
movq %rax, 0x40(%rbx)
movq %rbx, %rdi
movq %rax, %rsi
movq %r12, %rdx
callq 0x3cd75
movl 0x40(%rbx), %edx
leaq 0xd1b69(%rip), %rsi     # 0x10c88a
movq %rbp, %rdi
movq %r12, %rcx
xorl %eax, %eax
callq 0xde896
movq 0x18(%rbp), %rdi
pushq $0x40
popq %rsi
callq 0xe409f
movq %rax, 0x48(%rbx)
leaq 0xd1b63(%rip), %rsi     # 0x10c8a8
movq %rbp, %rdi
movl %eax, %edx
xorl %eax, %eax
callq 0xde896
movq 0x18(%rbp), %rdi
pushq $0x44
popq %rsi
callq 0xe40f2
movq %rax, 0x58(%rbx)
movq %rbx, %rdi
movq %rax, %rsi
movq %r12, %rdx
callq 0x3cd75
movl 0x58(%rbx), %edx
leaq 0xd1b4d(%rip), %rsi     # 0x10c8c6
movq %rbp, %rdi
movq %r12, %rcx
xorl %eax, %eax
callq 0xde896
movq 0x18(%rbp), %rdi
pushq $0x48
popq %rsi
callq 0xe409f
movq %rax, 0x60(%rbx)
leaq 0xd1b4e(%rip), %rsi     # 0x10c8eb
movq %rbp, %rdi
movl %eax, %edx
xorl %eax, %eax
callq 0xde896
pushq $-0x1
popq %rsi
movq %rbp, %rdi
callq 0xdeba7
movl 0x28(%rbx), %edx
leaq 0xd1b70(%rip), %rsi     # 0x10c92e
movq %rbp, %rdi
xorl %eax, %eax
callq 0xde896
pushq $0x1
popq %rsi
movq %rbp, %rdi
callq 0xdeba7
movq 0x28(%rbx), %rsi
cmpq $0xf4241, %rsi          # imm = 0xF4241
jl 0x3aded
movq $0xf4240, 0x28(%rbx)    # imm = 0xF4240
movl $0xf4240, %esi          # imm = 0xF4240
shlq $0x2, %rsi
pushq $0x1
popq %rdx
movq %rbp, %rdi
callq 0xe59cd
movq %rax, 0x78(%rbx)
movq %rbp, %r14
movq 0x28(%rbx), %rbp
cmpq $0x6d, %rbp
pushq $0x6d
popq %r15
cmovlq %rbp, %r15
leaq 0xd1b3f(%rip), %rsi     # 0x10c959
movq %r14, %rdi
movl %r15d, %edx
xorl %eax, %eax
callq 0xde896
movq %r14, 0x8(%rsp)
movq 0x18(%r14), %rdi
leaq (,%r15,4), %rdx
movq 0x78(%rbx), %rcx
pushq $0x4c
popq %rsi
callq 0xe45f4
subq %r15, %rbp
movq 0x58(%rbx), %r12
leaq 0xd1b33(%rip), %r15     # 0x10c985
movq 0x8(%rsp), %r14
testq %rbp, %rbp
jle 0x3aee4
testq %r12, %r12
js 0x3aee4
incq %r12
imulq 0x20(%rbx), %r12
movq %r14, %rdi
movq %r15, %rsi
movl %r12d, %edx
xorl %eax, %eax
callq 0xde896
movq 0x20(%rbx), %rax
movq 0x78(%rbx), %rcx
addq $-0x4, %rax
cqto
pushq $0x4
popq %rsi
idivq %rsi
movq %rax, %r13
movq 0x18(%r14), %rdi
leaq (,%rax,4), %rdx
movq %r12, %rsi
callq 0xe45f4
subq %r13, %rbp
movq 0x18(%r14), %rdi
leaq (%r12,%r13,4), %rsi
callq 0xe40f2
movq %rax, %r12
jmp 0x3ae57
leaq 0xd18e4(%rip), %rsi     # 0x10c7a8
jmp 0x3b078
movq %rax, %rdx
leaq 0xd18f4(%rip), %rsi     # 0x10c7c7
jmp 0x3b078
leaq 0xd192e(%rip), %rsi     # 0x10c80d
jmp 0x3b078
pushq $-0x1
popq %rsi
movq 0x8(%rsp), %r14
movq %r14, %rdi
callq 0xdeba7
movq 0x20(%rbx), %rsi
imulq 0x28(%rbx), %rsi
pushq $0x1
popq %rbp
movq %r14, %rdi
movl %ebp, %edx
callq 0xe59cd
movq %rax, 0x80(%rbx)
movl 0x28(%rbx), %edx
leaq 0xd1a85(%rip), %rsi     # 0x10c9a0
movq %r14, %rdi
xorl %eax, %eax
callq 0xde896
movq %r14, %rdi
movl %ebp, %esi
callq 0xdeba7
xorl %r14d, %r14d
xorl %r15d, %r15d
cmpq 0x28(%rbx), %r15
jge 0x3afc4
movq 0x78(%rbx), %rdi
movq %r14, %rsi
callq 0xe40f2
movq %rax, %r12
testq %rax, %rax
movq %r14, 0x68(%rsp)
js 0x3af64
leaq 0x1(%r12), %r13
imulq 0x20(%rbx), %r13
jmp 0x3af67
xorl %r13d, %r13d
movq %rbx, %rdi
movq %r12, %rsi
leaq 0x80(%rsp), %rbp
movq %rbp, %rdx
callq 0x3cd75
movq 0x8(%rsp), %r14
movq %r14, %rdi
leaq 0xd1a36(%rip), %rsi     # 0x10c9c2
movl %r15d, %edx
movl %r12d, %ecx
movq %rbp, %r8
xorl %eax, %eax
callq 0xde896
movq 0x18(%r14), %rdi
movq 0x20(%rbx), %rdx
movq 0x80(%rbx), %rcx
movq %r13, %rsi
callq 0xe45f4
incq %r15
movq 0x68(%rsp), %r14
addq $0x4, %r14
jmp 0x3af35
pushq $-0x1
popq %rsi
movq 0x8(%rsp), %r14
movq %r14, %rdi
callq 0xdeba7
movq 0x80(%rbx), %rax
movq 0x18(%rax), %rax
cqto
pushq $0x4
popq %rcx
idivq %rcx
movq %rax, 0x68(%rbx)
cmpl $0x2, (%r14)
jl 0x3b17a
leaq 0xd19f2(%rip), %rsi     # 0x10c9ee
movq %r14, %rdi
movl %eax, %edx
xorl %eax, %eax
callq 0xde9f1
pushq $0x1
popq %rsi
movq %r14, %rdi
callq 0xdeba7
leaq 0xd0(%rsp), %r15
leaq 0xd19ee(%rip), %r14     # 0x10ca10
xorl %r13d, %r13d
xorl %ebp, %ebp
cmpq 0x68(%rbx), %rbp
jge 0x3b16d
movq 0x80(%rbx), %rdi
movq %r13, %rsi
callq 0xe40f2
movq %rax, %r12
movq %rbx, %rdi
movq %rax, %rsi
movq %r15, %rdx
callq 0x3cd75
movq 0x8(%rsp), %rdi
movq %r14, %rsi
movl %ebp, %edx
movl %r12d, %ecx
movq %r15, %r8
xorl %eax, %eax
callq 0xde9f1
incq %rbp
addq $0x4, %r13
jmp 0x3b027
leaq 0xcaacd(%rip), %rsi     # 0x105b45
movq %rbp, %rdi
xorl %eax, %eax
callq 0xdf2a5
pushq $-0x1
popq %rsi
movq %rbp, %rdi
callq 0xdeba7
movq 0x78(%rbx), %rdi
callq 0xe5591
movq 0x80(%rbx), %rdi
callq 0xe5591
movq 0x88(%rbx), %rdi
callq 0xe5591
movq 0x90(%rbx), %rdi
callq 0xe5591
cmpq $0x0, 0x98(%rbx)
je 0x3b109
xorl %r14d, %r14d
xorl %r15d, %r15d
movq 0x98(%rbx), %rsi
cmpq 0x70(%rbx), %r15
jge 0x3b101
movq 0x28(%rsi,%r14), %rsi
movq %rbp, %rdi
callq 0xe4b94
movq 0x98(%rbx), %rax
movq 0x78(%rax,%r14), %rdi
callq 0xeaf3c
incq %r15
addq $0x88, %r14
jmp 0x3b0ca
movq %rbp, %rdi
callq 0xded32
movq 0xa0(%rbx), %rdi
callq 0xe5591
cmpq $0x0, 0xb0(%rbx)
je 0x3b15b
pushq $0x8
popq %r14
xorl %r15d, %r15d
movq 0xb0(%rbx), %rsi
cmpq 0xa8(%rbx), %r15
jge 0x3b14b
movq (%rsi,%r14), %rsi
movq %rbp, %rdi
callq 0xe4b94
incq %r15
addq $0x20, %r14
jmp 0x3b126
movq %rbp, %rdi
callq 0xded32
andq $0x0, 0xb0(%rbx)
addq $0x158, %rsp            # imm = 0x158
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
pushq $-0x1
popq %rsi
movq 0x8(%rsp), %rdi
callq 0xdeba7
movq 0x48(%rbx), %rsi
cmpq $0xf4241, %rsi          # imm = 0xF4241
jl 0x3b194
movq $0xf4240, 0x48(%rbx)    # imm = 0xF4240
movl $0xf4240, %esi          # imm = 0xF4240
imulq 0x20(%rbx), %rsi
pushq $0x1
popq %rbp
movq 0x8(%rsp), %r14
movq %r14, %rdi
movl %ebp, %edx
callq 0xe59cd
movq %rax, 0x88(%rbx)
movl 0x48(%rbx), %edx
leaq 0xd1870(%rip), %rsi     # 0x10ca2c
movq %r14, %rdi
xorl %eax, %eax
callq 0xde896
movq %r14, %rdi
movl %ebp, %esi
callq 0xdeba7
movq 0x40(%rbx), %rbp
xorl %r15d, %r15d
movq 0x8(%rsp), %r12
cmpq 0x48(%rbx), %r15
jge 0x3b27b
testq %rbp, %rbp
js 0x3b27b
leaq 0x1(%rbp), %r13
imulq 0x20(%rbx), %r13
movq %rbx, %rdi
movq %rbp, %rsi
leaq 0xd0(%rsp), %rdx
callq 0x3cd75
movq 0x20(%rbx), %rax
cqto
pushq $0x4
popq %rcx
idivq %rcx
movq %r15, %r14
incq %r14
movl %r14d, %ecx
imull %eax, %ecx
movl %eax, %r9d
imull %r15d, %r9d
decl %ecx
movl %ecx, (%rsp)
movq %r12, %rdi
leaq 0xd1819(%rip), %rsi     # 0x10ca52
movl %r15d, %edx
movl %ebp, %ecx
leaq 0xd0(%rsp), %r8
xorl %eax, %eax
callq 0xde896
movq 0x18(%r12), %rdi
movq 0x20(%rbx), %rdx
movq 0x88(%rbx), %rcx
movq %r13, %rsi
callq 0xe45f4
movq %rbx, %rdi
movq %rbp, %rsi
callq 0x3cdea
movq %rax, %rbp
movq %r14, %r15
jmp 0x3b1dc
pushq $-0x1
popq %rsi
movq 0x8(%rsp), %r12
movq %r12, %rdi
callq 0xdeba7
cmpl $0x2, (%r12)
jl 0x3b32d
movq 0x88(%rbx), %rax
testq %rax, %rax
je 0x3b32d
movq 0x18(%rax), %rax
cqto
pushq $0x4
popq %rcx
idivq %rcx
movq %rax, %r15
leaq 0xd17d2(%rip), %rsi     # 0x10ca8e
xorl %r14d, %r14d
movq %r12, %rdi
movl %r15d, %edx
xorl %eax, %eax
callq 0xde9f1
pushq $0x1
popq %rsi
movq %r12, %rdi
callq 0xdeba7
testq %r15, %r15
cmovleq %r14, %r15
shlq $0x2, %r15
leaq 0xd17cb(%rip), %r12     # 0x10cab4
xorl %r13d, %r13d
xorl %ebp, %ebp
cmpq %r13, %r15
je 0x3b31d
movq 0x88(%rbx), %rdi
movq %r13, %rsi
callq 0xe40f2
movq 0x8(%rsp), %rdi
movq %r12, %rsi
movl %ebp, %edx
movl %eax, %ecx
xorl %eax, %eax
callq 0xde9f1
incl %ebp
addq $0x4, %r13
jmp 0x3b2ee
pushq $-0x1
popq %rsi
movq 0x8(%rsp), %r12
movq %r12, %rdi
callq 0xdeba7
leaq 0xd179f(%rip), %rsi     # 0x10cad3
movq %r12, %rdi
xorl %eax, %eax
callq 0xde896
pushq $0x1
popq %rsi
movq %r12, %rdi
callq 0xdeba7
movq %r12, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0xe59cd
movq %rax, 0x90(%rbx)
movq 0x20(%rbx), %rax
movq 0x30(%rbx), %r12
movl $0x80, %ecx
cqto
idivq %rcx
movq %rax, %r13
andq $0x0, 0x70(%rbx)
xorl %r15d, %r15d
testq %r12, %r12
js 0x3b3fd
movq 0x70(%rbx), %r9
movq 0x90(%rbx), %rax
movq 0x18(%rax), %rax
movq 0x8(%rsp), %rbp
movq 0x18(%rbp), %rcx
cmpq 0x18(%rcx), %rax
jg 0x3b406
movq %rbp, %r14
leaq 0x1(%r12), %rbp
imulq 0x20(%rbx), %rbp
leal (%r9,%r13), %eax
decl %eax
movl %eax, (%rsp)
movq %r14, %rdi
leaq 0xd1730(%rip), %rsi     # 0x10caec
movl %r15d, %edx
movl %r12d, %ecx
movl %ebp, %r8d
xorl %eax, %eax
callq 0xde896
movq 0x18(%r14), %rdi
movq 0x20(%rbx), %rdx
movq 0x90(%rbx), %rcx
movq %rbp, %rsi
callq 0xe45f4
addq %r13, 0x70(%rbx)
movq %rbx, %rdi
movq %r12, %rsi
callq 0x3cdea
movq %rax, %r12
incl %r15d
jmp 0x3b379
movq 0x70(%rbx), %r9
movq 0x8(%rsp), %rbp
leaq 0xd1716(%rip), %rsi     # 0x10cb23
xorl %r15d, %r15d
movq %rbp, %rdi
movl %r9d, %edx
xorl %eax, %eax
callq 0xde896
pushq $-0x1
popq %rsi
movq %rbp, %rdi
callq 0xdeba7
leaq 0x74(%rsp), %rsi
movq %rbp, %rdi
callq 0xdebae
leaq 0xd1707(%rip), %rsi     # 0x10cb43
movq %rbp, %rdi
xorl %eax, %eax
callq 0xde896
movq 0x70(%rbx), %rsi
movl $0x88, %edx
movq %rbp, %rdi
callq 0xdf66f
movq %rax, 0x98(%rbx)
movq 0x70(%rbx), %rcx
testq %rcx, %rcx
cmovgq %rcx, %r15
addq $0x6c, %rax
subq $0x1, %r15
jb 0x3b483
orq $-0x1, -0x8(%rax)
orl $-0x1, (%rax)
addq $0x88, %rax
jmp 0x3b46d
xorl %r13d, %r13d
cmpq %rcx, %r13
jge 0x3b826
movq 0x98(%rbx), %r14
testq %r14, %r14
je 0x3b6ec
movq %r13, %r12
shlq $0x7, %r12
imulq $0x88, %r13, %r15
leaq (%r14,%r15), %rbp
movl $0x3, (%r14,%r15)
movq 0x90(%rbx), %rdi
movq %r12, %rsi
orq $0x42, %rsi
callq 0xe3eb4
movb %al, 0x4(%r14,%r15)
cmpb $0x5, %al
ja 0x3b511
movzbl %al, %eax
leaq 0xd1221(%rip), %rdx     # 0x10c700
movslq (%rdx,%rax,4), %rcx
addq %rdx, %rcx
leaq 0xd16e7(%rip), %rax     # 0x10cbd4
jmpq *%rcx
leaq 0xce663(%rip), %rax     # 0x109b59
movq %rax, 0x50(%rbp)
jmp 0x3b6ec
leaq 0xd1976(%rip), %rax     # 0x10ce7c
jmp 0x3b518
leaq 0xd16c0(%rip), %rax     # 0x10cbcf
jmp 0x3b518
leaq 0xe39c9(%rip), %rax     # 0x11eee1
movq %rax, 0x50(%rbp)
movq 0x90(%rbx), %rdi
movq %r12, %rsi
orq $0x40, %rsi
callq 0xe3fa3
movq %rax, 0x58(%rbp)
cmpq $0x3, %rax
pushq $0x2
popq %rcx
cmovlq %rcx, %rax
leaq -0x2(%rax), %rcx
movq 0x90(%rbx), %rdi
movq %r12, %rsi
movq %rcx, %rdx
pushq $0x10
popq %r8
pushq $0x3
popq %r9
callq 0xe495c
movq %rax, 0x28(%rbp)
movq 0x90(%rbx), %rdi
movq %r12, %rsi
orq $0x43, %rsi
callq 0xe3eb4
movb %al, 0x60(%rbp)
movb 0x4(%rbp), %al
leal -0x1(%rax), %ecx
cmpb $0x1, %cl
ja 0x3b5b0
movq 0x90(%rbx), %rdi
movq %r12, %rsi
orq $0x44, %rsi
callq 0xe40f2
movl %eax, 0x68(%rbp)
movq 0x90(%rbx), %rdi
movq %r12, %rsi
orq $0x48, %rsi
callq 0xe40f2
movl %eax, 0x6c(%rbp)
movb 0x4(%rbp), %al
movzbl %al, %ecx
orl $0x4, %ecx
cmpl $0x5, %ecx
jne 0x3b5d4
movq 0x90(%rbx), %rdi
movq %r12, %rsi
orq $0x4c, %rsi
callq 0xe40f2
movl %eax, 0x64(%rbp)
movb 0x4(%rbp), %al
movq %r13, %r14
movzbl %al, %eax
orl $0x4, %eax
cmpl $0x5, %eax
jne 0x3b607
movq 0x90(%rbx), %rdi
leaq 0x30(%rbp), %r15
movq %r12, %rdx
orq $0x50, %rdx
movq %r15, %rsi
pushq $0x10
popq %rcx
callq 0xe3cb7
movq %r15, %rdi
callq 0xec883
movq 0x90(%rbx), %rdi
movq %r12, %rsi
orq $0x6c, %rsi
leaq 0x40(%rbp), %rdx
callq 0x3ce03
movq 0x90(%rbx), %rdi
movq %r12, %rsi
orq $0x74, %rsi
callq 0xe40f2
movq %rax, %r15
movq 0x90(%rbx), %rdi
orq $0x78, %r12
leaq 0x10(%rbp), %r13
cmpq $0x3, 0x18(%rbx)
jg 0x3b658
movq %r12, %rsi
callq 0xe409f
movq %rax, (%r13)
jmp 0x3b66c
movq %r12, %rsi
callq 0xe418b
movq %rax, (%r13)
movq %r13, %rdi
callq 0xe10b1
movzbl 0x4(%rbp), %r12d
cmpl $0x2, %r12d
movq %r14, %r13
jne 0x3b691
movq 0x10(%rbp), %rcx
xorl %edx, %edx
pushq $0x20
popq %rax
cmpq 0x38(%rbx), %rcx
setl %dl
movl %edx, 0x8(%rbp)
jge 0x3b695
jmp 0x3b698
andl $0x0, 0x8(%rbp)
pushq $0x18
popq %rax
movq %r15, (%rbp,%rax)
movl (%rbx), %r14d
testl $0xfffffffd, %r14d      # imm = 0xFFFFFFFD
jne 0x3b6d5
movq 0x28(%rbp), %rax
movq 0x20(%rax), %rdi
leaq 0xd152b(%rip), %rsi     # 0x10cbe3
callq 0x181a0
testl %eax, %eax
jne 0x3b6d5
movb $0x1, 0x80(%rbp)
cmpb $0x0, 0xd(%rbx)
je 0x3b6d5
movl $0x2, (%rbp)
testl %r12d, %r12d
je 0x3b6ec
cmpl $0x5, %r12d
jne 0x3b6e7
movl $0x1, (%rbp)
testl %r14d, %r14d
je 0x3b6fd
incq %r13
movq 0x70(%rbx), %rcx
movq 0x8(%rsp), %rbp
jmp 0x3b486
cmpl $0x0, 0xb8(%rbx)
je 0x3b6ec
cmpl $0x1, %r12d
je 0x3b744
cmpl $0x2, %r12d
je 0x3b732
cmpl $0x5, %r12d
jne 0x3b6ec
movdqu 0x30(%rbp), %xmm0
pcmpeqb 0xc930b(%rip), %xmm0    # 0x104a30
pmovmskb %xmm0, %eax
cmpl $0xffff, %eax           # imm = 0xFFFF
jne 0x3b744
jmp 0x3b6ec
movq 0x28(%rbp), %rcx
movq 0x28(%rcx), %rax
leaq -0x16(%rax), %rdx
cmpq $-0x16, %rdx
ja 0x3b74d
andl $0x0, 0xb8(%rbx)
jmp 0x3b6ec
cmpb $0x0, 0x80(%rbp)
je 0x3b75e
incl 0xc4(%rbx)
jmp 0x3b6ec
movq 0x20(%rcx), %rcx
cmpq $0x6, %rax
jbe 0x3b7c8
xorl %edi, %edi
xorl %esi, %esi
xorl %r8d, %r8d
xorl %edx, %edx
cmpq %rdi, %rax
je 0x3b7ef
movb (%rcx,%rdi), %r9b
testl %r8d, %r8d
je 0x3b7a4
leal -0x30(%r9), %r8d
cmpb $0xa, %r8b
setae %r8b
addb $-0x61, %r9b
cmpb $0x6, %r9b
setae %r9b
testb %r9b, %r8b
jne 0x3b6ec
incl %edx
jmp 0x3b7aa
cmpb $0x5f, %r9b
jne 0x3b7b3
pushq $0x1
popq %r8
incq %rdi
jmp 0x3b771
addb $-0x30, %r9b
cmpb $0x9, %r9b
ja 0x3b6ec
incl %esi
xorl %r8d, %r8d
jmp 0x3b7ae
xorl %edx, %edx
cmpq %rdx, %rax
je 0x3b81b
movb (%rcx,%rdx), %sil
addb $-0x3a, %sil
incq %rdx
cmpb $-0xa, %sil
jae 0x3b7ca
cmpq $0x4, %rax
jb 0x3b6ec
jmp 0x3b768
testl %r8d, %r8d
je 0x3b6ec
addl $-0x6, %esi
cmpl $-0x5, %esi
jb 0x3b6ec
addl $-0x11, %edx
cmpl $-0x10, %edx
jb 0x3b6ec
incl 0xc0(%rbx)
jmp 0x3b6ec
incl 0xbc(%rbx)
jmp 0x3b6ec
leaq 0xd1330(%rip), %rsi     # 0x10cb5d
movq %rbp, %rdi
xorl %eax, %eax
callq 0xde896
pushq $0x1
popq %rsi
movq %rbp, %rdi
callq 0xdeba7
cmpb $0x0, 0xe(%rbx)
je 0x3b853
movq %rbp, %rdi
movq %rbx, %rsi
callq 0x3ce28
cmpq $0x0, 0x70(%rbx)
jle 0x3b88b
movq 0x98(%rbx), %rax
cmpb $0x5, 0x4(%rax)
jne 0x3b88b
movl 0x64(%rax), %ecx
movq %rbp, %rdi
movq %rbx, %rsi
xorl %edx, %edx
xorl %r8d, %r8d
callq 0x3cf3d
cmpb $0x0, 0xe(%rbx)
je 0x3b88b
movq %rbp, %rdi
movq %rbx, %rsi
callq 0x3ce28
pushq $-0x1
popq %rsi
movq %rbp, %rdi
callq 0xdeba7
leaq 0xd12dd(%rip), %rsi     # 0x10cb7a
movq %rbp, %rdi
xorl %eax, %eax
callq 0xde896
movl $0x1, 0x4(%rbx)
movl (%rbx), %eax
testl %eax, %eax
je 0x3b8e2
movl %eax, 0x4(%rbx)
cmpl $0x2, %eax
jne 0x3b927
leaq 0xe24ff(%rip), %rsi     # 0x11ddc2
movq %rbp, %rdi
callq 0xe07f7
leaq 0xd13b9(%rip), %rsi     # 0x10cc8b
pushq $0x1
popq %rdx
movq %rbp, %rdi
callq 0xdfae5
movl %eax, 0x8(%rbx)
jmp 0x3b927
cmpl $0x0, 0xb8(%rbx)
je 0x3b927
movl 0xbc(%rbx), %ecx
movl 0xc4(%rbx), %eax
testl %ecx, %ecx
setg %dl
testl %eax, %eax
sete %sil
andb %dl, %sil
cmpb $0x1, %sil
je 0x3b920
addl %ecx, %eax
addl 0xc0(%rbx), %eax
testl %eax, %eax
jle 0x3b920
movl $0x2, 0x4(%rbx)
jmp 0x3b8bc
andl $0x0, 0xb8(%rbx)
leaq 0xd125d(%rip), %rsi     # 0x10cb8b
movq %rbp, %rdi
xorl %eax, %eax
callq 0xde896
movq %rbp, %rdi
pushq $0x1
popq %r15
movl %r15d, %esi
callq 0xdeba7
movq %rbx, 0x50(%rsp)
cmpl $0x4, %r15d
je 0x3cd64
movq %rbp, %rdi
leaq 0xd1248(%rip), %rsi     # 0x10cba8
movl %r15d, %edx
xorl %eax, %eax
callq 0xde9f1
xorl %r13d, %r13d
movl %r15d, 0x68(%rsp)
cmpq 0x70(%rbx), %r13
jge 0x3cd5c
movq 0x98(%rbx), %rax
imulq $0x88, %r13, %r14
cmpl %r15d, (%rax,%r14)
jne 0x3caf5
movq %rbp, %rdi
leaq 0xd1214(%rip), %rsi     # 0x10cbb2
movl %r13d, %edx
xorl %eax, %eax
callq 0xde896
movq %rbp, %rdi
pushq $0x1
popq %rsi
callq 0xdeba7
movq 0x98(%rbx), %r15
testq %r15, %r15
je 0x3cae5
movzbl 0x4(%r15,%r14), %edx
movq 0x50(%r15,%r14), %rcx
movq %rbp, %rdi
leaq 0xe1ab8(%rip), %rsi     # 0x11d490
xorl %eax, %eax
callq 0xde896
cmpb $0x0, 0x4(%r15,%r14)
je 0x3cae5
addq %r14, %r15
movl 0x58(%r15), %edx
movq %rbp, %rdi
leaq 0xd129e(%rip), %rsi     # 0x10cc9a
xorl %eax, %eax
callq 0xde9f1
movq 0x28(%r15), %rax
movq 0x18(%rax), %rdi
callq 0xeb7e4
movq %rbp, %rdi
leaq 0xd9ba1(%rip), %rsi     # 0x1155bb
movq %rax, %rdx
xorl %eax, %eax
callq 0xde896
movzbl 0x60(%r15), %edx
movq %rbp, %rdi
leaq 0xd127a(%rip), %rsi     # 0x10ccad
xorl %eax, %eax
callq 0xde896
movb 0x4(%r15), %al
leal -0x1(%rax), %ecx
cmpb $0x1, %cl
ja 0x3ba63
movl 0x68(%r15), %edx
movl 0x6c(%r15), %ecx
movq %rbp, %rdi
leaq 0xd1264(%rip), %rsi     # 0x10ccbc
xorl %eax, %eax
callq 0xde896
movb 0x4(%r15), %al
movzbl %al, %ecx
orl $0x4, %ecx
cmpl $0x5, %ecx
leaq 0x146cfd(%rip), %r14    # 0x182770
jne 0x3ba8e
movl 0x64(%r15), %edx
movq %rbp, %rdi
leaq 0xd1253(%rip), %rsi     # 0x10ccd6
xorl %eax, %eax
callq 0xde896
movb 0x4(%r15), %al
leal -0x1(%rax), %ecx
cmpb $0x1, %cl
ja 0x3baaf
movl 0x70(%r15), %edx
movq %rbp, %rdi
leaq 0xd1245(%rip), %rsi     # 0x10cce9
xorl %eax, %eax
callq 0xde896
movb 0x4(%r15), %al
movzbl %al, %ecx
orl $0x4, %ecx
cmpl $0x5, %ecx
jne 0x3bba9
movb $0x0, 0xd0(%rsp)
cmpb $0x5, %al
jne 0x3bb5c
leaq 0x30(%r15), %rax
xorl %ecx, %ecx
cmpq $0xc, %rcx
je 0x3bb36
movq %rcx, %rsi
shlq $0x5, %rsi
leaq (%r14,%rsi), %rdx
movdqu (%rax), %xmm0
movdqa %xmm0, 0x80(%rsp)
movl 0x10(%rsi,%r14), %esi
pushq $0xf
popq %rdi
xorl %r8d, %r8d
cmpq $0x10, %r8
je 0x3bb18
btl %edi, %esi
jb 0x3bb11
movb $0x0, 0x80(%rsp,%r8)
incq %r8
decl %edi
jmp 0x3bafd
movdqu (%rdx), %xmm0
pcmpeqb 0x80(%rsp), %xmm0
pmovmskb %xmm0, %esi
cmpl $0xffff, %esi           # imm = 0xFFFF
je 0x3bb3f
incq %rcx
jmp 0x3bad4
leaq 0xe33a4(%rip), %rcx     # 0x11eee1
jmp 0x3bb43
movq 0x18(%rdx), %rcx
leaq 0xd0(%rsp), %rdi
pushq $0x50
popq %rsi
leaq 0xe3049(%rip), %rdx     # 0x11eb9e
xorl %eax, %eax
callq 0xde40c
leaq 0x30(%r15), %rsi
movq %rbp, %rdi
leaq 0x120(%rsp), %r14
movq %r14, %rdx
pushq $0x32
popq %rcx
callq 0xec7c5
cmpb $0x5, 0x4(%r15)
leaq 0xfc0de(%rip), %rdx     # 0x137c60
leaq 0xd117b(%rip), %rax     # 0x10cd04
cmoveq %rax, %rdx
movq %rbp, %rdi
leaq 0xd115d(%rip), %rsi     # 0x10ccf4
movq %r14, %rcx
leaq 0xd0(%rsp), %r8
xorl %eax, %eax
callq 0xde896
leaq 0x40(%r15), %r12
movq %rbp, %rdi
movq %r12, %rsi
leaq 0xe522a(%rip), %rdx     # 0x120de4
callq 0x3d055
movq 0x10(%r15), %rdx
movq %rbp, %rdi
leaq 0xd113d(%rip), %rsi     # 0x10cd0a
xorl %eax, %eax
callq 0xde896
cmpl $0x0, 0x8(%r15)
je 0x3bbf2
movl 0x20(%r15), %edx
movq %rbp, %rdi
leaq 0xd1132(%rip), %rsi     # 0x10cd1b
xorl %eax, %eax
callq 0xde896
jmp 0x3bc21
movq 0x18(%r15), %rsi
movq %rbx, %rdi
leaq 0xd0(%rsp), %r14
movq %r14, %rdx
callq 0x3cd75
movl 0x18(%r15), %edx
movq %rbp, %rdi
leaq 0xd1118(%rip), %rsi     # 0x10cd2f
movq %r14, %rcx
xorl %eax, %eax
callq 0xde896
movb 0x4(%r15), %al
cmpb $0x5, %al
jne 0x3bc81
cmpq $0x0, 0xa0(%rbx)
jne 0x3cae5
movq 0x10(%r15), %r12
movq 0x18(%r15), %r15
movq %rbp, %rdi
leaq 0xd10fb(%rip), %rsi     # 0x10cd44
movl %r12d, %edx
xorl %eax, %eax
callq 0xde896
movq %rbp, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0xe59cd
movq %rax, 0xa0(%rbx)
movq %rbp, %rdi
movq %rbx, %rsi
movq %r15, %rdx
xorl %ecx, %ecx
movq %r12, %r8
movq %rax, %r9
callq 0x3d09d
jmp 0x3cae5
cmpb $0x0, 0x80(%r15)
je 0x3bd89
cmpb $0x0, 0xd(%rbx)
je 0x3bd89
cmpq $0x0, 0xb0(%rbx)
jne 0x3cae5
movq %rbp, %rdi
leaq 0xd10b9(%rip), %rsi     # 0x10cd6a
xorl %eax, %eax
callq 0xde896
movq %rbp, %rdi
pushq $0x1
popq %rsi
callq 0xdeba7
movq 0x10(%r15), %rsi
movq %rbp, %rdi
xorl %edx, %edx
callq 0xe59cd
movq %rax, %r14
movq 0x10(%r15), %r8
movq %rbp, %rdi
movq %rbx, %rsi
movq %r15, %rdx
xorl %ecx, %ecx
movq %rax, %r9
callq 0x3d14d
movq %r14, %rdi
xorl %esi, %esi
callq 0xe3fa3
movq %rax, %r15
movq %rbp, %rdi
leaq 0xdea24(%rip), %rsi     # 0x11a726
movl %r15d, %edx
xorl %eax, %eax
callq 0xde896
cmpq $0x10, %r15
jne 0x3bd64
movq %r14, %rdi
pushq $0x2
popq %rsi
callq 0xe3fa3
movq %rax, %r15
movq %r14, %r12
movq 0x8(%rsp), %r14
movq %r14, %rdi
leaq 0xd1051(%rip), %rsi     # 0x10cd83
movl %r15d, %edx
xorl %eax, %eax
callq 0xde896
movq %r15, %rax
addq $-0x8, %rax
cmpq $-0x4, %rax
ja 0x3bfe1
movq %r14, %rdi
leaq 0xd1040(%rip), %rsi     # 0x10cd97
movl %r15d, %edx
xorl %eax, %eax
callq 0xdf05a
movq %r12, %r14
movq 0x8(%rsp), %rbp
movq %rbp, %rdi
pushq $-0x1
popq %rsi
callq 0xdeba7
movq %r14, %rdi
callq 0xe5591
andq $0x0, 0xa8(%rbx)
jmp 0x3cae5
cmpb $0x2, %al
jne 0x3cae5
movl 0x70(%r15), %eax
movl %eax, 0x10(%rsp)
movq %rbp, %rdi
leaq 0x78(%rsp), %rsi
callq 0xdebae
movq %rbp, %rdi
callq 0xeac74
movq %rax, %r14
movslq 0x70(%r15), %rax
testq %rax, %rax
jle 0x3bdec
movq 0x98(%rbx), %rcx
imulq $0x88, %rax, %rax
movq 0x78(%rcx,%rax), %rsi
testq %rsi, %rsi
je 0x3bdec
movq %r14, %rdi
callq 0xead71
movq %r14, %rdi
leaq 0xc927a(%rip), %rsi     # 0x10505e
pushq $0x5
popq %rdx
callq 0xeae42
movq 0x28(%r15), %rax
movq 0x18(%rax), %rsi
movq %r14, %rdi
callq 0xead71
movq %r14, 0x18(%rsp)
movq %r14, %rdi
callq 0xeaf0b
movq %rax, 0x48(%rsp)
movq %rbp, %rdi
callq 0xdfd1a
movq %rax, %r14
movq %rbp, %rdi
callq 0xdfd1a
cmpb $0x0, 0x40(%r15)
je 0x3be3d
movups (%r12), %xmm0
movups %xmm0, 0x18(%r14)
movdqu (%r12), %xmm0
movdqu %xmm0, 0x18(%rax)
movq %rax, 0x60(%rsp)
movq %r14, 0x58(%rsp)
cmpb $0x0, 0xc(%rbx)
pushq $0x4
popq %r14
je 0x3bea0
movq %rbp, %rdi
movq 0x58(%rsp), %r12
movq %r12, %rsi
movq 0x18(%rsp), %rdx
pushq $0x1
popq %rcx
callq 0xdfd55
movb $0x1, 0x8(%r12)
movq %rbp, %rdi
xorl %esi, %esi
movq %r12, %rdx
xorl %ecx, %ecx
callq 0xe4e62
movq %rax, %r12
movq 0x10(%r15), %r8
movq %rbp, %rdi
movq %rbx, %rsi
movq %r15, %rdx
xorl %ecx, %ecx
movq %rax, %r9
callq 0x3d14d
movq %r12, %rdi
callq 0xe5591
cmpb $0x0, 0xd(%rbx)
je 0x3bf31
movl $0x100, %esi            # imm = 0x100
movq %rbp, %rdi
pushq $0x1
popq %rdx
callq 0xe59cd
movq %rax, %r9
movq 0x10(%r15), %r8
movl $0x100, %eax            # imm = 0x100
cmpq %rax, %r8
cmovgeq %rax, %r8
movq %rbp, %rdi
movq %rbx, %rsi
movq %r15, %rdx
xorl %ecx, %ecx
movq %r9, 0x20(%rsp)
callq 0x3d14d
movq 0x28(%r15), %rax
movq 0x20(%rax), %rdi
leaq 0xd0ef0(%rip), %rsi     # 0x10cde1
callq 0xde4cb
movl %eax, %ebp
testl %eax, %eax
je 0x3bf0d
movq 0x28(%r15), %rax
movq 0x20(%rax), %rdi
cmpb $0x5, (%rdi)
jne 0x3bf96
movq 0x10(%r15), %rsi
cmpq $0xf4240, %rsi          # imm = 0xF4240
jle 0x3bf3e
xorl %r12d, %r12d
movq 0x8(%rsp), %rbp
movq 0x18(%rsp), %r14
movq 0x20(%rsp), %r15
jmp 0x3c20e
xorl %r15d, %r15d
movq 0x18(%rsp), %r14
jmp 0x3caa5
movq 0x8(%rsp), %r14
movq %r14, %rdi
pushq $0x1
popq %rdx
callq 0xe59cd
movq %rax, %r12
movq 0x10(%r15), %r8
movq %r14, %rdi
movq %rbx, %rsi
movq %r15, %rdx
xorl %ecx, %ecx
movq %rax, %r9
callq 0x3d14d
movq %r14, %rdi
leaq 0x80(%rsp), %rsi
callq 0xdebae
testl %ebp, %ebp
je 0x3c1a7
movq %r14, %rdi
leaq 0xd0ec1(%rip), %rsi     # 0x10ce4b
xorl %eax, %eax
callq 0xde896
jmp 0x3c1cf
movl 0x4(%rbx), %eax
cmpl $0x3, %eax
jne 0x3bfb5
leaq 0xd0e50(%rip), %rsi     # 0x10cdf5
callq 0xde4cb
testl %eax, %eax
je 0x3bf0d
movl 0x4(%rbx), %eax
cmpl $0x2, %eax
jne 0x3c21b
cmpb $0x0, 0x80(%r15)
movq 0x8(%rsp), %rbp
je 0x3c39d
xorl %r15d, %r15d
xorl %r12d, %r12d
movq 0x18(%rsp), %r14
jmp 0x3ca8d
movq %r12, 0x58(%rsp)
movq %r12, %rdi
pushq $0x4
popq %rsi
callq 0xe3fa3
movq %rax, 0xa8(%rbx)
movq %r14, %rdi
leaq 0xd0db5(%rip), %rsi     # 0x10cdb7
movl %eax, %edx
xorl %eax, %eax
callq 0xde896
movq 0xa8(%rbx), %rsi
cmpq $0x801, %rsi            # imm = 0x801
jl 0x3c02b
movq $0x800, 0xa8(%rbx) # imm = 0x800
movl $0x800, %esi            # imm = 0x800
movq %r14, %rdi
pushq $0x20
popq %rdx
callq 0xdf66f
movq %rax, 0xb0(%rbx)
pushq $0x10
popq %rbp
movq %rbp, %r12
xorl %eax, %eax
cmpq 0xa8(%rbx), %rax
movq 0x58(%rsp), %r14
jge 0x3c380
movq %rax, 0x10(%rsp)
cmpq 0x18(%r14), %rbp
jge 0x3bd64
movq %r14, %rdi
movq %rbp, %rsi
callq 0xe409f
movq %rax, %r15
movq 0x8(%rsp), %rdi
leaq 0xd0d47(%rip), %rsi     # 0x10cdc7
movq 0x10(%rsp), %rdx
movl %r15d, %ecx
xorl %eax, %eax
callq 0xde896
cmpq $0x14, %r15
jl 0x3bd64
leaq (%r15,%rbp), %rax
cmpq 0x18(%r14), %rax
jg 0x3bd64
movq 0x8(%rsp), %rbx
movq %rbx, %rdi
pushq $0x1
popq %rsi
movq %rax, 0x18(%rsp)
callq 0xdeba7
leaq 0x4(%rbp), %rsi
movq %r14, %rdi
callq 0xe409f
movq 0x50(%rsp), %rcx
movq 0xb0(%rcx), %rcx
movl %eax, -0x10(%rcx,%r12)
movq %rbx, %rdi
leaq 0xe59be(%rip), %rsi     # 0x121aa1
movl %eax, %edx
xorl %eax, %eax
callq 0xde896
leaq 0x8(%rbp), %rsi
movq 0x50(%rsp), %rax
movq 0xb0(%rax), %rdx
addq %r12, %rdx
movq %r14, %rdi
callq 0x3ce03
movq 0x50(%rsp), %rax
movq 0xb0(%rax), %rsi
addq %r12, %rsi
movq %rbx, %rdi
leaq 0xfa973(%rip), %rdx     # 0x136a93
callq 0x3d055
addq $-0x14, %r15
movl $0x10000, %esi          # imm = 0x10000
movq %r15, %rdi
callq 0xdfb45
addq $0x10, %rbp
movq %r14, %rdi
movq %rbp, %rsi
movq %rax, %rdx
movq %rax, %rcx
pushq $0x10
popq %r8
pushq $0x3
popq %r9
callq 0xe495c
movq 0x50(%rsp), %rcx
movq 0xb0(%rcx), %rcx
movq %rax, -0x8(%rcx,%r12)
movq 0x18(%rax), %rdi
callq 0xeb7e4
movq %rbx, %rdi
leaq 0xd9444(%rip), %rsi     # 0x1155bb
movq %rax, %rdx
xorl %eax, %eax
callq 0xde896
movq %rbx, %rdi
movq 0x50(%rsp), %rbx
pushq $-0x1
popq %rsi
callq 0xdeba7
movq 0x10(%rsp), %rax
incq %rax
addq $0x20, %r12
movq 0x18(%rsp), %rbp
jmp 0x3c045
cmpl $0x0, 0x10(%rsp)
leaq 0xd0c8f(%rip), %rdx     # 0x10ce42
leaq 0xd0c8c(%rip), %rax     # 0x10ce46
cmoveq %rax, %rdx
movq %r14, %rdi
leaq 0xd0c62(%rip), %rsi     # 0x10ce2a
xorl %eax, %eax
callq 0xde896
movq %r14, %rbp
movq 0x20(%rsp), %r15
movq %r14, %rdi
pushq $0x1
popq %rsi
callq 0xdeba7
movq 0x18(%r12), %r9
movq %r14, %rdi
leaq 0xd0c6e(%rip), %rsi     # 0x10ce5f
xorl %edx, %edx
movq %r12, %rcx
xorl %r8d, %r8d
callq 0xdf9b8
movq %r14, %rdi
pushq $-0x1
popq %rsi
callq 0xdeba7
movq 0x18(%rsp), %r14
movq %r12, %rdi
callq 0xe5591
jmp 0x3caa5
movq 0x28(%r15), %rax
movq 0x20(%rax), %rdi
leaq 0xd0bd4(%rip), %rsi     # 0x10cdfe
callq 0xde4cb
testl %eax, %eax
movq 0x8(%rsp), %rbp
je 0x3c2c5
movq 0x28(%r15), %rax
movq 0x20(%rax), %rdi
leaq 0xd0bbc(%rip), %rsi     # 0x10ce07
callq 0xde4cb
testl %eax, %eax
je 0x3c2c5
movq 0x28(%r15), %rax
movq 0x20(%rax), %rdi
leaq 0xd0bae(%rip), %rsi     # 0x10ce11
callq 0xde4cb
testl %eax, %eax
je 0x3c2c5
movq 0x28(%r15), %rax
movq 0x20(%rax), %rdi
leaq 0xd0ba5(%rip), %rsi     # 0x10ce20
callq 0xde4cb
testl %eax, %eax
je 0x3c594
movq 0x28(%r15), %rax
movq 0x20(%rax), %rdi
leaq 0xf468e(%rip), %rsi     # 0x130925
callq 0xde4cb
testl %eax, %eax
jne 0x3c376
movq 0x10(%r15), %rax
movq $-0x5f5e101, %rcx       # imm = 0xFA0A1EFF
addq %rcx, %rax
cmpq $-0x5f5e0e1, %rax       # imm = 0xFA0A1F1F
jae 0x3c616
xorl %edi, %edi
jmp 0x3c371
movq 0x20(%rsp), %rdi
pushq $0x2
popq %rsi
callq 0xe3fa3
notl %eax
testw $0xf000, %ax            # imm = 0xF000
jne 0x3c376
movq 0x10(%r15), %rdx
movq %rbp, %rdi
leaq 0xd0c3e(%rip), %rsi     # 0x10cf2a
xorl %eax, %eax
callq 0xde896
movq %rbp, %rdi
pushq $0x1
popq %r14
movl %r14d, %esi
callq 0xdeba7
movq 0x10(%r15), %rsi
movq %rbp, %rdi
movl %r14d, %edx
callq 0xe59cd
movq %rax, %r12
movq 0x10(%r15), %r8
movq %rbp, %rdi
movq %rbx, %rsi
movq %r15, %rdx
xorl %ecx, %ecx
movq %rax, %r9
callq 0x3d14d
movq 0x18(%r12), %r9
cmpq 0x10(%r15), %r9
jge 0x3c34c
movq %rbp, %rdi
leaq 0xd0c04(%rip), %rsi     # 0x10cf44
xorl %eax, %eax
callq 0xdf05a
movq 0x18(%r12), %r9
movq %rbp, %rdi
leaq 0xd0c19(%rip), %rsi     # 0x10cf6f
xorl %edx, %edx
movq %r12, %rcx
xorl %r8d, %r8d
callq 0xdfa28
movq %rbp, %rdi
pushq $-0x1
popq %rsi
callq 0xdeba7
movq %r12, %rdi
callq 0xe5591
movq 0x18(%rsp), %r14
jmp 0x3caa0
movq 0x8(%rsp), %rbp
movq %rbp, %rdi
pushq $-0x1
popq %rsi
callq 0xdeba7
movq %r14, %rdi
callq 0xe5591
jmp 0x3cae5
movq %rbp, %r14
xorl %ebp, %ebp
movq %r14, %rdi
leaq 0xd0abe(%rip), %rsi     # 0x10ce6a
xorl %eax, %eax
callq 0xde896
movq %r14, %rdi
pushq $0x1
popq %rsi
callq 0xdeba7
movq 0x10(%r15), %r10
cmpq $0x0, 0xa8(%rbx)
pushq $-0x1
popq %r12
jle 0x3c402
cmpq $0x0, 0xb0(%rbx)
je 0x3c400
movq 0x28(%r15), %rax
testq %rax, %rax
je 0x3c400
cmpq $0x0, 0x18(%rax)
je 0x3c400
movq 0x28(%rax), %rcx
cmpq $0xf, %rcx
jbe 0x3c916
xorl %ebp, %ebp
pushq $-0x1
popq %r12
jmp 0x3c402
xorl %ebp, %ebp
movl %ebp, 0x30(%rsp)
movq %r12, 0x40(%rsp)
movq %r10, 0x10(%rsp)
movq 0x20(%rsp), %rbp
movq %rbp, %rdi
xorl %esi, %esi
callq 0xe409f
movq %rax, %r12
movq 0x8(%rsp), %r14
movq %r14, %rdi
leaq 0xde2f5(%rip), %rsi     # 0x11a726
movl %r12d, %edx
xorl %eax, %eax
callq 0xde896
movq %rbp, %rdi
pushq $0x4
popq %rsi
callq 0xe409f
movq %r14, %rdi
leaq 0xeb0a1(%rip), %rsi     # 0x1274f1
movl %eax, %edx
xorl %eax, %eax
callq 0xde896
cmpq $0x18, %r12
movq %r12, 0x38(%rsp)
je 0x3c46e
cmpq $0xc, %r12
jne 0x3c554
cmpq %r12, 0x10(%r15)
jle 0x3c554
movq 0x20(%rsp), %rdi
pushq $0x8
popq %rsi
callq 0xe409f
movq 0x8(%rsp), %r14
movq %r14, %rdi
leaq 0xd09ef(%rip), %rsi     # 0x10ce83
movl %eax, %edx
xorl %eax, %eax
callq 0xde896
movq 0x10(%rsp), %rdx
subq %r12, %rdx
movq %r14, %rdi
leaq 0xd09e6(%rip), %rsi     # 0x10ce95
movq %rdx, 0x10(%rsp)
xorl %eax, %eax
callq 0xde896
cmpb $0x0, 0x30(%rsp)
movq 0x48(%rsp), %rbp
je 0x3c95d
cmpb $0x0, 0xd0(%r14)
je 0x3c95d
movq 0xb0(%rbx), %rax
movq 0x40(%rsp), %r12
shlq $0x5, %r12
movq 0x8(%rax,%r12), %rax
movq 0x18(%rax), %rdi
callq 0xeb7e4
movq %r14, %rdi
leaq 0xd09a8(%rip), %rsi     # 0x10cea9
movq %rax, %rdx
xorl %eax, %eax
callq 0xde896
movq %rbp, %rdi
callq 0xeac85
movq 0xb0(%rbx), %rax
movq 0x8(%rax,%r12), %rax
movq 0x20(%rax), %rdi
leaq 0xd0997(%rip), %rsi     # 0x10cec1
callq 0xde4cb
testl %eax, %eax
je 0x3c94b
movq 0xb0(%rbx), %rax
movq 0x8(%rax,%r12), %rax
movq 0x18(%rax), %rsi
movq %rbp, %rdi
callq 0xead71
jmp 0x3c95d
movq 0x28(%r15), %rax
movq 0x18(%rax), %rdi
callq 0xeb7e4
movq 0x8(%rsp), %r14
movq %r14, %rdi
leaq 0xd0994(%rip), %rsi     # 0x10cf04
movq %rax, %rdx
xorl %eax, %eax
callq 0xdf05a
movb $0x1, %bpl
movq $0x0, 0x40(%rsp)
movq $0x0, 0x30(%rsp)
jmp 0x3c9f2
movq 0x10(%r15), %rax
movq $-0x5f5e101, %rcx       # imm = 0xFA0A1EFF
addq %rcx, %rax
cmpq $-0x5f5e0e1, %rax       # imm = 0xFA0A1F1F
jae 0x3c5b2
xorl %r12d, %r12d
jmp 0x3c36e
movq %rbp, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0xe59cd
movq %rax, %r12
movq %rbp, %rdi
movq %rbx, %rsi
movq %r15, %rdx
xorl %ecx, %ecx
pushq $0x10
popq %r8
movq %rax, %r9
callq 0x3d14d
movq %r12, %rdi
xorl %esi, %esi
callq 0xe409f
movq %rax, %rbp
addq $0x4, %rax
cmpq 0x10(%r15), %rax
jne 0x3c60c
movq %r12, %rdi
movq %r14, %rsi
leaq 0xd0146(%rip), %rdx     # 0x10c742
movq %r14, %rcx
callq 0xe4d48
testl %eax, %eax
je 0x3cca7
movq 0x8(%rsp), %rbp
jmp 0x3c36e
movq %rbp, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0xe59cd
movq %rax, %r12
movq %rbp, %rdi
movq %rbx, %rsi
movq %r15, %rdx
xorl %ecx, %ecx
pushq $0x10
popq %r8
movq %rax, %r9
callq 0x3d14d
movq %r12, %rdi
movq %r14, %rsi
leaq 0xd0b80(%rip), %rdx     # 0x10d1c9
pushq $0x7
popq %rcx
callq 0xe4d48
testl %eax, %eax
je 0x3c672
movq %r12, %rdi
movq %r14, %rsi
leaq 0xd00e5(%rip), %rdx     # 0x10c747
pushq $0x8
popq %rcx
callq 0xe4d48
testl %eax, %eax
jne 0x3c36e
movq 0x10(%r15), %r8
addq $-0x10, %r8
movq %rbp, %rdi
movq %rbx, %rsi
movq %r15, %rdx
pushq $0x10
popq %rcx
movq %r12, %r9
callq 0x3d14d
andq $0x0, 0x28(%rsp)
movq %rbp, %rdi
leaq 0x7c(%rsp), %rsi
callq 0xdebae
xorl %edx, %edx
movq %r12, 0x10(%rsp)
movq 0x18(%r12), %rax
addq $-0x8, %rax
cmpq %rax, %rdx
jge 0x3cd4b
movq %rbp, %rdi
leaq 0xd0969(%rip), %rsi     # 0x10d02d
xorl %eax, %eax
callq 0xde896
movq %rbp, %rdi
pushq $0x1
popq %rsi
callq 0xdeba7
movq %r12, %rdi
leaq 0x28(%rsp), %rsi
callq 0xe40bf
movq %rax, %r15
cmpl $0x7, %r15d
ja 0x3c7ed
testl %r15d, %r15d
je 0x3c80e
movq %rbp, %rdi
leaq 0xd0939(%rip), %rsi     # 0x10d03c
movl %r15d, %edx
xorl %eax, %eax
callq 0xde896
cmpl $0x1, %r15d
jne 0x3cd32
movq 0x28(%rsp), %rsi
addq $0x8, %rsi
movq 0x10(%rsp), %r15
movq %r15, %rdi
callq 0xe409f
movq %rax, 0x30(%rsp)
movq 0x28(%rsp), %rax
movq %rax, 0x80(%rsp)
movq %r15, %rdi
leaq 0x80(%rsp), %r14
movq %r14, %rsi
callq 0xe40bf
movq %rax, %r12
movq %r15, %rdi
movq %r14, %rsi
callq 0xe40bf
movq %rax, %r15
movq %rbp, %rdi
movq %r12, %rsi
movq %rax, %rdx
callq 0xdf038
movq %rbp, %rdi
movq %r12, %rsi
movq %r15, %rdx
callq 0xe6be1
testl %eax, %eax
je 0x3c8e1
movq %rbp, %rdi
movq %r12, %rsi
movq %r15, %rdx
pushq $0x1
popq %rcx
callq 0xe7437
movq %rax, %r15
xorl %r14d, %r14d
xorl %ebp, %ebp
movq %r12, 0x38(%rsp)
cmpq 0x10(%r15), %rbp
jge 0x3c7f7
xorl %r12d, %r12d
cmpq 0x8(%r15), %r12
jge 0x3c7e0
leaq (%r14,%r12), %rsi
addq 0x80(%rsp), %rsi
movq 0x10(%rsp), %rdi
callq 0xe3eb4
movzbl %al, %ecx
movq %r15, %rdi
movq %r12, %rsi
movq %rbp, %rdx
callq 0xe71da
incq %r12
jmp 0x3c7ae
incq %rbp
movq 0x38(%rsp), %r12
addq %r12, %r14
jmp 0x3c7a5
movl %r15d, %r14d
movq 0x10(%rsp), %r12
jmp 0x3c823
movq %r15, %rdi
xorl %esi, %esi
pushq $0x4
popq %rdx
callq 0xe70b7
movq 0x8(%rsp), %rbp
jmp 0x3c8e4
movq 0x10(%rsp), %r12
movq %r12, %rdi
leaq 0x28(%rsp), %rsi
callq 0xe40bf
movq %rax, %r14
movq %rbp, %rdi
leaq 0xd080f(%rip), %rsi     # 0x10d03c
xorl %edx, %edx
xorl %eax, %eax
callq 0xde896
movq %r12, %rdi
leaq 0x28(%rsp), %rsi
callq 0xe40bf
movq %rax, %r15
movq %rbp, %rdi
leaq 0xd0802(%rip), %rsi     # 0x10d052
movl %r15d, %edx
xorl %eax, %eax
callq 0xde896
movq %rbp, %rdi
leaq 0xfba01(%rip), %rsi     # 0x138265
movq %r14, %rdx
xorl %eax, %eax
callq 0xde896
movq 0x28(%rsp), %rdx
leaq (%rdx,%r14), %rax
cmpq 0x18(%r12), %rax
jg 0x3cd4b
cmpl $0x1, %r15d
je 0x3c8a5
movq %rbp, %rdi
testl %r15d, %r15d
jne 0x3c8c7
movq 0x10(%rsp), %r12
movq %r12, %rsi
movq %r14, %rcx
xorl %r8d, %r8d
callq 0x3d230
jmp 0x3c8fc
movq 0x10(%rsp), %r12
movq %r12, %rdi
movq %rdx, %rsi
movq %r14, %rdx
leaq 0xe9d20(%rip), %rcx     # 0x1265da
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0xe4e0b
jmp 0x3c8fc
leaq 0xd079b(%rip), %rsi     # 0x10d069
xorl %edx, %edx
movl %r15d, %ecx
xorl %eax, %eax
callq 0xde896
movq 0x10(%rsp), %r12
jmp 0x3c8fc
xorl %r15d, %r15d
movq %r15, %rdi
callq 0xe7084
addq $0xc, 0x28(%rsp)
movq 0x10(%rsp), %r12
movq 0x30(%rsp), %r14
addq %r14, 0x28(%rsp)
movq %rbp, %rdi
pushq $-0x1
popq %rsi
callq 0xdeba7
movq 0x28(%rsp), %rdx
jmp 0x3c6a8
movq %rcx, %rdi
xorl %edx, %edx
movq %rcx, %rsi
subq $0x1, %rsi
jb 0x3cc48
movq 0x20(%rax), %r8
movb (%r8,%rdx), %r8b
leal -0x3a(%r8), %r9d
cmpb $-0xa, %r9b
jb 0x3c3f8
movb %r8b, 0x7f(%rsp,%rdi)
incq %rdx
movq %rsi, %rdi
jmp 0x3c91e
movq %rbp, %rdi
leaq 0xd0593(%rip), %rsi     # 0x10cee8
pushq $0x5
popq %rdx
callq 0xeae42
movq %r14, %rdi
pushq $0x78
popq %rsi
callq 0xdecaf
movq %rax, %rbp
leaq 0x28(%rax), %r12
movq 0x20(%rsp), %rdi
movq %r12, %rsi
movq 0x38(%rsp), %rdx
pushq $0x40
popq %rcx
callq 0xe3cb7
movw $0x101, (%rbp)          # imm = 0x101
movq %r14, %rdi
movq %rbp, %rsi
callq 0xee4da
leaq 0x6c(%rbp), %rcx
movq %rbp, 0x30(%rsp)
cmpl $0x0, 0x68(%rbp)
je 0x3c9ae
movb $0x1, %bpl
movq 0x48(%rsp), %rdi
jmp 0x3c9d2
cmpb $0x1, (%r12)
movq 0x48(%rsp), %rdi
jne 0x3c9cf
movq 0x30(%rsp), %rax
cmpb $0x0, 0x29(%rax)
jne 0x3c9cf
cmpb $-0x1, 0x38(%rax)
je 0x3cd1a
movb $0x1, %bpl
pushq $0x5
popq %rsi
leaq 0xd051e(%rip), %rdx     # 0x10cefa
xorl %eax, %eax
callq 0xeae8b
movq 0x38(%rsp), %rax
movq %rax, 0x40(%rsp)
movq 0x8(%rsp), %r14
movq %r14, %rdi
pushq $-0x1
popq %rsi
callq 0xdeba7
movq %r14, %rdi
movq 0x60(%rsp), %r12
movq %r12, %rsi
movq 0x48(%rsp), %rdx
xorl %ecx, %ecx
callq 0xdfd55
movb $0x1, 0x8(%r12)
movq %r14, %rdi
xorl %esi, %esi
movq %r12, %rdx
xorl %ecx, %ecx
callq 0xe4e62
movq %rax, %r12
testb %bpl, %bpl
je 0x3ca42
movq 0x18(%rsp), %r14
movq 0x10(%rsp), %r8
movq 0x40(%rsp), %rcx
jmp 0x3ca72
cmpl $0x0, 0x8(%rbx)
movq 0x18(%rsp), %r14
movq 0x10(%rsp), %r8
je 0x3ca65
movq 0x38(%rsp), %rax
addq $0x28, %rax
cmpq %rax, 0x10(%r15)
jge 0x3cafd
movq 0x40(%rsp), %rcx
addq $0x10, %rcx
addq $-0x10, %r8
movq 0x8(%rsp), %rbp
movq %rbp, %rdi
movq %rbx, %rsi
movq %r15, %rdx
movq %r12, %r9
callq 0x3d14d
movq 0x30(%rsp), %r15
movq %r12, %rdi
callq 0xe5591
movq %rbp, %rdi
movq %r15, %rsi
callq 0xded32
movq 0x20(%rsp), %r15
movl 0x78(%rsp), %esi
movq %rbp, %rdi
callq 0xdebb7
movq %r15, %rdi
callq 0xe5591
movq %r14, %rdi
callq 0xeaf3c
movq 0x48(%rsp), %rdi
callq 0xeaf3c
movq %rbp, %rdi
movq 0x58(%rsp), %rsi
callq 0xdfd24
movq %rbp, %rdi
movq 0x60(%rsp), %rsi
callq 0xdfd24
movq %rbp, %rdi
pushq $-0x1
popq %rsi
callq 0xdeba7
movl 0x68(%rsp), %r15d
incq %r13
jmp 0x3b972
movq %rax, 0x10(%rsp)
movq 0x38(%rsp), %rbp
leaq 0x10(%rbp), %rcx
movq %rcx, 0x40(%rsp)
movq 0x8(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rsi
movq %r15, %rdx
pushq $0x2
popq %r8
movq %r12, %r9
callq 0x3d14d
movq %r12, %rdi
leaq 0xd03f3(%rip), %rsi     # 0x10cf27
pushq $0x2
popq %rdx
callq 0xe46ba
leaq 0x1f(%rbp), %rsi
movq %r12, %rdi
callq 0xe5f1e
movq %r12, %rdi
leaq 0xcfbd6(%rip), %rsi     # 0x10c728
pushq $0xd
popq %rdx
callq 0xe46ba
movq %r14, %rdi
movq %rbx, %rsi
movq %r15, %rdx
xorl %ecx, %ecx
movq 0x40(%rsp), %r8
movq %r12, %r9
callq 0x3d14d
xorl %edi, %edi
leaq 0x80(%rsp), %rsi
callq 0xee276
xorl %eax, %eax
cmpq $0x40, %rax
je 0x3cba1
movzbl 0x80(%rsp,%rax), %ecx
incl %ecx
shrl %ecx
movb %cl, 0x80(%rsp,%rax)
incq %rax
jmp 0x3cb83
addq $0x12, 0x38(%rsp)
movq %r12, %rdi
leaq 0xcfb8b(%rip), %rsi     # 0x10c73c
pushq $0x5
popq %r14
movq %r14, %rdx
callq 0xe46ba
movq %r12, %rdi
leaq 0x80(%rsp), %rsi
pushq $0x40
popq %rdx
callq 0xe46ba
movq 0x8(%rsp), %rbp
movq %rbp, %rdi
movq %rbx, %rsi
movq %r15, %rdx
movq 0x38(%rsp), %rcx
pushq $0x16
popq %r8
movq %r12, %r9
callq 0x3d14d
movq %r12, %rdi
leaq 0xcfb3d(%rip), %rsi     # 0x10c736
movq %r14, %rdx
callq 0xe46ba
movq %r12, %rdi
xorl %esi, %esi
callq 0xee2bf
movq %r12, %rdi
pushq $0x10
popq %rsi
callq 0xe5bc5
movq %r12, %rdi
pushq $0x1
popq %rsi
callq 0xee2bf
movq 0x10(%r15), %r8
movq 0x10(%rsp), %rcx
subq %rcx, %r8
movq %rbp, %rdi
movq %rbx, %rsi
movq %r15, %rdx
movq %r12, %r9
callq 0x3d14d
movq 0x18(%rsp), %r14
jmp 0x3ca88
movq %r10, %r14
movb $0x0, 0x80(%rsp,%rcx)
leaq 0x80(%rsp), %rdi
callq 0xdfb3b
testq %rax, %rax
js 0x3cce9
movq 0xa8(%rbx), %rdx
testq %rdx, %rdx
movl $0x0, %ecx
cmovleq %rcx, %rdx
pushq $0x10
popq %rcx
xorl %r12d, %r12d
movq %r14, %r10
cmpq %r12, %rdx
je 0x3c3f8
movq 0xb0(%rbx), %rsi
movl -0x10(%rsi,%rcx), %edi
cmpq %rdi, %rax
je 0x3ccf7
incq %r12
addq $0x20, %rcx
jmp 0x3cc85
movq 0x10(%r15), %r8
addq $-0x10, %r8
movq 0x8(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rsi
movq %r15, %rdx
pushq $0x10
popq %rcx
movq %r12, %r9
callq 0x3d14d
addq $-0x4, %rbp
movq %r14, %rdi
movq %r12, %rsi
pushq $0x4
popq %rdx
movq %rbp, %rcx
movq %r14, %rbp
pushq $0x1
popq %r8
callq 0x3d230
jmp 0x3c36e
xorl %ebp, %ebp
pushq $-0x1
popq %r12
movq %r14, %r10
jmp 0x3c402
movb $0x1, %bpl
cmpb $0x0, (%rsi,%rcx)
je 0x3c402
addq %rcx, %rsi
movdqu (%rsi), %xmm0
movq 0x60(%rsp), %rax
movdqu %xmm0, 0x18(%rax)
jmp 0x3c402
cmpb $-0x28, 0x39(%rax)
setne %bpl
leaq 0xd01c7(%rip), %rax     # 0x10cef0
cmoveq %rax, %rcx
jmp 0x3c9d2
movq %rbp, %rdi
leaq 0xd034d(%rip), %rsi     # 0x10d089
movl %r15d, %edx
xorl %eax, %eax
callq 0xde896
movq 0x10(%rsp), %r12
movl 0x7c(%rsp), %esi
movq %rbp, %rdi
callq 0xdebb7
jmp 0x3c36e
incl %r15d
jmp 0x3b94c
movl 0x74(%rsp), %esi
movq %rbp, %rdi
callq 0xdebb7
jmp 0x3b08d