Function at 0x1008425d
Capabilities:
Inspect section memory permissions
Link many functions at runtime
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x2af0
call fcn.10016210
mov eax, dword [0x100a9cf8]
xor eax, esp
mov dword [esp + 0x2aec], eax
mov eax, dword [ebp + 8]
push esi
push edi
xor edi, edi
mov dword [esp + 0x5c], eax
mov dword [esp + 0x38], edi
mov eax, edi
mov dword [esp + 0x38], edi
mov ecx, edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x38], edi
movsd xmm0, qword [0x100ac8a0]
ucomisd xmm0, qword [0x100a1928]
mov dword [esp + 0x18], eax
mov dword [esp + 0x10], eax
mov dword [esp + 8], eax
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], edi
mov dword [esp + 0x14], edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x44], ecx
movsd xmm1, qword [0x100a1950]
lahf
test ah, 0x44
jp 0x1008448e
movsd xmm0, qword [0x100ac858]
fld qword [0x100ac870]
andps xmm0, xmm1
andps xmm0, xmm1
movsd qword [esp + 0x30], xmm0
movsd xmm0, qword [0x100ac878]
push ecx
push ecx
movsd qword [esp], xmm0
movsd xmm0, qword [0x100ac860]
andps xmm0, xmm1
movsd qword [esp + 0x40], xmm0
call fcn.10041e30
movsd xmm0, qword [esp + 0x40]
fstp qword [esp + 0x30]
mulsd xmm0, qword [esp + 0x30]
push ecx
push ecx
movsd qword [esp], xmm0
call fcn.10041ded
movsd xmm0, qword [esp + 0x40]
mulsd xmm0, qword [0x100a18d8]
mulsd xmm0, qword [0x100ac858]
movsd qword [esp + 0x48], xmm0
fmul qword [esp + 0x48]
movsd xmm0, qword [0x100ac8d8]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [0x100ac868]
movsd qword [esp], xmm0
fstp qword [esp + 0x40]
call fcn.10041ac1
movsd xmm0, qword [0x100a18c8]
divsd xmm0, qword [0x100ac868]
fmul qword [0x100a1920]
fadd qword [0x100a1908]
fstp qword [esp + 0x48]
movsd xmm1, qword [esp + 0x48]
subsd xmm1, xmm0
movsd xmm0, qword [0x100ac860]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [0x100ac858]
movsd qword [esp], xmm0
movsd qword [esp + 0x38], xmm1
call fcn.10041a5f
movsd xmm0, qword [0x100a18c0]
fstp qword [esp + 0x48]
divsd xmm0, qword [esp + 0x48]
movsd xmm1, qword [esp + 0x38]
subsd xmm1, xmm0
movsd xmm0, qword [0x100ac898]
addsd xmm1, qword [esp + 0x40]
movsd qword [esp + 0x38], xmm1
call fcn.100428d0
movsd qword [esp + 0x48], xmm0
movsd xmm0, qword [0x100ac860]
call fcn.100428d0
movsd xmm2, qword [esp + 0x48]
movsd xmm1, qword [0x100ac868]
mulsd xmm2, xmm0
movsd xmm0, qword [0x100ac8a0]
movsd qword [esp + 0x48], xmm2
call fcn.10043060
mulsd xmm0, qword [esp + 0x48]
movsd xmm1, qword [0x100ac860]
call fcn.10043060
movsd xmm1, qword [0x100a18f0]
divsd xmm1, xmm0
movsd xmm0, qword [0x100ac898]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [0x100ac870]
movsd qword [esp + 0x48], xmm1
movsd qword [esp], xmm0
call fcn.10041ded
fmul qword [esp + 0x48]
add esp, 0x10
fadd qword [esp + 0x28]
fstp qword [0x100ac870]
push 0x208
lea eax, [esp + 0x28ec]
push edi
push eax
call fcn.10038380
add esp, 0xc
lea eax, [esp + 0x28e8]
push 0x104
push eax
push dword [0x100ac848]
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [esp + 0x28e8]
push eax
lea ecx, [esp + 0xe4]
call fcn.1000170d
push str..dat
lea ecx, [esp + 0x84c]
call fcn.1000170d
push eax
lea edx, [esp + 0x28ec]
lea ecx, [esp + 0x834]
call fcn.10001c7b
pop ecx
lea ecx, [esp + 0x848]
call fcn.10001872
movsd xmm0, qword [0x100ac868]
ucomisd xmm0, qword [0x100a1948]
lahf
test ah, 0x44
jp 0x100846a4
movsd xmm0, qword [0x100ac858]
sub esp, 0x10
andps xmm0, xmmword [0x100a1950]
movsd qword [esp + 0x40], xmm0
movsd xmm0, qword [0x100ac8a0]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [0x100ac870]
movsd qword [esp], xmm0
call fcn.10041a08
fdivr qword [0x100a18a0]
add esp, 0x10
fstp qword [esp + 0x48]
fld qword [0x100ac8d8]
fld qword [0x100ac868]
call fcn.10041e40
movsd xmm0, qword [0x100a1888]
fstp qword [esp + 0x28]
divsd xmm0, qword [esp + 0x28]
mulsd xmm0, qword [esp + 0x30]
movsd qword [esp + 0x28], xmm0
movsd xmm0, qword [0x100ac870]
call fcn.10042d80
movsd xmm1, qword [esp + 0x28]
mulsd xmm1, xmm0
movsd xmm0, qword [0x100ac8a0]
movsd qword [esp + 0x28], xmm1
call fcn.10043d80
movsd xmm1, qword [esp + 0x28]
mulsd xmm1, xmm0
movsd xmm0, qword [0x100ac870]
movsd qword [esp + 0x28], xmm1
movsd xmm1, qword [0x100ac858]
call fcn.10043060
mulsd xmm0, qword [esp + 0x48]
movsd qword [esp + 0x30], xmm0
movsd xmm0, qword [0x100ac878]
call fcn.10042d80
movsd xmm1, qword [esp + 0x30]
mulsd xmm1, xmm0
movsd xmm0, qword [esp + 0x28]
addsd xmm1, qword [0x100a1910]
addsd xmm0, xmm1
movsd qword [esp + 0x28], xmm0
movsd xmm0, qword [0x100ac868]
call fcn.10042380
mulsd xmm0, qword [0x100a1918]
movsd qword [esp + 0x30], xmm0
movsd xmm0, qword [0x100ac8a0]
call fcn.10042380
movsd xmm1, qword [esp + 0x30]
mulsd xmm1, xmm0
movsd xmm0, qword [0x100ac860]
movsd qword [esp + 0x30], xmm1
call fcn.10041e60
movsd xmm1, qword [esp + 0x30]
fld qword [0x100ac868]
mulsd xmm1, xmm0
push ecx
push ecx
fstp qword [esp]
movsd qword [esp + 0x38], xmm1
call fcn.10043ff0
movsd xmm0, qword [esp + 0x38]
movsd xmm1, qword [esp + 0x30]
fstp qword [esp + 0x50]
mulsd xmm0, qword [esp + 0x50]
pop ecx
pop ecx
subsd xmm1, xmm0
movsd qword [0x100ac878], xmm1
push 0x5c
push 0xffffffffffffffff
lea ecx, [esp + 0xe8]
call fcn.10001815
mov edx, dword [esp + 0xf8]
mov ecx, eax
call fcn.10001e26
pop ecx
pop ecx
cmp eax, 0xffffffff
je 0x10084705
lea ecx, [esp + 0x5b]
inc eax
push ecx
push eax
push edi
lea eax, [esp + 0xec]
push eax
lea ecx, [esp + 0x4c8]
call fcn.1000197e
lea eax, [esp + 0x4b8]
push eax
lea ecx, [esp + 0xe4]
call fcn.100016d6
lea ecx, [esp + 0x4b8]
call fcn.10001872
push str.infile.cab
lea edx, [esp + 0xe4]
lea ecx, [esp + 0x864]
call fcn.10001c98
pop ecx
push eax
mov ecx, 0x100aada8
call fcn.100016d6
lea ecx, [esp + 0x860]
call fcn.10001872
movsd xmm0, qword [0x100ac868]
ucomisd xmm0, qword [0x100a1930]
lahf
test ah, 0x44
jp 0x1008484d
movsd xmm0, qword [0x100ac870]
sub esp, 0x10
movsd qword [esp + 8], xmm0
movsd xmm0, qword [0x100ac878]
movsd qword [esp], xmm0
call fcn.10041ded
movsd xmm0, qword [0x100ac860]
fstp qword [esp + 0x40]
call fcn.10043d80
movsd xmm1, qword [0x100a18e8]
divsd xmm1, xmm0
movsd xmm0, qword [0x100ac8a0]
movsd qword [esp + 0x38], xmm1
fld qword [esp + 0x38]
fmul qword [esp + 0x40]
unpcklpd xmm0, xmm0
movups xmmword [esp], xmm0
fstp qword [esp + 0x38]
call fcn.10041ac1
fmul qword [esp + 0x38]
add esp, 8
movsd xmm0, qword [0x100ac8a0]
movsd qword [esp], xmm0
fstp qword [esp + 0x50]
call fcn.10041837
fdivr qword [0x100a1890]
movsd xmm0, qword [0x100ac8d8]
movaps xmm1, xmm0
movsd qword [esp], xmm0
andps xmm1, xmmword [0x100a1950]
fstp qword [esp + 0x30]
mulsd xmm1, qword [esp + 0x30]
movsd qword [esp + 0x38], xmm1
call fcn.10041934
fstp qword [esp + 0x30]
movsd xmm0, qword [esp + 0x30]
mulsd xmm0, qword [esp + 0x38]
addsd xmm0, qword [0x100a18d0]
addsd xmm0, qword [esp + 0x50]
movsd qword [esp + 0x30], xmm0
movsd xmm0, qword [0x100ac860]
movsd qword [esp], xmm0
call fcn.10041837
fdivr qword [0x100a1900]
pop ecx
pop ecx
fsubr qword [esp + 0x28]
fstp qword [0x100ac868]
mov dword [esp + 0x54], edi
mov dword [esp + 0xc], 0xff800000
lea ecx, [esp + 0x4a0]
call fcn.1000218a
lea ecx, [esp + 0x4a0]
call fcn.100019cd
mov al, byte [0x100aaaf3]
lea ecx, [esp + 0x4a0]
mov byte [esp + 0xcc], al
push dword [esp + 0xcc]
push 1
push edi
call fcn.10002360
push eax
lea ecx, [esp + 0x81c]
call fcn.10001786
mov ecx, 0x100aadc0
call fcn.1000184f
lea ecx, [esp + 0x488]
mov edi, eax
call fcn.1000218a
lea ecx, [esp + 0x488]
call fcn.100019cd
lea ecx, [esp + 0x470]
call fcn.1000218a
lea ecx, [esp + 0x470]
call fcn.100019cd
mov ecx, 0x100aace0
call fcn.1000184f
lea ecx, [esp + 0x470]
mov al, byte [eax + 6]
mov byte [esp + 0xd0], al
push dword [esp + 0xd0]
push 1
push 0
call fcn.10002360
push eax
lea ecx, [esp + 0x804]
call fcn.10001786
lea ecx, [esp + 0x458]
call fcn.1000218a
lea ecx, [esp + 0x458]
call fcn.100019cd
lea ecx, [esp + 0x440]
call fcn.1000218a
lea ecx, [esp + 0x440]
call fcn.100019cd
lea ecx, [esp + 0x428]
call fcn.1000218a
lea ecx, [esp + 0x428]
call fcn.100019cd
mov ecx, 0x100aabf0
call fcn.1000184f
lea ecx, [esp + 0x1d0]
mov esi, eax
call fcn.1000218a
lea ecx, [esp + 0x1d0]
call fcn.100019cd
mov cl, byte [0x100aa8f3]
mov byte [esp + 0xd4], cl
lea ecx, [esp + 0x1d0]
push dword [esp + 0xd4]
call fcn.100022fc
lea eax, [esp + 0x1d0]
push eax
lea ecx, [esp + 0x7ec]
call fcn.10001786
lea ecx, [esp + 0x1b8]
call fcn.1000218a
lea ecx, [esp + 0x1b8]
call fcn.100019cd
movsx eax, byte [0x100aaca6]
push eax
call fcn.10041615
pop ecx
mov byte [esp + 0xd8], al
lea ecx, [esp + 0x1b8]
push dword [esp + 0xd8]
call fcn.100022fc
lea eax, [esp + 0x1b8]
push eax
lea ecx, [esp + 0x7d4]
call fcn.10001786
mov al, byte [esi + 5]
mov byte [esp + 0xdc], al
lea eax, [esp + 0x7e8]
push eax
lea eax, [esp + 0x7d4]
push eax
lea eax, [esp + 0xb98]
push eax
call fcn.10001cf3
add esp, 0xc
mov esi, eax
mov ecx, esi
push dword [esp + 0xdc]
call fcn.100022fc
push esi
lea ecx, [esp + 0x7bc]
call fcn.10001786
mov al, byte [0x100aa7b6]
mov byte [esp + 0x68], al
lea eax, [esp + 0x440]
push eax
lea eax, [esp + 0x42c]
push eax
lea eax, [esp + 0x7c0]
push eax
lea eax, [esp + 0xb84]
push eax
call fcn.10001cf3
add esp, 0xc
push eax
lea eax, [esp + 0xb68]
push eax
call fcn.10001cf3
add esp, 0xc
mov esi, eax
mov ecx, esi
push dword [esp + 0x68]
call fcn.100022fc
push esi
lea ecx, [esp + 0x7a4]
call fcn.10001786
mov al, byte [0x100aa8f3]
mov byte [esp + 0x6c], al
lea eax, [esp + 0x458]
push eax
lea eax, [esp + 0x7a4]
push eax
lea eax, [esp + 0xb50]
push eax
call fcn.10001cf3
add esp, 0xc
mov esi, eax
mov ecx, esi
push dword [esp + 0x6c]
call fcn.100022fc
push esi
lea ecx, [esp + 0x78c]
call fcn.10001786
mov al, byte [edi + 1]
mov byte [esp + 0x70], al
lea eax, [esp + 0x488]
push eax
lea eax, [esp + 0x804]
push eax
lea eax, [esp + 0x790]
push eax
lea eax, [esp + 0xb3c]
push eax
call fcn.10001cf3
add esp, 0xc
push eax
lea eax, [esp + 0xb20]
push eax
call fcn.10001cf3
add esp, 0xc
mov esi, eax
mov ecx, esi
push dword [esp + 0x70]
call fcn.100022fc
push esi
lea ecx, [esp + 0x774]
call fcn.10001786
lea eax, [esp + 0x818]
push eax
lea eax, [esp + 0x774]
push eax
lea eax, [esp + 0xb08]
push eax
call fcn.10001cf3
add esp, 0xc
mov ecx, eax
call fcn.10001844
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [0x100ade4c], eax
test eax, eax
je 0x10084fea
lea ecx, [esp + 0x410]
call fcn.1000218a
lea ecx, [esp + 0x410]
call fcn.100019cd
movsx eax, byte [0x100aa7f1]
push eax
call fcn.10041615
pop ecx
mov byte [esp + 0x74], al
lea ecx, [esp + 0x410]
push dword [esp + 0x74]
push 1
push 0
call fcn.10002360
push eax
lea ecx, [esp + 0x75c]
call fcn.10001786
lea ecx, [esp + 0x3f8]
call fcn.1000218a
lea ecx, [esp + 0x3f8]
call fcn.100019cd
lea ecx, [esp + 0x3e0]
call fcn.1000218a
lea ecx, [esp + 0x3e0]
call fcn.100019cd
mov ecx, 0x100aace0
call fcn.1000184f
add eax, 6
mov ecx, 0x100aae20
mov dword [esp + 0x50], eax
call fcn.1000184f
lea ecx, [esp + 0x1a0]
mov esi, eax
call fcn.1000218a
lea ecx, [esp + 0x1a0]
call fcn.100019cd
movzx eax, byte [esi]
lea ecx, [esp + 0x1a0]
push eax
call fcn.100022fc
lea eax, [esp + 0x1a0]
push eax
lea ecx, [esp + 0x744]
call fcn.10001786
lea ecx, [esp + 0x3c8]
call fcn.1000218a
lea ecx, [esp + 0x3c8]
call fcn.100019cd
lea ecx, [esp + 0x3b0]
call fcn.1000218a
lea ecx, [esp + 0x3b0]
call fcn.100019cd
mov al, byte [0x100aa8f1]
lea ecx, [esp + 0x3b0]
mov byte [esp + 0x78], al
xor esi, esi
push dword [esp + 0x78]
push 1
push esi
call fcn.10002360
push eax
lea ecx, [esp + 0x72c]
call fcn.10001786
lea ecx, [esp + 0x188]
call fcn.1000218a
lea ecx, [esp + 0x188]
call fcn.100019cd
mov al, byte [0x100aa673]
lea ecx, [esp + 0x188]
mov byte [esp + 0x7c], al
push dword [esp + 0x7c]
call fcn.100022fc
lea eax, [esp + 0x188]
push eax
lea ecx, [esp + 0x714]
call fcn.10001786
lea ecx, [esp + 0x398]
call fcn.1000218a
lea ecx, [esp + 0x398]
call fcn.100019cd
mov ecx, 0x100aae08
call fcn.1000184f
lea ecx, [esp + 0x380]
mov edi, eax
call fcn.1000218a
lea ecx, [esp + 0x380]
call fcn.100019cd
lea ecx, [esp + 0x368]
call fcn.1000218a
lea ecx, [esp + 0x368]
call fcn.100019cd
mov ecx, 0x100aabf0
call fcn.1000184f
lea ecx, [esp + 0x368]
mov al, byte [eax + 7]
mov byte [esp + 0x80], al
push dword [esp + 0x80]
push 1
push esi
call fcn.10002360
push eax
lea ecx, [esp + 0x6fc]
call fcn.10001786
lea ecx, [esp + 0x170]
call fcn.1000218a
lea ecx, [esp + 0x170]
call fcn.100019cd
movsx eax, byte [0x100aab31]
push eax
call fcn.10041615
pop ecx
mov byte [esp + 0x84], al
lea ecx, [esp + 0x170]
push dword [esp + 0x84]
call fcn.100022fc
lea eax, [esp + 0x170]
push eax
lea ecx, [esp + 0x6e4]
call fcn.10001786
mov al, byte [0x100aa8f2]
mov byte [esp + 0x88], al
lea eax, [esp + 0x380]
push eax
lea eax, [esp + 0x6fc]
push eax
lea eax, [esp + 0x6e8]
push eax
lea eax, [esp + 0xaf4]
push eax
call fcn.10001cf3
add esp, 0xc
push eax
lea eax, [esp + 0xad8]
push eax
call fcn.10001cf3
add esp, 0xc
mov esi, eax
mov ecx, esi
push dword [esp + 0x88]
call fcn.100022fc
push esi
lea ecx, [esp + 0x354]
call fcn.10001786
movzx eax, byte [edi + 5]
lea ecx, [esp + 0x350]
push eax
call fcn.100022fc
lea eax, [esp + 0x350]
push eax
lea ecx, [esp + 0x6cc]
call fcn.10001786
movsx eax, byte [0x100aabbb]
push eax
call fcn.10041615
mov byte [esp + 0x90], al
lea eax, [esp + 0x72c]
pop ecx
push eax
lea eax, [esp + 0x714]
push eax
lea eax, [esp + 0x3a0]
push eax
lea eax, [esp + 0x6d4]
push eax
lea eax, [esp + 0xac8]
push eax
call fcn.10001cf3
add esp, 0xc
push eax
lea eax, [esp + 0xaac]
push eax
call fcn.10001cf3
add esp, 0xc
push eax
lea eax, [esp + 0xa90]
push eax
call fcn.10001cf3
add esp, 0xc
mov esi, eax
mov ecx, esi
push dword [esp + 0x8c]
call fcn.100022fc
push esi
lea ecx, [esp + 0x6b4]
call fcn.10001786
mov ecx, dword [esp + 0x50]
mov al, byte [ecx]
mov byte [esp + 0x90], al
lea eax, [esp + 0x740]
push eax
lea eax, [esp + 0x3cc]
push eax
lea eax, [esp + 0x6b8]
push eax
lea eax, [esp + 0xa7c]
push eax
call fcn.10001cf3
add esp, 0xc
push eax
lea eax, [esp + 0xa60]
push eax
call fcn.10001cf3
add esp, 0xc
mov esi, eax
mov ecx, esi
push dword [esp + 0x90]
call fcn.100022fc
push esi
lea ecx, [esp + 0x69c]
call fcn.10001786
mov al, byte [0x100aa8f5]
mov byte [esp + 0x94], al
lea eax, [esp + 0x3f8]
push eax
lea eax, [esp + 0x3e4]
push eax
lea eax, [esp + 0x6a0]
push eax
lea eax, [esp + 0xa4c]
push eax
call fcn.10001cf3
add esp, 0xc
push eax
lea eax, [esp + 0xa30]
push eax
call fcn.10001cf3
add esp, 0xc
mov esi, eax
mov ecx, esi
push dword [esp + 0x94]
call fcn.100022fc
push esi
lea ecx, [esp + 0x684]
call fcn.10001786
lea eax, [esp + 0x758]
push eax
lea eax, [esp + 0x684]
push eax
lea eax, [esp + 0xa18]
push eax
call fcn.10001cf3
add esp, 0xc
mov ecx, eax
call fcn.10001844
push eax
push dword [0x100ade4c]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
or eax, 0xffffffff
mov dword [esp + 0x18], eax
xor edi, edi
jmp 0x100857b0
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x338]
or eax, 1
or eax, 0x7ffffe
mov dword [esp + 0x10], eax
call fcn.1000218a
lea ecx, [esp + 0x338]
call fcn.100019cd
mov al, byte [0x100aaaf3]
lea ecx, [esp + 0x338]
mov byte [esp + 0x98], al
xor esi, esi
push dword [esp + 0x98]
push 1
push esi
call fcn.10002360
push eax
lea ecx, [esp + 0x66c]
call fcn.10001786
mov ecx, 0x100aadc0
call fcn.1000184f
lea ecx, [esp + 0x320]
mov edi, eax
call fcn.1000218a
lea ecx, [esp + 0x320]
call fcn.100019cd
lea ecx, [esp + 0x308]
call fcn.1000218a
lea ecx, [esp + 0x308]
call fcn.100019cd
mov ecx, 0x100aace0
call fcn.1000184f
lea ecx, [esp + 0x308]
mov al, byte [eax + 6]
mov byte [esp + 0x9c], al
push dword [esp + 0x9c]
push 1
push esi
call fcn.10002360
push eax
lea ecx, [esp + 0x654]
call fcn.10001786
lea ecx, [esp + 0x2f0]
call fcn.1000218a
lea ecx, [esp + 0x2f0]
call fcn.100019cd
lea ecx, [esp + 0x2d8]
call fcn.1000218a
lea ecx, [esp + 0x2d8]
call fcn.100019cd
lea ecx, [esp + 0x2c0]
call fcn.1000218a
lea ecx, [esp + 0x2c0]
call fcn.100019cd
mov ecx, 0x100aabf0
call fcn.1000184f
lea ecx, [esp + 0x158]
mov esi, eax
call fcn.1000218a
lea ecx, [esp + 0x158]
call fcn.100019cd
mov cl, byte [0x100aa8f3]
mov byte [esp + 0xa0], cl
lea ecx, [esp + 0x158]
push dword [esp + 0xa0]
call fcn.100022fc
lea eax, [esp + 0x158]
push eax
lea ecx, [esp + 0x63c]
call fcn.10001786
lea ecx, [esp + 0x140]
call fcn.1000218a
lea ecx, [esp + 0x140]
call fcn.100019cd
movsx eax, byte [0x100aaca6]
push eax
call fcn.10041615
pop ecx
mov byte [esp + 0xa4], al
lea ecx, [esp + 0x140]
push dword [esp + 0xa4]
call fcn.100022fc
lea eax, [esp + 0x140]
push eax
lea ecx, [esp + 0x624]
call fcn.10001786
mov al, byte [esi + 5]
mov byte [esp + 0xa8], al
lea eax, [esp + 0x638]
push eax
lea eax, [esp + 0x624]
push eax
lea eax, [esp + 0xa00]
push eax
call fcn.10001cf3
add esp, 0xc
mov esi, eax
mov ecx, esi
push dword [esp + 0xa8]
call fcn.100022fc
push esi
lea ecx, [esp + 0x60c]
call fcn.10001786
mov al, byte [0x100aa7b6]
mov byte [esp + 0xac], al
lea eax, [esp + 0x2d8]
push eax
lea eax, [esp + 0x2c4]
push eax
lea eax, [esp + 0x610]
push eax
lea eax, [esp + 0x9ec]
push eax
call fcn.10001cf3
add esp, 0xc
push eax
lea eax, [esp + 0x9d0]
push eax
call fcn.10001cf3
add esp, 0xc
mov esi, eax
mov ecx, esi
push dword [esp + 0xac]
call fcn.100022fc
push esi
lea ecx, [esp + 0x5f4]
call fcn.10001786
mov al, byte [0x100aa8f3]
mov byte [esp + 0xb0], al
lea eax, [esp + 0x2f0]
push eax
lea eax, [esp + 0x5f4]
push eax
lea eax, [esp + 0x9b8]
push eax
call fcn.10001cf3
add esp, 0xc
mov esi, eax
mov ecx, esi
push dword [esp + 0xb0]
call fcn.100022fc
push esi
lea ecx, [esp + 0x5dc]
call fcn.10001786
mov al, byte [edi + 1]
mov byte [esp + 0xb4], al
lea eax, [esp + 0x320]
push eax
lea eax, [esp + 0x654]
push eax
lea eax, [esp + 0x5e0]
push eax
lea eax, [esp + 0x9a4]
push eax
call fcn.10001cf3
add esp, 0xc
push eax
lea eax, [esp + 0x988]
push eax
call fcn.10001cf3
add esp, 0xc
mov esi, eax
push dword [esp + 0xb4]
mov ecx, esi
call fcn.100022fc
push esi
lea ecx, [esp + 0x5c4]
call fcn.10001786
lea eax, [esp + 0x668]
push eax
lea eax, [esp + 0x5c4]
push eax
lea eax, [esp + 0x970]
push eax
call fcn.10001cf3
add esp, 0xc
mov ecx, eax
call fcn.10001844
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [0x100ade4c], eax
test eax, eax
je 0x100857a4
or dword [esp + 0x20], 1
lea ecx, [esp + 0x2a8]
call fcn.1000218a
lea ecx, [esp + 0x2a8]
call fcn.100019cd
movsx eax, byte [0x100aa7f1]
push eax
call fcn.10041615
pop ecx
mov byte [esp + 0xb8], al
lea ecx, [esp + 0x2a8]
push dword [esp + 0xb8]
push 1
push 0
call fcn.10002360
push eax
lea ecx, [esp + 0x5ac]
call fcn.10001786
lea ecx, [esp + 0x290]
call fcn.1000218a
lea ecx, [esp + 0x290]
call fcn.100019cd
lea ecx, [esp + 0x278]
call fcn.1000218a
lea ecx, [esp + 0x278]
call fcn.100019cd
mov ecx, 0x100aace0
call fcn.1000184f
add eax, 6
mov ecx, 0x100aae20
mov dword [esp + 0x50], eax
call fcn.1000184f
lea ecx, [esp + 0x128]
mov esi, eax
call fcn.1000218a
lea ecx, [esp + 0x128]
call fcn.100019cd
movzx eax, byte [esi]
lea ecx, [esp + 0x128]
push eax
call fcn.100022fc
lea eax, [esp + 0x128]
push eax
lea ecx, [esp + 0x594]
call fcn.10001786
lea ecx, [esp + 0x260]
call fcn.1000218a
lea ecx, [esp + 0x260]
call fcn.100019cd
lea ecx, [esp + 0x248]
call fcn.1000218a
lea ecx, [esp + 0x248]
call fcn.100019cd
mov al, byte [0x100aa8f1]
lea ecx, [esp + 0x248]
mov byte [esp + 0xbc], al
xor esi, esi
push dword [esp + 0xbc]
push 1
push esi
call fcn.10002360
push eax
lea ecx, [esp + 0x57c]
call fcn.10001786
lea ecx, [esp + 0x110]
call fcn.1000218a
lea ecx, [esp + 0x110]
call fcn.100019cd
mov al, byte [0x100aa673]
lea ecx, [esp + 0x110]
mov byte [esp + 0xc0], al
push dword [esp + 0xc0]
call fcn.100022fc
lea eax, [esp + 0x110]
push eax
lea ecx, [esp + 0x564]
call fcn.10001786
lea ecx, [esp + 0x230]
call fcn.1000218a
lea ecx, [esp + 0x230]
call fcn.100019cd
mov ecx, 0x100aae08
call fcn.1000184f
lea ecx, [esp + 0x218]
mov edi, eax
call fcn.1000218a
lea ecx, [esp + 0x218]
call fcn.100019cd
lea ecx, [esp + 0x200]
call fcn.1000218a
lea ecx, [esp + 0x200]
call fcn.100019cd
mov ecx, 0x100aabf0
call fcn.1000184f
lea ecx, [esp + 0x200]
mov al, byte [eax + 7]
mov byte [esp + 0xc4], al
push dword [esp + 0xc4]
push 1
push esi
call fcn.10002360
push eax
lea ecx, [esp + 0x54c]
call fcn.10001786
lea ecx, [esp + 0xf8]
call fcn.1000218a
lea ecx, [esp + 0xf8]
call fcn.100019cd
movsx eax, byte [0x100aab31]
push eax
call fcn.10041615
pop ecx
mov byte [esp + 0xc8], al
lea ecx, [esp + 0xf8]
push dword [esp + 0xc8]
call fcn.100022fc
lea eax, [esp + 0xf8]
push eax
lea ecx, [esp + 0x534]
call fcn.10001786
mov al, byte [0x100aa8f2]
mov byte [esp + 0x60], al
lea eax, [esp + 0x218]
push eax
lea eax, [esp + 0x54c]
push eax
lea eax, [esp + 0x538]
push eax
lea eax, [esp + 0x95c]
push eax
call fcn.10001cf3
add esp, 0xc
push eax
lea eax, [esp + 0x940]
push eax
call fcn.10001cf3
add esp, 0xc
mov esi, eax
mov ecx, esi
push dword [esp + 0x60]
call fcn.100022fc
push esi
lea ecx, [esp + 0x1ec]
call fcn.10001786
movzx eax, byte [edi + 5]
lea ecx, [esp + 0x1e8]
push eax
call fcn.100022fc
lea eax, [esp + 0x1e8]
push eax
lea ecx, [esp + 0x51c]
call fcn.10001786
movsx eax, byte [0x100aabbb]
push eax
call fcn.10041615
mov byte [esp + 0x4c], al
lea eax, [esp + 0x57c]
pop ecx
push eax
lea eax, [esp + 0x564]
push eax
lea eax, [esp + 0x238]
push eax
lea eax, [esp + 0x524]
push eax
lea eax, [esp + 0x930]
push eax
call fcn.10001cf3
add esp, 0xc
push eax
lea eax, [esp + 0x914]
push eax
call fcn.10001cf3
add esp, 0xc
push eax
lea eax, [esp + 0x8f8]
push eax
call fcn.10001cf3
add esp, 0xc
mov esi, eax
mov ecx, esi
push dword [esp + 0x48]
call fcn.100022fc
push esi
lea ecx, [esp + 0x504]
call fcn.10001786
mov ecx, dword [esp + 0x50]
mov al, byte [ecx]
mov byte [esp + 0x30], al
lea eax, [esp + 0x590]
push eax
lea eax, [esp + 0x264]
push eax
lea eax, [esp + 0x508]
push eax
lea eax, [esp + 0x8e4]
push eax
call fcn.10001cf3
add esp, 0xc
push eax
lea eax, [esp + 0x8c8]
push eax
call fcn.10001cf3
add esp, 0xc
mov esi, eax
mov ecx, esi
push dword [esp + 0x30]
call fcn.100022fc
push esi
lea ecx, [esp + 0x4ec]
call fcn.10001786
mov al, byte [0x100aa8f5]
mov byte [esp + 0x28], al
lea eax, [esp + 0x290]
push eax
lea eax, [esp + 0x27c]
push eax
lea eax, [esp + 0x4f0]
push eax
lea eax, [esp + 0x8b4]
push eax
call fcn.10001cf3
add esp, 0xc
push eax
lea eax, [esp + 0x898]
push eax
call fcn.10001cf3
add esp, 0xc
mov esi, eax
mov ecx, esi
push dword [esp + 0x28]
call fcn.100022fc
push esi
lea ecx, [esp + 0x4d4]
call fcn.10001786
lea eax, [esp + 0x5a8]
push eax
lea eax, [esp + 0x4d4]
push eax
lea eax, [esp + 0x880]
push eax
call fcn.10001cf3
add esp, 0xc
mov ecx, eax
call fcn.10001745
push eax
push dword [0x100ade4c]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
or dword [esp + 0x20], 0x7ffffe
mov esi, eax
mov eax, dword [esp + 0x10]
or eax, 0xff800000
xor edi, edi
jmp 0x100857ac
mov eax, dword [esp + 0x10]
xor edi, edi
mov esi, edi
mov dword [esp + 0x10], eax
push edi
push 0x80
push 3
push edi
push 1
push 0x80000000
mov ecx, 0x100aada8
call fcn.1000169a
push eax
call esi
mov esi, eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x50], esi
test eax, 0x400000
je 0x100857f7
and eax, 0xffbfffff
lea ecx, [esp + 0x878]
mov dword [esp + 0x20], eax
call fcn.10001781
mov eax, dword [esp + 0x20]
test eax, 0x200000
je 0x10085817
and eax, 0xffdfffff
lea ecx, [esp + 0x4d0]
mov dword [esp + 0x20], eax
call fcn.10001781
mov eax, dword [esp + 0x20]
test eax, 0x100000
je 0x10085837
and eax, 0xffefffff
lea ecx, [esp + 0x890]
mov dword [esp + 0x20], eax
call fcn.10001781
mov eax, dword [esp + 0x20]
test eax, 0x80000
je 0x10085857
and eax, 0xfff7ffff
lea ecx, [esp + 0x8a8]
mov dword [esp + 0x20], eax
call fcn.10001781
mov eax, dword [esp + 0x20]
test eax, 0x40000
je 0x10085877
and eax, 0xfffbffff
lea ecx, [esp + 0x4e8]
mov dword [esp + 0x20], eax
call fcn.10001781
mov eax, dword [esp + 0x20]
test eax, 0x20000
je 0x10085897
and eax, 0xfffdffff
lea ecx, [esp + 0x8c0]
mov dword [esp + 0x20], eax
call fcn.10001781
mov eax, dword [esp + 0x20]
test eax, 0x10000
je 0x100858b7
and eax, 0xfffeffff
lea ecx, [esp + 0x8d8]
mov dword [esp + 0x20], eax
call fcn.10001781
mov eax, dword [esp + 0x20]
test eax, 0x8000
je 0x100858d7
and eax, 0xffff7fff
lea ecx, [esp + 0x500]
mov dword [esp + 0x20], eax
call fcn.10001781
mov eax, dword [esp + 0x20]
test eax, 0x4000
je 0x100858f7
and eax, 0xffffbfff
lea ecx, [esp + 0x8f0]
mov dword [esp + 0x20], eax
call fcn.10001781
mov eax, dword [esp + 0x20]
test eax, 0x2000
je 0x10085917
and eax, 0xffffdfff
lea ecx, [esp + 0x908]
mov dword [esp + 0x20], eax
call fcn.10001781
mov eax, dword [esp + 0x20]
test eax, 0x1000
je 0x10085937
and eax, 0xffffefff
lea ecx, [esp + 0x920]
mov dword [esp + 0x20], eax
call fcn.10001781
mov eax, dword [esp + 0x20]
test eax, 0x800
je 0x10085957
and eax, 0xfffff7ff
lea ecx, [esp + 0x518]
mov dword [esp + 0x20], eax
call fcn.10001781
mov eax, dword [esp + 0x20]
test eax, 0x400
je 0x10085977
and eax, 0xfffffbff
lea ecx, [esp + 0x1e8]
mov dword [esp + 0x20], eax
call fcn.10001781
mov eax, dword [esp + 0x20]
test eax, 0x200
je 0x10085997
and eax, 0xfffffdff
lea ecx, [esp + 0x938]
mov dword [esp + 0x20], eax
call fcn.10001781
mov eax, dword [esp + 0x20]
test eax, 0x100
je 0x100859b7
and eax, 0xfffffeff
lea ecx, [esp + 0x950]
mov dword [esp + 0x20], eax
call fcn.10001781
mov eax, dword [esp + 0x20]
test al, al
jns 0x100859d4
and eax, 0xffffff7f
lea ecx, [esp + 0x530]
mov dword [esp + 0x20], eax
call fcn.10001781
mov eax, dword [esp + 0x20]
test al, 0x40
je 0x100859ef
and eax, 0xffffffbf
lea ecx, [esp + 0xf8]
mov dword [esp + 0x20], eax
call fcn.10001781
mov eax, dword [esp + 0x20]
test al, 0x20
je 0x10085a0a
and eax, 0xffffffdf
lea ecx, [esp + 0x548]
mov dword [esp + 0x20], eax
call fcn.10001781
mov eax, dword [esp + 0x20]
test al, 0x10
je 0x10085a25
and eax, 0xffffffef
lea ecx, [esp + 0x200]
mov dword [esp + 0x20], eax
call fcn.10001781
mov eax, dword [esp + 0x20]
test al, 8
je 0x10085a40
and eax, 0xfffffff7
lea ecx, [esp + 0x218]
mov dword [esp + 0x20], eax
call fcn.10001781
mov eax, dword [esp + 0x20]
test al, 4
je 0x10085a5b
and eax, 0xfffffffb
lea ecx, [esp + 0x230]
mov dword [esp + 0x20], eax
call fcn.10001781
mov eax, dword [esp + 0x20]
test al, 2
je 0x10085a76
and eax, 0xfffffffd
lea ecx, [esp + 0x560]
mov dword [esp + 0x20], eax
call fcn.10001781
mov eax, dword [esp + 0x20]
test al, 1
je 0x10085a8d
and eax, 0xfffffffe
lea ecx, [esp + 0x110]
mov dword [esp + 0x20], eax
call fcn.10001781
mov eax, dword [esp + 0x10]
test eax, eax
jns 0x10085aae
and eax, 0x7fffffff
lea ecx, [esp + 0x578]
mov dword [esp + 0x10], eax
call fcn.10001781
mov eax, dword [esp + 0x10]
test eax, 0x40000000
je 0x10085ace
and eax, 0xbfffffff
lea ecx, [esp + 0x248]
mov dword [esp + 0x10], eax
call fcn.10001781
mov eax, dword [esp + 0x10]
test eax, 0x20000000
je 0x10085aee
and eax, 0xdfffffff
lea ecx, [esp + 0x260]
mov dword [esp + 0x10], eax
call fcn.10001781
mov eax, dword [esp + 0x10]
test eax, 0x10000000
je 0x10085b0e
and eax, 0xefffffff
lea ecx, [esp + 0x590]
mov dword [esp + 0x10], eax
call fcn.10001781
mov eax, dword [esp + 0x10]
test eax, 0x8000000
je 0x10085b2e
and eax, 0xf7ffffff
lea ecx, [esp + 0x128]
mov dword [esp + 0x10], eax
call fcn.10001781
mov eax, dword [esp + 0x10]
test eax, 0x4000000
je 0x10085b4e
and eax, 0xfbffffff
lea ecx, [esp + 0x278]
mov dword [esp + 0x10], eax
call fcn.10001781
mov eax, dword [esp + 0x10]
test eax, 0x2000000
je 0x10085b6e
and eax, 0xfdffffff
lea ecx, [esp + 0x290]
mov dword [esp + 0x10], eax
call fcn.10001781
mov eax, dword [esp + 0x10]
test eax, 0x1000000
je 0x10085b8e
and eax, 0xfeffffff
lea ecx, [esp + 0x5a8]
mov dword [esp + 0x10], eax
call fcn.10001781
mov eax, dword [esp + 0x10]
test eax, 0x800000
je 0x10085bae
and eax, 0xff7fffff
lea ecx, [esp + 0x2a8]
mov dword [esp + 0x10], eax
call fcn.10001781
mov eax, dword [esp + 0x10]
test eax, 0x400000
je 0x10085bce
and eax, 0xffbfffff
lea ecx, [esp + 0x968]
mov dword [esp + 0x10], eax
call fcn.10001781
mov eax, dword [esp + 0x10]
test eax, 0x200000
je 0x10085bee
and eax, 0xffdfffff
lea ecx, [esp + 0x5c0]
mov dword [esp + 0x10], eax
call fcn.10001781
mov eax, dword [esp + 0x10]
test eax, 0x100000
je 0x10085c0e
and eax, 0xffefffff
lea ecx, [esp + 0x980]
mov dword [esp + 0x10], eax
call fcn.10001781
mov eax, dword [esp + 0x10]
test eax, 0x80000
je 0x10085c2e
and eax, 0xfff7ffff
lea ecx, [esp + 0x998]
mov dword [esp + 0x10], eax
call fcn.10001781
mov eax, dword [esp + 0x10]
test eax, 0x40000
je 0x10085c4e
and eax, 0xfffbffff
lea ecx, [esp + 0x5d8]
mov dword [esp + 0x10], eax
call fcn.10001781
mov eax, dword [esp + 0x10]
test eax, 0x20000
je 0x10085c6e
and eax, 0xfffdffff
lea ecx, [esp + 0x9b0]
mov dword [esp + 0x10], eax
call fcn.10001781
mov eax, dword [esp + 0x10]
test eax, 0x10000
je 0x10085c8e
and eax, 0xfffeffff
lea ecx, [esp + 0x5f0]
mov dword [esp + 0x10], eax
call fcn.10001781
mov eax, dword [esp + 0x10]
test eax, 0x8000
je 0x10085cae
and eax, 0xffff7fff
lea ecx, [esp + 0x9c8]
mov dword [esp + 0x10], eax
call fcn.10001781
mov eax, dword [esp + 0x10]
test eax, 0x4000
je 0x10085cce
and eax, 0xffffbfff
lea ecx, [esp + 0x9e0]
mov dword [esp + 0x10], eax
call fcn.10001781
mov eax, dword [esp + 0x10]
test eax, 0x2000
je 0x10085cee
and eax, 0xffffdfff
lea ecx, [esp + 0x608]
mov dword [esp + 0x10], eax
call fcn.10001781
mov eax, dword [esp + 0x10]
test eax, 0x1000
je 0x10085d0e
and eax, 0xffffefff
lea ecx, [esp + 0x9f8]
mov dword [esp + 0x10], eax
call fcn.10001781
mov eax, dword [esp + 0x10]
test eax, 0x800
je 0x10085d2e
and eax, 0xfffff7ff
lea ecx, [esp + 0x620]
mov dword [esp + 0x10], eax
call fcn.10001781
mov eax, dword [esp + 0x10]
test eax, 0x400
je 0x10085d4e
and eax, 0xfffffbff
lea ecx, [esp + 0x140]
mov dword [esp + 0x10], eax
call fcn.10001781
mov eax, dword [esp + 0x10]
test eax, 0x200
je 0x10085d6e
and eax, 0xfffffdff
lea ecx, [esp + 0x638]
mov dword [esp + 0x10], eax
call fcn.10001781
mov eax, dword [esp + 0x10]
test eax, 0x100
je 0x10085d8e
and eax, 0xfffffeff
lea ecx, [esp + 0x158]
mov dword [esp + 0x10], eax
call fcn.10001781
mov eax, dword [esp + 0x10]
test al, al
jns 0x10085dab
and eax, 0xffffff7f
lea ecx, [esp + 0x2c0]
mov dword [esp + 0x10], eax
call fcn.10001781
mov eax, dword [esp + 0x10]
test al, 0x40
je 0x10085dc6
and eax, 0xffffffbf
lea ecx, [esp + 0x2d8]
mov dword [esp + 0x10], eax
call fcn.10001781
mov eax, dword [esp + 0x10]
test al, 0x20
je 0x10085de1
and eax, 0xffffffdf
lea ecx, [esp + 0x2f0]
mov dword [esp + 0x10], eax
call fcn.10001781
mov eax, dword [esp + 0x10]
test al, 0x10
je 0x10085dfc
and eax, 0xffffffef
lea ecx, [esp + 0x650]
mov dword [esp + 0x10], eax
call fcn.10001781
mov eax, dword [esp + 0x10]
test al, 8
je 0x10085e17
and eax, 0xfffffff7
lea ecx, [esp + 0x308]
mov dword [esp + 0x10], eax
call fcn.10001781
mov eax, dword [esp + 0x10]
test al, 4
je 0x10085e32
and eax, 0xfffffffb
lea ecx, [esp + 0x320]
mov dword [esp + 0x10], eax
call fcn.10001781
mov eax, dword [esp + 0x10]
test al, 2
je 0x10085e4d
and eax, 0xfffffffd
lea ecx, [esp + 0x668]
mov dword [esp + 0x10], eax
call fcn.10001781
mov eax, dword [esp + 0x10]
test al, 1
je 0x10085e64
and eax, 0xfffffffe
lea ecx, [esp + 0x338]
mov dword [esp + 0x10], eax
call fcn.10001781
mov eax, dword [esp + 0x18]
test eax, eax
jns 0x10085e85
and eax, 0x7fffffff
lea ecx, [esp + 0xa10]
mov dword [esp + 0x18], eax
call fcn.10001781
mov eax, dword [esp + 0x18]
test eax, 0x40000000
je 0x10085ea5
and eax, 0xbfffffff
lea ecx, [esp + 0x680]
mov dword [esp + 0x18], eax
call fcn.10001781
mov eax, dword [esp + 0x18]
test eax, 0x20000000
je 0x10085ec5
and eax, 0xdfffffff
lea ecx, [esp + 0xa28]
mov dword [esp + 0x18], eax
call fcn.10001781
mov eax, dword [esp + 0x18]
test eax, 0x10000000
je 0x10085ee5
and eax, 0xefffffff
lea ecx, [esp + 0xa40]
mov dword [esp + 0x18], eax
call fcn.10001781
mov eax, dword [esp + 0x18]
test eax, 0x8000000
je 0x10085f05
and eax, 0xf7ffffff
lea ecx, [esp + 0x698]
mov dword [esp + 0x18], eax
call fcn.10001781
mov eax, dword [esp + 0x18]
test eax, 0x4000000
je 0x10085f25
and eax, 0xfbffffff
lea ecx, [esp + 0xa58]
mov dword [esp + 0x18], eax
call fcn.10001781
mov eax, dword [esp + 0x18]
test eax, 0x2000000
je 0x10085f45
and eax, 0xfdffffff
lea ecx, [esp + 0xa70]
mov dword [esp + 0x18], eax
call fcn.10001781
mov eax, dword [esp + 0x18]
test eax, 0x1000000
je 0x10085f65
and eax, 0xfeffffff
lea ecx, [esp + 0x6b0]
mov dword [esp + 0x18], eax
call fcn.10001781
mov eax, dword [esp + 0x18]
test eax, 0x800000
je 0x10085f85
and eax, 0xff7fffff
lea ecx, [esp + 0xa88]
mov dword [esp + 0x18], eax
call fcn.10001781
mov eax, dword [esp + 0x18]
test eax, 0x400000
je 0x10085fa5
and eax, 0xffbfffff
lea ecx, [esp + 0xaa0]
mov dword [esp + 0x18], eax
call fcn.10001781
mov eax, dword [esp + 0x18]
test eax, 0x200000
je 0x10085fc5
and eax, 0xffdfffff
lea ecx, [esp + 0xab8]
mov dword [esp + 0x18], eax
call fcn.10001781
mov eax, dword [esp + 0x18]
test eax, 0x100000
je 0x10085fe5
and eax, 0xffefffff
lea ecx, [esp + 0x6c8]
mov dword [esp + 0x18], eax
call fcn.10001781
mov eax, dword [esp + 0x18]
test eax, 0x80000
je 0x10086005
and eax, 0xfff7ffff
lea ecx, [esp + 0x350]
mov dword [esp + 0x18], eax
call fcn.10001781
mov eax, dword [esp + 0x18]
test eax, 0x40000
je 0x10086025
and eax, 0xfffbffff
lea ecx, [esp + 0xad0]
mov dword [esp + 0x18], eax
call fcn.10001781
mov eax, dword [esp + 0x18]
test eax, 0x20000
je 0x10086045
and eax, 0xfffdffff
lea ecx, [esp + 0xae8]
mov dword [esp + 0x18], eax
call fcn.10001781
mov eax, dword [esp + 0x18]
test eax, 0x10000
je 0x10086065
and eax, 0xfffeffff
lea ecx, [esp + 0x6e0]
mov dword [esp + 0x18], eax
call fcn.10001781
mov eax, dword [esp + 0x18]
test eax, 0x8000
je 0x10086085
and eax, 0xffff7fff
lea ecx, [esp + 0x170]
mov dword [esp + 0x18], eax
call fcn.10001781
mov eax, dword [esp + 0x18]
test eax, 0x4000
je 0x100860a5
and eax, 0xffffbfff
lea ecx, [esp + 0x6f8]
mov dword [esp + 0x18], eax
call fcn.10001781
mov eax, dword [esp + 0x18]
test eax, 0x2000
je 0x100860c5
and eax, 0xffffdfff
lea ecx, [esp + 0x368]
mov dword [esp + 0x18], eax
call fcn.10001781
mov eax, dword [esp + 0x18]
test eax, 0x1000
je 0x100860e5
and eax, 0xffffefff
lea ecx, [esp + 0x380]
mov dword [esp + 0x18], eax
call fcn.10001781
mov eax, dword [esp + 0x18]
test eax, 0x800
je 0x10086105
and eax, 0xfffff7ff
lea ecx, [esp + 0x398]
mov dword [esp + 0x18], eax
call fcn.10001781
mov eax, dword [esp + 0x18]
test eax, 0x400
je 0x10086125
and eax, 0xfffffbff
lea ecx, [esp + 0x710]
mov dword [esp + 0x18], eax
call fcn.10001781
mov eax, dword [esp + 0x18]
test eax, 0x200
je 0x10086145
and eax, 0xfffffdff
lea ecx, [esp + 0x188]
mov dword [esp + 0x18], eax
call fcn.10001781
mov eax, dword [esp + 0x18]
test eax, 0x100
je 0x10086165
and eax, 0xfffffeff
lea ecx, [esp + 0x728]
mov dword [esp + 0x18], eax
call fcn.10001781
mov eax, dword [esp + 0x18]
test al, al
jns 0x10086182
and eax, 0xffffff7f
lea ecx, [esp + 0x3b0]
mov dword [esp + 0x18], eax
call fcn.10001781
mov eax, dword [esp + 0x18]
test al, 0x40
je 0x1008619d
and eax, 0xffffffbf
lea ecx, [esp + 0x3c8]
mov dword [esp + 0x18], eax
call fcn.10001781
mov eax, dword [esp + 0x18]
test al, 0x20
je 0x100861b8
and eax, 0xffffffdf
lea ecx, [esp + 0x740]
mov dword [esp + 0x18], eax
call fcn.10001781
mov eax, dword [esp + 0x18]
test al, 0x10
je 0x100861d3
and eax, 0xffffffef
lea ecx, [esp + 0x1a0]
mov dword [esp + 0x18], eax
call fcn.10001781
mov eax, dword [esp + 0x18]
test al, 8
je 0x100861ee
and eax, 0xfffffff7
lea ecx, [esp + 0x3e0]
mov dword [esp + 0x18], eax
call fcn.10001781
mov eax, dword [esp + 0x18]
test al, 4
je 0x10086209
and eax, 0xfffffffb
lea ecx, [esp + 0x3f8]
mov dword [esp + 0x18], eax
call fcn.10001781
mov eax, dword [esp + 0x18]
test al, 2
je 0x10086224
and eax, 0xfffffffd
lea ecx, [esp + 0x758]
mov dword [esp + 0x18], eax
call fcn.10001781
mov eax, dword [esp + 0x18]
test al, 1
je 0x1008623b
and eax, 0xfffffffe
lea ecx, [esp + 0x410]
mov dword [esp + 0x18], eax
call fcn.10001781
lea ecx, [esp + 0xb00]
call fcn.10001781
lea ecx, [esp + 0x770]
call fcn.10001781
lea ecx, [esp + 0xb18]
call fcn.10001781
lea ecx, [esp + 0xb30]
call fcn.10001781
lea ecx, [esp + 0x788]
call fcn.10001781
lea ecx, [esp + 0xb48]
call fcn.10001781
lea ecx, [esp + 0x7a0]
call fcn.10001781
lea ecx, [esp + 0xb60]
call fcn.10001781
lea ecx, [esp + 0xb78]
call fcn.10001781
lea ecx, [esp + 0x7b8]
call fcn.10001781
lea ecx, [esp + 0xb90]
call fcn.10001781
lea ecx, [esp + 0x7d0]
call fcn.10001781
lea ecx, [esp + 0x1b8]
call fcn.10001781
lea ecx, [esp + 0x7e8]
call fcn.10001781
lea ecx, [esp + 0x1d0]
call fcn.10001781
lea ecx, [esp + 0x428]
call fcn.10001781
lea ecx, [esp + 0x440]
call fcn.10001781
lea ecx, [esp + 0x458]
call fcn.10001781
lea ecx, [esp + 0x800]
call fcn.10001781
lea ecx, [esp + 0x470]
call fcn.10001781
lea ecx, [esp + 0x488]
call fcn.10001781
lea ecx, [esp + 0x818]
call fcn.10001781
lea ecx, [esp + 0x4a0]
call fcn.10001781
cmp esi, 0xffffffff
jne 0x100865a1
cmp dword [esp + 0x54], 0
jne 0x1008637e
lea eax, [esp + 0x830]
mov ecx, 0x100aada8
push eax
call fcn.100016a5
mov dword [esp + 0x54], 1
jmp 0x10084859
movsd xmm0, qword [0x100ac8a0]
ucomisd xmm0, qword [0x100a1940]
lahf
test ah, 0x44
jp 0x1008a1f7
movsd xmm0, qword [0x100ac858]
sub esp, 0x10
movsd qword [esp + 8], xmm0
movsd xmm0, qword [0x100ac8d8]
movsd qword [esp], xmm0
call fcn.10041a5f
fstp qword [esp + 0x38]
fld qword [0x100ac878]
add esp, 0x10
call fcn.10041e10
movsd xmm0, qword [0x100a1870]
fstp qword [esp + 0x38]
divsd xmm0, qword [esp + 0x38]
movsd qword [esp + 0x38], xmm0
fld qword [esp + 0x38]
fmul qword [esp + 0x28]
fstp qword [esp + 0x28]
fld qword [0x100ac898]
fld qword [0x100ac858]
call fcn.10041e40
movsd xmm0, qword [0x100ac8d8]
fstp qword [esp + 0x38]
call fcn.100428d0
mulsd xmm0, qword [esp + 0x28]
sub esp, 0x10
movsd xmm1, qword [esp + 0x48]
mulsd xmm1, xmm0
movsd xmm0, qword [0x100ac858]
unpcklpd xmm0, xmm0
movups xmmword [esp], xmm0
addsd xmm1, qword [0x100a18a8]
movsd qword [esp + 0x40], xmm1
call fcn.10041ded
movsd xmm0, qword [0x100ac898]
fstp qword [esp + 0x38]
call fcn.10042bc0
movsd qword [esp + 0x48], xmm0
movsd xmm0, qword [0x100ac878]
call fcn.10042380
movsd xmm1, qword [esp + 0x48]
add esp, 8
mulsd xmm1, xmm0
movsd qword [esp + 0x40], xmm1
fld qword [esp + 0x40]
fmul qword [esp + 0x30]
fstp qword [esp]
call fcn.10041837
movsd xmm0, qword [0x100ac870]
fstp qword [esp + 0x40]
movsd qword [esp], xmm0
call fcn.10041837
fmul qword [esp + 0x40]
pop ecx
pop ecx
fstp qword [esp + 0x28]
fld qword [0x100ac8d8]
call fcn.10041e10
fstp qword [esp + 0x38]
movsd xmm0, qword [esp + 0x38]
sub esp, 0x10
mulsd xmm0, qword [esp + 0x38]
movsd qword [esp + 0x48], xmm0
movsd xmm0, qword [0x100ac860]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [0x100ac878]
movsd qword [esp], xmm0
call fcn.10041ded
fmul qword [esp + 0x48]
fstp qword [esp + 0x48]
movsd xmm0, qword [esp + 0x48]
call fcn.10043bb0
add esp, 8
movsd qword [esp + 0x40], xmm0
movsd xmm0, qword [0x100ac878]
movsd qword [esp], xmm0
call fcn.10041837
fmul qword [0x100a18f8]
fmul qword [esp + 0x40]
fstp qword [esp + 0x30]
fld qword [0x100ac868]
fstp qword [esp]
call fcn.10044110
fstp qword [esp + 0x40]
movsd xmm0, qword [esp + 0x40]
mulsd xmm0, qword [esp + 0x30]
pop ecx
pop ecx
movsd qword [esp + 0x38], xmm0
movsd xmm0, qword [0x100ac868]
call fcn.10043d80
movsd xmm1, qword [esp + 0x38]
mulsd xmm1, xmm0
movsd xmm0, qword [0x100ac898]
movsd qword [esp + 0x38], xmm1
call fcn.10042bc0
movsd xmm1, qword [esp + 0x38]
mulsd xmm1, xmm0
movsd xmm0, qword [esp + 0x30]
subsd xmm0, xmm1
movsd qword [0x100ac858], xmm0
jmp 0x1008a1f7
movsd xmm0, qword [0x100ac860]
ucomisd xmm0, qword [str.s5:o_]
lahf
test ah, 0x44
jp 0x1008673a
movsd xmm0, qword [0x100ac8d8]
call fcn.10041e60
movsd xmm1, qword [0x100a18b8]
divsd xmm1, xmm0
push ecx
push ecx
movsd xmm0, qword [0x100a18b0]
subsd xmm0, xmm1
movsd qword [esp + 0x30], xmm0
movsd xmm0, qword [0x100ac8d8]
movsd qword [esp], xmm0
call fcn.10041837
fmul qword [0x100a1880]
movsd xmm0, qword [0x100ac898]
movsd qword [esp], xmm0
movsd xmm0, qword [0x100ac868]
push ecx
fsubr qword [esp + 0x34]
push ecx
movsd qword [esp], xmm0
fstp qword [esp + 0x70]
call fcn.10041a08
fmul qword [0x100a18e0]
add esp, 0x10
fstp qword [esp + 0x48]
fld qword [0x100ac8d8]
call fcn.10041e30
movsd xmm1, qword [0x100a1878]
fstp qword [esp + 0x28]
divsd xmm1, qword [esp + 0x28]
movsd xmm0, qword [0x100ac8a0]
andps xmm0, xmmword [0x100a1950]
fld qword [0x100ac878]
mulsd xmm1, xmm0
movsd qword [esp + 0x28], xmm1
call fcn.10041e30
movsd xmm0, qword [esp + 0x28]
fstp qword [esp + 0x30]
mulsd xmm0, qword [esp + 0x30]
movsd qword [esp + 0x28], xmm0
movsd xmm0, qword [0x100ac868]
call fcn.10042380
mulsd xmm0, qword [esp + 0x48]
sub esp, 0x10
movsd xmm1, qword [esp + 0x70]
subsd xmm1, xmm0
movsd xmm0, qword [esp + 0x38]
addsd xmm0, xmm1
movsd qword [esp + 0x70], xmm0
movsd xmm0, qword [0x100ac878]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [0x100ac870]
movsd qword [esp], xmm0
call fcn.10041ac1
fstp qword [esp + 0x58]
fld qword [0x100ac8a0]
add esp, 0x10
call fcn.10041e20
movsd xmm0, qword [0x100a1898]
fstp qword [esp + 0x28]
divsd xmm0, qword [esp + 0x28]
fld qword [0x100ac868]
movsd qword [esp + 0x28], xmm0
call fcn.10041e30
movsd xmm0, qword [esp + 0x28]
fstp qword [esp + 0x30]
mulsd xmm0, qword [esp + 0x30]
movsd qword [esp + 0x28], xmm0
fld qword [esp + 0x28]
fmul qword [esp + 0x48]
fsubr qword [esp + 0x60]
fstp qword [0x100ac898]
push 1
mov ecx, 0x100aadc0
call fcn.10001750
push 6
mov ecx, 0x100aace0
mov al, byte [eax]
mov dword [esp + 0x2c], eax
call fcn.10001750
push 5
mov ecx, 0x100aabf0
mov al, byte [eax]
mov dword [esp + 0x34], eax
call fcn.10001750
lea ecx, [esp + 0x15e0]
mov esi, eax
call fcn.100017da
movzx ecx, byte [0x100aaaf3]
push eax
push ecx
lea eax, [esp + 0x15d0]
push eax
call fcn.10001d31
add esp, 0xc
lea ecx, [esp + 0x15b0]
push eax
push dword [esp + 0x2c]
call fcn.100017da
push eax
lea ecx, [esp + 0x15a4]
call fcn.100017da
push eax
push dword [esp + 0x40]
lea eax, [esp + 0x1594]
push eax
call fcn.10001d31
add esp, 0xc
lea ecx, [esp + 0x1574]
push eax
movzx eax, byte [0x100aa8f3]
push eax
call fcn.100017da
push eax
movzx eax, byte [0x100aa7b6]
lea ecx, [esp + 0x1568]
push eax
call fcn.100017da
push eax
lea ecx, [esp + 0x1558]
call fcn.100017da
push eax
movzx eax, byte [esi]
lea ecx, [esp + 0x1544]
push eax
movzx eax, byte [0x100aa8f3]
push eax
call fcn.100017da
push eax
lea eax, [esp + 0x1538]
push eax
call fcn.10001cd5
add esp, 0xc
push eax
movsx eax, byte [0x100aaca6]
push eax
call fcn.10041615
pop ecx
push eax
lea ecx, [esp + 0x1520]
call fcn.100017da
push eax
lea eax, [esp + 0x150c]
push eax
call fcn.10001cd5
add esp, 0xc
push eax
lea eax, [esp + 0x14f0]
push eax
call fcn.10001cf3
add esp, 0xc
push eax
lea eax, [esp + 0x14d4]
push eax
call fcn.10001cd5
add esp, 0xc
push eax
lea eax, [esp + 0x14b8]
push eax
call fcn.10001cf3
add esp, 0xc
push eax
lea eax, [esp + 0x149c]
push eax
call fcn.10001cf3
add esp, 0xc
push eax
lea eax, [esp + 0x1480]
push eax
call fcn.10001cd5
add esp, 0xc
push eax
lea eax, [esp + 0x1464]
push eax
call fcn.10001cf3
add esp, 0xc
push eax
lea eax, [esp + 0x1448]
push eax
call fcn.10001cd5
add esp, 0xc
push eax
lea eax, [esp + 0x142c]
push eax
call fcn.10001cf3
add esp, 0xc
push eax
lea eax, [esp + 0x1410]
push eax
call fcn.10001cf3
add esp, 0xc
push eax
lea eax, [esp + 0x13f4]
push eax
call fcn.10001cd5
add esp, 0xc
push eax
lea eax, [esp + 0x13d8]
push eax
call fcn.10001cf3
add esp, 0xc
mov ecx, eax
call fcn.10001745
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [0x100ade4c], eax
push 1
test eax, eax
je 0x10086bf0
or dword [esp + 0x24], 0x800000
mov ecx, 0x100aadd8
call fcn.10001750
mov esi, 0x100aae20
push 3
mov ecx, esi
mov al, byte [eax]
mov dword [esp + 0x2c], eax
call fcn.10001750
push 3
mov ecx, 0x100aace0
mov al, byte [eax]
mov dword [esp + 0x34], eax
call fcn.10001750
push 3
mov ecx, esi
mov al, byte [eax]
mov dword [esp + 0x4c], eax
call fcn.10001750
movzx ecx, byte [0x100aa8f1]
mov esi, eax
push ecx
lea ecx, [esp + 0x13bc]
call fcn.100017da
push eax
push dword [esp + 0x30]
lea ecx, [esp + 0x13ac]
call fcn.100017da
push eax
lea eax, [esp + 0x1398]
push eax
call fcn.10001cd5
add esp, 0xc
lea ecx, [esp + 0x1378]
push eax
push dword [esp + 0x3c]
call fcn.100017da
push eax
lea eax, [esp + 0x136c]
push eax
call fcn.10001cd5
add esp, 0xc
push eax
movsx eax, byte [0x100aac0a]
push eax
call fcn.10041615
pop ecx
push eax
lea ecx, [esp + 0x1354]
call fcn.100017da
push eax
lea ecx, [esp + 0x1340]
call fcn.100017da
push eax
movzx eax, byte [0x100aa8f5]
push eax
lea eax, [esp + 0x1330]
push eax
call fcn.10001d31
add esp, 0xc
lea ecx, [esp + 0x1310]
push eax
push dword [esp + 0x64]
call fcn.100017da
push eax
lea eax, [esp + 0x1304]
push eax
call fcn.10001cd5
add esp, 0xc
lea ecx, [esp + 0x12e4]
push eax
movzx eax, byte [esi]
push eax
call fcn.100017da
push eax
lea ecx, [esp + 0x12d8]
call fcn.100017da
push eax
movsx eax, byte [str.foEVfwVfWCWfO]
push eax
call fcn.10041615
pop ecx
push eax
lea eax, [esp + 0x12c8]
push eax
call fcn.10001d31
add esp, 0xc
lea ecx, [esp + 0x12a8]
push eax
call fcn.100017da
push eax
movzx eax, byte [0x100aa673]
push eax
lea eax, [esp + 0x129c]
push eax
call fcn.10001d31
add esp, 0xc
lea ecx, [esp + 0x127c]
push eax
movzx eax, byte [0x100aa8f2]
push eax
call fcn.100017da
push eax
lea ecx, [esp + 0x1270]
call fcn.100017da
push eax
movsx eax, byte [str.gAfgLgmcBgE]
push eax
call fcn.10041615
pop ecx
push eax
lea eax, [esp + 0x1260]
push eax
call fcn.10001d31
add esp, 0xc
push eax
lea eax, [esp + 0x1244]
push eax
call fcn.10001cf3
add esp, 0xc
push eax
lea eax, [esp + 0x1228]
push eax
call fcn.10001cd5
add esp, 0xc
push eax
lea eax, [esp + 0x120c]
push eax
call fcn.10001cf3
add esp, 0xc
push eax
lea eax, [esp + 0x11f0]
push eax
call fcn.10001cf3
add esp, 0xc
push eax
lea eax, [esp + 0x11d4]
push eax
call fcn.10001cf3
add esp, 0xc
push eax
lea eax, [esp + 0x11b8]
push eax
call fcn.10001cd5
add esp, 0xc
push eax
lea eax, [esp + 0x119c]
push eax
call fcn.10001cf3
add esp, 0xc
push eax
lea eax, [esp + 0x1180]
push eax
call fcn.10001cf3
add esp, 0xc
push eax
lea eax, [esp + 0x1164]
push eax
call fcn.10001cf3
add esp, 0xc
push eax
lea eax, [esp + 0x1148]
push eax
call fcn.10001cd5
add esp, 0xc
push eax
lea eax, [esp + 0x112c]
push eax
call fcn.10001cf3
add esp, 0xc
push eax
lea eax, [esp + 0x1110]
push eax
call fcn.10001cf3
add esp, 0xc
push eax
lea eax, [esp + 0x10f4]
push eax
call fcn.10001cf3
add esp, 0xc
push eax
lea eax, [esp + 0x10d8]
push eax
call fcn.10001cd5
add esp, 0xc
mov ecx, eax
call fcn.10001745
push eax
push dword [0x100ade4c]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, dword [esp + 0x20]
mov ecx, eax
mov dword [esp + 0xc], 0x7fffff
or esi, 0xff000000
jmp 0x100870af
mov ecx, 0x100aadc0
call fcn.10001750
push 6
mov ecx, 0x100aace0
mov al, byte [eax]
mov dword [esp + 0x2c], eax
call fcn.10001750
push 5
mov ecx, 0x100aabf0
mov al, byte [eax]
mov dword [esp + 0x34], eax
call fcn.10001750
lea ecx, [esp + 0x10b8]
mov esi, eax
call fcn.100017da
movzx ecx, byte [0x100aaaf3]
push eax
push ecx
lea eax, [esp + 0x10a8]
push eax
call fcn.10001d31
add esp, 0xc
lea ecx, [esp + 0x1088]
push eax
push dword [esp + 0x2c]
call fcn.100017da
push eax
lea ecx, [esp + 0x107c]
call fcn.100017da
push eax
push dword [esp + 0x40]
lea eax, [esp + 0x106c]
push eax
call fcn.10001d31
add esp, 0xc
lea ecx, [esp + 0x104c]
push eax
movzx eax, byte [0x100aa8f3]
push eax
call fcn.100017da
push eax
movzx eax, byte [0x100aa7b6]
lea ecx, [esp + 0x1040]
push eax
call fcn.100017da
push eax
lea ecx, [esp + 0x1030]
call fcn.100017da
push eax
movzx eax, byte [esi]
lea ecx, [esp + 0x101c]
push eax
movzx eax, byte [0x100aa8f3]
push eax
call fcn.100017da
push eax
lea eax, [esp + 0x1010]
push eax
call fcn.10001cd5
add esp, 0xc
push eax
movsx eax, byte [0x100aaca6]
push eax
call fcn.10041615
pop ecx
push eax
lea ecx, [esp + 0xff8]
call fcn.100017da
push eax
lea eax, [esp + 0xfe4]
push eax
call fcn.10001cd5
add esp, 0xc
push eax
lea eax, [esp + 0xfc8]
push eax
call fcn.10001cf3
add esp, 0xc
push eax
lea eax, [esp + 0xfac]
push eax
call fcn.10001cd5
add esp, 0xc
push eax
lea eax, [esp + 0xf90]
push eax
call fcn.10001cf3
add esp, 0xc
push eax
lea eax, [esp + 0xf74]
push eax
call fcn.10001cf3
add esp, 0xc
push eax
lea eax, [esp + 0xf58]
push eax
call fcn.10001cd5
add esp, 0xc
push eax
lea eax, [esp + 0xf3c]
push eax
call fcn.10001cf3
add esp, 0xc
push eax
lea eax, [esp + 0xf20]
push eax
call fcn.10001cd5
add esp, 0xc
push eax
lea eax, [esp + 0xf04]
push eax
call fcn.10001cf3
add esp, 0xc
push eax
lea eax, [esp + 0xee8]
push eax
call fcn.10001cf3
add esp, 0xc
push eax
lea eax, [esp + 0xecc]
push eax
call fcn.10001cd5
add esp, 0xc
push eax
lea eax, [esp + 0xeb0]
push eax
call fcn.10001cf3
add esp, 0xc
mov ecx, eax
call fcn.10001745
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [0x100ade4c], eax
test eax, eax
je 0x10087097
push 1
mov ecx, 0x100aadd8
call fcn.10001750
mov esi, 0x100aae20
push 3
mov ecx, esi
mov al, byte [eax]
mov dword [esp + 0x2c], eax
call fcn.10001750
push 3
mov ecx, 0x100aace0
mov al, byte [eax]
mov dword [esp + 0x34], eax
call fcn.10001750
push 3
mov ecx, esi
mov al, byte [eax]
mov dword [esp + 0x4c], eax
call fcn.10001750
movzx ecx, byte [0x100aa8f1]
mov esi, eax
push ecx
lea ecx, [esp + 0xe94]
call fcn.100017da
push eax
push dword [esp + 0x30]
lea ecx, [esp + 0xe84]
call fcn.100017da
push eax
lea eax, [esp + 0xe70]
push eax
call fcn.10001cd5
add esp, 0xc
lea ecx, [esp + 0xe50]
push eax
push dword [esp + 0x3c]
call fcn.100017da
push eax
lea eax, [esp + 0xe44]
push eax
call fcn.10001cd5
add esp, 0xc
push eax
movsx eax, byte [0x100aac0a]
push eax
call fcn.10041615
pop ecx
push eax
lea ecx, [esp + 0xe2c]
call fcn.100017da
push eax
lea ecx, [esp + 0xe18]
call fcn.100017da
push eax
movzx eax, byte [0x100aa8f5]
push eax
lea eax, [esp + 0xe08]
push eax
call fcn.10001d31
add esp, 0xc
lea ecx, [esp + 0xde8]
push eax
push dword [esp + 0x64]
call fcn.100017da
push eax
lea eax, [esp + 0xddc]
push eax
call fcn.10001cd5
add esp, 0xc
lea ecx, [esp + 0xdbc]
push eax
movzx eax, byte [esi]
push eax
call fcn.100017da
push eax
lea ecx, [esp + 0xdb0]
call fcn.100017da
push eax
movsx eax, byte [str.foEVfwVfWCWfO]
push eax
call fcn.10041615
pop ecx
push eax
lea eax, [esp + 0xda0]
push eax
call fcn.10001d31
add esp, 0xc
lea ecx, [esp + 0xd80]
push eax
call fcn.100017da
push eax
movzx eax, byte [0x100aa673]
push eax
lea eax, [esp + 0xd74]
push eax
call fcn.10001d31
add esp, 0xc
lea ecx, [esp + 0xd54]
push eax
movzx eax, byte [0x100aa8f2]
push eax
call fcn.100017da
push eax
lea ecx, [esp + 0xd48]
call fcn.100017da
push eax
movsx eax, byte [str.gAfgLgmcBgE]
push eax
call fcn.10041615
pop ecx
push eax
lea eax, [esp + 0xd38]
push eax
call fcn.10001d31
add esp, 0xc
push eax
lea eax, [esp + 0xd1c]
push eax
call fcn.10001cf3
add esp, 0xc
push eax
lea eax, [esp + 0xd00]
push eax
call fcn.10001cd5
add esp, 0xc
push eax
lea eax, [esp + 0xce4]
push eax
call fcn.10001cf3
add esp, 0xc
push eax
lea eax, [esp + 0xcc8]
push eax
call fcn.10001cf3
add esp, 0xc
push eax
lea eax, [esp + 0xcac]
push eax
call fcn.10001cf3
add esp, 0xc
push eax
lea eax, [esp + 0xc90]
push eax
call fcn.10001cd5
add esp, 0xc
push eax
lea eax, [esp + 0xc74]
push eax
call fcn.10001cf3
add esp, 0xc
push eax
lea eax, [esp + 0xc58]
push eax
call fcn.10001cf3
add esp, 0xc
push eax
lea eax, [esp + 0xc3c]
push eax
call fcn.10001cf3
add esp, 0xc
push eax
lea eax, [esp + 0xc20]
push eax
call fcn.10001cd5
add esp, 0xc
push eax
lea eax, [esp + 0xc04]
push eax
call fcn.10001cf3
add esp, 0xc
push eax
lea eax, [esp + 0xbe8]
push eax
call fcn.10001cf3
add esp, 0xc
push eax
lea eax, [esp + 0xbcc]
push eax
call fcn.10001cf3
add esp, 0xc
push eax
lea eax, [esp + 0xbb0]
push eax
call fcn.10001cd5
add esp, 0xc
mov ecx, eax
call fcn.10001745
push eax
push dword [0x100ade4c]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, eax
or eax, 0xffffffff
mov dword [esp + 8], eax
mov eax, 0x3fff
mov dword [esp + 0x14], eax
jmp 0x100870ab
mov eax, 0x3fff
mov ecx, edi
mov dword [esp + 8], eax
mov eax, 0xff800000
mov dword [esp + 0xc], eax
mov esi, dword [esp + 0x20]
push edi
push dword [esp + 0x54]
call ecx
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x14]
test eax, 0x2000
je 0x100870de
and eax, 0xffffdfff
lea ecx, [esp + 0xba8]
mov dword [esp + 0x14], eax
call fcn.10001781
mov eax, dword [esp + 0x14]
test eax, 0x1000
je 0x100870fe
and eax, 0xffffefff
lea ecx, [esp + 0xbc0]
mov dword [esp + 0x14], eax
call fcn.10001781
mov eax, dword [esp + 0x14]
test eax, 0x800
je 0x1008711e
and eax, 0xfffff7ff
lea ecx, [esp + 0xbd8]
mov dword [esp + 0x14], eax
call fcn.10001781
mov eax, dword [esp + 0x14]
test eax, 0x400
je 0x1008713e
and eax, 0xfffffbff
lea ecx, [esp + 0xbf0]
mov dword [esp + 0x14], eax
call fcn.10001781
mov eax, dword [esp + 0x14]
mov edi, 0x200
test edi, eax
je 0x10087160
and eax, 0xfffffdff
lea ecx, [esp + 0xc08]
mov dword [esp + 0x14], eax
call fcn.10001781
mov eax, dword [esp + 0x14]
test eax, 0x100
je 0x10087180
and eax, 0xfffffeff
lea ecx, [esp + 0xc20]
mov dword [esp + 0x14], eax
call fcn.10001781
mov eax, dword [esp + 0x14]
test al, al
jns 0x1008719d
and eax, 0xffffff7f
lea ecx, [esp + 0xc38]
mov dword [esp + 0x14], eax
call fcn.10001781
mov eax, dword [esp + 0x14]
test al, 0x40
je 0x100871b8
and eax, 0xffffffbf
lea ecx, [esp + 0xc50]
mov dword [esp + 0x14], eax
call fcn.10001781
mov eax, dword [esp + 0x14]
test al, 0x20
je 0x100871d3
and eax, 0xffffffdf
lea ecx, [esp + 0xc68]
mov dword [esp + 0x14], eax
call fcn.10001781
mov eax, dword [esp + 0x14]
test al, 0x10
je 0x100871ee
and eax, 0xffffffef
lea ecx, [esp + 0xc80]
mov dword [esp + 0x14], eax
call fcn.10001781
mov eax, dword [esp + 0x14]
test al, 8
je 0x10087209
and eax, 0xfffffff7
lea ecx, [esp + 0xc98]
mov dword [esp + 0x14], eax
call fcn.10001781
mov eax, dword [esp + 0x14]
test al, 4
je 0x10087224
and eax, 0xfffffffb
lea ecx, [esp + 0xcb0]
mov dword [esp + 0x14], eax
call fcn.10001781
mov eax, dword [esp + 0x14]
test al, 2
je 0x1008723f
and eax, 0xfffffffd
lea ecx, [esp + 0xcc8]
mov dword [esp + 0x14], eax
call fcn.10001781
mov eax, dword [esp + 0x14]
test al, 1
je 0x10087256
and eax, 0xfffffffe
lea ecx, [esp + 0xce0]
mov dword [esp + 0x14], eax
call fcn.10001781
mov eax, dword [esp + 8]
test eax, eax
jns 0x10087277
and eax, 0x7fffffff
lea ecx, [esp + 0xcf8]
mov dword [esp + 8], eax
call fcn.10001781
mov eax, dword [esp + 8]
test eax, 0x40000000
je 0x10087297
and eax, 0xbfffffff
lea ecx, [esp + 0xd10]
mov dword [esp + 8], eax
call fcn.10001781
mov eax, dword [esp + 8]
test eax, 0x20000000
je 0x100872b7
and eax, 0xdfffffff
lea ecx, [esp + 0xd28]
mov dword [esp + 8], eax
call fcn.10001781
mov eax, dword [esp + 8]
test eax, 0x10000000
je 0x100872d7
and eax, 0xefffffff
lea ecx, [esp + 0xd40]
mov dword [esp + 8], eax
call fcn.10001781
mov eax, dword [esp + 8]
test eax, 0x8000000
je 0x100872f7
and eax, 0xf7ffffff
lea ecx, [esp + 0xd58]
mov dword [esp + 8], eax
call fcn.10001781
mov eax, dword [esp + 8]
test eax, 0x4000000
je 0x10087317
and eax, 0xfbffffff
lea ecx, [esp + 0xd70]
mov dword [esp + 8], eax
call fcn.10001781
mov eax, dword [esp + 8]
test eax, 0x2000000
je 0x10087337
and eax, 0xfdffffff
lea ecx, [esp + 0xd88]
mov dword [esp + 8], eax
call fcn.10001781
mov eax, dword [esp + 8]
test eax, 0x1000000
je 0x10087357
and eax, 0xfeffffff
lea ecx, [esp + 0xda0]
mov dword [esp + 8], eax
call fcn.10001781
mov eax, dword [esp + 8]
test eax, 0x800000
je 0x10087377
and eax, 0xff7fffff
lea ecx, [esp + 0xdb8]
mov dword [esp + 8], eax
call fcn.10001781
mov eax, dword [esp + 8]
test eax, 0x400000
je 0x10087397
and eax, 0xffbfffff
lea ecx, [esp + 0xdd0]
mov dword [esp + 8], eax
call fcn.10001781
mov eax, dword [esp + 8]
test eax, 0x200000
je 0x100873b7
and eax, 0xffdfffff
lea ecx, [esp + 0xde8]
mov dword [esp + 8], eax
call fcn.10001781
mov eax, dword [esp + 8]
test eax, 0x100000
je 0x100873d7
and eax, 0xffefffff
lea ecx, [esp + 0xe00]
mov dword [esp + 8], eax
call fcn.10001781
mov eax, dword [esp + 8]
test eax, 0x80000
je 0x100873f7
and eax, 0xfff7ffff
lea ecx, [esp + 0xe18]
mov dword [esp + 8], eax
call fcn.10001781
mov eax, dword [esp + 8]
test eax, 0x40000
je 0x10087417
and eax, 0xfffbffff
lea ecx, [esp + 0xe30]
mov dword [esp + 8], eax
call fcn.10001781
mov eax, dword [esp + 8]
test eax, 0x20000
je 0x10087437
and eax, 0xfffdffff
lea ecx, [esp + 0xe48]
mov dword [esp + 8], eax
call fcn.10001781
mov eax, dword [esp + 8]
test eax, 0x10000
je 0x10087457
and eax, 0xfffeffff
lea ecx, [esp + 0xe60]
mov dword [esp + 8], eax
call fcn.10001781
mov eax, dword [esp + 8]
test eax, 0x8000
je 0x10087477
and eax, 0xffff7fff
lea ecx, [esp + 0xe78]
mov dword [esp + 8], eax
call fcn.10001781
mov eax, dword [esp + 8]
test eax, 0x4000
je 0x10087497
lea ecx, [esp + 0x830]
call fcn.100016d1
lea ecx, [esp + 0xe0]
call fcn.100016d1
mov ecx, dword [esp + 0x2af4]
pop edi
pop esi
xor ecx, esp
call fcn.10015b84
mov esp, ebp
pop ebp
ret