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

Disassembly:
sub esp, 0x54
mov eax, dword [0x4c2250]
xor eax, esp
mov dword [esp + 0x4c], eax
push ebx
mov ebx, dword [esp + 0x60]
push ebp
push esi
push edi
mov edi, ecx
lea ecx, [esp + 0x28]
mov dword [esp + 0x30], ebx
call fcn.00407bc0
xor ebp, ebp
push 0x4a73e4
lea ecx, [esp + 0x3c]
mov dword [esp + 0x38], ebp
call 0x3d5614
mov eax, dword [esp + 0x68]
cmp dword [eax - 0xc], ebp
jne 0x40ce94
mov eax, dword [ebx]
add eax, 4
push eax
lea ecx, [esp + 0x48]
call 0x3dc504
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x34]
lea esi, [edi + 0x2c]
push eax
mov ecx, esi
call 0x3df9f9
lea ecx, [esp + 0x44]
call 0x3d4be4
mov ecx, esi
call fcn.0040a5fe
mov ecx, dword [esi]
call fcn.0040a51c
mov ecx, dword [esp + 0x30]
cmp ecx, eax
je 0x40ce7d
push ecx
mov eax, esp
mov dword [eax], ecx
lea eax, [esp + 0x24]
push eax
mov ecx, esi
call 0x3dfa34
mov ecx, esi
call fcn.0040a5fe
mov ecx, dword [esi]
push ebx
call 0x3dd67c
xor ebp, ebp
inc ebp
jmp 0x40d2df
lea eax, [esp + 0x34]
push eax
push dword [esp + 0x3c]
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x74]
call fcn.00407267
push eax
lea ecx, [esp + 0x24]
call fcn.00407c0c
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x2c]
call 0x3d5d14
lea ecx, [esp + 0x20]
call fcn.00407c27
lea ecx, [esp + 0x14]
call 0x3d5784
push ecx
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x30]
call fcn.00407d3f
mov esi, dword [esp + 0x1c]
cmp dword [esi - 4], 1
jle 0x40cefe
push dword [esi - 0xc]
lea ecx, [esp + 0x20]
call 0x3d5394
mov esi, dword [esp + 0x1c]
push esi
lea ecx, [esp + 0x48]
call 0x3d4b84
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x18]
lea ebx, [edi + 0x2c]
push eax
mov ecx, ebx
call 0x3df9f9
lea ecx, [esp + 0x44]
call 0x3d4be4
mov ecx, ebx
call fcn.0040a53f
test eax, eax
je 0x40d1f4
mov ecx, ebx
call fcn.0040a5fe
mov ecx, dword [ebx]
call fcn.0040a51c
mov edi, dword [esp + 0x14]
cmp edi, eax
je 0x40d1f4
lea eax, [esp + 0x34]
push eax
push dword [esp + 0x3c]
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x74]
call fcn.00407267
push eax
lea ecx, [esp + 0x24]
call fcn.00407c0c
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x2c]
call 0x3d5d14
lea ecx, [esp + 0x20]
call fcn.00407c27
lea ecx, [esp + 0x14]
jmp 0x40d092
push ecx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x30]
call fcn.00407d3f
mov cl, 5
call 0x3dd8e0
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x18]
cmp dword [eax - 4], 1
jle 0x40d228
push dword [eax - 0xc]
lea ecx, [esp + 0x1c]
call 0x3d5394
mov eax, dword [esp + 0x18]
push eax
lea ecx, [esp + 0x48]
call 0x3d4b84
lea ecx, [esp + 0x14]
call fcn.0040a5fe
mov esi, dword [esp + 0x14]
lea eax, [esp + 0x44]
push eax
mov ecx, esi
call fcn.0040a4fb
lea ecx, [esp + 0x44]
call 0x3d4be4
push 0xffffffffffffffff
lea ecx, [esp + 0x1c]
call fcn.004059c7
mov ecx, ebx
call fcn.0040a5fe
mov ecx, dword [ebx]
lea eax, [esp + 0x14]
push eax
call 0x3dd67c
mov eax, dword [esp + 0x68]
lea ecx, [esp + 0x44]
mov edi, dword [eax - 0xc]
lea eax, [esi + 4]
push eax
call 0x3dc504
mov ebp, dword [esp + 0x30]
sub edi, dword [esp + 0x34]
push ebp
push ecx
mov eax, esp
push edi
push eax
lea ecx, [esp + 0x78]
call fcn.004089b4
push ecx
mov eax, esp
lea ecx, [esp + 0x50]
push ecx
push eax
mov ecx, ebx
call 0x3df9be
call fcn.0040d311
lea ecx, [esp + 0x44]
mov ebp, eax
call 0x3d4be4
test esi, esi
je 0x40d2cd
dec dword [esi + 0x48]
jne 0x40d2cd
mov ecx, esi
call 0x3dd8cb