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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0xc8]
cmp eax, dword [ecx + 8]
jbe 0x650f62
sub esp, 0x148
mov eax, dword [esp + 0x14c]
mov ecx, dword [eax]
mov ecx, dword [ecx]
mov dword [esp + 0x74], ecx
lea edx, [0x6e8640]
mov dword [esp], edx
call fcn.0040cd70
mov eax, dword [esp + 4]
mov dword [esp + 0x78], eax
mov ecx, dword [0x884700]
test ecx, ecx
jne 0x650f49
mov ecx, dword [esp + 0x74]
mov dword [eax], ecx
mov ecx, dword [esp + 0x14c]
mov edx, dword [ecx]
mov ebx, dword [ecx + 8]
mov edx, dword [edx + 8]
cmp edx, ebx
jle 0x650f42
mov dword [esp + 0x28], edx
lea ebx, [0x6f40a0]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], edx
call fcn.00437440
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x78]
mov dword [ebx + 8], ecx
mov dword [ebx + 0xc], eax
mov eax, dword [0x884700]
lea ecx, [ebx + 4]
test eax, eax
jne 0x650f2d
mov dword [ebx + 4], edx
xor eax, eax
mov dword [esp + 0x34], eax
mov ecx, dword [esp + 0x28]
cmp eax, ecx
jge 0x650902
mov edx, dword [esp + 0x14c]
mov ebp, dword [edx]
mov esi, dword [ebp + 8]
mov ebp, dword [ebp + 4]
cmp eax, esi
jge 0x650f20
jae 0x650f19
lea esi, [eax + eax*2]
mov edi, ecx
mov ecx, dword [ebp + esi*4]
mov ebx, dword [ebp + esi*4 + 4]
mov ebp, dword [ebp + esi*4 + 8]
mov dword [esp + 0x90], ecx
mov dword [esp + 0x50], ebx
mov esi, dword [edx + 8]
mov edx, dword [edx + 4]
cmp eax, esi
jl 0x650978
mov edx, dword [esp + 0x78]
mov esi, dword [edx + 8]
mov edx, dword [edx + 4]
cmp eax, esi
jae 0x650971
lea esi, [eax + eax*2]
mov dword [edx + esi*4 + 4], ebx
mov dword [edx + esi*4 + 8], ebp
lea ebx, [edx + esi*4]
mov ebp, dword [0x884700]
test ebp, ebp
jne 0x650958
mov dword [edx + esi*4], ecx
inc eax
mov ebx, dword [esp + 0x78]
mov dword [esp + 0x34], eax
mov ecx, dword [esp + 0x28]
cmp eax, ecx
jl 0x650879
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 4]
mov edx, dword [ebx + 0xc]
mov ebp, eax
test eax, eax
jle 0x650929
lea esi, [eax - 1]
cmp esi, ebp
jae 0x650951
lea edi, [eax + eax*2]
mov edi, dword [ecx + edi*4 - 0xc]
test edi, edi
jne 0x650929
mov eax, esi
test eax, eax
jg 0x650911
cmp eax, edx
ja 0x65094a
mov dword [ebx + 8], eax
mov dword [esp], ebx
call fcn.0064fc70
mov eax, dword [esp + 0x78]
mov dword [esp + 0x150], eax
add esp, 0x148
ret
call fcn.004246e0
ud2
call fcn.00424680
ud2
mov dword [esp], ebx
mov dword [esp + 4], ecx
call fcn.0040d5a0
mov eax, dword [esp + 0x34]
mov edi, dword [esp + 0x28]
jmp 0x6508ed
call fcn.00424680
ud2
jae 0x650f12
mov ebp, eax
shl eax, 3
mov esi, dword [edx + eax + 4]
mov dword [esp + 0x6c], esi
mov edx, dword [edx + eax]
mov dword [esp + 0x70], edx
test edx, edx
je 0x650f09
mov eax, ebp
mov ebp, dword [edx]
test esi, esi
je 0x650f02
mov edx, dword [esi]
add ebp, ebx
sub ebp, edx
test ebp, ebp
jg 0x650ebc
xor edx, edx
xor ebp, ebp
mov dword [esp + 0x60], eax
xor eax, eax
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x58], eax
xor eax, eax
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x30], ebp
mov dword [esp + 0x90], edx
mov edx, dword [esp + 0x54]
cmp edx, ebx
jge 0x650b3e
mov edi, dword [ecx]
mov dword [esp + 0x68], edi
mov eax, dword [edi + 4]
mov edi, dword [edi + 8]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edi
lea eax, [0x6b67e0]
mov dword [esp], eax
mov dword [esp + 4], esi
call fcn.00409370
movzx eax, byte [esp + 0x14]
test al, al
je 0x650a62
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x8c]
add ebx, 4
mov ebp, dword [esp + 0x54]
inc ebp
mov esi, dword [esp + 0x6c]
mov edi, dword [esp + 0x28]
mov dword [esp + 0x54], ebp
mov dword [esp + 0x2c], ecx
mov ebp, edx
mov edx, eax
mov eax, dword [esp + 0x34]
mov ecx, ebx
mov ebx, dword [esp + 0x50]
jmp 0x6509d4
mov eax, dword [esp + 0x68]
mov ecx, dword [eax + 4]
mov edx, dword [eax + 8]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
lea ecx, [0x6b6760]
mov dword [esp], ecx
mov edx, dword [esp + 0x70]
mov dword [esp + 4], edx
call fcn.00409370
movzx eax, byte [esp + 0x14]
test al, al
je 0x650aa4
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
jmp 0x650a30
mov ecx, dword [esp + 0x2c]
lea edx, [ecx + 1]
mov ebx, dword [esp + 0x30]
cmp edx, ebx
jg 0x650b01
mov eax, dword [esp + 0x90]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], ebx
lea ebp, [eax + ecx*4]
mov esi, dword [0x884700]
test esi, esi
jne 0x650ae3
mov ebp, dword [esp + 0x68]
mov dword [eax + ecx*4], ebp
mov ecx, edx
mov edx, ebx
jmp 0x650a30
mov dword [esp], ebp
mov ecx, dword [esp + 0x68]
mov dword [esp + 4], ecx
call fcn.0040d5a0
mov eax, dword [esp + 0x7c]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x30]
jmp 0x650ada
lea eax, [0x6da080]
mov dword [esp], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.00437660
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea edx, [ecx + 1]
mov ecx, dword [esp + 0x2c]
jmp 0x650aba
lea edi, [esp + 0x118]
xor eax, eax
call fcn.0044a374
lea ecx, [0x6b6760]
mov dword [esp], ecx
mov ebx, dword [esp + 0x70]
mov dword [esp + 4], ebx
lea ebx, [esp + 0x118]
mov dword [esp + 8], ebx
call fcn.00407550
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x90]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], ecx
mov dword [esp + 0x90], edx
mov ebx, dword [esp + 0x118]
test ebx, ebx
je 0x650e03
mov esi, dword [esp + 0x11c]
test byte [esi], al
lea edi, [esp + 0xec]
call fcn.0044a822
mov ecx, dword [esp + 0x118]
test byte [ecx], al
lea edi, [esp + 0x94]
lea esi, [esp + 0xec]
call fcn.0044a822
lea edi, [esp + 0xc0]
lea esi, [esp + 0x94]
call fcn.0044a822
mov ecx, dword [esp + 0xe8]
mov dword [esp + 0x44], ecx
mov ebx, dword [esp + 0xe4]
mov dword [esp + 0x40], ebx
mov ebp, dword [esp + 0xd4]
mov dword [esp + 0x80], ebp
mov edx, dword [esp + 0xcc]
mov dword [esp + 0x20], edx
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x4c], eax
mov ecx, dword [esp + 0xc4]
mov dword [esp + 0x48], ecx
mov ebx, dword [esp + 0xd0]
mov dword [esp + 0x24], ebx
mov ebp, dword [esp + 0xe0]
mov dword [esp + 0x84], ebp
mov ebp, dword [esp + 0xdc]
mov dword [esp + 0x3c], ebp
mov ebp, dword [esp + 0xd8]
mov dword [esp + 0x38], ebp
lea ebp, [0x6dc920]
mov dword [esp], ebp
call fcn.0040cd70
mov eax, dword [esp + 4]
mov dword [esp + 0x88], eax
mov dword [eax], 4
mov ecx, dword [esp + 0x48]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x4c]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x20]
mov dword [eax + 0x10], ecx
mov edx, dword [esp + 0x24]
mov dword [eax + 0x14], edx
mov ebx, dword [esp + 0x38]
mov dword [eax + 0x1c], ebx
mov ebx, dword [esp + 0x3c]
mov dword [eax + 0x20], ebx
mov ebx, dword [0x884700]
lea ebp, [eax + 0x18]
test ebx, ebx
jne 0x650ddc
mov ebx, dword [esp + 0x80]
mov dword [eax + 0x18], ebx
mov ebx, dword [esp + 0x40]
mov dword [eax + 0x28], ebx
mov ebx, dword [esp + 0x44]
mov dword [eax + 0x2c], ebx
mov ebx, dword [0x884700]
lea ebp, [eax + 0x24]
test ebx, ebx
jne 0x650db5
mov ebx, dword [esp + 0x84]
mov dword [eax + 0x24], ebx
mov ebx, edx
sar edx, 0x1f
shr edx, 0x12
add edx, ecx
adc ebx, 0
shl ebx, 0x12
shr edx, 0xe
or ebx, edx
mov dword [eax + 0xc], ebx
cmp ebx, 0x64
jge 0x650d03
mov dword [eax + 0xc], 0x64
mov ecx, dword [esp + 0x2c]
lea edx, [ecx + 1]
mov ebx, dword [esp + 0x30]
cmp edx, ebx
jg 0x650d71
mov ebp, dword [esp + 0x90]
mov dword [esp + 0x7c], ebp
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], ebx
mov esi, dword [0x884700]
lea edi, [ebp + ecx*4]
test esi, esi
jne 0x650d57
mov dword [ebp + ecx*4], eax
lea eax, [esp + 0x118]
mov dword [esp], eax
call fcn.00407a40
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x7c]
jmp 0x650b7c
mov dword [esp], edi
mov dword [esp + 4], eax
call fcn.0040d5a0
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x30]
mov ebp, dword [esp + 0x7c]
jmp 0x650d37
lea ebp, [0x6da080]
mov dword [esp], ebp
mov ebp, dword [esp + 0x90]
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.00437660
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea edx, [eax + 1]
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x2c]
jmp 0x650d19
mov dword [esp], ebp
mov ebx, dword [esp + 0x84]
mov dword [esp + 4], ebx
call fcn.0040d5a0
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
jmp 0x650cdf
mov dword [esp], ebp
mov ebx, dword [esp + 0x80]
mov dword [esp + 4], ebx
call fcn.0040d5a0
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
jmp 0x650cb6
test eax, eax
jne 0x650e14
mov eax, dword [esp + 0x34]
mov edi, dword [esp + 0x28]
jmp 0x6508ed
mov ebx, dword [esp + 0x34]
test ebx, ebx
jne 0x650e94
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0064c600
mov ecx, dword [esp + 0x78]
mov edx, dword [ecx + 8]
mov ebx, dword [ecx + 4]
mov ebp, dword [esp + 0x34]
cmp ebp, edx
jae 0x650e8d
lea edx, [ebp + ebp*2]
mov esi, dword [esp + 0x2c]
mov dword [ebx + edx*4 + 4], esi
mov esi, dword [esp + 0x30]
mov dword [ebx + edx*4 + 8], esi
mov esi, dword [0x884700]
mov eax, ecx
lea ecx, [ebx + edx*4]
test esi, esi
jne 0x650e6d
mov ecx, dword [esp + 0x90]
mov dword [ebx + edx*4], ecx
jmp 0x650e07
mov dword [esp], ecx
mov ecx, dword [esp + 0x90]
mov dword [esp + 4], ecx
call fcn.0040d5a0
mov eax, dword [esp + 0x78]
mov ebp, dword [esp + 0x34]
jmp 0x650e07
call fcn.00424680
ud2
mov ebp, dword [esp + 0x14c]
mov esi, dword [ebp]
mov esi, dword [esi]
mov esi, dword [esi + 0x3c]
mov dword [esp + 0xc], esi
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0064c550
jmp 0x650e2c
lea edx, [0x6da080]
mov dword [esp], edx
mov dword [esp + 4], 0
mov dword [esp + 8], ebp
call fcn.00437440
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x90]
mov ebx, dword [esp + 0x50]
mov esi, dword [esp + 0x6c]
mov edi, dword [esp + 0x28]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x34]
jmp 0x6509c6
xor edx, edx
jmp 0x6509a8
mov eax, ebp
xor ebp, ebp
jmp 0x65099e
call fcn.00424680
ud2
call fcn.00424680
ud2
mov edi, ecx
xor ebp, ebp
xor ecx, ecx
xor ebx, ebx
jmp 0x6508a7
mov dword [esp], ecx
mov dword [esp + 4], edx
call fcn.0040d5a0
mov ebx, dword [esp + 0x78]
jmp 0x650867
mov edx, ebx
jmp 0x650823
mov dword [esp], eax
mov ecx, dword [esp + 0x74]
mov dword [esp + 4], ecx
call fcn.0040d5a0
mov eax, dword [esp + 0x78]
jmp 0x65080c
call fcn.004486b0
jmp fcn.006507b0