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

Disassembly:
sub esp, 0xb50
push ebx
push ebp
mov ebp, dword [esp + 0x28]
mov ebx, edx
push esi
mov edx, ecx
mov dword [esp + 0x1c], ebx
mov ecx, dword [esp + 0x30]
xor esi, esi
push edi
mov dword [esp + 0x18], edx
mov eax, 0x367f1d55
mov dword [esp + 0x24], esi
mov dword [esp + 0x14], ecx
mov edi, dword [esp + 0xb64]
cmp eax, 0x1916bf37
jg 0x4013d4
je 0x401382
cmp eax, 0xfa6f7f5
jg 0x4012a1
je 0x40128e
cmp eax, 0x7b48249
je 0x401252
cmp eax, 0xa9f2de7
je 0x401235
cmp eax, 0xd4e07e2
je 0x401218
cmp eax, 0xe8dcd33
jne 0x401625
mov ecx, dword [esp + 0x4c]
call fcn.00402f47
mov eax, 0x17bf55d5
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
jmp 0x4011be
lea edx, [esp + 0x30]
lea ecx, [esp + 0x4c]
call fcn.00401b4d
neg eax
sbb eax, eax
and eax, 0x16f32b6f
add eax, 0xe8dcd33
jmp 0x40120e
lea edx, [esp + 0x38]
lea ecx, [esp + 0x28]
call fcn.0040195f
neg eax
sbb eax, eax
and eax, 0xeed3ed4f
add eax, 0x2a42d1e8
jmp 0x40120e
mov eax, dword [ebx + 4]
xor edx, edx
push 0x64
pop ecx
div ecx
imul esi, eax, 5
add esi, dword [ebx + 4]
mov ecx, esi
call fcn.00402f9c
mov ebp, eax
test ebp, ebp
je 0x4012cc
mov edx, dword [ebx + 4]
mov ecx, dword [ebx]
push esi
push ebp
call fcn.004040d2
pop ecx
pop ecx
mov ecx, eax
mov dword [esp + 0x14], ecx
test ecx, ecx
je 0x4012c5
mov eax, 0x2c8c4865
jmp 0x401212
mov ecx, dword [esp + 0x38]
call fcn.00402f47
mov eax, 0x2a42d1e8
jmp 0x40120e
cmp eax, 0x107ac134
je 0x401338
cmp eax, 0x11ebbc87
je 0x4012ee
cmp eax, 0x1513f150
je 0x4012db
cmp eax, 0x17bf55d5
jne 0x401625
mov ecx, ebp
call fcn.00402f47
mov eax, dword [esp + 0x24]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xb50
ret
mov ecx, dword [esp + 0x44]
call fcn.00402f47
mov eax, 0x37ed5748
jmp 0x40120e
mov ecx, 0x409130
call fcn.00402686
mov esi, eax
mov edx, 0x9f807551
lea eax, [esp + 0x60]
mov ecx, 0xf465793c
push eax
push esi
push 0x400
lea eax, [esp + 0x36c]
push eax
push 0x9f
call fcn.00402eec
pop ecx
call eax
add esp, 0x10
mov ecx, esi
call fcn.00402f47
mov eax, 0x24b6c039
jmp 0x40120e
mov edx, dword [esp + 0x40]
lea eax, [esp + 0x28]
and dword [esp + 0x28], 0
lea ecx, [esp + 0xe0]
and dword [esp + 0x2c], 0
push eax
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x368]
push eax
lea eax, [esp + 0x16c]
push eax
call fcn.00402143
add esp, 0x10
neg eax
sbb eax, eax
and eax, 0xf58b3c97
add eax, 0x1513f150
jmp 0x40120e
mov eax, dword [esp + 0x38]
mov ecx, dword [eax]
mov dword [edi + 4], ecx
call fcn.00402f9c
mov esi, eax
mov dword [edi], esi
test esi, esi
je 0x4013ca
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
push dword [edi + 4]
lea edx, [edx - 4]
lea ecx, [ecx + 4]
push esi
call fcn.00403d7f
pop ecx
pop ecx
xor ecx, ecx
cmp ecx, eax
sbb ebx, ebx
neg ebx
mov dword [esp + 0x24], ebx
jne 0x4013c6
mov ecx, dword [edi]
call fcn.00402f47
mov ebx, dword [esp + 0x20]
mov eax, 0xfa6f7f5
jmp 0x40120e
cmp eax, 0x2c8c4865
jg 0x40153d
je 0x401511
cmp eax, 0x21a15299
je 0x4014b4
cmp eax, 0x24b6c039
je 0x40148e
cmp eax, 0x2580f8a2
je 0x401420
cmp eax, 0x2a42d1e8
jne 0x401625
mov ecx, dword [esp + 0x28]
call fcn.00402f47
mov eax, 0x1513f150
jmp 0x40120e
mov ecx, 0x4090d0
call fcn.00402686
mov ecx, dword [0x40a29c]
mov esi, eax
mov edx, dword [ecx + 8]
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, 0x9f807551
push ecx
push eax
push esi
push 0x40
lea eax, [esp + 0xf8]
mov ecx, 0xf465793c
push eax
push 0x9f
call fcn.00402eec
pop ecx
call eax
add esp, 0x1c
mov ecx, esi
call fcn.00402f47
mov eax, dword [0x40a29c]
mov eax, dword [eax + 8]
movzx eax, word [eax + 4]
mov dword [esp + 0x40], eax
mov eax, 0x21a15299
jmp 0x40120e
lea eax, [esp + 0x44]
push eax
lea edx, [esp + 0x64]
lea ecx, [esp + 0x34]
call fcn.0040168a
neg eax
pop ecx
sbb eax, eax
and eax, 0xd88d69ec
add eax, 0x37ed5748
jmp 0x40120e
mov eax, dword [esp + 0x1c]
lea edi, [esp + 0x160]
push 6
xor edx, edx
pop esi
div esi
mov ebx, edx
inc ebx
je 0x4014f7
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.00403752
pop ecx
push 0x2f
lea edi, [edi + esi*2]
pop eax
mov word [edi], ax
add edi, 2
dec ebx
jne 0x4014cb
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x20]
xor eax, eax
mov word [edi], ax
mov eax, 0x317129f4
mov edi, dword [esp + 0xb64]
jmp 0x401212
mov dword [esp + 0x54], edx
lea edx, [esp + 0x4c]
mov dword [esp + 0x5c], ecx
lea ecx, [esp + 0x54]
mov dword [esp + 0x58], ebp
call fcn.004018a1
neg eax
sbb eax, eax
and eax, 0xf58eb20d
add eax, 0x17bf55d5
jmp 0x40120e
cmp eax, 0x317129f4
je 0x40158b
cmp eax, 0x367f1d55
je 0x401569
cmp eax, 0x37ed5748
jne 0x401625
mov ecx, dword [esp + 0x30]
call fcn.00402f47
mov eax, 0xe8dcd33
jmp 0x40120e
push 0x69
mov edx, 0xfd1ee41b
mov ecx, 0xa935bf5a
call fcn.00402eec
pop ecx
call eax
mov dword [esp + 0x1c], eax
mov eax, 0x7b48249
jmp 0x40120e
mov ecx, section..data
call fcn.00402686
push 0x69
mov edx, 0xfd1ee41b
mov ecx, 0xa935bf5a
mov edi, eax
call fcn.00402eec
pop ecx
call eax
lea ecx, [esp + 0x1c]
mov esi, eax
call fcn.004036fb
xor esi, eax
lea ecx, [esp + 0x1c]
push esi
call fcn.004036fb
push eax
lea ecx, [esp + 0x24]
call fcn.004036fb
push eax
push 0x69
mov edx, 0xfd1ee41b
mov ecx, 0xa935bf5a
call fcn.00402eec
pop ecx
call eax
lea ecx, [esp + 0x28]
mov esi, eax
call fcn.004036fb
xor esi, eax
mov edx, 0x9f807551
push esi
push edi
push 0x40
lea eax, [esp + 0x78]
mov ecx, 0xf465793c
push eax
push 0x9f
call fcn.00402eec
pop ecx
call eax
add esp, 0x1c
mov ecx, edi
call fcn.00402f47
mov ecx, dword [esp + 0x14]
mov eax, 0x11ebbc87
mov edx, dword [esp + 0x18]
cmp eax, 0x101ca5a4
je 0x4012cc
jmp 0x4011b7