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

Disassembly:
push esi
sub esp, 0x160
mov eax, dword [esp + 0x16c]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x168]
add eax, 0xc
mov dword [esp], eax
call fcn.0040daf0
mov ecx, eax
add ecx, 8
mov dword [esp + 0x24], ecx
mov dword [esp + 0xbc], ecx
cmp dword [eax + 0xc], 0
jne 0x40cbd7
mov dword [esp + 0x28], 0xb
jmp 0x40cc97
mov eax, dword [esp + 0x24]
cmp dword [eax], 0
je 0x40cbca
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov ecx, dword [ecx]
mov dword [esp + 0x150], eax
mov dword [esp + 0x154], ecx
add eax, ecx
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x1c], eax
mov dword [esp + 0xc0], eax
cmp dword [eax + 0xc], 0
jne 0x40cc1d
mov eax, dword [esp + 0x1c]
cmp dword [eax + 0x10], 0
je 0x40cc74
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov ecx, dword [ecx + 0xc]
mov dword [esp + 0x148], eax
mov dword [esp + 0x14c], ecx
add eax, ecx
mov dword [esp], eax
call fcn.0040b2d0
lea ecx, [esp + 0x48]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.00446020
lea ecx, [esp + 0x3c]
lea eax, [esp + 0x48]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0040bc60
cmp dword [esp + 0x3c], 0
je 0x40cca7
jmp 0x40cd0b
mov eax, dword [esp + 0x1c]
cmp dword [eax], 0
jne 0x40cc1d
mov eax, dword [esp + 0x1c]
cmp dword [eax + 4], 0
jne 0x40cc1d
mov eax, dword [esp + 0x1c]
cmp dword [eax + 8], 0
je 0x40cbca
jmp 0x40cc1d
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
add esp, 0x160
pop esi
ret
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc8], eax
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], eax
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x38]
lea edx, [esp + 0x64]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0040c110
lea ecx, [esp + 0x5c]
lea eax, [esp + 0x64]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0040bbe0
mov eax, 1
xor ecx, ecx
cmp dword [esp + 0x5c], 0xb
cmove eax, ecx
cmp eax, 0
je 0x40cd57
jmp 0x40cd71
mov eax, dword [esp + 0x40]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x108], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x10c], eax
lea ecx, [esp + 0x108]
lea eax, [0x504870]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0040b000
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
jmp 0x40cc97
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x18], ecx
mov dword [esp + 0xcc], ecx
cmp dword [eax], 0
je 0x40cdaa
jmp 0x40cde4
mov edx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x100], edx
mov dword [esp + 0x104], ecx
lea eax, [0x504860]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0040af20
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
jmp 0x40cc97
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov esi, dword [edx + 0x10]
mov dword [esp + 0x140], eax
mov dword [esp + 0x144], esi
mov ecx, eax
add ecx, esi
mov edx, dword [edx + 0x10]
mov dword [esp + 0x138], eax
mov dword [esp + 0x13c], edx
add eax, edx
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], eax
jmp 0x40ce1b
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov esi, dword [edx + 0x10]
mov dword [esp + 0x130], eax
mov dword [esp + 0x134], esi
mov ecx, eax
add ecx, esi
mov edx, dword [edx]
mov dword [esp + 0x128], eax
mov dword [esp + 0x12c], edx
add eax, edx
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x70]
mov eax, dword [eax]
mov dword [esp + 0x14], eax
mov dword [esp + 0xd0], eax
cmp eax, 0
jne 0x40ce63
mov eax, dword [esp + 0x30]
mov dword [esp + 0x118], eax
mov dword [esp + 0x11c], 1
add eax, 0x14
mov dword [esp + 0x30], eax
jmp 0x40cbfe
mov eax, dword [esp + 0x14]
and eax, 0x80000000
cmp eax, 0
jne 0x40ce9f
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x120], eax
mov dword [esp + 0x124], ecx
mov edx, eax
add edx, ecx
mov dword [esp + 0x10], edx
mov dword [esp + 0xd4], edx
cmp byte [eax + ecx + 2], 0
je 0x40ce41
jmp 0x40cef7
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
and eax, 0xffff
lea edx, [esp + 0x84]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0040c4c0
lea ecx, [esp + 0x7c]
lea eax, [esp + 0x84]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0040bbe0
mov eax, 1
xor ecx, ecx
cmp dword [esp + 0x7c], 0xb
cmove eax, ecx
cmp eax, 0
je 0x40d0a1
jmp 0x40d0b7
mov eax, dword [esp + 0x10]
add eax, 2
mov dword [esp], eax
call fcn.0040b2d0
lea ecx, [esp + 0xa8]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.00446020
lea ecx, [esp + 0x9c]
lea eax, [esp + 0xa8]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0040bc60
cmp dword [esp + 0x9c], 0
jne 0x40cfaf
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0xa0]
mov eax, dword [esp + 0xa4]
mov dword [esp + 0xd8], ecx
mov dword [esp + 0xdc], eax
lea esi, [esp + 0x94]
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call fcn.0040c2e0
lea ecx, [esp + 0x8c]
lea eax, [esp + 0x94]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0040bbe0
mov eax, 1
xor ecx, ecx
cmp dword [esp + 0x8c], 0xb
cmove eax, ecx
cmp eax, 0
je 0x40d00d
jmp 0x40d023
mov eax, dword [esp + 0xa0]
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0xf0], eax
lea ecx, [esp + 0xec]
lea eax, [0x504840]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0040b000
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
jmp 0x40cc97
mov ecx, dword [esp + 0x90]
mov dword [esp + 0xe0], ecx
mov eax, dword [esp + 0x6c]
mov dword [eax], ecx
jmp 0x40d062
mov edx, dword [esp + 0x8c]
mov ecx, dword [esp + 0x90]
mov dword [esp + 0xe4], edx
mov dword [esp + 0xe8], ecx
lea eax, [0x504830]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0040af20
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
jmp 0x40cc97
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x110], eax
mov dword [esp + 0x114], 1
add eax, 4
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x158], eax
mov dword [esp + 0x15c], 1
add eax, 4
mov dword [esp + 0x70], eax
jmp 0x40ce2b
mov ecx, dword [esp + 0x80]
mov dword [esp + 0xf4], ecx
mov eax, dword [esp + 0x6c]
mov dword [eax], ecx
jmp 0x40d062
mov edx, dword [esp + 0x7c]
mov ecx, dword [esp + 0x80]
mov dword [esp + 0xf8], edx
mov dword [esp + 0xfc], ecx
lea eax, [0x504850]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0040af20
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
jmp 0x40cc97