Function at 0x10018420
Capabilities:
Inspect section memory permissions
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
mov eax, 0x2ab4
call fcn.10028c20
mov eax, dword [0x100b9b90]
xor eax, esp
mov dword [esp + 0x2ab0], eax
mov eax, dword [ebp + 8]
push ebx
push esi
mov dword [esp + 0x84], eax
xor ebx, ebx
xor eax, eax
mov dword [esp + 0x24], ebx
push edi
mov dword [esp + 0x28], eax
xor edi, edi
mov dword [esp + 0x28], eax
push 0x208
mov dword [esp + 0x28], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x50], eax
lea eax, [esp + 0x28b4]
push edi
push eax
mov dword [esp + 0x48], edi
call fcn.1004a970
add esp, 0xc
lea eax, [esp + 0x28b0]
push 0x104
push eax
mov eax, dword [0x100bbee0]
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
xor eax, eax
mov dword [esp + 0xb8], ebx
mov word [esp + 0xa8], ax
lea eax, [esp + 0x28b0]
push eax
mov dword [esp + 0xc0], 7
call fcn.100583d6
add esp, 4
lea ecx, [esp + 0xa8]
push eax
lea eax, [esp + 0x28b4]
push eax
call fcn.100204c0
xor eax, eax
mov dword [esp + 0xe8], ebx
push str..dat
mov dword [esp + 0xf0], 7
mov word [esp + 0xdc], ax
call fcn.100583d6
add esp, 4
lea ecx, [esp + 0xd8]
push eax
push str..dat
call fcn.100204c0
lea eax, [esp + 0x28b0]
push eax
call fcn.100583d6
add esp, 4
lea ecx, [esp + 0xd8]
push eax
lea eax, [esp + 0x28b4]
push eax
push edi
call fcn.100205d0
mov esi, eax
mov dword [esp + 0x12a0], ebx
push 0x18
lea eax, [esp + 0x1294]
mov dword [esp + 0x12a8], ebx
push esi
push eax
call fcn.10049e70
mov dword [esi + 0x10], ebx
xor eax, eax
mov dword [esi + 0x14], 7
add esp, 0xc
mov word [esi], ax
mov edx, dword [esp + 0xec]
cmp edx, 8
jb 0x100185c2
mov ecx, dword [esp + 0xd8]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x100185b8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100204ab
push edx
push ecx
call fcn.100281a3
add esp, 8
mov esi, dword [esp + 0xb8]
lea edx, [esp + 0xa8]
xor eax, eax
mov dword [esp + 0xe8], ebx
cmp dword [esp + 0xbc], 8
mov dword [esp + 0xec], 7
cmovae edx, dword [esp + 0xa8]
mov word [esp + 0xd8], ax
mov dword [esp + 0x94], 0xffffffff
mov dword [esp + 0x64], esi
test esi, esi
je 0x10018742
or ecx, 0xffffffff
lea eax, [esi - 1]
cmp eax, ecx
mov dword [esp + 0x98], eax
cmovb ecx, eax
cmp word [edx + ecx*2], 0x5c
lea ecx, [edx + ecx*2]
je 0x10018641
nop
cmp ecx, edx
je 0x10018742
sub ecx, 2
cmp word [ecx], 0x5c
jne 0x10018630
sub ecx, edx
sar ecx, 1
cmp ecx, 0xffffffff
je 0x10018742
inc ecx
mov dword [esp + 0x328], ebx
xor eax, eax
mov dword [esp + 0x9c], ecx
cmp esi, ecx
mov word [esp + 0x318], ax
lea eax, [esp + 0xa8]
mov dword [esp + 0x32c], 7
cmovb ecx, esi
mov dword [esp + 0xa0], esi
cmp dword [esp + 0xbc], 8
push ecx
cmovae eax, dword [esp + 0xac]
lea ecx, [esp + 0x31c]
push eax
call fcn.100204c0
mov edx, dword [esp + 0xbc]
cmp edx, 8
jb 0x100186e5
mov ecx, dword [esp + 0xa8]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x100186db
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100204ab
push edx
push ecx
call fcn.100281a3
add esp, 8
xor eax, eax
mov dword [esp + 0xb8], ebx
mov word [esp + 0xa8], ax
lea eax, [esp + 0x318]
push 0x18
push eax
lea eax, [esp + 0xb0]
mov dword [esp + 0xc4], 7
push eax
call fcn.10049e70
mov esi, dword [esp + 0xc4]
add esp, 0xc
xor eax, eax
mov dword [esp + 0x328], ebx
mov dword [esp + 0x32c], 7
mov word [esp + 0x318], ax
mov dword [esp + 0x64], esi
push str.infile.cab
call fcn.100583d6
mov ecx, 0x7ffffffe
mov dword [esp + 0x88], eax
sub ecx, esi
add esp, 4
cmp ecx, eax
jb 0x100204a6
cmp dword [esp + 0xbc], 8
lea ecx, [esp + 0xa8]
mov dword [esp + 0xd0], ebx
cmovae ecx, dword [esp + 0xa8]
mov dword [esp + 0x80], ecx
lea ecx, [eax + esi]
mov esi, 7
mov dword [esp + 0xd4], ebx
mov dword [esp + 0x60], ecx
lea eax, [esp + 0xc0]
mov dword [esp + 0x5c], eax
cmp ecx, esi
jbe 0x100187f8
mov esi, ecx
or esi, 7
mov dword [esp + 0xa4], esi
cmp esi, 0x7ffffffe
jbe 0x100187c7
mov esi, 0x7ffffffe
jmp 0x100187d9
mov eax, 0xa
mov dword [esp + 0x44], 0xa
cmp esi, eax
cmovb esi, eax
lea eax, [esi + 1]
push eax
lea ecx, [esp + 0xc4]
call fcn.10015cec
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x5c], eax
mov dword [esp + 0xc0], eax
mov dword [esp + 0xd4], esi
mov esi, dword [esp + 0x64]
add esi, esi
mov dword [esp + 0xd0], ecx
push esi
push dword [esp + 0x84]
push eax
call fcn.10049e70
mov eax, dword [esp + 0x90]
add eax, eax
push eax
mov eax, dword [esp + 0x6c]
add eax, esi
push str.infile.cab
push eax
call fcn.10049e70
mov eax, dword [esp + 0x74]
add esp, 0x18
mov ecx, dword [esp + 0x60]
xor edx, edx
mov word [eax + ecx*2], dx
lea eax, [esp + 0xc0]
push eax
mov ecx, 0x100b90b8
call fcn.10018310
mov edx, dword [esp + 0xd4]
cmp edx, 8
jb 0x1001889a
mov ecx, dword [esp + 0xc0]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x10018890
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100204ab
push edx
push ecx
call fcn.100281a3
add esp, 8
movsd xmm0, qword [0x100bbf98]
xor eax, eax
ucomisd xmm0, qword [0x1009da78]
mov word [esp + 0xc0], ax
mov dword [esp + 0xd0], ebx
mov dword [esp + 0xd4], 7
lahf
test ah, 0x44
jp 0x100190a0
sub esp, 0x10
movsd qword [esp + 8], xmm0
movsd xmm0, qword [0x100bbfa0]
movsd qword [esp], xmm0
call fcn.10054aa7
fmul qword [0x1009da18]
add esp, 8
movsd xmm0, qword [0x100bbfa0]
movsd qword [esp], xmm0
fdiv qword [0x100bbf98]
fstp qword [esp + 0x30]
call fcn.10058790
fdivr qword [esp + 0x30]
movsd xmm0, qword [0x100bbfa0]
fstp qword [esp + 0x30]
movsd qword [esp], xmm0
call fcn.10058950
fdivr qword [esp + 0x30]
movsd xmm0, qword [0x100bbfa0]
fstp qword [esp + 0x30]
movsd qword [esp], xmm0
call fcn.10058940
fmul qword [esp + 0x30]
movsd xmm0, qword [0x100bbfa0]
movsd qword [esp], xmm0
fadd qword [0x1009d9d0]
fstp qword [esp + 0x70]
call fcn.10058940
fld1
fdivrp st(1)
movsd xmm0, qword [0x100bbf98]
fstp qword [esp + 0x30]
movsd qword [esp], xmm0
call fcn.10058950
fdivr qword [esp + 0x30]
movsd xmm0, qword [0x100bbfa0]
fstp qword [esp + 0x30]
movsd qword [esp], xmm0
call fcn.100548d6
fdivr qword [esp + 0x30]
movsd xmm0, qword [0x100bbfa0]
fstp qword [esp + 0x30]
movsd qword [esp], xmm0
call fcn.100588f0
fmul qword [esp + 0x30]
movsd xmm0, qword [0x100bbf98]
movsd qword [esp], xmm0
fstp qword [esp + 0x30]
call fcn.10058740
fmul qword [esp + 0x30]
fstp qword [esp]
call fcn.1005888f
movsd xmm0, qword [0x100bbf98]
fstp qword [esp + 0x80]
movsd qword [esp], xmm0
call fcn.10057090
fdiv qword [0x100bbf98]
movsd xmm0, qword [0x100bbfa0]
fstp qword [esp + 0x30]
movsd qword [esp], xmm0
call fcn.10058830
fdivr qword [0x1009d9c8]
movsd xmm0, qword [0x100bbfa0]
movsd qword [esp], xmm0
sub esp, 8
movsd xmm0, qword [0x100bbf98]
fstp qword [esp + 0x80]
movsd qword [esp], xmm0
call fcn.100588e0
movsd xmm0, qword [esp + 0x38]
add esp, 8
fstp qword [esp + 0x58]
divsd xmm0, qword [esp + 0x58]
mulsd xmm0, qword [esp + 0x80]
movsd qword [esp], xmm0
call fcn.10058950
movsd xmm0, qword [0x100bbfa0]
fstp qword [esp + 0x30]
movsd qword [esp], xmm0
call fcn.100589a0
fmul qword [esp + 0x78]
fmul qword [esp + 0x30]
movsd xmm0, qword [0x100bbfa0]
movsd qword [esp], xmm0
fstp qword [esp + 0x30]
call fcn.10057090
fmul qword [esp + 0x30]
movsd xmm0, qword [0x100bbf98]
movsd qword [esp], xmm0
fstp qword [esp + 0x30]
call fcn.100587e0
fdivr qword [esp + 0x30]
fsubr qword [esp + 0x70]
fstp qword [0x100bbf98]
movsd xmm0, qword [0x100bbf98]
movsd qword [esp], xmm0
sub esp, 8
movsd xmm0, qword [0x100bbfa0]
movsd qword [esp], xmm0
call fcn.10054aa7
fmul qword [0x1009da18]
add esp, 8
movsd xmm0, qword [0x100bbfa0]
movsd qword [esp], xmm0
fdiv qword [0x100bbf98]
fstp qword [esp + 0x30]
call fcn.10058790
fdivr qword [esp + 0x30]
movsd xmm0, qword [0x100bbfa0]
fstp qword [esp + 0x30]
movsd qword [esp], xmm0
call fcn.10058950
fdivr qword [esp + 0x30]
movsd xmm0, qword [0x100bbfa0]
fstp qword [esp + 0x30]
movsd qword [esp], xmm0
call fcn.10058940
fmul qword [esp + 0x30]
movsd xmm0, qword [0x100bbfa0]
movsd qword [esp], xmm0
fadd qword [0x1009da08]
fstp qword [esp + 0x70]
call fcn.10058940
fld1
fdivrp st(1)
movsd xmm0, qword [0x100bbf98]
fstp qword [esp + 0x30]
movsd qword [esp], xmm0
call fcn.10058950
fdivr qword [esp + 0x30]
movsd xmm0, qword [0x100bbfa0]
fstp qword [esp + 0x30]
movsd qword [esp], xmm0
call fcn.100548d6
fdivr qword [esp + 0x30]
movsd xmm0, qword [0x100bbfa0]
fstp qword [esp + 0x30]
movsd qword [esp], xmm0
call fcn.100588f0
fmul qword [esp + 0x30]
movsd xmm0, qword [0x100bbf98]
movsd qword [esp], xmm0
fstp qword [esp + 0x30]
call fcn.10058740
fmul qword [esp + 0x30]
fstp qword [esp]
call fcn.1005888f
movsd xmm0, qword [0x100bbf98]
fstp qword [esp + 0x80]
movsd qword [esp], xmm0
call fcn.10057090
fdiv qword [0x100bbf98]
movsd xmm0, qword [0x100bbfa0]
fstp qword [esp + 0x30]
movsd qword [esp], xmm0
call fcn.10058830
fdivr qword [0x1009d9c8]
movsd xmm0, qword [0x100bbfa0]
movsd qword [esp], xmm0
sub esp, 8
movsd xmm0, qword [0x100bbf98]
fstp qword [esp + 0x80]
movsd qword [esp], xmm0
call fcn.100588e0
movsd xmm0, qword [esp + 0x38]
add esp, 8
fstp qword [esp + 0x58]
divsd xmm0, qword [esp + 0x58]
mulsd xmm0, qword [esp + 0x80]
movsd qword [esp], xmm0
call fcn.10058950
movsd xmm0, qword [0x100bbfa0]
fstp qword [esp + 0x30]
movsd qword [esp], xmm0
call fcn.100589a0
fmul qword [esp + 0x78]
movsd xmm0, qword [0x100bbfa0]
movsd qword [esp], xmm0
fmul qword [esp + 0x30]
fstp qword [esp + 0x30]
call fcn.10057090
fmul qword [esp + 0x30]
movsd xmm0, qword [0x100bbf98]
movsd qword [esp], xmm0
fstp qword [esp + 0x30]
call fcn.100587e0
fdivr qword [esp + 0x30]
movsd xmm0, qword [0x100bbf98]
fsubr qword [esp + 0x70]
movsd qword [esp], xmm0
sub esp, 8
fstp qword [0x100bbfa0]
movsd xmm0, qword [0x100bbfa0]
movsd qword [esp], xmm0
call fcn.10054aa7
fmul qword [0x1009da18]
add esp, 8
movsd xmm0, qword [0x100bbfa0]
movsd qword [esp], xmm0
fdiv qword [0x100bbf98]
fstp qword [esp + 0x30]
call fcn.10058790
fdivr qword [esp + 0x30]
movsd xmm0, qword [0x100bbfa0]
fstp qword [esp + 0x30]
movsd qword [esp], xmm0
call fcn.10058950
fdivr qword [esp + 0x30]
movsd xmm0, qword [0x100bbfa0]
fstp qword [esp + 0x30]
movsd qword [esp], xmm0
call fcn.10058940
fmul qword [esp + 0x30]
movsd xmm0, qword [0x100bbfa0]
movsd qword [esp], xmm0
fadd qword [0x1009da00]
fstp qword [esp + 0x70]
call fcn.10058940
fld1
fdivrp st(1)
movsd xmm0, qword [0x100bbf98]
fstp qword [esp + 0x30]
movsd qword [esp], xmm0
call fcn.10058950
fdivr qword [esp + 0x30]
movsd xmm0, qword [0x100bbfa0]
fstp qword [esp + 0x30]
movsd qword [esp], xmm0
call fcn.100548d6
fdivr qword [esp + 0x30]
movsd xmm0, qword [0x100bbfa0]
fstp qword [esp + 0x30]
movsd qword [esp], xmm0
call fcn.100588f0
fmul qword [esp + 0x30]
movsd xmm0, qword [0x100bbf98]
movsd qword [esp], xmm0
fstp qword [esp + 0x30]
call fcn.10058740
fmul qword [esp + 0x30]
fstp qword [esp]
call fcn.1005888f
fstp qword [esp + 0x80]
movsd xmm0, qword [0x100bbf98]
movsd qword [esp], xmm0
call fcn.10057090
fdiv qword [0x100bbf98]
movsd xmm0, qword [0x100bbfa0]
fstp qword [esp + 0x30]
movsd qword [esp], xmm0
call fcn.10058830
fdivr qword [0x1009d9c8]
movsd xmm0, qword [0x100bbfa0]
movsd qword [esp], xmm0
sub esp, 8
movsd xmm0, qword [0x100bbf98]
fstp qword [esp + 0x80]
movsd qword [esp], xmm0
call fcn.100588e0
movsd xmm0, qword [esp + 0x38]
add esp, 8
fstp qword [esp + 0x58]
divsd xmm0, qword [esp + 0x58]
mulsd xmm0, qword [esp + 0x80]
movsd qword [esp], xmm0
call fcn.10058950
movsd xmm0, qword [0x100bbfa0]
fstp qword [esp + 0x30]
movsd qword [esp], xmm0
call fcn.100589a0
fmul qword [esp + 0x78]
movsd xmm0, qword [0x100bbfa0]
movsd qword [esp], xmm0
fmul qword [esp + 0x30]
fstp qword [esp + 0x30]
call fcn.10057090
fmul qword [esp + 0x30]
movsd xmm0, qword [0x100bbf98]
movsd qword [esp], xmm0
fstp qword [esp + 0x30]
call fcn.100587e0
fdivr qword [esp + 0x30]
fsubr qword [esp + 0x70]
fstp qword [0x100bbf98]
movsd xmm0, qword [0x100bbf98]
movsd qword [esp], xmm0
sub esp, 8
movsd xmm0, qword [0x100bbfa0]
movsd qword [esp], xmm0
call fcn.10054aa7
fmul qword [0x1009da18]
add esp, 8
movsd xmm0, qword [0x100bbfa0]
movsd qword [esp], xmm0
fdiv qword [0x100bbf98]
fstp qword [esp + 0x30]
call fcn.10058790
fdivr qword [esp + 0x30]
movsd xmm0, qword [0x100bbfa0]
fstp qword [esp + 0x30]
movsd qword [esp], xmm0
call fcn.10058950
fdivr qword [esp + 0x30]
movsd xmm0, qword [0x100bbfa0]
fstp qword [esp + 0x30]
movsd qword [esp], xmm0
call fcn.10058940
fmul qword [esp + 0x30]
movsd xmm0, qword [0x100bbfa0]
movsd qword [esp], xmm0
fadd qword [0x1009d9e0]
fstp qword [esp + 0x70]
call fcn.10058940
fld1
fdivrp st(1)
movsd xmm0, qword [0x100bbf98]
fstp qword [esp + 0x30]
movsd qword [esp], xmm0
call fcn.10058950
fdivr qword [esp + 0x30]
movsd xmm0, qword [0x100bbfa0]
fstp qword [esp + 0x30]
movsd qword [esp], xmm0
call fcn.100548d6
fdivr qword [esp + 0x30]
movsd xmm0, qword [0x100bbfa0]
fstp qword [esp + 0x30]
movsd qword [esp], xmm0
call fcn.100588f0
fmul qword [esp + 0x30]
movsd xmm0, qword [0x100bbf98]
movsd qword [esp], xmm0
fstp qword [esp + 0x30]
call fcn.10058740
fmul qword [esp + 0x30]
fstp qword [esp]
call fcn.1005888f
movsd xmm0, qword [0x100bbf98]
fstp qword [esp + 0x80]
movsd qword [esp], xmm0
call fcn.10057090
fdiv qword [0x100bbf98]
movsd xmm0, qword [0x100bbfa0]
fstp qword [esp + 0x30]
movsd qword [esp], xmm0
call fcn.10058830
fdivr qword [0x1009d9c8]
movsd xmm0, qword [0x100bbfa0]
movsd qword [esp], xmm0
sub esp, 8
movsd xmm0, qword [0x100bbf98]
fstp qword [esp + 0x80]
movsd qword [esp], xmm0
call fcn.100588e0
movsd xmm0, qword [esp + 0x38]
add esp, 8
fstp qword [esp + 0x58]
divsd xmm0, qword [esp + 0x58]
mulsd xmm0, qword [esp + 0x80]
movsd qword [esp], xmm0
call fcn.10058950
movsd xmm0, qword [0x100bbfa0]
fstp qword [esp + 0x30]
movsd qword [esp], xmm0
call fcn.100589a0
fmul qword [esp + 0x78]
movsd xmm0, qword [0x100bbfa0]
movsd qword [esp], xmm0
fmul qword [esp + 0x30]
fstp qword [esp + 0x30]
call fcn.10057090
fmul qword [esp + 0x30]
movsd xmm0, qword [0x100bbf98]
movsd qword [esp], xmm0
fstp qword [esp + 0x30]
call fcn.100587e0
fdivr qword [esp + 0x30]
add esp, 8
fsubr qword [esp + 0x68]
fstp qword [0x100bbfa0]
mov dword [esp + 0x60], ebx
mov al, byte [0x100b8bea]
lea ecx, [esp + 0x8d0]
mov byte [esp + 0x84], al
push dword [esp + 0x84]
mov dword [esp + 0x914], 0
push 1
push 0
mov dword [esp + 0x920], 0xf
mov byte [esp + 0x90c], 0
mov dword [esp + 0x904], 0
mov dword [esp + 0x908], 0xf
mov byte [esp + 0x8f4], 0
mov dword [esp + 0x8ec], 0
mov dword [esp + 0x8f0], 0xf
mov byte [esp + 0x8dc], 0
call fcn.10015edc
mov esi, eax
mov dword [esp + 0x8c8], 0
push 0x18
lea eax, [esp + 0x8bc]
mov dword [esp + 0x8d0], 0
push esi
push eax
call fcn.10049e70
mov dword [esi + 0x10], 0
lea ecx, [esp + 0x894]
mov dword [esi + 0x14], 0xf
add esp, 0xc
mov byte [esi], 0
mov eax, 0x100b8c68
cmp dword [0x100b8c7c], 0x10
mov dword [esp + 0x8b0], 0
cmovae eax, dword [0x100b8c68]
mov dword [esp + 0x8b4], 0xf
mov byte [esp + 0x8a0], 0
mov dword [esp + 0x898], 0
mov dword [esp + 0x89c], 0xf
mov byte [esp + 0x888], 0
mov al, byte [eax + 3]
mov byte [esp + 0x80], al
push dword [esp + 0x80]
push 1
push 0
call fcn.10015edc
mov esi, eax
mov dword [esp + 0x880], 0
push 0x18
lea eax, [esp + 0x874]
mov dword [esp + 0x888], 0
push esi
push eax
call fcn.10049e70
movsx eax, byte [0x100b8b69]
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
push eax
mov dword [esp + 0x878], 0
mov dword [esp + 0x87c], 0xf
mov byte [esp + 0x868], 0
mov dword [esp + 0x860], 0
mov dword [esp + 0x864], 0xf
mov byte [esp + 0x850], 0
mov dword [esp + 0x848], 0
mov dword [esp + 0x84c], 0xf
mov byte [esp + 0x838], 0
call fcn.100546b4
add esp, 0x10
mov byte [esp + 0x64], al
lea ecx, [esp + 0x828]
push dword [esp + 0x64]
push 1
push 0
call fcn.10015edc
mov esi, eax
mov dword [esp + 0x820], 0
push 0x18
push esi
lea eax, [esp + 0x818]
mov dword [esp + 0x82c], 0
push eax
call fcn.10049e70
movzx eax, byte [0x100b8825]
push eax
lea eax, [esp + 0x820]
mov dword [esi + 0x10], 0
push eax
lea eax, [esp + 0x14e4]
mov dword [esi + 0x14], 0xf
push eax
mov byte [esi], 0
call fcn.10014683
add esp, 0x18
lea ecx, [esp + 0x840]
push ecx
push eax
push dword [esp + 0x4c]
lea ecx, [esp + 0x13ec]
call fcn.10014bf2
lea eax, [esp + 0x858]
push eax
lea eax, [esp + 0x13e4]
push eax
push dword [esp + 0x4c]
lea ecx, [esp + 0x13d4]
call fcn.10014bf2
movzx eax, byte [0x100b8cc4]
push eax
lea eax, [esp + 0x13cc]
push eax
lea eax, [esp + 0x14c0]
push eax
call fcn.10014683
add esp, 0xc
lea ecx, [esp + 0x870]
push ecx
push eax
push dword [esp + 0x4c]
lea ecx, [esp + 0x13bc]
call fcn.10014bf2
movzx eax, byte [0x100b8822]
push eax
lea eax, [esp + 0x13b4]
push eax
lea eax, [esp + 0x14a8]
push eax
call fcn.10014683
add esp, 0xc
lea ecx, [esp + 0x8a0]
push ecx
push eax
push dword [esp + 0x4c]
lea ecx, [esp + 0x13a4]
call fcn.10014bf2
lea eax, [esp + 0x8b8]
push eax
lea eax, [esp + 0x139c]
push eax
push dword [esp + 0x4c]
lea ecx, [esp + 0x138c]
call fcn.10014bf2
lea eax, [esp + 0x8e8]
push eax
lea eax, [esp + 0x1384]
push eax
push dword [esp + 0x4c]
lea ecx, [esp + 0x1374]
call fcn.10014bf2
movzx eax, byte [0x100b906a]
push eax
lea eax, [esp + 0x136c]
push eax
lea eax, [esp + 0x1490]
push eax
call fcn.10014683
add esp, 0xc
lea ecx, [esp + 0x900]
push ecx
push eax
push dword [esp + 0x4c]
lea ecx, [esp + 0x135c]
call fcn.10014bf2
movzx eax, byte [0x100b8f66]
push eax
lea eax, [esp + 0x1354]
push eax
lea eax, [esp + 0x1478]
push eax
call fcn.10014683
add esp, 0xc
cmp dword [eax + 0x14], 0x10
jb 0x1001942d
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [0x100bc104], eax
test eax, eax
je 0x1001995f
cmp dword [0x100b8b4c], 0x10
lea ecx, [esp + 0x7b0]
mov eax, 0x100b8b38
mov dword [esp + 0x808], 0
cmovae eax, dword [0x100b8b38]
mov dword [esp + 0x80c], 0xf
mov byte [esp + 0x7f8], 0
mov dword [esp + 0x7f0], 0
mov dword [esp + 0x7f4], 0xf
mov byte [esp + 0x7e0], 0
mov dword [esp + 0x7d8], 0
mov dword [esp + 0x7dc], 0xf
mov byte [esp + 0x7c8], 0
mov dword [esp + 0x7c0], 0
mov dword [esp + 0x7c4], 0xf
mov byte [esp + 0x7b0], 0
mov al, byte [eax + 3]
mov byte [esp + 0x8c], al
push dword [esp + 0x8c]
push 1
push 0
call fcn.10015edc
mov esi, eax
mov dword [esp + 0x7a8], 0
push 0x18
lea eax, [esp + 0x79c]
mov dword [esp + 0x7b0], 0
push esi
push eax
call fcn.10049e70
mov dword [esi + 0x10], 0
mov eax, 0x100b8920
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
cmp dword [0x100b8934], 0x10
mov dword [esp + 0x79c], 0
cmovae eax, dword [0x100b8920]
mov dword [esp + 0x7a0], 0xf
mov byte [esp + 0x78c], 0
movsx eax, byte [eax + 2]
push eax
call fcn.100546b4
add esp, 0x10
mov byte [esp + 0x68], al
lea ecx, [esp + 0x780]
push dword [esp + 0x68]
push 1
push 0
call fcn.10015edc
mov esi, eax
mov dword [esp + 0x778], 0
push 0x18
lea eax, [esp + 0x76c]
mov dword [esp + 0x780], 0
push esi
push eax
call fcn.10049e70
mov al, byte [0x100b8825]
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
mov byte [esp + 0x30c], al
lea eax, [esp + 0x30c]
push 0x18
push eax
lea eax, [esp + 0x764]
mov dword [esp + 0x328], 0xf
push eax
mov dword [esp + 0x328], 1
mov byte [esp + 0x319], 0
mov dword [esp + 0x778], 0
mov dword [esp + 0x77c], 0
call fcn.10049e70
add esp, 0x18
mov dword [esp + 0x310], 0
mov dword [esp + 0x314], 0xf
mov eax, 0x100b8e00
mov byte [esp + 0x300], 0
mov dword [esp + 0x748], 0
mov dword [esp + 0x74c], 0xf
mov byte [esp + 0x738], 0
cmp dword [0x100b8e14], 0x10
lea ecx, [esp + 0x738]
cmovae eax, dword [0x100b8e00]
mov al, byte [eax + 0xc]
mov byte [esp + 0x70], al
push dword [esp + 0x70]
push 1
push 0
call fcn.10015edc
mov esi, eax
mov dword [esp + 0x730], 0
push 0x18
lea eax, [esp + 0x724]
mov dword [esp + 0x738], 0
push esi
push eax
call fcn.10049e70
mov dword [esi + 0x10], 0
mov eax, 0x100b8708
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
cmp dword [0x100b871c], 0x10
mov dword [esp + 0x724], 0
cmovae eax, dword [0x100b8708]
mov dword [esp + 0x728], 0xf
mov byte [esp + 0x714], 0
mov dword [esp + 0x70c], 0
mov dword [esp + 0x710], 0xf
mov byte [esp + 0x6fc], 0
mov dword [esp + 0x6f4], 0
mov dword [esp + 0x6f8], 0xf
mov byte [esp + 0x6e4], 0
mov dword [esp + 0x6dc], 0
mov dword [esp + 0x6e0], 0xf
mov byte [esp + 0x6cc], 0
movsx eax, byte [eax + 5]
push eax
call fcn.100546b4
push eax
lea eax, [esp + 0x6d4]
push eax
lea eax, [esp + 0x1458]
push eax
call fcn.10014683
add esp, 0x1c
lea ecx, [esp + 0x6d8]
push ecx
push eax
push dword [esp + 0x4c]
lea ecx, [esp + 0x1344]
call fcn.10014bf2
movzx eax, byte [0x100b8825]
push eax
movzx eax, byte [0x100b8cc3]
push eax
lea eax, [esp + 0x1340]
push eax
lea eax, [esp + 0x1434]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0x1418]
push eax
call fcn.10014683
add esp, 0xc
lea ecx, [esp + 0x6f0]
push ecx
push eax
push dword [esp + 0x4c]
lea ecx, [esp + 0x132c]
call fcn.10014bf2
movzx eax, byte [0x100b860c]
push eax
lea eax, [esp + 0x70c]
push eax
lea eax, [esp + 0x1460]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0x1324]
push eax
push dword [esp + 0x4c]
lea ecx, [esp + 0x1314]
call fcn.10014bf2
lea eax, [esp + 0x720]
push eax
lea eax, [esp + 0x130c]
push eax
push dword [esp + 0x4c]
lea ecx, [esp + 0x12fc]
call fcn.10014bf2
lea eax, [esp + 0x750]
push eax
lea eax, [esp + 0x12f4]
push eax
push dword [esp + 0x4c]
lea ecx, [esp + 0x12e4]
call fcn.10014bf2
lea eax, [esp + 0x768]
push eax
lea eax, [esp + 0x12dc]
push eax
push dword [esp + 0x4c]
lea ecx, [esp + 0x12cc]
call fcn.10014bf2
lea eax, [esp + 0x798]
push eax
lea eax, [esp + 0x12c4]
push eax
push dword [esp + 0x4c]
lea ecx, [esp + 0x12b4]
call fcn.10014bf2
movzx eax, byte [0x100b8bea]
push eax
lea eax, [esp + 0x12ac]
push eax
lea eax, [esp + 0x1400]
push eax
call fcn.10014683
add esp, 0xc
lea ecx, [esp + 0x7c8]
push ecx
push eax
push dword [esp + 0x4c]
lea ecx, [esp + 0x4ec]
call fcn.10014bf2
lea eax, [esp + 0x7e0]
push eax
lea eax, [esp + 0x4e4]
push eax
push dword [esp + 0x4c]
lea ecx, [esp + 0x4d4]
call fcn.10014bf2
movzx eax, byte [0x100b8822]
push eax
lea eax, [esp + 0x4cc]
push eax
lea eax, [esp + 0x698]
push eax
call fcn.10014683
add esp, 0xc
lea ecx, [esp + 0x7f8]
push ecx
push eax
push dword [esp + 0x4c]
lea ecx, [esp + 0x4bc]
call fcn.10014bf2
movsx eax, byte [0x100b8e36]
push eax
call fcn.100546b4
push eax
lea eax, [esp + 0x4b8]
push eax
lea eax, [esp + 0x684]
push eax
call fcn.10014683
add esp, 0x10
cmp dword [eax + 0x14], 0x10
jb 0x10019944
mov eax, dword [eax]
push eax
push dword [0x100bc104]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, eax
or eax, 0xffffffff
mov dword [esp + 0x24], eax
jmp 0x1001a11d
mov al, byte [0x100b8bea]
lea ecx, [esp + 0x2b8]
mov byte [esp + 0x78], al
or ebx, 1
push dword [esp + 0x78]
or ebx, 0x7ffffe
mov dword [esp + 0x2fc], 0
push 1
push 0
mov dword [esp + 0x308], 0xf
mov byte [esp + 0x2f4], 0
mov dword [esp + 0x2ec], 0
mov dword [esp + 0x2f0], 0xf
mov byte [esp + 0x2dc], 0
mov dword [esp + 0x2d4], 0
mov dword [esp + 0x2d8], 0xf
mov byte [esp + 0x2c4], 0
call fcn.10015edc
mov esi, eax
mov dword [esp + 0x2b0], 0
push 0x18
lea eax, [esp + 0x2a4]
mov dword [esp + 0x2b8], 0
push esi
push eax
call fcn.10049e70
mov dword [esi + 0x10], 0
lea ecx, [esp + 0x27c]
mov dword [esi + 0x14], 0xf
add esp, 0xc
mov byte [esi], 0
mov eax, 0x100b8c68
cmp dword [0x100b8c7c], 0x10
mov dword [esp + 0x298], 0
cmovae eax, dword [0x100b8c68]
mov dword [esp + 0x29c], 0xf
mov byte [esp + 0x288], 0
mov dword [esp + 0x280], 0
mov dword [esp + 0x284], 0xf
mov byte [esp + 0x270], 0
mov al, byte [eax + 3]
mov byte [esp + 0x50], al
push dword [esp + 0x50]
push 1
push 0
call fcn.10015edc
mov esi, eax
mov dword [esp + 0x268], 0
push 0x18
lea eax, [esp + 0x25c]
mov dword [esp + 0x270], 0
push esi
push eax
call fcn.10049e70
movsx eax, byte [0x100b8b69]
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
push eax
mov dword [esp + 0x260], 0
mov dword [esp + 0x264], 0xf
mov byte [esp + 0x250], 0
mov dword [esp + 0x248], 0
mov dword [esp + 0x24c], 0xf
mov byte [esp + 0x238], 0
mov dword [esp + 0x230], 0
mov dword [esp + 0x234], 0xf
mov byte [esp + 0x220], 0
call fcn.100546b4
add esp, 0x10
mov byte [esp + 0x28], al
lea ecx, [esp + 0x210]
push dword [esp + 0x28]
push 1
push 0
call fcn.10015edc
mov esi, eax
mov dword [esp + 0x208], 0
push 0x18
mov dword [esp + 0x210], 0
push esi
lea eax, [esp + 0x200]
push eax
call fcn.10049e70
movzx eax, byte [0x100b8825]
push eax
lea eax, [esp + 0x208]
mov dword [esi + 0x10], 0
push eax
lea eax, [esp + 0x674]
mov dword [esi + 0x14], 0xf
push eax
mov byte [esi], 0
call fcn.10014683
add esp, 0x18
lea ecx, [esp + 0x228]
push ecx
push eax
push dword [esp + 0x4c]
lea ecx, [esp + 0x4a4]
call fcn.10014bf2
lea eax, [esp + 0x240]
push eax
lea eax, [esp + 0x49c]
push eax
push dword [esp + 0x4c]
lea ecx, [esp + 0x48c]
call fcn.10014bf2
movzx eax, byte [0x100b8cc4]
push eax
lea eax, [esp + 0x484]
push eax
lea eax, [esp + 0x650]
push eax
call fcn.10014683
add esp, 0xc
lea ecx, [esp + 0x258]
push ecx
push eax
push dword [esp + 0x4c]
lea ecx, [esp + 0x474]
call fcn.10014bf2
movzx eax, byte [0x100b8822]
push eax
lea eax, [esp + 0x46c]
push eax
lea eax, [esp + 0x638]
push eax
call fcn.10014683
add esp, 0xc
lea ecx, [esp + 0x288]
push ecx
push eax
push dword [esp + 0x4c]
lea ecx, [esp + 0x45c]
call fcn.10014bf2
lea eax, [esp + 0x2a0]
push eax
lea eax, [esp + 0x454]
push eax
push dword [esp + 0x4c]
lea ecx, [esp + 0x444]
call fcn.10014bf2
lea eax, [esp + 0x2d0]
push eax
lea eax, [esp + 0x43c]
push eax
push dword [esp + 0x4c]
lea ecx, [esp + 0x42c]
call fcn.10014bf2
movzx eax, byte [0x100b906a]
push eax
lea eax, [esp + 0x424]
push eax
lea eax, [esp + 0x620]
push eax
call fcn.10014683
add esp, 0xc
lea ecx, [esp + 0x2e8]
push ecx
push eax
push dword [esp + 0x4c]
lea ecx, [esp + 0x414]
call fcn.10014bf2
movzx eax, byte [0x100b8f66]
push eax
lea eax, [esp + 0x40c]
push eax
lea eax, [esp + 0x608]
push eax
call fcn.10014683
add esp, 0xc
cmp dword [eax + 0x14], 0x10
jb 0x10019ce5
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [0x100bc104], eax
test eax, eax
je 0x1001a11b
or edi, 1
mov dword [esp + 0x1f0], 0
or edi, 0x7ffffe
mov dword [esp + 0x1f4], 0xf
cmp dword [0x100b8b4c], 0x10
mov ebx, 0x100b8b38
mov dword [esp + 0x3c], edi
mov esi, 0x100b8e00
cmovae ebx, dword [0x100b8b38]
mov edi, 0x100b8920
cmp dword [0x100b8934], 0x10
mov eax, 0x100b8708
mov byte [esp + 0x1e0], 0
cmovae edi, dword [0x100b8920]
cmp dword [0x100b8e14], 0x10
mov dword [esp + 0x1d8], 0
cmovae esi, dword [0x100b8e00]
cmp dword [0x100b871c], 0x10
mov dword [esp + 0x1dc], 0xf
cmovae eax, dword [0x100b8708]
mov byte [esp + 0x1c8], 0
mov dword [esp + 0x1c0], 0
mov dword [esp + 0x1c4], 0xf
mov byte [esp + 0x1b0], 0
mov dword [esp + 0x1a8], 0
mov dword [esp + 0x1ac], 0xf
mov byte [esp + 0x198], 0
mov dword [esp + 0x190], 0
mov dword [esp + 0x194], 0xf
mov byte [esp + 0x180], 0
mov dword [esp + 0x178], 0
mov dword [esp + 0x17c], 0xf
mov byte [esp + 0x168], 0
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], 0xf
mov byte [esp + 0x150], 0
mov dword [esp + 0x148], 0
mov dword [esp + 0x14c], 0xf
mov byte [esp + 0x138], 0
mov dword [esp + 0x130], 0
mov dword [esp + 0x134], 0xf
mov byte [esp + 0x120], 0
mov dword [esp + 0x118], 0
mov dword [esp + 0x11c], 0xf
mov byte [esp + 0x108], 0
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0xf
mov byte [esp + 0xf0], 0
movsx eax, byte [eax + 5]
push eax
call fcn.100546b4
push eax
lea eax, [esp + 0xf8]
push eax
lea eax, [esp + 0x57c]
push eax
call fcn.10014683
add esp, 0x10
lea ecx, [esp + 0x108]
push ecx
push eax
push dword [esp + 0x4c]
lea ecx, [esp + 0x3fc]
call fcn.10014bf2
movzx eax, byte [0x100b8825]
push eax
movzx eax, byte [0x100b8cc3]
push eax
lea eax, [esp + 0x3f8]
push eax
lea eax, [esp + 0x564]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0x548]
push eax
call fcn.10014683
add esp, 0xc
lea ecx, [esp + 0x120]
push ecx
push eax
push dword [esp + 0x4c]
lea ecx, [esp + 0x3e4]
call fcn.10014bf2
movzx eax, byte [0x100b860c]
push eax
lea eax, [esp + 0x13c]
push eax
lea eax, [esp + 0x590]
push eax
call fcn.10014683
add esp, 0xc
lea ecx, [esp + 0x3c0]
push eax
lea eax, [esp + 0x3dc]
push eax
push dword [esp + 0x4c]
call fcn.10014bf2
lea eax, [esp + 0x150]
push eax
movzx eax, byte [esi + 0xc]
push eax
lea eax, [esp + 0x5a8]
push eax
call fcn.100146a8
add esp, 0xc
lea ecx, [esp + 0x3a8]
push eax
lea eax, [esp + 0x3c4]
push eax
push dword [esp + 0x4c]
call fcn.10014bf2
movzx eax, byte [0x100b8825]
push eax
lea eax, [esp + 0x16c]
push eax
lea eax, [esp + 0x5c0]
push eax
call fcn.10014683
add esp, 0xc
lea ecx, [esp + 0x390]
push eax
lea eax, [esp + 0x3ac]
push eax
push dword [esp + 0x4c]
call fcn.10014bf2
lea eax, [esp + 0x180]
push eax
movsx eax, byte [edi + 2]
push eax
call fcn.100546b4
add esp, 4
push eax
lea eax, [esp + 0x5d8]
push eax
call fcn.100146a8
add esp, 0xc
lea ecx, [esp + 0x378]
push eax
lea eax, [esp + 0x394]
push eax
push dword [esp + 0x4c]
call fcn.10014bf2
lea eax, [esp + 0x198]
push eax
movzx eax, byte [ebx + 3]
push eax
lea eax, [esp + 0x5f0]
push eax
call fcn.100146a8
add esp, 0xc
lea ecx, [esp + 0x360]
push eax
lea eax, [esp + 0x37c]
push eax
push dword [esp + 0x4c]
call fcn.10014bf2
movzx eax, byte [0x100b8bea]
push eax
lea eax, [esp + 0x364]
push eax
lea eax, [esp + 0x530]
push eax
call fcn.10014683
add esp, 0xc
lea ecx, [esp + 0x1b0]
push ecx
push eax
push dword [esp + 0x4c]
lea ecx, [esp + 0x354]
call fcn.10014bf2
lea eax, [esp + 0x1c8]
push eax
lea eax, [esp + 0x34c]
push eax
push dword [esp + 0x4c]
lea ecx, [esp + 0x33c]
call fcn.10014bf2
movzx eax, byte [0x100b8822]
push eax
lea eax, [esp + 0x334]
push eax
lea eax, [esp + 0x518]
push eax
call fcn.10014683
add esp, 0xc
lea ecx, [esp + 0x1e0]
push ecx
push eax
push dword [esp + 0x4c]
lea ecx, [esp + 0x504]
call fcn.10014bf2
movsx eax, byte [0x100b8e36]
push eax
call fcn.100546b4
push eax
lea eax, [esp + 0x500]
push eax
lea eax, [esp + 0x6b4]
push eax
call fcn.10014683
add esp, 0x10
cmp dword [eax + 0x14], 0x10
jb 0x1001a107
mov eax, dword [eax]
push eax
push dword [0x100bc104]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, eax
or ebx, 0xffffffff
jmp 0x1001a11d
xor ecx, ecx
cmp dword [0x100b90cc], 8
mov eax, 0x100b90b8
push 0
cmovae eax, dword [0x100b90b8]
push 0x80
push 3
push 0
push 1
push 0x80000000
push eax
call ecx
mov esi, eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x5c], esi
test eax, 0x400000
je 0x1001a1bd
mov edx, dword [esp + 0x6bc]
and eax, 0xffbfffff
mov dword [esp + 0x3c], eax
cmp edx, 0x10
jb 0x1001a19f
mov ecx, dword [esp + 0x6a8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1001a191
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100204ab
push edx
push ecx
call fcn.100281a3
mov eax, dword [esp + 0x44]
add esp, 8
mov dword [esp + 0x6b8], 0
mov dword [esp + 0x6bc], 0xf
mov byte [esp + 0x6a8], 0
test eax, 0x200000
je 0x1001a22b
mov edx, dword [esp + 0x50c]
and eax, 0xffdfffff
mov dword [esp + 0x3c], eax
cmp edx, 0x10
jb 0x1001a20d
mov ecx, dword [esp + 0x4f8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1001a1ff
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100204ab
push edx
push ecx
call fcn.100281a3
mov eax, dword [esp + 0x44]
add esp, 8
mov dword [esp + 0x508], 0
mov dword [esp + 0x50c], 0xf
mov byte [esp + 0x4f8], 0
test eax, 0x100000
je 0x1001a280
mov ecx, dword [esp + 0x524]
and eax, 0xffefffff
mov dword [esp + 0x3c], eax
cmp ecx, 0x10
jb 0x1001a262
lea eax, [ecx + 1]
push eax
push dword [esp + 0x514]
lea ecx, [esp + 0x518]
call fcn.10002b90
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x520], 0
mov dword [esp + 0x524], 0xf
mov byte [esp + 0x510], 0
test eax, 0x80000
je 0x1001a2d5
mov ecx, dword [esp + 0x344]
and eax, 0xfff7ffff
mov dword [esp + 0x3c], eax
cmp ecx, 0x10
jb 0x1001a2b7
lea eax, [ecx + 1]
push eax
push dword [esp + 0x334]
lea ecx, [esp + 0x338]
call fcn.10002b90
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x340], 0
mov dword [esp + 0x344], 0xf
mov byte [esp + 0x330], 0
test eax, 0x40000
je 0x1001a32a
mov ecx, dword [esp + 0x35c]
and eax, 0xfffbffff
mov dword [esp + 0x3c], eax
cmp ecx, 0x10
jb 0x1001a30c
lea eax, [ecx + 1]
push eax
push dword [esp + 0x34c]
lea ecx, [esp + 0x350]
call fcn.10002b90
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x358], 0
mov dword [esp + 0x35c], 0xf
mov byte [esp + 0x348], 0
test eax, 0x20000
je 0x1001a37f
mov ecx, dword [esp + 0x53c]
and eax, 0xfffdffff
mov dword [esp + 0x3c], eax
cmp ecx, 0x10
jb 0x1001a361
lea eax, [ecx + 1]
push eax
push dword [esp + 0x52c]
lea ecx, [esp + 0x530]
call fcn.10002b90
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x538], 0
mov dword [esp + 0x53c], 0xf
mov byte [esp + 0x528], 0
test eax, 0x10000
je 0x1001a3d4
mov ecx, dword [esp + 0x374]
and eax, 0xfffeffff
mov dword [esp + 0x3c], eax
cmp ecx, 0x10
jb 0x1001a3b6
lea eax, [ecx + 1]
push eax
push dword [esp + 0x364]
lea ecx, [esp + 0x368]
call fcn.10002b90
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x370], 0
mov dword [esp + 0x374], 0xf
mov byte [esp + 0x360], 0
test eax, 0x8000
je 0x1001a429
mov ecx, dword [esp + 0x38c]
and eax, 0xffff7fff
mov dword [esp + 0x3c], eax
cmp ecx, 0x10
jb 0x1001a40b
lea eax, [ecx + 1]
push eax
push dword [esp + 0x37c]
lea ecx, [esp + 0x380]
call fcn.10002b90
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x388], 0
mov dword [esp + 0x38c], 0xf
mov byte [esp + 0x378], 0
test eax, 0x4000
je 0x1001a47e
mov ecx, dword [esp + 0x3a4]
and eax, 0xffffbfff
mov dword [esp + 0x3c], eax
cmp ecx, 0x10
jb 0x1001a460
lea eax, [ecx + 1]
push eax
push dword [esp + 0x394]
lea ecx, [esp + 0x398]
call fcn.10002b90
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x3a0], 0
mov dword [esp + 0x3a4], 0xf
mov byte [esp + 0x390], 0
test eax, 0x2000
je 0x1001a4d3
mov ecx, dword [esp + 0x3bc]
and eax, 0xffffdfff
mov dword [esp + 0x3c], eax
cmp ecx, 0x10
jb 0x1001a4b5
lea eax, [ecx + 1]
push eax
push dword [esp + 0x3ac]
lea ecx, [esp + 0x3b0]
call fcn.10002b90
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x3b8], 0
mov dword [esp + 0x3bc], 0xf
mov byte [esp + 0x3a8], 0
test eax, 0x1000
je 0x1001a528
mov ecx, dword [esp + 0x3d4]
and eax, 0xffffefff
mov dword [esp + 0x3c], eax
cmp ecx, 0x10
jb 0x1001a50a
lea eax, [ecx + 1]
push eax
push dword [esp + 0x3c4]
lea ecx, [esp + 0x3c8]
call fcn.10002b90
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x3d0], 0
mov dword [esp + 0x3d4], 0xf
mov byte [esp + 0x3c0], 0
test eax, 0x800
je 0x1001a57d
mov ecx, dword [esp + 0x3ec]
and eax, 0xfffff7ff
mov dword [esp + 0x3c], eax
cmp ecx, 0x10
jb 0x1001a55f
lea eax, [ecx + 1]
push eax
push dword [esp + 0x3dc]
lea ecx, [esp + 0x3e0]
call fcn.10002b90
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x3e8], 0
mov dword [esp + 0x3ec], 0xf
mov byte [esp + 0x3d8], 0
test eax, 0x400
je 0x1001a5d2
mov ecx, dword [esp + 0x554]
and eax, 0xfffffbff
mov dword [esp + 0x3c], eax
cmp ecx, 0x10
jb 0x1001a5b4
lea eax, [ecx + 1]
push eax
push dword [esp + 0x544]
lea ecx, [esp + 0x548]
call fcn.10002b90
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x550], 0
mov dword [esp + 0x554], 0xf
mov byte [esp + 0x540], 0
test eax, 0x200
je 0x1001a627
mov ecx, dword [esp + 0x56c]
and eax, 0xfffffdff
mov dword [esp + 0x3c], eax
cmp ecx, 0x10
jb 0x1001a609
lea eax, [ecx + 1]
push eax
push dword [esp + 0x55c]
lea ecx, [esp + 0x560]
call fcn.10002b90
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x568], 0
mov dword [esp + 0x56c], 0xf
mov byte [esp + 0x558], 0
test eax, 0x100
je 0x1001a67c
mov ecx, dword [esp + 0x404]
and eax, 0xfffffeff
mov dword [esp + 0x3c], eax
cmp ecx, 0x10
jb 0x1001a65e
lea eax, [ecx + 1]
push eax
push dword [esp + 0x3f4]
lea ecx, [esp + 0x3f8]
call fcn.10002b90
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x400], 0
mov dword [esp + 0x404], 0xf
mov byte [esp + 0x3f0], 0
test al, al
jns 0x1001a6ce
mov ecx, dword [esp + 0x584]
and eax, 0xffffff7f
mov dword [esp + 0x3c], eax
cmp ecx, 0x10
jb 0x1001a6b0
lea eax, [ecx + 1]
push eax
push dword [esp + 0x574]
lea ecx, [esp + 0x578]
call fcn.10002b90
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x580], 0
mov dword [esp + 0x584], 0xf
mov byte [esp + 0x570], 0
test al, 0x40
je 0x1001a737
mov edx, dword [esp + 0x104]
and eax, 0xffffffbf
mov dword [esp + 0x3c], eax
cmp edx, 0x10
jb 0x1001a719
mov ecx, dword [esp + 0xf0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1001a70b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100204ab
push edx
push ecx
call fcn.100281a3
mov eax, dword [esp + 0x44]
add esp, 8
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0xf
mov byte [esp + 0xf0], 0
test al, 0x20
je 0x1001a7a0
mov edx, dword [esp + 0x11c]
and eax, 0xffffffdf
mov dword [esp + 0x3c], eax
cmp edx, 0x10
jb 0x1001a782
mov ecx, dword [esp + 0x108]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1001a774
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100204ab
push edx
push ecx
call fcn.100281a3
mov eax, dword [esp + 0x44]
add esp, 8
mov dword [esp + 0x118], 0
mov dword [esp + 0x11c], 0xf
mov byte [esp + 0x108], 0
test al, 0x10
je 0x1001a809
mov edx, dword [esp + 0x134]
and eax, 0xffffffef
mov dword [esp + 0x3c], eax
cmp edx, 0x10
jb 0x1001a7eb
mov ecx, dword [esp + 0x120]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1001a7dd
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100204ab
push edx
push ecx
call fcn.100281a3
mov eax, dword [esp + 0x44]
add esp, 8
mov dword [esp + 0x130], 0
mov dword [esp + 0x134], 0xf
mov byte [esp + 0x120], 0
test al, 8
je 0x1001a859
mov ecx, dword [esp + 0x59c]
and eax, 0xfffffff7
mov dword [esp + 0x3c], eax
cmp ecx, 0x10
jb 0x1001a83b
lea eax, [ecx + 1]
push eax
push dword [esp + 0x58c]
lea ecx, [esp + 0x590]
call fcn.10002b90
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x598], 0
mov dword [esp + 0x59c], 0xf
mov byte [esp + 0x588], 0
test al, 4
je 0x1001a8c2
mov edx, dword [esp + 0x14c]
and eax, 0xfffffffb
mov dword [esp + 0x3c], eax
cmp edx, 0x10
jb 0x1001a8a4
mov ecx, dword [esp + 0x138]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1001a896
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100204ab
push edx
push ecx
call fcn.100281a3
mov eax, dword [esp + 0x44]
add esp, 8
mov dword [esp + 0x148], 0
mov dword [esp + 0x14c], 0xf
mov byte [esp + 0x138], 0
test al, 2
je 0x1001a912
mov ecx, dword [esp + 0x5b4]
and eax, 0xfffffffd
mov dword [esp + 0x3c], eax
cmp ecx, 0x10
jb 0x1001a8f4
lea eax, [ecx + 1]
push eax
push dword [esp + 0x5a4]
lea ecx, [esp + 0x5a8]
call fcn.10002b90
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x5b0], 0
mov dword [esp + 0x5b4], 0xf
mov byte [esp + 0x5a0], 0
test al, 1
je 0x1001a977
mov edx, dword [esp + 0x164]
and eax, 0xfffffffe
mov dword [esp + 0x3c], eax
cmp edx, 0x10
jb 0x1001a959
mov ecx, dword [esp + 0x150]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1001a94f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100204ab
push edx
push ecx
call fcn.100281a3
add esp, 8
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], 0xf
mov byte [esp + 0x150], 0
test ebx, ebx
jns 0x1001a9c0
mov eax, dword [esp + 0x5cc]
and ebx, 0x7fffffff
cmp eax, 0x10
jb 0x1001a9a2
inc eax
lea ecx, [esp + 0x5b8]
push eax
push dword [esp + 0x5bc]
call fcn.10002b90
mov dword [esp + 0x5c8], 0
mov dword [esp + 0x5cc], 0xf
mov byte [esp + 0x5b8], 0
test ebx, 0x40000000
je 0x1001aa28
mov edx, dword [esp + 0x17c]
and ebx, 0xbfffffff
cmp edx, 0x10
jb 0x1001aa0a
mov ecx, dword [esp + 0x168]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1001aa00
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100204ab
push edx
push ecx
call fcn.100281a3
add esp, 8
mov dword [esp + 0x178], 0
mov dword [esp + 0x17c], 0xf
mov byte [esp + 0x168], 0
test ebx, 0x20000000
je 0x1001aa75
mov eax, dword [esp + 0x5e4]
and ebx, 0xdfffffff
cmp eax, 0x10
jb 0x1001aa57
inc eax
lea ecx, [esp + 0x5d0]
push eax
push dword [esp + 0x5d4]
call fcn.10002b90
mov dword [esp + 0x5e0], 0
mov dword [esp + 0x5e4], 0xf
mov byte [esp + 0x5d0], 0
test ebx, 0x10000000
je 0x1001aadd
mov edx, dword [esp + 0x194]
and ebx, 0xefffffff
cmp edx, 0x10
jb 0x1001aabf
mov ecx, dword [esp + 0x180]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1001aab5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100204ab
push edx
push ecx
call fcn.100281a3
add esp, 8
mov dword [esp + 0x190], 0
mov dword [esp + 0x194], 0xf
mov byte [esp + 0x180], 0
test ebx, 0x8000000
je 0x1001ab2a
mov eax, dword [esp + 0x5fc]
and ebx, 0xf7ffffff
cmp eax, 0x10
jb 0x1001ab0c
inc eax
lea ecx, [esp + 0x5e8]
push eax
push dword [esp + 0x5ec]
call fcn.10002b90
mov dword [esp + 0x5f8], 0
mov dword [esp + 0x5fc], 0xf
mov byte [esp + 0x5e8], 0
test ebx, 0x4000000
je 0x1001ab92
mov edx, dword [esp + 0x1ac]
and ebx, 0xfbffffff
cmp edx, 0x10
jb 0x1001ab74
mov ecx, dword [esp + 0x198]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1001ab6a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100204ab
push edx
push ecx
call fcn.100281a3
add esp, 8
mov dword [esp + 0x1a8], 0
mov dword [esp + 0x1ac], 0xf
mov byte [esp + 0x198], 0
test ebx, 0x2000000
je 0x1001abfa
mov edx, dword [esp + 0x1c4]
and ebx, 0xfdffffff
cmp edx, 0x10
jb 0x1001abdc
mov ecx, dword [esp + 0x1b0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1001abd2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100204ab
push edx
push ecx
call fcn.100281a3
add esp, 8
mov dword [esp + 0x1c0], 0
mov dword [esp + 0x1c4], 0xf
mov byte [esp + 0x1b0], 0
test ebx, 0x1000000
je 0x1001ac62
mov edx, dword [esp + 0x1dc]
and ebx, 0xfeffffff
cmp edx, 0x10
jb 0x1001ac44
mov ecx, dword [esp + 0x1c8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1001ac3a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100204ab
push edx
push ecx
call fcn.100281a3
add esp, 8
mov dword [esp + 0x1d8], 0
mov dword [esp + 0x1dc], 0xf
mov byte [esp + 0x1c8], 0
test ebx, 0x800000
je 0x1001acca
mov edx, dword [esp + 0x1f4]
and ebx, 0xff7fffff
cmp edx, 0x10
jb 0x1001acac
mov ecx, dword [esp + 0x1e0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1001aca2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100204ab
push edx
push ecx
call fcn.100281a3
add esp, 8
mov dword [esp + 0x1f0], 0
mov dword [esp + 0x1f4], 0xf
mov byte [esp + 0x1e0], 0
test ebx, 0x400000
je 0x1001ad17
mov eax, dword [esp + 0x614]
and ebx, 0xffbfffff
cmp eax, 0x10
jb 0x1001acf9
inc eax
lea ecx, [esp + 0x600]
push eax
push dword [esp + 0x604]
call fcn.10002b90
mov dword [esp + 0x610], 0
mov dword [esp + 0x614], 0xf
mov byte [esp + 0x600], 0
test ebx, 0x200000
je 0x1001ad64
mov eax, dword [esp + 0x41c]
and ebx, 0xffdfffff
cmp eax, 0x10
jb 0x1001ad46
inc eax
lea ecx, [esp + 0x408]
push eax
push dword [esp + 0x40c]
call fcn.10002b90
mov dword [esp + 0x418], 0
mov dword [esp + 0x41c], 0xf
mov byte [esp + 0x408], 0
test ebx, 0x100000
je 0x1001adb1
mov eax, dword [esp + 0x62c]
and ebx, 0xffefffff
cmp eax, 0x10
jb 0x1001ad93
inc eax
lea ecx, [esp + 0x618]
push eax
push dword [esp + 0x61c]
call fcn.10002b90
mov dword [esp + 0x628], 0
mov dword [esp + 0x62c], 0xf
mov byte [esp + 0x618], 0
test ebx, 0x80000
je 0x1001adfe
mov eax, dword [esp + 0x434]
and ebx, 0xfff7ffff
cmp eax, 0x10
jb 0x1001ade0
inc eax
lea ecx, [esp + 0x420]
push eax
push dword [esp + 0x424]
call fcn.10002b90
mov dword [esp + 0x430], 0
mov dword [esp + 0x434], 0xf
mov byte [esp + 0x420], 0
test ebx, 0x40000
je 0x1001ae4b
mov eax, dword [esp + 0x44c]
and ebx, 0xfffbffff
cmp eax, 0x10
jb 0x1001ae2d
inc eax
lea ecx, [esp + 0x438]
push eax
push dword [esp + 0x43c]
call fcn.10002b90
mov dword [esp + 0x448], 0
mov dword [esp + 0x44c], 0xf
mov byte [esp + 0x438], 0
test ebx, 0x20000
je 0x1001ae98
mov eax, dword [esp + 0x464]
and ebx, 0xfffdffff
cmp eax, 0x10
jb 0x1001ae7a
inc eax
lea ecx, [esp + 0x450]
push eax
push dword [esp + 0x454]
call fcn.10002b90
mov dword [esp + 0x460], 0
mov dword [esp + 0x464], 0xf
mov byte [esp + 0x450], 0
test ebx, 0x10000
je 0x1001aee5
mov eax, dword [esp + 0x644]
and ebx, 0xfffeffff
cmp eax, 0x10
jb 0x1001aec7
inc eax
lea ecx, [esp + 0x630]
push eax
push dword [esp + 0x634]
call fcn.10002b90
mov dword [esp + 0x640], 0
mov dword [esp + 0x644], 0xf
mov byte [esp + 0x630], 0
test ebx, 0x8000
je 0x1001af32
mov eax, dword [esp + 0x47c]
and ebx, 0xffff7fff
cmp eax, 0x10
jb 0x1001af14
inc eax
lea ecx, [esp + 0x468]
push eax
push dword [esp + 0x46c]
call fcn.10002b90
mov dword [esp + 0x478], 0
mov dword [esp + 0x47c], 0xf
mov byte [esp + 0x468], 0
test ebx, 0x4000
je 0x1001af7f
mov eax, dword [esp + 0x65c]
and ebx, 0xffffbfff
cmp eax, 0x10
jb 0x1001af61
inc eax
lea ecx, [esp + 0x648]
push eax
push dword [esp + 0x64c]
call fcn.10002b90
mov dword [esp + 0x658], 0
mov dword [esp + 0x65c], 0xf
mov byte [esp + 0x648], 0
test ebx, 0x2000
je 0x1001afcc
mov eax, dword [esp + 0x494]
and ebx, 0xffffdfff
cmp eax, 0x10
jb 0x1001afae
inc eax
lea ecx, [esp + 0x480]
push eax
push dword [esp + 0x484]
call fcn.10002b90
mov dword [esp + 0x490], 0
mov dword [esp + 0x494], 0xf
mov byte [esp + 0x480], 0
test ebx, 0x1000
je 0x1001b019
mov eax, dword [esp + 0x4ac]
and ebx, 0xffffefff
cmp eax, 0x10
jb 0x1001affb
inc eax
lea ecx, [esp + 0x498]
push eax
push dword [esp + 0x49c]
call fcn.10002b90
mov dword [esp + 0x4a8], 0
mov dword [esp + 0x4ac], 0xf
mov byte [esp + 0x498], 0
test ebx, 0x800
je 0x1001b066
mov eax, dword [esp + 0x674]
and ebx, 0xfffff7ff
cmp eax, 0x10
jb 0x1001b048
inc eax
lea ecx, [esp + 0x660]
push eax
push dword [esp + 0x664]
call fcn.10002b90
mov dword [esp + 0x670], 0
mov dword [esp + 0x674], 0xf
mov byte [esp + 0x660], 0
test ebx, 0x400
je 0x1001b0ce
mov edx, dword [esp + 0x20c]
and ebx, 0xfffffbff
cmp edx, 0x10
jb 0x1001b0b0
mov ecx, dword [esp + 0x1f8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1001b0a6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100204ab
push edx
push ecx
call fcn.100281a3
add esp, 8
mov dword [esp + 0x208], 0
mov dword [esp + 0x20c], 0xf
mov byte [esp + 0x1f8], 0
test ebx, 0x200
je 0x1001b136
mov edx, dword [esp + 0x224]
and ebx, 0xfffffdff
cmp edx, 0x10
jb 0x1001b118
mov ecx, dword [esp + 0x210]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1001b10e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100204ab
push edx
push ecx
call fcn.100281a3
add esp, 8
mov dword [esp + 0x220], 0
mov dword [esp + 0x224], 0xf
mov byte [esp + 0x210], 0
test ebx, 0x100
je 0x1001b19e
mov edx, dword [esp + 0x23c]
and ebx, 0xfffffeff
cmp edx, 0x10
jb 0x1001b180
mov ecx, dword [esp + 0x228]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1001b176
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100204ab
push edx
push ecx
call fcn.100281a3
add esp, 8
mov dword [esp + 0x238], 0
mov dword [esp + 0x23c], 0xf
mov byte [esp + 0x228], 0
test bl, bl
jns 0x1001b202
mov edx, dword [esp + 0x254]
and ebx, 0xffffff7f
cmp edx, 0x10
jb 0x1001b1e4
mov ecx, dword [esp + 0x240]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1001b1da
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100204ab
push edx
push ecx
call fcn.100281a3
add esp, 8
mov dword [esp + 0x250], 0
mov dword [esp + 0x254], 0xf
mov byte [esp + 0x240], 0
test bl, 0x40
je 0x1001b264
mov edx, dword [esp + 0x26c]
and ebx, 0xffffffbf
cmp edx, 0x10
jb 0x1001b246
mov ecx, dword [esp + 0x258]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1001b23c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100204ab
push edx
push ecx
call fcn.100281a3
add esp, 8
mov dword [esp + 0x268], 0
mov dword [esp + 0x26c], 0xf
mov byte [esp + 0x258], 0
test bl, 0x20
je 0x1001b2c6
mov edx, dword [esp + 0x284]
and ebx, 0xffffffdf
cmp edx, 0x10
jb 0x1001b2a8
mov ecx, dword [esp + 0x270]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1001b29e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100204ab
push edx
push ecx
call fcn.100281a3
add esp, 8
mov dword [esp + 0x280], 0
mov dword [esp + 0x284], 0xf
mov byte [esp + 0x270], 0
test bl, 0x10
je 0x1001b328
mov edx, dword [esp + 0x29c]
and ebx, 0xffffffef
cmp edx, 0x10
jb 0x1001b30a
mov ecx, dword [esp + 0x288]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1001b300
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100204ab
push edx
push ecx
call fcn.100281a3
add esp, 8
mov dword [esp + 0x298], 0
mov dword [esp + 0x29c], 0xf
mov byte [esp + 0x288], 0
test bl, 8
je 0x1001b38a
mov edx, dword [esp + 0x2b4]
and ebx, 0xfffffff7
cmp edx, 0x10
jb 0x1001b36c
mov ecx, dword [esp + 0x2a0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1001b362
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100204ab
push edx
push ecx
call fcn.100281a3
add esp, 8
mov dword [esp + 0x2b0], 0
mov dword [esp + 0x2b4], 0xf
mov byte [esp + 0x2a0], 0
test bl, 4
je 0x1001b3ec
mov edx, dword [esp + 0x2cc]
and ebx, 0xfffffffb
cmp edx, 0x10
jb 0x1001b3ce
mov ecx, dword [esp + 0x2b8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1001b3c4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100204ab
push edx
push ecx
call fcn.100281a3
add esp, 8
mov dword [esp + 0x2c8], 0
mov dword [esp + 0x2cc], 0xf
mov byte [esp + 0x2b8], 0
test bl, 2
je 0x1001b44e
mov edx, dword [esp + 0x2e4]
and ebx, 0xfffffffd
cmp edx, 0x10
jb 0x1001b430
mov ecx, dword [esp + 0x2d0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1001b426
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100204ab
push edx
push ecx
call fcn.100281a3
add esp, 8
mov dword [esp + 0x2e0], 0
mov dword [esp + 0x2e4], 0xf
mov byte [esp + 0x2d0], 0
test bl, 1
je 0x1001b4b0
mov edx, dword [esp + 0x2fc]
and ebx, 0xfffffffe
cmp edx, 0x10
jb 0x1001b492
mov ecx, dword [esp + 0x2e8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1001b488
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100204ab
push edx
push ecx
call fcn.100281a3
add esp, 8
mov dword [esp + 0x2f8], 0
mov dword [esp + 0x2fc], 0xf
mov byte [esp + 0x2e8], 0
mov eax, dword [esp + 0x24]
test eax, eax
jns 0x1001b506
mov ecx, dword [esp + 0x68c]
and eax, 0x7fffffff
mov dword [esp + 0x24], eax
cmp ecx, 0x10
jb 0x1001b4e8
lea eax, [ecx + 1]
push eax
push dword [esp + 0x67c]
lea ecx, [esp + 0x680]
call fcn.10002b90
mov eax, dword [esp + 0x24]
mov dword [esp + 0x688], 0
mov dword [esp + 0x68c], 0xf
mov byte [esp + 0x678], 0
test eax, 0x40000000
je 0x1001b55b
mov ecx, dword [esp + 0x4c4]
and eax, 0xbfffffff
mov dword [esp + 0x24], eax
cmp ecx, 0x10
jb 0x1001b53d
lea eax, [ecx + 1]
push eax
push dword [esp + 0x4b4]
lea ecx, [esp + 0x4b8]
call fcn.10002b90
mov eax, dword [esp + 0x24]
mov dword [esp + 0x4c0], 0
mov dword [esp + 0x4c4], 0xf
mov byte [esp + 0x4b0], 0
test eax, 0x20000000
je 0x1001b5b0
mov ecx, dword [esp + 0x6a4]
and eax, 0xdfffffff
mov dword [esp + 0x24], eax
cmp ecx, 0x10
jb 0x1001b592
lea eax, [ecx + 1]
push eax
push dword [esp + 0x694]
lea ecx, [esp + 0x698]
call fcn.10002b90
mov eax, dword [esp + 0x24]
mov dword [esp + 0x6a0], 0
mov dword [esp + 0x6a4], 0xf
mov byte [esp + 0x690], 0
test eax, 0x10000000
je 0x1001b605
mov ecx, dword [esp + 0x4dc]
and eax, 0xefffffff
mov dword [esp + 0x24], eax
cmp ecx, 0x10
jb 0x1001b5e7
lea eax, [ecx + 1]
push eax
push dword [esp + 0x4cc]
lea ecx, [esp + 0x4d0]
call fcn.10002b90
mov eax, dword [esp + 0x24]
mov dword [esp + 0x4d8], 0
mov dword [esp + 0x4dc], 0xf
mov byte [esp + 0x4c8], 0
test eax, 0x8000000
je 0x1001b65a
mov ecx, dword [esp + 0x4f4]
and eax, 0xf7ffffff
mov dword [esp + 0x24], eax
cmp ecx, 0x10
jb 0x1001b63c
lea eax, [ecx + 1]
push eax
push dword [esp + 0x4e4]
lea ecx, [esp + 0x4e8]
call fcn.10002b90
mov eax, dword [esp + 0x24]
mov dword [esp + 0x4f0], 0
mov dword [esp + 0x4f4], 0xf
mov byte [esp + 0x4e0], 0
test eax, 0x4000000
je 0x1001b67a
and eax, 0xfbffffff
lea ecx, [esp + 0x13f8]
mov dword [esp + 0x24], eax
call fcn.10014e04
mov eax, dword [esp + 0x24]
test eax, 0x2000000
je 0x1001b69a
and eax, 0xfdffffff
lea ecx, [esp + 0x12a8]
mov dword [esp + 0x24], eax
call fcn.10014e04
mov eax, dword [esp + 0x24]
test eax, 0x1000000
je 0x1001b6ba
and eax, 0xfeffffff
lea ecx, [esp + 0x12c0]
mov dword [esp + 0x24], eax
call fcn.10014e04
mov eax, dword [esp + 0x24]
test eax, 0x800000
je 0x1001b6da
and eax, 0xff7fffff
lea ecx, [esp + 0x12d8]
mov dword [esp + 0x24], eax
call fcn.10014e04
mov eax, dword [esp + 0x24]
test eax, 0x400000
je 0x1001b6fa
and eax, 0xffbfffff
lea ecx, [esp + 0x12f0]
mov dword [esp + 0x24], eax
call fcn.10014e04
mov eax, dword [esp + 0x24]
test eax, 0x200000
je 0x1001b71a
and eax, 0xffdfffff
lea ecx, [esp + 0x1308]
mov dword [esp + 0x24], eax
call fcn.10014e04
mov eax, dword [esp + 0x24]
test eax, 0x100000
je 0x1001b73a
and eax, 0xffefffff
lea ecx, [esp + 0x1320]
mov dword [esp + 0x24], eax
call fcn.10014e04
mov eax, dword [esp + 0x24]
test eax, 0x80000
je 0x1001b75a
and eax, 0xfff7ffff
lea ecx, [esp + 0x1410]
mov dword [esp + 0x24], eax
call fcn.10014e04
mov eax, dword [esp + 0x24]
test eax, 0x40000
je 0x1001b77a
and eax, 0xfffbffff
lea ecx, [esp + 0x1428]
mov dword [esp + 0x24], eax
call fcn.10014e04
mov eax, dword [esp + 0x24]
test eax, 0x20000
je 0x1001b79a
and eax, 0xfffdffff
lea ecx, [esp + 0x1338]
mov dword [esp + 0x24], eax
call fcn.10014e04
mov eax, dword [esp + 0x24]
test eax, 0x10000
je 0x1001b7ba
and eax, 0xfffeffff
lea ecx, [esp + 0x1440]
mov dword [esp + 0x24], eax
call fcn.10014e04
mov eax, dword [esp + 0x24]
test eax, 0x8000
je 0x1001b7da
and eax, 0xffff7fff
lea ecx, [esp + 0x6c0]
mov dword [esp + 0x24], eax
call fcn.10014e04
mov eax, dword [esp + 0x24]
test eax, 0x4000
je 0x1001b7fa
and eax, 0xffffbfff
lea ecx, [esp + 0x6d8]
mov dword [esp + 0x24], eax
call fcn.10014e04
mov eax, dword [esp + 0x24]
test eax, 0x2000
je 0x1001b81a
and eax, 0xffffdfff
lea ecx, [esp + 0x6f0]
mov dword [esp + 0x24], eax
call fcn.10014e04
mov eax, dword [esp + 0x24]
test eax, 0x1000
je 0x1001b83a
and eax, 0xffffefff
lea ecx, [esp + 0x1458]
mov dword [esp + 0x24], eax
call fcn.10014e04
mov eax, dword [esp + 0x24]
test eax, 0x800
je 0x1001b85a
and eax, 0xfffff7ff
lea ecx, [esp + 0x708]
mov dword [esp + 0x24], eax
call fcn.10014e04
mov eax, dword [esp + 0x24]
test eax, 0x400
je 0x1001b87a
and eax, 0xfffffbff
lea ecx, [esp + 0x720]
mov dword [esp + 0x24], eax
call fcn.10014e04
mov eax, dword [esp + 0x24]
test eax, 0x200
je 0x1001b89a
and eax, 0xfffffdff
lea ecx, [esp + 0x738]
mov dword [esp + 0x24], eax
call fcn.10014e04
mov eax, dword [esp + 0x24]
test eax, 0x100
je 0x1001b8ba
and eax, 0xfffffeff
lea ecx, [esp + 0x750]
mov dword [esp + 0x24], eax
call fcn.10014e04
mov eax, dword [esp + 0x24]
test al, al
jns 0x1001b8d7
and eax, 0xffffff7f
lea ecx, [esp + 0x300]
mov dword [esp + 0x24], eax
call fcn.10014e04
mov eax, dword [esp + 0x24]
test al, 0x40
je 0x1001b8f2
and eax, 0xffffffbf
lea ecx, [esp + 0x768]
mov dword [esp + 0x24], eax
call fcn.10014e04
mov eax, dword [esp + 0x24]
test al, 0x20
je 0x1001b90d
and eax, 0xffffffdf
lea ecx, [esp + 0x780]
mov dword [esp + 0x24], eax
call fcn.10014e04
mov eax, dword [esp + 0x24]
test al, 0x10
je 0x1001b928
and eax, 0xffffffef
lea ecx, [esp + 0x798]
mov dword [esp + 0x24], eax
call fcn.10014e04
mov eax, dword [esp + 0x24]
test al, 8
je 0x1001b943
and eax, 0xfffffff7
lea ecx, [esp + 0x7b0]
mov dword [esp + 0x24], eax
call fcn.10014e04
mov eax, dword [esp + 0x24]
test al, 4
je 0x1001b95e
and eax, 0xfffffffb
lea ecx, [esp + 0x7c8]
mov dword [esp + 0x24], eax
call fcn.10014e04
mov eax, dword [esp + 0x24]
test al, 2
je 0x1001b979
and eax, 0xfffffffd
lea ecx, [esp + 0x7e0]
mov dword [esp + 0x24], eax
call fcn.10014e04
mov eax, dword [esp + 0x24]
test al, 1
je 0x1001b990
and eax, 0xfffffffe
lea ecx, [esp + 0x7f8]
mov dword [esp + 0x24], eax
call fcn.10014e04
lea ecx, [esp + 0x1470]
call fcn.10014e04
lea ecx, [esp + 0x1350]
call fcn.10014e04
lea ecx, [esp + 0x1488]
call fcn.10014e04
lea ecx, [esp + 0x1368]
call fcn.10014e04
lea ecx, [esp + 0x1380]
call fcn.10014e04
lea ecx, [esp + 0x1398]
call fcn.10014e04
lea ecx, [esp + 0x14a0]
call fcn.10014e04
lea ecx, [esp + 0x13b0]
call fcn.10014e04
lea ecx, [esp + 0x14b8]
call fcn.10014e04
lea ecx, [esp + 0x13c8]
call fcn.10014e04
lea ecx, [esp + 0x13e0]
call fcn.10014e04
lea ecx, [esp + 0x14d0]
call fcn.10014e04
lea ecx, [esp + 0x810]
call fcn.10014e04
lea ecx, [esp + 0x828]
call fcn.10014e04
lea ecx, [esp + 0x840]
call fcn.10014e04
lea ecx, [esp + 0x858]
call fcn.10014e04
lea ecx, [esp + 0x870]
call fcn.10014e04
lea ecx, [esp + 0x888]
call fcn.10014e04
lea ecx, [esp + 0x8a0]
call fcn.10014e04
lea ecx, [esp + 0x8b8]
call fcn.10014e04
lea ecx, [esp + 0x8d0]
call fcn.10014e04
lea ecx, [esp + 0x8e8]
call fcn.10014e04
lea ecx, [esp + 0x900]
call fcn.10014e04
cmp esi, 0xffffffff
jne 0x1001bad7
cmp dword [esp + 0x60], 0
jne 0x10020479
lea eax, [esp + 0x1290]
mov ecx, 0x100b90b8
push eax
call fcn.10018390
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x60], 1
jmp 0x100190a4
movsd xmm0, qword [0x100bbf98]
ucomisd xmm0, qword [0x1009da70]
lahf
test ah, 0x44
jp 0x1001bc1d
sub esp, 8
movsd qword [esp], xmm0
call fcn.10058950
movsd xmm0, qword [0x1009d9f0]
divsd xmm0, qword [0x100bbfa0]
movsd qword [esp + 0x30], xmm0
fmul qword [esp + 0x30]
movsd xmm0, qword [0x100bbf98]
movsd qword [esp], xmm0
fstp qword [esp + 0x30]
call fcn.100549d3
fdivr qword [esp + 0x30]
movsd xmm0, qword [0x100bbfa0]
movsd qword [esp], xmm0
sub esp, 8
movsd xmm0, qword [0x100bbf98]
fstp qword [esp + 0x38]
movsd qword [esp], xmm0
call fcn.10054afe
fdivr qword [esp + 0x38]
add esp, 8
movsd xmm1, qword [0x100bbf98]
fadd qword [0x1009da50]
movaps xmm0, xmm1
movsd qword [esp], xmm1
mulsd xmm0, qword [0x1009d9f8]
fstp qword [esp + 0x30]
addsd xmm0, qword [esp + 0x30]
movsd qword [0x100bbfa0], xmm0
call fcn.10058950
movsd xmm0, qword [0x1009d9f0]
divsd xmm0, qword [0x100bbfa0]
movsd qword [esp + 0x30], xmm0
fmul qword [esp + 0x30]
movsd xmm0, qword [0x100bbf98]
movsd qword [esp], xmm0
fstp qword [esp + 0x30]
call fcn.100549d3
fdivr qword [esp + 0x30]
movsd xmm0, qword [0x100bbfa0]
movsd qword [esp], xmm0
sub esp, 8
movsd xmm0, qword [0x100bbf98]
fstp qword [esp + 0x38]
movsd qword [esp], xmm0
call fcn.10054afe
fdivr qword [esp + 0x38]
add esp, 0x10
movsd xmm0, qword [0x100bbf98]
fadd qword [0x1009d9b8]
mulsd xmm0, qword [0x1009d9f8]
fstp qword [esp + 0x28]
addsd xmm0, qword [esp + 0x28]
movsd qword [0x100bbf98], xmm0
movsd xmm1, qword [0x100bbfa0]
mov esi, 0x61dba
ucomisd xmm1, qword [0x1009da68]
lahf
test ah, 0x44
jp 0x1001c085
nop dword [eax]
cmp esi, 0x61dbb
jge 0x1001c085
sub esp, 8
movsd qword [esp], xmm1
call fcn.10058830
fdivr qword [0x1009d9c0]
movsd xmm0, qword [0x100bbfa0]
fmul qword [0x100bbf98]
movsd qword [esp], xmm0
fstp qword [esp + 0x30]
call fcn.100571b0
movsd xmm0, qword [0x1009da28]
divsd xmm0, qword [0x100bbf98]
fdivr qword [esp + 0x30]
addsd xmm0, qword [0x1009da20]
fstp qword [esp + 0x30]
addsd xmm0, qword [esp + 0x30]
movsd qword [esp + 0x58], xmm0
movsd xmm0, qword [0x100bbfa0]
movsd qword [esp], xmm0
sub esp, 8
movsd qword [esp], xmm0
call fcn.10054e8c
fmul qword [0x1009da60]
add esp, 8
movsd xmm0, qword [0x100bbf98]
movsd qword [esp], xmm0
fstp qword [esp + 0x30]
call fcn.100548d6
fdivr qword [esp + 0x30]
movsd xmm0, qword [0x100bbf98]
fstp qword [esp + 0x30]
movsd qword [esp], xmm0
call fcn.10058790
movsd xmm0, qword [0x100bbf98]
fmul qword [esp + 0x30]
movsd qword [esp], xmm0
sub esp, 8
movsd xmm0, qword [0x100bbfa0]
fstp qword [esp + 0x38]
movsd qword [esp], xmm0
call fcn.10054afe
fdivr qword [esp + 0x38]
add esp, 8
movsd xmm0, qword [0x100bbfa0]
fstp qword [esp + 0x30]
movsd qword [esp], xmm0
call fcn.10058790
fdivr qword [esp + 0x30]
fsubr qword [esp + 0x58]
fstp qword [0x100bbfa0]
movsd xmm0, qword [0x100bbfa0]
movsd qword [esp], xmm0
call fcn.10058830
fdivr qword [0x1009d9c0]
movsd xmm0, qword [0x100bbfa0]
fmul qword [0x100bbf98]
movsd qword [esp], xmm0
fstp qword [esp + 0x30]
call fcn.100571b0
movsd xmm0, qword [0x1009da28]
divsd xmm0, qword [0x100bbf98]
fdivr qword [esp + 0x30]
addsd xmm0, qword [0x1009da38]
fstp qword [esp + 0x30]
addsd xmm0, qword [esp + 0x30]
movsd qword [esp + 0x58], xmm0
movsd xmm0, qword [0x100bbfa0]
movsd qword [esp], xmm0
sub esp, 8
movsd qword [esp], xmm0
call fcn.10054e8c
fmul qword [0x1009da60]
add esp, 8
movsd xmm0, qword [0x100bbf98]
movsd qword [esp], xmm0
fstp qword [esp + 0x30]
call fcn.100548d6
fdivr qword [esp + 0x30]
movsd xmm0, qword [0x100bbf98]
fstp qword [esp + 0x30]
movsd qword [esp], xmm0
call fcn.10058790
movsd xmm0, qword [0x100bbf98]
fmul qword [esp + 0x30]
movsd qword [esp], xmm0
sub esp, 8
movsd xmm0, qword [0x100bbfa0]
fstp qword [esp + 0x38]
movsd qword [esp], xmm0
call fcn.10054afe
fdivr qword [esp + 0x38]
add esp, 8
movsd xmm0, qword [0x100bbfa0]
fstp qword [esp + 0x30]
movsd qword [esp], xmm0
call fcn.10058790
fdivr qword [esp + 0x30]
movsd xmm0, qword [0x100bbfa0]
fsubr qword [esp + 0x58]
movsd qword [esp], xmm0
fstp qword [0x100bbf98]
call fcn.10058830
fdivr qword [0x1009d9c0]
movsd xmm0, qword [0x100bbfa0]
fmul qword [0x100bbf98]
movsd qword [esp], xmm0
fstp qword [esp + 0x30]
call fcn.100571b0
movsd xmm0, qword [0x1009da28]
divsd xmm0, qword [0x100bbf98]
fdivr qword [esp + 0x30]
addsd xmm0, qword [0x1009d9e8]
fstp qword [esp + 0x30]
addsd xmm0, qword [esp + 0x30]
movsd qword [esp + 0x58], xmm0
movsd xmm0, qword [0x100bbfa0]
movsd qword [esp], xmm0
sub esp, 8
movsd qword [esp], xmm0
call fcn.10054e8c
fmul qword [0x1009da60]
add esp, 8
movsd xmm0, qword [0x100bbf98]
movsd qword [esp], xmm0
fstp qword [esp + 0x30]
call fcn.100548d6
fdivr qword [esp + 0x30]
movsd xmm0, qword [0x100bbf98]
fstp qword [esp + 0x30]
movsd qword [esp], xmm0
call fcn.10058790
movsd xmm0, qword [0x100bbf98]
fmul qword [esp + 0x30]
movsd qword [esp], xmm0
sub esp, 8
movsd xmm0, qword [0x100bbfa0]
fstp qword [esp + 0x38]
movsd qword [esp], xmm0
call fcn.10054afe
fdivr qword [esp + 0x38]
add esp, 8
movsd xmm0, qword [0x100bbfa0]
fstp qword [esp + 0x30]
movsd qword [esp], xmm0
call fcn.10058790
fdivr qword [esp + 0x30]
movsd xmm0, qword [0x100bbfa0]
fsubr qword [esp + 0x58]
movsd qword [esp], xmm0
fstp qword [0x100bbf98]
call fcn.10058830
fdivr qword [0x1009d9c0]
movsd xmm0, qword [0x100bbfa0]
fmul qword [0x100bbf98]
movsd qword [esp], xmm0
fstp qword [esp + 0x30]
call fcn.100571b0
movsd xmm0, qword [0x1009da28]
divsd xmm0, qword [0x100bbf98]
fdivr qword [esp + 0x30]
addsd xmm0, qword [0x1009da10]
fstp qword [esp + 0x30]
addsd xmm0, qword [esp + 0x30]
movsd qword [esp + 0x58], xmm0
movsd xmm0, qword [0x100bbfa0]
movsd qword [esp], xmm0
sub esp, 8
movsd qword [esp], xmm0
call fcn.10054e8c
fmul qword [0x1009da60]
add esp, 8
movsd xmm0, qword [0x100bbf98]
movsd qword [esp], xmm0
fstp qword [esp + 0x30]
call fcn.100548d6
fdivr qword [esp + 0x30]
movsd xmm0, qword [0x100bbf98]
fstp qword [esp + 0x30]
movsd qword [esp], xmm0
call fcn.10058790
movsd xmm0, qword [0x100bbf98]
fmul qword [esp + 0x30]
movsd qword [esp], xmm0
sub esp, 8
movsd xmm0, qword [0x100bbfa0]
fstp qword [esp + 0x38]
movsd qword [esp], xmm0
call fcn.10054afe
fdivr qword [esp + 0x38]
add esp, 8
movsd xmm0, qword [0x100bbfa0]
fstp qword [esp + 0x30]
movsd qword [esp], xmm0
call fcn.10058790
fdivr qword [esp + 0x30]
add esp, 8
inc esi
movsd xmm1, qword [0x100bbfa0]
ucomisd xmm1, qword [0x1009da68]
fsubr qword [esp + 0x50]
lahf
fstp qword [0x100bbf98]
test ah, 0x44
jnp 0x1001bc40
push 3
mov ecx, 0x100b8c68
mov dword [esp + 0xca4], 0
mov dword [esp + 0xca8], 0xf
mov byte [esp + 0xc94], 0
mov dword [esp + 0xc8c], 0
mov dword [esp + 0xc90], 0xf
mov byte [esp + 0xc7c], 0
mov dword [esp + 0xc74], 0
mov dword [esp + 0xc78], 0xf
mov byte [esp + 0xc64], 0
mov dword [esp + 0xc5c], 0
mov dword [esp + 0xc60], 0xf
mov byte [esp + 0xc4c], 0
mov dword [esp + 0xc44], 0
mov dword [esp + 0xc48], 0xf
mov byte [esp + 0xc34], 0
mov dword [esp + 0xc2c], 0
mov dword [esp + 0xc30], 0xf
mov byte [esp + 0xc1c], 0
mov dword [esp + 0xc14], 0
mov dword [esp + 0xc18], 0xf
mov byte [esp + 0xc04], 0
mov dword [esp + 0xbfc], 0
mov dword [esp + 0xc00], 0xf
mov byte [esp + 0xbec], 0
call fcn.10014e34
movzx ecx, byte [0x100b8f66]
mov esi, eax
push ecx
movzx ecx, byte [0x100b906a]
lea eax, [esp + 0xc94]
push eax
push ecx
lea eax, [esp + 0xc84]
push eax
lea eax, [esp + 0xc70]
push eax
movzx eax, byte [0x100b8bea]
push eax
lea eax, [esp + 0x1ba8]
push eax
call fcn.100146a8
add esp, 0xc
push eax
lea eax, [esp + 0xc5c]
push eax
movzx eax, byte [0x100b8822]
push eax
lea eax, [esp + 0xc4c]
push eax
movzx eax, byte [esi]
push eax
lea eax, [esp + 0x1b9c]
push eax
call fcn.100146a8
add esp, 0xc
push eax
movzx eax, byte [0x100b8cc4]
push eax
lea eax, [esp + 0xc3c]
push eax
lea eax, [esp + 0xc28]
push eax
movzx eax, byte [0x100b8825]
push eax
lea eax, [esp + 0xc18]
push eax
movsx eax, byte [0x100b8b69]
push eax
call fcn.100546b4
add esp, 4
push eax
lea eax, [esp + 0x1b98]
push eax
call fcn.100146a8
add esp, 0xc
push eax
lea eax, [esp + 0x1b7c]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0x1b60]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x1b44]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x1b28]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0x1b0c]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x1af0]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0x1ad4]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x1ab8]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x1a9c]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x1a80]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0x1a64]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x1a48]
push eax
call fcn.10014683
add esp, 0xc
mov ecx, eax
call fcn.10015e1d
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [0x100bc104], eax
test eax, eax
je 0x1001c70d
mov edi, dword [esp + 0x3c]
mov ecx, 0x100b8f30
or edi, 0x800000
mov dword [esp + 0xbe0], 0
push 3
mov dword [esp + 0x40], edi
mov dword [esp + 0xbe8], 0xf
mov byte [esp + 0xbd4], 0
mov dword [esp + 0xbcc], 0
mov dword [esp + 0xbd0], 0xf
mov byte [esp + 0xbbc], 0
mov dword [esp + 0xbb4], 0
mov dword [esp + 0xbb8], 0xf
mov byte [esp + 0xba4], 0
mov dword [esp + 0xb9c], 0
mov dword [esp + 0xba0], 0xf
mov byte [esp + 0xb8c], 0
mov dword [esp + 0xb84], 0
mov dword [esp + 0xb88], 0xf
mov byte [esp + 0xb74], 0
mov dword [esp + 0xb6c], 0
mov dword [esp + 0xb70], 0xf
mov byte [esp + 0xb5c], 0
mov dword [esp + 0xb54], 0
mov dword [esp + 0xb58], 0xf
mov byte [esp + 0xb44], 0
mov dword [esp + 0xb3c], 0
mov dword [esp + 0xb40], 0xf
mov byte [esp + 0xb2c], 0
mov dword [esp + 0xb24], 0
mov dword [esp + 0xb28], 0xf
mov byte [esp + 0xb14], 0
mov dword [esp + 0xb0c], 0
mov dword [esp + 0xb10], 0xf
mov byte [esp + 0xafc], 0
mov dword [esp + 0xaf4], 0
mov dword [esp + 0xaf8], 0xf
mov byte [esp + 0xae4], 0
call fcn.10014e34
push 4
mov ecx, 0x100b8b38
mov esi, eax
call fcn.10014e34
push 3
mov ecx, 0x100b8b38
mov edi, eax
call fcn.10014e34
push 2
mov ecx, 0x100b8920
mov ebx, eax
call fcn.10014e34
push 3
mov ecx, 0x100b8e00
mov dword [esp + 0x2c], eax
call fcn.10014e34
movzx ecx, byte [0x100b8822]
mov dword [esp + 0x50], eax
lea eax, [esp + 0xbd0]
push eax
push ecx
lea eax, [esp + 0x1a30]
push eax
call fcn.100146a8
add esp, 0xc
push eax
movzx eax, byte [esi]
push eax
lea eax, [esp + 0xbc0]
push eax
movzx eax, byte [edi]
push eax
lea eax, [esp + 0xbb0]
push eax
lea eax, [esp + 0x1a24]
push eax
call fcn.10014683
add esp, 0xc
push eax
movsx eax, byte [0x100b8dc1]
push eax
call fcn.100546b4
push eax
lea eax, [esp + 0xba0]
push eax
lea eax, [esp + 0x1a14]
push eax
call fcn.10014683
add esp, 0x10
push eax
movzx eax, byte [0x100b8825]
push eax
lea eax, [esp + 0xb88]
push eax
movzx eax, byte [0x100b8bee]
push eax
lea eax, [esp + 0xb78]
push eax
lea eax, [esp + 0x1a04]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0xb60]
push eax
movzx eax, byte [ebx]
push eax
lea eax, [esp + 0x19f0]
push eax
call fcn.100146a8
add esp, 0xc
push eax
lea eax, [esp + 0xb4c]
push eax
mov eax, dword [esp + 0x50]
movsx eax, byte [eax]
push eax
call fcn.100546b4
add esp, 4
push eax
lea eax, [esp + 0x19dc]
push eax
call fcn.100146a8
add esp, 0xc
push eax
lea eax, [esp + 0xb38]
push eax
mov eax, dword [esp + 0x7c]
movzx eax, byte [eax]
push eax
movzx eax, byte [0x100b8822]
push eax
lea eax, [esp + 0xb2c]
push eax
lea eax, [esp + 0x19d0]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0xb14]
push eax
movsx eax, byte [0x100b893b]
push eax
call fcn.100546b4
add esp, 4
push eax
lea eax, [esp + 0x19bc]
push eax
call fcn.100146a8
add esp, 0xc
push eax
lea eax, [esp + 0x19a0]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x1984]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0x1968]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x194c]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x1930]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x1914]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x18f8]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x18dc]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0x18c0]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x18a4]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x1888]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x186c]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0x1850]
push eax
call fcn.1001466a
add esp, 0xc
mov ecx, eax
call fcn.10015e1d
push eax
push dword [0x100bc104]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ebx, dword [esp + 0x3c]
mov edx, eax
or ebx, 0xff000000
mov ecx, 0x7fffff
jmp 0x1001cd99
push 3
mov ecx, 0x100b8c68
mov dword [esp + 0xadc], 0
mov dword [esp + 0xae0], 0xf
mov byte [esp + 0xacc], 0
mov dword [esp + 0xac4], 0
mov dword [esp + 0xac8], 0xf
mov byte [esp + 0xab4], 0
mov dword [esp + 0xaac], 0
mov dword [esp + 0xab0], 0xf
mov byte [esp + 0xa9c], 0
mov dword [esp + 0xa94], 0
mov dword [esp + 0xa98], 0xf
mov byte [esp + 0xa84], 0
mov dword [esp + 0xa7c], 0
mov dword [esp + 0xa80], 0xf
mov byte [esp + 0xa6c], 0
mov dword [esp + 0xa64], 0
mov dword [esp + 0xa68], 0xf
mov byte [esp + 0xa54], 0
mov dword [esp + 0xa4c], 0
mov dword [esp + 0xa50], 0xf
mov byte [esp + 0xa3c], 0
mov dword [esp + 0xa34], 0
mov dword [esp + 0xa38], 0xf
mov byte [esp + 0xa24], 0
call fcn.10014e34
movzx ecx, byte [0x100b8f66]
mov esi, eax
push ecx
movzx ecx, byte [0x100b906a]
lea eax, [esp + 0xacc]
push eax
push ecx
lea eax, [esp + 0xabc]
push eax
lea eax, [esp + 0xaa8]
push eax
movzx eax, byte [0x100b8bea]
push eax
lea eax, [esp + 0x1848]
push eax
call fcn.100146a8
add esp, 0xc
push eax
lea eax, [esp + 0xa94]
push eax
movzx eax, byte [0x100b8822]
push eax
lea eax, [esp + 0xa84]
push eax
movzx eax, byte [esi]
push eax
lea eax, [esp + 0x183c]
push eax
call fcn.100146a8
add esp, 0xc
push eax
movzx eax, byte [0x100b8cc4]
push eax
lea eax, [esp + 0xa74]
push eax
lea eax, [esp + 0xa60]
push eax
movzx eax, byte [0x100b8825]
push eax
lea eax, [esp + 0xa50]
push eax
movsx eax, byte [0x100b8b69]
push eax
call fcn.100546b4
add esp, 4
push eax
lea eax, [esp + 0x1838]
push eax
call fcn.100146a8
add esp, 0xc
push eax
lea eax, [esp + 0x181c]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0x1800]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x17e4]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x17c8]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0x17ac]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x1790]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0x1774]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x1758]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x173c]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x1720]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0x1704]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x16e8]
push eax
call fcn.10014683
add esp, 0xc
mov ecx, eax
call fcn.10015e1d
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [0x100bc104], eax
test eax, eax
je 0x1001cd85
push 3
mov ecx, 0x100b8f30
mov dword [esp + 0xa1c], 0
mov dword [esp + 0xa20], 0xf
mov byte [esp + 0xa0c], 0
mov dword [esp + 0xa04], 0
mov dword [esp + 0xa08], 0xf
mov byte [esp + 0x9f4], 0
mov dword [esp + 0x9ec], 0
mov dword [esp + 0x9f0], 0xf
mov byte [esp + 0x9dc], 0
mov dword [esp + 0x9d4], 0
mov dword [esp + 0x9d8], 0xf
mov byte [esp + 0x9c4], 0
mov dword [esp + 0x9bc], 0
mov dword [esp + 0x9c0], 0xf
mov byte [esp + 0x9ac], 0
mov dword [esp + 0x9a4], 0
mov dword [esp + 0x9a8], 0xf
mov byte [esp + 0x994], 0
mov dword [esp + 0x98c], 0
mov dword [esp + 0x990], 0xf
mov byte [esp + 0x97c], 0
mov dword [esp + 0x974], 0
mov dword [esp + 0x978], 0xf
mov byte [esp + 0x964], 0
mov dword [esp + 0x95c], 0
mov dword [esp + 0x960], 0xf
mov byte [esp + 0x94c], 0
mov dword [esp + 0x944], 0
mov dword [esp + 0x948], 0xf
mov byte [esp + 0x934], 0
mov dword [esp + 0x92c], 0
mov dword [esp + 0x930], 0xf
mov byte [esp + 0x91c], 0
call fcn.10014e34
push 4
mov ecx, 0x100b8b38
mov esi, eax
call fcn.10014e34
push 3
mov ecx, 0x100b8b38
mov edi, eax
call fcn.10014e34
push 2
mov ecx, 0x100b8920
mov ebx, eax
call fcn.10014e34
push 3
mov ecx, 0x100b8e00
mov dword [esp + 0x2c], eax
call fcn.10014e34
movzx ecx, byte [0x100b8822]
mov dword [esp + 0x50], eax
lea eax, [esp + 0xa08]
push eax
push ecx
lea eax, [esp + 0x16d0]
push eax
call fcn.100146a8
add esp, 0xc
push eax
movzx eax, byte [esi]
push eax
lea eax, [esp + 0x9f8]
push eax
movzx eax, byte [edi]
push eax
lea eax, [esp + 0x9e8]
push eax
lea eax, [esp + 0x16c4]
push eax
call fcn.10014683
add esp, 0xc
push eax
movsx eax, byte [0x100b8dc1]
push eax
call fcn.100546b4
push eax
lea eax, [esp + 0x9d8]
push eax
lea eax, [esp + 0x16b4]
push eax
call fcn.10014683
add esp, 0x10
push eax
movzx eax, byte [0x100b8825]
push eax
lea eax, [esp + 0x9c0]
push eax
movzx eax, byte [0x100b8bee]
push eax
lea eax, [esp + 0x9b0]
push eax
lea eax, [esp + 0x16a4]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0x998]
push eax
movzx eax, byte [ebx]
push eax
lea eax, [esp + 0x1690]
push eax
call fcn.100146a8
add esp, 0xc
push eax
lea eax, [esp + 0x984]
push eax
mov eax, dword [esp + 0x50]
movsx eax, byte [eax]
push eax
call fcn.100546b4
add esp, 4
push eax
lea eax, [esp + 0x167c]
push eax
call fcn.100146a8
add esp, 0xc
push eax
lea eax, [esp + 0x970]
push eax
mov eax, dword [esp + 0x7c]
movzx eax, byte [eax]
push eax
movzx eax, byte [0x100b8822]
push eax
lea eax, [esp + 0x964]
push eax
lea eax, [esp + 0x1670]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0x94c]
push eax
movsx eax, byte [0x100b893b]
push eax
call fcn.100546b4
add esp, 4
push eax
lea eax, [esp + 0x165c]
push eax
call fcn.100146a8
add esp, 0xc
push eax
lea eax, [esp + 0x1640]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x1624]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0x1608]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x15ec]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x15d0]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x15b4]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x1598]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x157c]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0x1560]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x1544]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x1528]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x150c]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0x14f0]
push eax
call fcn.1001466a
add esp, 0xc
mov ecx, eax
call fcn.10015e1d
push eax
push dword [0x100bc104]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edx, eax
or eax, 0xffffffff
mov dword [esp + 0x34], eax
mov eax, 0x3fff
mov dword [esp + 0x48], eax
jmp 0x1001cd90
mov eax, 0x3fff
xor edx, edx
mov dword [esp + 0x34], eax
mov ebx, dword [esp + 0x3c]
mov ecx, 0xff800000
push 0
push dword [esp + 0x60]
mov dword [esp + 0x2c], ecx
call edx
mov edi, eax
mov eax, dword [esp + 0x48]
test eax, 0x2000
je 0x1001cdcb
and eax, 0xffffdfff
lea ecx, [esp + 0x14e8]
mov dword [esp + 0x48], eax
call fcn.10014e04
mov eax, dword [esp + 0x48]
test eax, 0x1000
je 0x1001cdeb
and eax, 0xffffefff
lea ecx, [esp + 0x1500]
mov dword [esp + 0x48], eax
call fcn.10014e04
mov eax, dword [esp + 0x48]
test eax, 0x800
je 0x1001ce0b
and eax, 0xfffff7ff
lea ecx, [esp + 0x1518]
mov dword [esp + 0x48], eax
call fcn.10014e04
mov eax, dword [esp + 0x48]
test eax, 0x400
je 0x1001ce2b
and eax, 0xfffffbff
lea ecx, [esp + 0x1530]
mov dword [esp + 0x48], eax
call fcn.10014e04
mov eax, dword [esp + 0x48]
test eax, 0x200
je 0x1001ce4b
and eax, 0xfffffdff
lea ecx, [esp + 0x1548]
mov dword [esp + 0x48], eax
call fcn.10014e04
mov eax, dword [esp + 0x48]
test eax, 0x100
je 0x1001ce6b
and eax, 0xfffffeff
lea ecx, [esp + 0x1560]
mov dword [esp + 0x48], eax
call fcn.10014e04
mov eax, dword [esp + 0x48]
test al, al
jns 0x1001ce88
and eax, 0xffffff7f
lea ecx, [esp + 0x1578]
mov dword [esp + 0x48], eax
call fcn.10014e04
mov eax, dword [esp + 0x48]
test al, 0x40
je 0x1001cea3
and eax, 0xffffffbf
lea ecx, [esp + 0x1590]
mov dword [esp + 0x48], eax
call fcn.10014e04
mov eax, dword [esp + 0x48]
test al, 0x20
je 0x1001cebe
and eax, 0xffffffdf
lea ecx, [esp + 0x15a8]
mov dword [esp + 0x48], eax
call fcn.10014e04
mov eax, dword [esp + 0x48]
test al, 0x10
je 0x1001ced9
and eax, 0xffffffef
lea ecx, [esp + 0x15c0]
mov dword [esp + 0x48], eax
call fcn.10014e04
mov eax, dword [esp + 0x48]
test al, 8
je 0x1001cef4
and eax, 0xfffffff7
lea ecx, [esp + 0x15d8]
mov dword [esp + 0x48], eax
call fcn.10014e04
mov eax, dword [esp + 0x48]
test al, 4
je 0x1001cf0f
and eax, 0xfffffffb
lea ecx, [esp + 0x15f0]
mov dword [esp + 0x48], eax
call fcn.10014e04
mov eax, dword [esp + 0x48]
test al, 2
je 0x1001cf2a
and eax, 0xfffffffd
lea ecx, [esp + 0x1608]
mov dword [esp + 0x48], eax
call fcn.10014e04
mov eax, dword [esp + 0x48]
test al, 1
je 0x1001cf41
and eax, 0xfffffffe
lea ecx, [esp + 0x1620]
mov dword [esp + 0x48], eax
call fcn.10014e04
mov eax, dword [esp + 0x34]
test eax, eax
jns 0x1001cf62
and eax, 0x7fffffff
lea ecx, [esp + 0x918]
mov dword [esp + 0x34], eax
call fcn.10014e04
mov eax, dword [esp + 0x34]
test eax, 0x40000000
je 0x1001cf82
and eax, 0xbfffffff
lea ecx, [esp + 0x1638]
mov dword [esp + 0x34], eax
call fcn.10014e04
mov eax, dword [esp + 0x34]
test eax, 0x20000000
je 0x1001cfa2
and eax, 0xdfffffff
lea ecx, [esp + 0x930]
mov dword [esp + 0x34], eax
call fcn.10014e04
mov eax, dword [esp + 0x34]
test eax, 0x10000000
je 0x1001cfc2
and eax, 0xefffffff
lea ecx, [esp + 0x948]
mov dword [esp + 0x34], eax
call fcn.10014e04
mov eax, dword [esp + 0x34]
test eax, 0x8000000
je 0x1001cfe2
and eax, 0xf7ffffff
lea ecx, [esp + 0x1650]
mov dword [esp + 0x34], eax
call fcn.10014e04
mov eax, dword [esp + 0x34]
test eax, 0x4000000
je 0x1001d002
and eax, 0xfbffffff
lea ecx, [esp + 0x960]
mov dword [esp + 0x34], eax
call fcn.10014e04
mov eax, dword [esp + 0x34]
test eax, 0x2000000
je 0x1001d022
and eax, 0xfdffffff
lea ecx, [esp + 0x1668]
mov dword [esp + 0x34], eax
call fcn.10014e04
mov eax, dword [esp + 0x34]
test eax, 0x1000000
je 0x1001d042
and eax, 0xfeffffff
lea ecx, [esp + 0x978]
mov dword [esp + 0x34], eax
call fcn.10014e04
mov eax, dword [esp + 0x34]
test eax, 0x800000
je 0x1001d062
and eax, 0xff7fffff
lea ecx, [esp + 0x1680]
mov dword [esp + 0x34], eax
call fcn.10014e04
mov eax, dword [esp + 0x34]
test eax, 0x400000
je 0x1001d082
and eax, 0xffbfffff
lea ecx, [esp + 0x990]
mov dword [esp + 0x34], eax
call fcn.10014e04
mov eax, dword [esp + 0x34]
test eax, 0x200000
je 0x1001d0a2
and eax, 0xffdfffff
lea ecx, [esp + 0x9a8]
mov dword [esp + 0x34], eax
call fcn.10014e04
mov eax, dword [esp + 0x34]
test eax, 0x100000
je 0x1001d0c2
and eax, 0xffefffff
lea ecx, [esp + 0x1698]
mov dword [esp + 0x34], eax
call fcn.10014e04
mov eax, dword [esp + 0x34]
test eax, 0x80000
je 0x1001d0e2
lea ecx, [esp + 0x1290]
call fcn.10014e09
lea ecx, [esp + 0xa8]
call fcn.10014e09
mov ecx, dword [esp + 0x2abc]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.1002853b
mov esp, ebp
pop ebp
ret
call fcn.10015ccb
call fcn.10053ffa
int3