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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4d5e84
sub esp, 0x70
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 4]
mov edx, dword [esp + 0x74]
mov ebx, dword [edx + 0xc]
lea ebp, [ebx + ecx]
mov dword [esp + 0x40], ebp
mov esi, dword [eax + 8]
mov edi, dword [eax]
mov edx, dword [edx + 8]
cmp ebp, esi
ja 0x4d5e39
mov dword [esp + 0x3c], esi
mov dword [esp + 0x44], edi
lea eax, [edi + ecx]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.004579b0
mov eax, dword [esp + 0x40]
mov edi, dword [esp + 0x78]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [edi + 8], eax
mov eax, dword [0xdd7ec0]
test eax, eax
jne 0x4d5e2b
mov edx, dword [esp + 0x44]
mov dword [edi], edx
mov edx, dword [esp + 0x74]
mov ebx, dword [edx + 0x10]
test ebx, 7
je 0x4d5e24
test ebx, 0x20
je 0x4d5e1d
mov eax, edi
lea edi, [esp + 0x48]
lea esi, [esp + 0x7c]
call fcn.0045778e
nop
nop
mov ecx, dword [esp + 0x48]
mov ebx, dword [esp + 0x4c]
mov ebp, ebx
shr ebx, 0x1f
shl ebx, 0x1f
test ebx, ebx
je 0x4d5773
mov ebx, ecx
shr ecx, 0x1f
shl ebp, 1
or ebp, ecx
mov ecx, ebp
shl ebp, 1
shl ebx, 1
shr ebx, 0x1f
or ebx, ebp
mov ebp, ebx
add ebx, 0xd7b17f80
mov dword [esp + 0x50], ebx
shr ecx, 0x1f
add ebp, 0xd7b17f80
adc ecx, 0xd
mov dword [esp + 0x54], ecx
and dword [esp + 0x48], 0x3fffffff
mov dword [esp + 0x4c], 0
mov dword [esp + 0x58], 0
lea edi, [esp + 0x7c]
lea esi, [esp + 0x48]
call fcn.0045778e
mov ebx, dword [edx + 0x10]
test ebx, 1
jne 0x4d5c5d
mov ebx, dword [edx + 0x10]
test ebx, 6
jne 0x4d59d8
mov edx, dword [edx + 0x10]
test edx, 0x18
je 0x4d58cc
test edx, 0x10
je 0x4d59c5
mov ecx, dword [esp + 0x94]
lea edx, [ecx - 1]
mov ebx, dword [esp + 0x90]
jmp 0x4d57d5
dec edx
test edx, edx
jle 0x4d59bc
cmp edx, ecx
jae 0x4d5e7c
movzx ebp, byte [ebx + edx]
xchg ebp, eax
cmp al, 0x2f
xchg ebp, eax
jne 0x4d57d4
inc edx
sub ecx, edx
mov ebp, ecx
neg ecx
sar ecx, 0x1f
and ecx, edx
add ecx, ebx
mov dword [esp + 0x94], ebp
mov edx, dword [eax + 4]
mov dword [esp + 0x40], edx
lea ebx, [ebp + edx]
mov dword [esp + 0x3c], ebx
mov esi, dword [eax + 8]
mov edi, dword [eax]
cmp ebx, esi
ja 0x4d5978
mov dword [esp + 0x44], edi
mov dword [esp + 0x38], esi
lea eax, [edi + edx]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
call fcn.004579b0
mov eax, dword [esp + 0x3c]
mov edi, dword [esp + 0x78]
mov dword [edi + 4], eax
mov ecx, dword [esp + 0x38]
mov dword [edi + 8], ecx
mov edx, dword [0xdd7ec0]
mov ebx, dword [esp + 0x94]
mov ebp, dword [esp + 0x40]
lea ebx, [ebp + ebx + 1]
test edx, edx
jne 0x4d5962
mov edx, dword [esp + 0x44]
mov dword [edi], edx
cmp ebx, ecx
ja 0x4d5915
lea ecx, [eax + 1]
mov dword [edi + 4], ecx
mov byte [edx + eax], 0x3a
mov dword [esp], edi
mov eax, dword [esp + 0x98]
mov dword [esp + 4], eax
mov dword [esp + 8], 0xffffffff
call fcn.004d5500
mov edi, dword [esp + 0x78]
mov eax, dword [edi + 4]
lea ecx, [eax + 2]
mov edx, dword [edi + 8]
mov ebx, dword [edi]
cmp ecx, edx
ja 0x4d58d9
mov ebp, 0x203a
mov word [ebx + eax], bp
mov dword [edi + 4], ecx
mov dword [edi + 8], edx
mov ecx, dword [0xdd7ec0]
test ecx, ecx
jne 0x4d58d0
mov dword [edi], ebx
add esp, 0x70
ret
mov eax, ebx
call fcn.00456fe0
jmp 0x4d58cc
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], ecx
lea ebp, [0x8ebd00]
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
call fcn.00440660
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
mov edi, dword [esp + 0x78]
jmp 0x4d58b1
lea ebp, [0x8ebd00]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
call fcn.00440660
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x78]
mov dword [edi + 8], edx
mov edx, dword [0xdd7ec0]
test edx, edx
jne 0x4d595b
mov dword [edi], eax
mov edx, eax
mov eax, ecx
jmp 0x4d5879
call fcn.00456fe0
jmp 0x4d5952
mov edx, eax
mov eax, dword [esp + 0x44]
call fcn.00456fe0
mov eax, edx
mov edx, dword [esp + 0x44]
jmp 0x4d5871
mov dword [esp + 0x90], ecx
lea eax, [0x8ebd00]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
call fcn.00440660
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x40]
mov ebp, dword [esp + 0x94]
jmp 0x4d5821
mov ebp, ecx
mov ecx, ebx
jmp 0x4d57fe
mov ebp, dword [esp + 0x94]
mov ecx, dword [esp + 0x90]
jmp 0x4d57fe
mov edi, esp
lea esi, [esp + 0x7c]
call fcn.0045778e
call fcn.004afe50
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x30], ecx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x28], edx
mov ebx, dword [esp + 0x78]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], 2
call fcn.004d5500
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 4]
lea edx, [ecx + 1]
mov ebx, dword [eax + 8]
mov ebp, dword [eax]
cmp edx, ebx
ja 0x4d5c10
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebp + ecx], 0x3a
mov dword [esp], eax
mov ecx, dword [esp + 0x30]
mov dword [esp + 4], ecx
mov dword [esp + 8], 2
call fcn.004d5500
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 4]
lea edx, [ecx + 1]
mov ebx, dword [eax + 8]
mov ebp, dword [eax]
cmp edx, ebx
ja 0x4d5bc3
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebp + ecx], 0x3a
mov dword [esp], eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 4], ecx
mov dword [esp + 8], 2
call fcn.004d5500
mov eax, dword [esp + 0x74]
mov ecx, dword [eax + 0x10]
test ecx, 4
jne 0x4d5b0f
mov edx, dword [esp + 0x78]
mov ebx, dword [edx + 4]
lea ebp, [ebx + 1]
mov esi, dword [edx]
mov edi, dword [edx + 8]
cmp ebp, edi
ja 0x4d5abf
lea ebp, [ebx + 1]
mov dword [edx + 4], ebp
mov byte [esi + ebx], 0x20
mov edx, eax
mov eax, dword [esp + 0x78]
jmp 0x4d57a6
lea eax, [0x8ebd00]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ebp
call fcn.00440660
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x78]
mov dword [edi + 8], edx
mov edx, dword [0xdd7ec0]
test edx, edx
jne 0x4d5b08
mov dword [edi], eax
mov edx, edi
mov ebx, ecx
mov esi, eax
mov eax, dword [esp + 0x74]
jmp 0x4d5aaa
call fcn.00456fe0
jmp 0x4d5afc
mov ecx, dword [esp + 0x78]
mov edx, dword [ecx + 4]
lea ebx, [edx + 1]
mov ebp, dword [ecx + 8]
mov esi, ecx
mov ecx, dword [ecx]
cmp ebx, ebp
ja 0x4d5b74
lea ebx, [edx + 1]
mov dword [esi + 4], ebx
mov byte [ecx + edx], 0x2e
lea edi, [esp + 0x5c]
mov eax, esi
lea esi, [esp + 0x7c]
call fcn.0045778e
nop
mov ecx, dword [esp + 0x5c]
mov dword [esp], eax
and ecx, 0x3fffffff
mov eax, 0x4189374c
imul ecx
sar ecx, 0x1f
sar edx, 8
sub edx, ecx
mov dword [esp + 4], edx
mov dword [esp + 8], 6
call fcn.004d5500
mov eax, dword [esp + 0x74]
jmp 0x4d5a97
lea eax, [0x8ebd00]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.00440660
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x78]
mov dword [edi + 8], edx
mov edx, dword [0xdd7ec0]
test edx, edx
jne 0x4d5bbc
mov dword [edi], eax
mov esi, edi
mov edx, ecx
mov ecx, eax
jmp 0x4d5b24
call fcn.00456fe0
jmp 0x4d5bb1
lea eax, [0x8ebd00]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.00440660
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x78]
mov dword [edi + 8], edx
mov edx, dword [0xdd7ec0]
test edx, edx
jne 0x4d5c09
mov dword [edi], eax
mov ebp, eax
mov eax, edi
jmp 0x4d5a65
call fcn.00456fe0
jmp 0x4d5c00
lea eax, [0x8ebd00]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.00440660
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x78]
mov dword [edi + 8], edx
mov edx, dword [0xdd7ec0]
test edx, edx
jne 0x4d5c56
mov dword [edi], eax
mov ebp, eax
mov eax, edi
jmp 0x4d5a2b
call fcn.00456fe0
jmp 0x4d5c4d
nop
mov edi, esp
lea esi, [esp + 0x7c]
call fcn.0045778e
mov byte [esp + 0x14], 1
call fcn.004b1590
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x2c], ecx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x34], edx
mov ebx, dword [esp + 0x78]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], 4
call fcn.004d5500
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 4]
lea edx, [ecx + 1]
mov ebx, dword [eax + 8]
mov ebp, dword [eax]
cmp edx, ebx
ja 0x4d5dd0
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebp + ecx], 0x2f
mov dword [esp], eax
mov ecx, dword [esp + 0x2c]
mov dword [esp + 4], ecx
mov dword [esp + 8], 2
call fcn.004d5500
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 4]
lea edx, [ecx + 1]
mov ebx, dword [eax]
mov ebp, dword [eax + 8]
cmp edx, ebp
ja 0x4d5d83
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebx + ecx], 0x2f
mov dword [esp], eax
mov ecx, dword [esp + 0x34]
mov dword [esp + 4], ecx
mov dword [esp + 8], 2
call fcn.004d5500
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 4]
lea edx, [ecx + 1]
mov ebx, dword [eax + 8]
mov ebp, dword [eax]
cmp edx, ebx
ja 0x4d5d39
lea ebx, [ecx + 1]
mov dword [eax + 4], ebx
mov byte [ebp + ecx], 0x20
mov edx, dword [esp + 0x74]
jmp 0x4d5797
lea eax, [0x8ebd00]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.00440660
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x78]
mov dword [edi + 8], edx
mov edx, dword [0xdd7ec0]
test edx, edx
jne 0x4d5d7c
mov dword [edi], eax
mov ebp, eax
mov eax, edi
jmp 0x4d5d25
call fcn.00456fe0
jmp 0x4d5d76
lea eax, [0x8ebd00]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.00440660
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x78]
mov dword [edi + 8], edx
mov edx, dword [0xdd7ec0]
test edx, edx
jne 0x4d5dc9
mov dword [edi], eax
mov ebx, eax
mov eax, edi
jmp 0x4d5cf0
call fcn.00456fe0
jmp 0x4d5dc0
lea eax, [0x8ebd00]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.00440660
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x78]
mov dword [edi + 8], edx
mov edx, dword [0xdd7ec0]
test edx, edx
jne 0x4d5e16
mov dword [edi], eax
mov ebp, eax
mov eax, edi
jmp 0x4d5cb6
call fcn.00456fe0
jmp 0x4d5e0d
mov eax, edi
jmp 0x4d5788
mov eax, edi
jmp 0x4d57a6
mov eax, dword [esp + 0x44]
call fcn.00456fe0
jmp 0x4d56ef
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x44], edx
mov dword [esp + 0x38], ebx
lea eax, [0x8ebd00]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
call fcn.00440660
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x38]
jmp 0x4d56ae
mov eax, edx
call fcn.00457060
nop
call fcn.004557a0
jmp fcn.004d5670