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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0xa8]
cmp eax, dword [ecx + 8]
jbe 0x4c4052
sub esp, 0x128
mov dword [esp + 0x150], 0
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], 0
mov dword [esp + 0x15c], 0
mov eax, dword [esp + 0x148]
test eax, eax
je 0x4c3cef
lea eax, [0x72dc00]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.004053e0
mov eax, dword [esp + 8]
mov dword [esp + 0xa8], eax
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
lea ecx, [0x4c42a0]
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], eax
lea ecx, [esp + 0xc0]
mov dword [esp + 0x84], ecx
lea ecx, [esp + 0x78]
mov dword [esp], ecx
call fcn.0042f7d0
test eax, eax
jne 0x4c3ce3
lea eax, [0x72da80]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.004053e0
mov eax, dword [esp + 8]
mov dword [esp + 0xa4], eax
lea ecx, [0x74f160]
mov dword [esp], ecx
call fcn.0040b440
mov eax, dword [esp + 4]
lea ecx, [0x4c4140]
mov dword [eax], ecx
mov ecx, dword [esp + 0x13c]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x140]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x900e70]
test ecx, ecx
jne 0x4c3ab0
mov ecx, dword [esp + 0x138]
mov dword [eax + 4], ecx
jmp 0x4c3ac3
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x138]
call fcn.00456ac0
mov eax, ecx
mov dword [esp + 0xb4], eax
mov ecx, dword [esp + 0x148]
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x14c]
mov dword [eax + 0x18], ecx
mov ecx, dword [0x900e70]
test ecx, ecx
jne 0x4c3b12
mov ecx, dword [esp + 0x144]
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x12c]
mov dword [eax + 0x1c], ecx
mov edx, dword [esp + 0xa4]
mov dword [eax + 0x20], edx
mov ebx, dword [esp + 0xa8]
mov dword [eax + 0x24], ebx
jmp 0x4c3b50
lea edi, [eax + 0x10]
mov ecx, eax
mov eax, dword [esp + 0x144]
call fcn.00456ac0
lea edi, [ecx + 0x1c]
mov eax, dword [esp + 0x12c]
call fcn.00456ac0
lea edi, [ecx + 0x20]
mov eax, dword [esp + 0xa4]
call fcn.00456ac0
lea edi, [ecx + 0x24]
mov eax, dword [esp + 0xa8]
call fcn.00456ac0
lea edi, [esp + 0xd8]
xor eax, eax
call fcn.00456d5b
lea edi, [esp + 0x100]
call fcn.00456d5b
mov ecx, dword [esp + 0x130]
mov dword [esp], ecx
mov edx, dword [esp + 0x134]
mov dword [esp + 4], edx
call fcn.004b83d0
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov dword [esp + 0xa0], edx
mov ebx, dword [esp + 8]
mov dword [esp + 0xb0], ebx
mov dword [esp + 0x60], ecx
lea ecx, [esp + 0x54]
mov dword [esp], ecx
call fcn.0042f7d0
test eax, eax
jne 0x4c3cd7
lea eax, [0x740860]
mov dword [esp], eax
call fcn.0040b440
mov eax, dword [esp + 4]
lea ecx, [0x4c40f0]
mov dword [eax], ecx
mov ecx, dword [0x900e70]
test ecx, ecx
jne 0x4c3be6
mov ecx, dword [esp + 0xb4]
mov dword [eax + 4], ecx
jmp 0x4c3c00
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xb4]
call fcn.00456ac0
mov eax, ecx
mov ecx, dword [esp + 0xb4]
mov edx, dword [esp + 0xb0]
mov dword [eax + 8], edx
mov edx, dword [0x900e70]
test edx, edx
jne 0x4c3c20
mov edx, dword [esp + 0xa0]
mov dword [eax + 0xc], edx
jmp 0x4c3c33
lea edi, [eax + 0xc]
mov edx, eax
mov eax, dword [esp + 0xa0]
call fcn.00456ac0
mov eax, edx
mov dword [esp], eax
call fcn.0043aa10
mov eax, dword [esp + 0x12c]
mov ecx, dword [eax + 0x28]
test ecx, ecx
seta dl
mov eax, dword [eax + 0x2c]
test eax, eax
sete bl
xchg ebp, ebx
setg bl
xchg ebp, ebx
and ebx, edx
or ebp, ebx
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x4c3c6a
xor eax, eax
mov ecx, 0x11e1a300
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00493440
mov eax, dword [esp + 8]
mov dword [esp + 0xac], eax
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
lea ecx, [0x4c40b0]
mov dword [esp + 0xb8], ecx
mov dword [esp + 0xbc], eax
lea ecx, [esp + 0xb8]
mov dword [esp + 0x3c], ecx
lea ecx, [esp + 0x30]
mov dword [esp], ecx
call fcn.0042f7d0
test eax, eax
jne 0x4c3ccb
jmp 0x4c3d6d
call fcn.0042fda0
add esp, 0x128
ret
call fcn.0042fda0
add esp, 0x128
ret
call fcn.0042fda0
add esp, 0x128
ret
mov eax, dword [esp + 0x12c]
mov dword [esp], eax
mov eax, dword [esp + 0x130]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x134]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x138]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x13c]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x140]
mov dword [esp + 0x14], eax
call fcn.004c42e0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x150], eax
mov dword [esp + 0x154], edx
mov dword [esp + 0x158], ecx
mov dword [esp + 0x15c], ebx
call fcn.0042fda0
add esp, 0x128
ret
mov ecx, dword [esp + 0xac]
mov edx, dword [ecx]
lea edi, [esp + 0x114]
xor eax, eax
call fcn.00456d5b
mov dword [esp + 0xc8], 0
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd0], edx
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0xc8], ecx
lea edx, [esp + 0x114]
mov dword [esp + 0xcc], edx
lea ebx, [esp + 0xc8]
mov dword [esp], ebx
lea ebx, [esp + 0x28]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 2
mov byte [esp + 0x14], 1
call fcn.0043f990
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x4c3ee3
lea edi, [esp + 0xec]
lea esi, [esp + 0x114]
call fcn.0045723e
mov ecx, dword [esp + 0xf4]
test ecx, ecx
je 0x4c3fef
movzx ecx, byte [esp + 0xfc]
test cl, cl
je 0x4c3e56
lea edi, [esp + 0xd8]
lea esi, [esp + 0x114]
call fcn.0045723e
jmp 0x4c3e69
lea edi, [esp + 0x100]
lea esi, [esp + 0x114]
call fcn.0045723e
movzx ecx, byte [esp + 0xe9]
test cl, cl
je 0x4c3e85
movzx ecx, byte [esp + 0x111]
test cl, cl
jne 0x4c3fb1
movzx ecx, byte [esp + 0xfc]
test cl, cl
je 0x4c3d6d
mov eax, dword [esp + 0xac]
mov ecx, dword [eax + 0x18]
test ecx, ecx
je 0x4c4039
lea ecx, [eax + 4]
mov dword [esp], ecx
call fcn.00454f50
movzx eax, byte [esp + 4]
test al, al
je 0x4c3d6d
mov eax, dword [esp + 0xac]
mov dword [esp], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0
call fcn.00493530
jmp 0x4c3d6d
mov eax, dword [esp + 0x130]
mov dword [esp], eax
mov ecx, dword [esp + 0x134]
mov dword [esp + 4], ecx
call fcn.004b83d0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x9c], ecx
mov edx, dword [esp + 8]
mov dword [esp + 0xb0], edx
mov dword [esp], eax
call fcn.0042f6f0
test eax, eax
jne 0x4c402d
lea eax, [0x7408c0]
mov dword [esp], eax
call fcn.0040b440
mov eax, dword [esp + 4]
lea ecx, [0x4c4060]
mov dword [eax], ecx
mov edx, dword [0x900e70]
test edx, edx
jne 0x4c3f57
mov edx, dword [esp + 0xb4]
mov dword [eax + 4], edx
jmp 0x4c3f71
lea edi, [eax + 4]
mov edx, eax
mov eax, dword [esp + 0xb4]
call fcn.00456ac0
mov eax, edx
mov edx, dword [esp + 0xb4]
mov ebx, dword [esp + 0xb0]
mov dword [eax + 8], ebx
mov ebx, dword [0x900e70]
test ebx, ebx
jne 0x4c3f91
mov ebx, dword [esp + 0x9c]
mov dword [eax + 0xc], ebx
jmp 0x4c3fa4
lea edi, [eax + 0xc]
mov ebx, eax
mov eax, dword [esp + 0x9c]
call fcn.00456ac0
mov eax, ebx
mov dword [esp], eax
call fcn.0043aa10
jmp 0x4c3d6d
mov eax, dword [esp + 0xe0]
mov ecx, dword [esp + 0xe4]
mov dword [esp + 0x150], 0
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], eax
mov dword [esp + 0x15c], ecx
call fcn.0042fda0
add esp, 0x128
ret
mov eax, dword [esp + 0xec]
mov ecx, dword [esp + 0xf0]
mov dword [esp + 0x150], eax
mov dword [esp + 0x154], ecx
mov dword [esp + 0x158], 0
mov dword [esp + 0x15c], 0
call fcn.0042fda0
add esp, 0x128
ret
call fcn.0042fda0
add esp, 0x128
ret
lea eax, [0x7345e0]
mov dword [esp], eax
lea eax, [0x7c9da4]
mov dword [esp + 4], eax
call fcn.00430590
nop
call fcn.00455690
jmp fcn.004c3980