Function at 0x40118a
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0xb50
push ebx
push ebp
mov ebp, dword [esp + 0x28]
xor ebx, ebx
push esi
mov esi, edx
mov dword [esp + 0x20], ebx
mov edx, ecx
mov dword [esp + 0x1c], esi
mov ecx, dword [esp + 0x30]
mov eax, 0x1f400f33
push edi
mov edi, dword [esp + 0xb64]
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], ecx
cmp eax, 0x2443141c
jg 0x40145b
je 0x40143b
cmp eax, 0x1ec91451
jg 0x401337
je 0x4012e8
cmp eax, 0xb13c58e
je 0x4012d5
cmp eax, 0xcdf3dd4
je 0x401263
cmp eax, 0x191d1a8c
je 0x40121c
cmp eax, 0x1cdbe8b1
jne 0x401631
mov ecx, dword [esp + 0x30]
call fcn.00402fd6
mov eax, 0x2b2f300d
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
jmp 0x4011be
mov edx, dword [esp + 0x40]
lea eax, [esp + 0x38]
and dword [esp + 0x38], 0
lea ecx, [esp + 0xe0]
and dword [esp + 0x3c], 0
push eax
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x368]
push eax
lea eax, [esp + 0x16c]
push eax
call fcn.00402168
add esp, 0x10
neg eax
sbb eax, eax
and eax, 0xecd9200c
add eax, 0x3769f410
jmp 0x401212
mov ecx, 0x4090d0
call fcn.00402682
mov ecx, dword [0x40a434]
mov esi, eax
mov edx, dword [ecx + 0x38]
movzx ecx, byte [edx]
movzx eax, byte [edx + 3]
push ecx
movzx ecx, byte [edx + 1]
push ecx
movzx ecx, byte [edx + 2]
mov edx, 0x8750626d
push ecx
push eax
push esi
push 0x40
lea eax, [esp + 0xf8]
mov ecx, 0xbc1ce431
push eax
push 0x1cf
call fcn.00402f7b
pop ecx
call eax
add esp, 0x1c
mov ecx, esi
call fcn.00402fd6
mov eax, dword [0x40a434]
mov eax, dword [eax + 0x38]
movzx eax, word [eax + 4]
mov dword [esp + 0x40], eax
mov eax, 0x20360506
mov esi, dword [esp + 0x20]
jmp 0x401212
mov ecx, dword [esp + 0x28]
call fcn.00402fd6
mov eax, 0x21663912
jmp 0x401212
mov eax, dword [esi + 4]
xor edx, edx
push 0x64
pop ecx
div ecx
imul esi, eax, 5
mov eax, dword [esp + 0x20]
add esi, dword [eax + 4]
mov ecx, esi
call fcn.0040302e
mov ebp, eax
test ebp, ebp
je 0x401645
push esi
mov esi, dword [esp + 0x24]
push ebp
mov edx, dword [esi + 4]
mov ecx, dword [esi]
call fcn.004041a1
pop ecx
pop ecx
mov ecx, eax
mov dword [esp + 0x14], ecx
test ecx, ecx
je 0x40163e
mov eax, 0x3b8fcc8e
jmp 0x401216
cmp eax, 0x1f400f33
je 0x401419
cmp eax, 0x20360506
je 0x4013b8
cmp eax, 0x21663912
je 0x4013a5
cmp eax, 0x216a259a
jne 0x401631
mov ecx, 0x409120
call fcn.00402682
mov esi, eax
mov edx, 0x8750626d
lea eax, [esp + 0x60]
mov ecx, 0xbc1ce431
push eax
push esi
push 0x400
lea eax, [esp + 0x36c]
push eax
push 0x1cf
call fcn.00402f7b
pop ecx
call eax
add esp, 0x10
mov ecx, esi
call fcn.00402fd6
mov eax, 0x2dad9ee8
jmp 0x4012cc
mov ecx, dword [esp + 0x38]
call fcn.00402fd6
mov eax, 0x3769f410
jmp 0x401212
mov eax, dword [esp + 0x1c]
lea edi, [esp + 0x160]
push 6
xor edx, edx
pop ebx
div ebx
mov ebx, edx
inc ebx
je 0x4013ff
mov esi, dword [esp + 0x1c]
lea eax, [esp + 0x1c]
and esi, 0xf
mov ecx, edi
add esi, 4
push eax
mov edx, esi
call fcn.004037fd
pop ecx
push 0x2f
lea edi, [edi + esi*2]
pop eax
mov word [edi], ax
add edi, 2
dec ebx
jne 0x4013cf
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x20]
mov ebx, dword [esp + 0x24]
xor eax, eax
mov word [edi], ax
mov eax, 0x27959035
mov edi, dword [esp + 0xb64]
jmp 0x401216
push 4
mov edx, 0xe5cef327
mov ecx, 0xe14c2257
call fcn.00402f7b
pop ecx
call eax
mov dword [esp + 0x1c], eax
mov eax, 0x1ec91451
jmp 0x401212
lea edx, [esp + 0x28]
lea ecx, [esp + 0x38]
call fcn.00401973
neg eax
sbb eax, eax
and eax, 0x117eeb8c
add eax, 0x21663912
jmp 0x401212
cmp eax, 0x32e5249e
jg 0x4015b5
je 0x401567
cmp eax, 0x27959035
je 0x4014c9
cmp eax, 0x29c8020d
je 0x4014b6
cmp eax, 0x2b2f300d
je 0x40163e
cmp eax, 0x2dad9ee8
jne 0x401631
lea eax, [esp + 0x44]
push eax
lea edx, [esp + 0x64]
lea ecx, [esp + 0x50]
call fcn.004016a7
neg eax
pop ecx
sbb eax, eax
and eax, 0xef55187f
add eax, 0x29c8020d
jmp 0x401212
mov ecx, dword [esp + 0x4c]
call fcn.00402fd6
mov eax, 0x1cdbe8b1
jmp 0x401212
mov ecx, section..data
call fcn.00402682
push 4
mov edx, 0xe5cef327
mov ecx, 0xe14c2257
mov edi, eax
call fcn.00402f7b
pop ecx
call eax
lea ecx, [esp + 0x1c]
mov esi, eax
call fcn.004037a3
xor esi, eax
lea ecx, [esp + 0x1c]
push esi
call fcn.004037a3
push eax
lea ecx, [esp + 0x24]
call fcn.004037a3
push eax
push 4
mov edx, 0xe5cef327
mov ecx, 0xe14c2257
call fcn.00402f7b
pop ecx
call eax
lea ecx, [esp + 0x28]
mov esi, eax
call fcn.004037a3
xor esi, eax
mov edx, 0x8750626d
push esi
push edi
push 0x40
lea eax, [esp + 0x78]
mov ecx, 0xbc1ce431
push eax
push 0x1cf
call fcn.00402f7b
pop ecx
call eax
add esp, 0x1c
mov ecx, edi
call fcn.00402fd6
mov edi, dword [esp + 0xb64]
mov eax, 0x216a259a
jmp 0x4012cc
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov dword [edi + 4], ecx
call fcn.0040302e
mov esi, eax
mov dword [edi], esi
test esi, esi
je 0x4015ab
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
push dword [edi + 4]
lea edx, [edx - 4]
lea ecx, [ecx + 4]
push esi
call fcn.00403e4e
pop ecx
pop ecx
xor ecx, ecx
cmp ecx, eax
sbb ebx, ebx
neg ebx
mov dword [esp + 0x24], ebx
jne 0x4015ab
mov ecx, dword [edi]
call fcn.00402fd6
mov eax, 0xb13c58e
jmp 0x4012cc
cmp eax, 0x331b3a1e
je 0x401609
cmp eax, 0x3769f410
je 0x4015f6
cmp eax, 0x3b8fcc8e
jne 0x401631
mov dword [esp + 0x54], edx
lea edx, [esp + 0x30]
mov dword [esp + 0x5c], ecx
lea ecx, [esp + 0x54]
mov dword [esp + 0x58], ebp
call fcn.004018ac
neg eax
sbb eax, eax
and eax, 0x7ec0a11
add eax, 0x2b2f300d
jmp 0x401212
mov ecx, dword [esp + 0x44]
call fcn.00402fd6
mov eax, 0x29c8020d
jmp 0x401212
lea edx, [esp + 0x4c]
lea ecx, [esp + 0x30]
call fcn.00401b5c
test eax, eax
je 0x401624
mov eax, 0xcdf3dd4
jmp 0x401212
mov ecx, dword [esp + 0x14]
mov eax, 0x1cdbe8b1
mov edx, dword [esp + 0x18]
cmp eax, 0x2a411b16
jne 0x4011be
jmp 0x401645
mov ecx, ebp
call fcn.00402fd6
pop edi
pop esi
pop ebp
mov eax, ebx
pop ebx
add esp, 0xb50
ret