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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4d68ec
sub esp, 0x58
mov ecx, dword [esp + 0x90]
mov eax, dword [esp + 0x6c]
cmp ecx, eax
jne 0x4d68d3
mov ebx, dword [esp + 0x78]
cmp ecx, ebx
jne 0x4d68d3
mov ebp, dword [esp + 0x84]
cmp ecx, ebp
jne 0x4d68d3
shl ecx, 1
mov edx, dword [esp + 0x64]
cmp ecx, edx
jg 0x4d6816
ja 0x4d68ce
mov edi, dword [esp + 0x5c]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x50], edi
mov dword [esp], edi
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.004d5d00
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x90]
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x50]
mov esi, dword [esp + 0x68]
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x48], eax
xor eax, eax
mov dword [esp + 0x30], eax
xor eax, eax
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x48]
jmp 0x4d65f4
mov ecx, dword [esp + 0x30]
inc ecx
mov edx, dword [esp + 0x74]
mov ebx, dword [esp + 0x78]
mov ebp, dword [esp + 0x90]
mov edx, ebp
mov ebx, dword [esp + 0x6c]
mov ebp, edi
mov esi, dword [esp + 0x68]
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x78]
mov ebx, dword [esp + 0x30]
cmp edx, ebx
jle 0x4d6722
cmp ebx, ecx
jae 0x4d68c7
mov esi, dword [eax + ebx*4]
mov dword [esp + 0x34], esi
lea esi, [ebx + edx]
cmp esi, edi
ja 0x4d68be
cmp ebx, esi
ja 0x4d68b5
mov dword [esp + 0x44], esi
mov eax, ebx
shl ebx, 2
sub edi, eax
mov dword [esp + 0x40], edi
mov esi, edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and ebx, edi
add ebx, ebp
mov dword [esp + 0x54], ebx
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], esi
mov edi, dword [esp + 0x68]
mov dword [esp + 0xc], edi
mov edi, dword [esp + 0x6c]
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x70]
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x34]
mov dword [esp + 0x18], edi
call fcn.004debd0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x28]
cmp ecx, edx
jae 0x4d68ac
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x50]
mov edx, dword [eax + ecx*4]
mov ebx, dword [esp + 0x54]
mov dword [esp], ebx
mov ebx, dword [esp + 0x90]
mov dword [esp + 4], ebx
mov ebp, dword [esp + 0x40]
mov dword [esp + 8], ebp
mov ebp, dword [esp + 0x80]
mov dword [esp + 0xc], ebp
mov esi, dword [esp + 0x84]
mov dword [esp + 0x10], esi
mov edi, dword [esp + 0x88]
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x8c]
imul edx, edi
mov dword [esp + 0x18], edx
call fcn.004debd0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
add edx, ecx
lea ebx, [edx + eax]
mov ebp, dword [esp + 0x44]
mov esi, dword [esp + 0x28]
cmp ebp, esi
jae 0x4d68a3
mov edi, dword [esp + 0x50]
mov dword [edi + ebp*4], ebx
cmp ecx, edx
jbe 0x4d6717
mov eax, 1
jmp 0x4d65c0
cmp eax, ebx
ja 0x4d670d
xor eax, eax
jmp 0x4d65c0
mov ebx, dword [esp + 0x3c]
test ebx, ebx
je 0x4d67c7
cmp edx, edi
ja 0x4d689a
mov ecx, dword [esp + 0x28]
cmp edx, ecx
ja 0x4d6893
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], edi
sub edi, edx
mov ebx, edi
xchg edi, ebx
neg ebx
xchg edi, ebx
mov esi, edx
shl edx, 2
sar edi, 0x1f
and edx, edi
add edx, ebp
mov dword [esp + 0xc], edx
sub ecx, esi
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], ebx
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x20], ecx
call fcn.004dea50
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x2c]
cmp ecx, edx
ja 0x4d687e
mov eax, dword [esp + 0x50]
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], edx
add esp, 0x58
ret
cmp edx, edi
ja 0x4d688a
mov ecx, dword [esp + 0x28]
cmp edx, ecx
ja 0x4d6883
mov eax, edi
sub edi, edx
xchg edi, ebx
neg ebx
xchg edi, ebx
mov ebx, edx
shl edx, 2
sar edi, 0x1f
and edx, edi
sub ecx, ebx
lea esi, [ebp + edx]
cmp ebx, ecx
jle 0x4d6812
test edx, edx
je 0x4d6797
mov dword [esp], ebp
mov dword [esp + 4], esi
shl ecx, 2
mov dword [esp + 8], ecx
call fcn.0045a190
jmp 0x4d6797
mov ecx, ebx
jmp 0x4d67f9
cmp ecx, 1
jne 0x4d684c
lea eax, [0x51e040]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call fcn.00441920
mov edi, dword [esp + 0xc]
mov edx, 1
mov ecx, 1
jmp 0x4d656f
mov dword [esp + 0x28], ecx
lea eax, [0x51e040]
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [ecx + 4]
mov dword [esp + 0x2c], eax
mov dword [esp + 8], eax
call fcn.00441920
mov edi, dword [esp + 0xc]
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
jmp 0x4d656f
call fcn.00459910
mov eax, edx
call fcn.00459930
mov ecx, edx
mov edx, edi
call fcn.00459910
mov eax, edx
call fcn.00459930
mov ecx, edx
mov edx, edi
call fcn.00459910
mov eax, ebp
mov ecx, esi
call fcn.004598d0
mov eax, ecx
mov ecx, edx
call fcn.004598d0
mov eax, ebx
mov ecx, esi
call fcn.00459930
mov ecx, esi
mov edx, edi
call fcn.00459910
mov eax, ebx
call fcn.004598d0
call fcn.00459910
lea eax, [0x51e540]
mov dword [esp], eax
lea eax, [0x580b30]
mov dword [esp + 4], eax
call fcn.0042f780
nop
call fcn.00458300
jmp fcn.004d6510