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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4c5d11
sub esp, 0x70
mov eax, dword [esp + 0x78]
cmp eax, 0x63
jne 0x4c5940
mov eax, dword [esp + 0x74]
mov dword [esp], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 4], eax
call fcn.004c5620
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], eax
add esp, 0x70
ret
mov eax, dword [esp + 0x74]
mov dword [esp], eax
call fcn.004c4b40
mov eax, dword [esp + 0x74]
mov dword [esp], eax
call fcn.004c4ef0
mov eax, dword [esp + 0x74]
mov dword [esp], eax
mov ecx, dword [esp + 0x78]
mov dword [esp + 4], ecx
call fcn.004c53f0
mov eax, dword [esp + 8]
mov dword [esp + 0x34], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x30], ecx
mov edx, dword [esp + 0xc]
mov dword [esp + 0x54], edx
mov ebx, dword [esp + 0x78]
cmp ebx, 0x55
jne 0x4c5bd8
mov eax, dword [esp + 0x74]
mov dword [esp], eax
lea ecx, [0x7dc216]
mov dword [esp + 4], ecx
mov dword [esp + 8], 1
mov byte [esp + 0xc], 0
call fcn.004c4dc0
movzx eax, byte [esp + 0x10]
test al, al
jne 0x4c59fd
lea eax, [0x787c00]
mov dword [esp], eax
call fcn.00409dc0
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x13
mov eax, dword [0xbc7270]
test eax, eax
jne 0x4c59ed
lea eax, [0x7e1d6a]
mov dword [edi], eax
jmp 0x4c5c83
lea eax, [0x7e1d6a]
call fcn.0044cc20
jmp 0x4c5c83
mov eax, dword [esp + 0x74]
mov dword [esp], eax
lea ecx, [0x7dc1fd]
mov dword [esp + 4], ecx
mov dword [esp + 8], 1
mov byte [esp + 0xc], 0
call fcn.004c4dc0
movzx eax, byte [esp + 0x10]
test al, al
je 0x4c59bd
xor eax, eax
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0x34]
mov dword [esp + 0x34], ebx
mov ebp, dword [esp + 0x74]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov byte [esp + 0xc], al
call fcn.004c54d0
mov eax, dword [esp + 0x14]
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x4c], ecx
mov dword [esp], ecx
mov dword [esp + 4], eax
mov edx, dword [esp + 0x34]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x40
call fcn.00464540
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
test edx, edx
jne 0x4c5ccd
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ebx
mov edx, dword [esp + 0x7c]
lea ecx, [edx - 0x40]
neg ecx
mov dword [esp + 0x48], ecx
mov edx, eax
shl eax, cl
mov dword [esp + 0x44], eax
lea ebp, [ecx - 0x20]
mov dword [esp + 0x40], ebp
mov esi, ecx
mov ecx, ebp
mov edi, edx
shl edx, cl
neg ecx
mov dword [esp + 0x3c], ecx
shr edi, cl
mov ecx, esi
shl ebx, cl
cmp ecx, 0x20
sbb esi, esi
and ebx, esi
mov eax, dword [esp + 0x3c]
cmp eax, 0x20
sbb eax, eax
and edi, eax
or edi, ebx
cmp ebp, 0x20
sbb ebx, ebx
and edx, ebx
or edi, edx
mov dword [esp + 0x38], edi
mov edx, dword [esp + 0x44]
and edx, esi
cmp ecx, 0x20
sbb ebp, ebp
xchg ebp, ebx
not ebx
xchg ebp, ebx
or ebp, ecx
mov ecx, ebp
mov ebp, edi
sar edi, cl
mov ecx, dword [esp + 0x48]
shr edx, cl
and edx, esi
mov esi, ecx
mov ecx, dword [esp + 0x3c]
shl ebp, cl
and ebp, eax
or edx, ebp
not ebx
mov ecx, dword [esp + 0x40]
or ecx, ebx
mov eax, dword [esp + 0x38]
sar eax, cl
shr esi, 5
cmp esi, 1
sbb ebx, ebx
xor ebx, 0xffffffff
and ebx, eax
or ebx, edx
mov eax, dword [esp + 0x2c]
cmp edi, eax
setne dl
mov ebp, dword [esp + 0x28]
cmp ebx, ebp
setne bl
or edx, ebx
test dl, dl
jne 0x4c5b64
mov dword [esp + 0x80], ebp
mov dword [esp + 0x84], eax
add esp, 0x70
ret
mov dword [esp], 0
lea eax, [0x7e5e8d]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x1a
mov eax, dword [esp + 0x4c]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x10], eax
call fcn.0043bf20
mov eax, dword [esp + 0x14]
mov dword [esp + 0x50], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x24], ecx
lea edx, [0x787c00]
mov dword [esp], edx
call fcn.00409dc0
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x24]
mov dword [edi + 4], eax
mov eax, dword [0xbc7270]
test eax, eax
jne 0x4c5bcd
mov eax, dword [esp + 0x50]
mov dword [edi], eax
jmp 0x4c5c39
mov eax, dword [esp + 0x50]
call fcn.0044cc20
jmp 0x4c5c39
mov eax, dword [esp + 0x74]
mov dword [esp], eax
lea ecx, [0x7dc25f]
mov dword [esp + 4], ecx
mov dword [esp + 8], 2
call fcn.004c4f60
mov eax, dword [esp + 0x78]
cmp eax, 0x76
je 0x4c5c1a
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x54]
xor edx, edx
mov ebx, dword [esp + 0x34]
mov ebp, eax
mov eax, edx
mov edx, ecx
mov ecx, ebp
jmp 0x4c5a37
mov eax, dword [esp + 0x74]
mov dword [esp], eax
call fcn.004c57e0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov ebx, dword [esp + 4]
movzx edx, byte [esp + 0x10]
jmp 0x4c5c0d
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
lea eax, [0x8f8790]
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], edi
lea eax, [0x787c60]
mov dword [esp], eax
lea eax, [esp + 0x58]
mov dword [esp + 4], eax
call fcn.00407470
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00427510
ud2
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
lea eax, [0x8f8790]
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], edi
lea eax, [0x787c60]
mov dword [esp], eax
lea eax, [esp + 0x68]
mov dword [esp + 4], eax
call fcn.00407470
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00427510
ud2
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x60], edx
mov dword [esp + 0x64], ecx
lea eax, [0x787c60]
mov dword [esp], eax
lea eax, [esp + 0x60]
mov dword [esp + 4], eax
call fcn.00407470
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00427510
ud2
call fcn.0044b4c0
jmp fcn.004c58f0