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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4d5d95
sub esp, 0x68
mov eax, dword [esp + 0x78]
lea ecx, [eax - 0xc]
cmp ecx, 4
ja 0x4d5d24
mov ecx, dword [esp + 0x74]
test ecx, ecx
jle 0x4d5cd8
lea eax, [0x5a9f80]
mov dword [esp], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x70]
mov dword [esp + 8], ecx
call fcn.00409490
movzx eax, byte [esp + 0x14]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
test al, al
jne 0x4d5c93
mov eax, dword [esp + 0x6c]
mov ecx, dword [eax + 0x10]
mov edx, dword [esp + 0x70]
mov dword [esp], edx
call ecx
cmp dword [esp + 4], 0x10
jne 0x4d5c47
lea eax, [0x5a19a0]
mov dword [esp], eax
call fcn.0040b910
mov eax, dword [esp + 4]
mov dword [esp + 0x64], eax
mov ecx, dword [esp + 0x6c]
mov ecx, dword [ecx + 0x18]
mov edx, dword [esp + 0x70]
mov dword [esp], edx
mov dword [esp + 8], 0x10
mov dword [esp + 0xc], 0x10
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 0x10
mov dword [esp + 0x18], 0x10
call ecx
lea eax, [0x5b9260]
mov dword [esp], eax
call fcn.0040b910
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x6c]
mov dword [eax], ecx
mov ecx, dword [0x71e9f0]
test ecx, ecx
jne 0x4d5c32
mov edx, dword [esp + 0x70]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x74]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x78]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x64]
movzx ebx, byte [edx + 7]
movzx ebp, byte [edx + 6]
mov dword [esp + 0x50], ebp
movzx esi, byte [edx + 5]
movzx edi, byte [edx + 4]
mov ecx, edi
movzx edi, byte [edx + 3]
mov dword [esp + 0x4c], edi
movzx edi, byte [edx + 2]
mov dword [esp + 0x48], edi
movzx edi, byte [edx + 1]
mov dword [esp + 0x44], edi
movzx edi, byte [edx]
mov dword [esp + 0x40], edi
movzx edi, byte [edx + 0xf]
mov dword [esp + 0x3c], edi
movzx edi, byte [edx + 0xe]
mov dword [esp + 0x38], edi
movzx edi, byte [edx + 0xd]
mov dword [esp + 0x34], edi
movzx edi, byte [edx + 0xc]
mov dword [esp + 0x30], edi
movzx edi, byte [edx + 0xb]
mov dword [esp + 0x2c], edi
movzx edi, byte [edx + 0xa]
mov dword [esp + 0x28], edi
movzx edi, byte [edx + 9]
movzx edx, byte [edx + 8]
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
shl ebp, 8
or ebx, ebp
mov ebp, esi
shl esi, 0x10
or esi, ebx
mov ebx, ecx
shl ecx, 0x18
or ecx, esi
mov dword [esp + 0x54], ecx
mov esi, dword [esp + 0x50]
shr esi, 0x18
shr ebp, 0x10
or ebp, esi
shr ebx, 8
or ebp, ebx
mov ebx, dword [esp + 0x4c]
or ebx, ebp
mov ebp, dword [esp + 0x48]
shl ebp, 8
or ebx, ebp
mov ebp, dword [esp + 0x44]
shl ebp, 0x10
or ebp, ebx
mov ebx, dword [esp + 0x40]
shl ebx, 0x18
or ebp, ebx
mov dword [esp + 0x50], ebp
mov dword [esp + 0x58], ebp
mov ebx, dword [esp + 0x38]
mov esi, ebx
shl ebx, 8
mov ebp, dword [esp + 0x3c]
or ebp, ebx
mov ebx, dword [esp + 0x34]
shl ebx, 0x10
or ebx, ebp
mov ebp, dword [esp + 0x30]
shl ebp, 0x18
or ebp, ebx
mov dword [esp + 0x5c], ebp
shr esi, 0x18
mov ebx, dword [esp + 0x34]
shr ebx, 0x10
or esi, ebx
mov ebx, dword [esp + 0x30]
shr ebx, 8
or esi, ebx
mov ebx, dword [esp + 0x2c]
or ebx, esi
mov esi, dword [esp + 0x28]
shl esi, 8
or ebx, esi
shl edi, 0x10
or edi, ebx
shl edx, 0x18
or edi, edx
mov dword [esp + 0x60], edi
mov dword [eax + 0x90], ecx
mov edx, dword [esp + 0x50]
mov dword [eax + 0x94], edx
mov dword [eax + 0x98], ebp
mov dword [eax + 0x9c], edi
mov ecx, 2
jmp 0x4d5ade
shl edx, 4
mov dword [eax + edx + 0x10], esi
mov dword [eax + edx + 0x14], ebp
mov dword [eax + edx + 0x18], edi
mov ebx, dword [esp + 0x1c]
mov dword [eax + edx + 0x1c], ebx
add ecx, 2
cmp ecx, 0x10
jge 0x4d5c07
mov edx, ecx
shr ecx, 0x1f
lea ebx, [edx + ecx]
mov ebp, ebx
sar ebx, 1
mov esi, edx
shl edx, 2
and edx, 0xc
mov edi, esi
sar esi, 2
and esi, 3
or esi, edx
mov edx, esi
shl esi, 1
and esi, 0xa
sar edx, 1
and edx, 5
or edx, esi
shl ebx, 2
and ebx, 0xc
sar ebp, 3
and ebp, 3
or ebp, ebx
mov ebx, ebp
shl ebp, 1
and ebp, 0xa
sar ebx, 1
and ebx, 5
or ebx, ebp
cmp ebx, 0x10
jae 0x4d5d88
mov dword [esp + 0x24], edi
shl ebx, 4
mov ebp, dword [eax + ebx + 0x18]
mov esi, dword [eax + ebx + 0x1c]
mov dword [esp + 0x50], esi
mov ecx, ebp
shr ebp, 1
shl esi, 0x1f
or esi, ebp
mov ebp, dword [esp + 0x50]
shr ebp, 1
mov edi, dword [eax + ebx + 0x10]
mov dword [esp + 0x50], edi
shl edi, 0x1f
or edi, ebp
mov ebx, dword [eax + ebx + 0x14]
mov dword [esp + 0x4c], ebx
mov ebp, dword [esp + 0x50]
shr ebp, 1
shl ebx, 0x1f
or ebx, ebp
mov ebp, dword [esp + 0x4c]
shr ebp, 1
test ecx, 1
je 0x4d5b8e
xor ebp, 0xe1000000
cmp edx, 0x10
jae 0x4d5d7c
mov dword [esp + 0x50], esi
shl edx, 4
mov dword [eax + edx + 0x10], ebx
mov dword [eax + edx + 0x14], ebp
mov dword [eax + edx + 0x18], esi
mov dword [eax + edx + 0x1c], edi
mov edx, dword [esp + 0x24]
mov ecx, edx
inc edx
mov dword [esp + 0x20], edx
shl edx, 2
and edx, 0xc
mov esi, dword [esp + 0x20]
sar esi, 2
and esi, 3
or esi, edx
mov edx, esi
shl esi, 1
and esi, 0xa
sar edx, 1
and edx, 5
or edx, esi
mov esi, dword [esp + 0x58]
xor ebp, esi
mov esi, dword [esp + 0x54]
xor esi, ebx
mov ebx, dword [esp + 0x60]
xor ebx, edi
mov dword [esp + 0x1c], ebx
mov edi, dword [esp + 0x5c]
mov ebx, dword [esp + 0x50]
xor edi, ebx
cmp edx, 0x10
jb 0x4d5ac4
jmp 0x4d5d70
lea ecx, [0x611e2c]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
add esp, 0x68
ret
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x70]
call fcn.0045e220
mov eax, ecx
jmp 0x4d595a
lea eax, [0x5abc80]
mov dword [esp], eax
call fcn.0040b910
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x2c
lea ecx, [0x5dba34]
mov dword [eax], ecx
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
lea ecx, [0x61098c]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], eax
add esp, 0x68
ret
mov eax, dword [ecx + 0x10]
mov dword [esp], edx
mov ecx, dword [esp + 0x74]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 8], ecx
call eax
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], edx
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], ebx
add esp, 0x68
ret
lea eax, [0x5abc80]
mov dword [esp], eax
call fcn.0040b910
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x64
lea ecx, [0x5de4ac]
mov dword [eax], ecx
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
lea ecx, [0x61098c]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], eax
add esp, 0x68
ret
lea eax, [0x5abc80]
mov dword [esp], eax
call fcn.0040b910
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x27
lea ecx, [0x5da9bd]
mov dword [eax], ecx
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
lea ecx, [0x61098c]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], eax
add esp, 0x68
ret
mov eax, edx
mov ecx, 0x10
call fcn.0045e2a0
mov eax, edx
mov ecx, 0x10
call fcn.0045e2a0
mov eax, ebx
mov ecx, 0x10
call fcn.0045e2a0
nop
call fcn.0045ccc0
jmp fcn.004d5860