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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x40]
cmp eax, dword [ecx + 8]
jbe 0x648598
sub esp, 0xc0
mov eax, 0
mov dword [esp + 0xbc], eax
mov byte [esp + 0x23], 0
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], 0
mov eax, dword [esp + 0xc4]
movzx ecx, byte [eax + 0x6c]
test cl, cl
jne 0x647c0d
mov ecx, dword [eax + 0x74]
test ecx, ecx
jge 0x647c2e
mov eax, dword [0x8ceb80]
mov ecx, dword [0x8ceb84]
mov dword [esp + 0xcc], eax
mov dword [esp + 0xd0], ecx
add esp, 0xc0
ret
mov eax, dword [esp + 0xc8]
mov dword [esp], eax
call fcn.0064dc20
movzx eax, byte [esp + 4]
test al, al
jne 0x647da3
mov eax, dword [esp + 0xc8]
mov dword [esp], eax
call fcn.006514a0
mov eax, dword [esp + 0xc4]
mov dword [esp], eax
call fcn.0046b550
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
lea eax, [0x6485b0]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x48], eax
lea ecx, [esp + 0x44]
mov dword [esp + 0xbc], ecx
mov byte [esp + 0x23], 1
mov ecx, dword [esp + 0xc8]
mov edx, dword [ecx]
test edx, edx
jne 0x647cae
xor edx, edx
jmp 0x647ce2
mov edx, dword [eax + 0x18]
lea ebp, [0x699f60]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.0040e7f0
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
test eax, eax
setne al
mov ecx, dword [esp + 0xc8]
mov edx, eax
mov eax, dword [esp + 0xc4]
test dl, dl
jne 0x647d76
lea esi, [ecx + 0xc]
lea edi, [esp + 0x84]
call fcn.00464a4a
lea edi, [esp + 0xa0]
xor eax, eax
call fcn.00464579
mov ecx, dword [esp + 0xc4]
mov edx, dword [ecx + 0x10]
lea ebx, [0x69a4a0]
mov dword [esp], ebx
mov dword [esp + 4], edx
lea edx, [esp + 0x84]
mov dword [esp + 8], edx
call fcn.0040cdb0
movzx ecx, byte [esp + 0x10]
mov byte [esp + 0x21], cl
mov esi, dword [esp + 0xc]
lea edi, [esp + 0xa0]
call fcn.00464a4a
lea edi, [esp + 0x68]
lea esi, [esp + 0xa0]
call fcn.00464a4a
movzx ecx, byte [esp + 0x21]
test cl, cl
je 0x647dc4
mov edx, dword [esp + 0xc8]
mov ebx, dword [edx]
test ebx, ebx
jne 0x6484d0
jmp 0x6482e4
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], 0
mov byte [esp + 0x23], 0
mov edx, dword [esp + 0xbc]
mov eax, dword [edx]
call eax
add esp, 0xc0
ret
mov eax, dword [0x8ceb70]
mov ecx, dword [0x8ceb74]
mov dword [esp + 0xcc], eax
mov dword [esp + 0xd0], ecx
add esp, 0xc0
ret
mov eax, dword [esp + 0xc4]
movzx ecx, byte [eax + 8]
test cl, cl
jne 0x647e9a
mov ecx, dword [eax + 0xc]
test ecx, ecx
jne 0x647e0f
call fcn.0040c810
mov eax, dword [0x8f52e0]
mov ecx, dword [esp]
test eax, eax
jne 0x647dfc
mov eax, dword [esp + 0xc4]
mov dword [eax + 0xc], ecx
jmp 0x647e0f
mov edx, dword [esp + 0xc4]
lea edi, [edx + 0xc]
mov eax, ecx
call fcn.004642e0
mov eax, edx
mov ecx, dword [eax + 0xc]
lea edx, [0x69a420]
mov dword [esp], edx
mov dword [esp + 4], ecx
lea ecx, [esp + 0x84]
mov dword [esp + 8], ecx
call fcn.0040cbe0
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov ebx, dword [esp + 0xc4]
mov ebp, dword [ebx + 0x74]
test ebp, ebp
jne 0x647e4e
mov ebp, 2
cmp ebp, edx
jle 0x647e69
mov dword [esp + 0x2c], eax
mov dword [esp + 0x28], edx
mov dword [esp + 0x38], ecx
mov ebp, dword [esp + 0xc8]
xor esi, esi
jmp 0x647ece
mov eax, dword [0x8cebe8]
mov ecx, dword [0x8cebec]
mov dword [esp + 0xcc], eax
mov dword [esp + 0xd0], ecx
mov byte [esp + 0x23], 0
mov edx, dword [esp + 0xbc]
mov eax, dword [edx]
call eax
add esp, 0xc0
ret
mov eax, dword [0x8ceb60]
mov ecx, dword [0x8ceb64]
mov dword [esp + 0xcc], eax
mov dword [esp + 0xd0], ecx
mov byte [esp + 0x23], 0
mov edx, dword [esp + 0xbc]
mov eax, dword [edx]
call eax
add esp, 0xc0
ret
inc esi
mov ebx, edi
cmp esi, edx
jge 0x647f4b
mov edi, ebx
lea ebx, [ecx + esi*4]
cmp dword [ebx], ebp
jne 0x647ecb
mov dword [esp + 0x34], esi
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
lea eax, [0x6c9780]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], ebp
lea ecx, [0x6dc66b]
mov dword [esp], ecx
mov dword [esp + 4], 0x1d
lea edx, [esp + 0x4c]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.005ffb10
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x28]
mov ebp, dword [esp + 0xc8]
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0xc4]
jmp 0x647ecb
inc edx
cmp eax, edx
jae 0x647f8c
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x6c9780]
mov dword [esp + 0x10], eax
call fcn.0044b130
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0xc4]
mov ebp, dword [esp + 0xc8]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x34], edx
mov dword [esp + 0x30], eax
mov esi, dword [0x8f52e0]
lea edi, [ecx + edx*4 - 4]
test esi, esi
jne 0x647fac
mov dword [ecx + edx*4 - 4], ebp
jmp 0x647fb3
mov eax, ebp
call fcn.004642e0
mov eax, dword [ebx + 0xc]
lea ecx, [0x69a420]
mov dword [esp], ecx
mov dword [esp + 4], eax
lea eax, [esp + 0x84]
mov dword [esp + 8], eax
call fcn.0040d130
mov edi, dword [esp + 0xc]
mov eax, dword [esp + 0x34]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x30]
mov dword [edi + 8], eax
mov eax, dword [0x8f52e0]
test eax, eax
jne 0x647ff7
mov eax, dword [esp + 0x40]
mov dword [edi], eax
jmp 0x648000
mov eax, dword [esp + 0x40]
call fcn.004642e0
mov eax, dword [esp + 0xc4]
lea ecx, [eax + 0x14]
mov dword [esp], ecx
mov ecx, dword [esp + 0xc8]
mov dword [esp + 4], ecx
call fcn.00651f60
mov eax, dword [esp + 0xc4]
mov ecx, dword [eax + 0x70]
test ecx, ecx
je 0x648157
mov edx, dword [eax + 0x18]
test edx, edx
je 0x64803a
mov edx, dword [edx]
jmp 0x64803c
xor edx, edx
cmp edx, ecx
jle 0x648157
mov ecx, dword [eax + 0x14]
nop
mov edx, dword [ecx + 0x14]
test edx, edx
jne 0x648053
xor edx, edx
jmp 0x648056
mov edx, dword [ecx + 4]
mov ebx, dword [edx + 0x10]
mov ebp, dword [edx + 0xc]
lea esi, [0x6c9780]
cmp ebp, esi
jne 0x6482c7
nop
cmp dword [edx + 8], ecx
jne 0x6480fa
mov edi, dword [edx + 4]
test byte [edi], al
mov ebp, dword [0x8f52e0]
mov esi, dword [edx]
test ebp, ebp
jne 0x648089
mov dword [edi], esi
jmp 0x648094
mov ebp, eax
mov eax, esi
call fcn.004642e0
mov eax, ebp
mov ebp, dword [edx]
test byte [ebp], al
mov esi, dword [0x8f52e0]
mov edi, ebx
mov ebx, dword [edx + 4]
test esi, esi
jne 0x6480c1
mov dword [ebp + 4], ebx
mov dword [edx], 0
mov dword [edx + 4], 0
mov dword [edx + 8], 0
jmp 0x6480f5
add ebp, 4
mov esi, edi
mov edi, ebp
mov eax, ebx
call fcn.004642e0
mov edi, edx
xor eax, eax
call fcn.004642e0
lea ebx, [edx + 4]
mov edi, ebx
call fcn.004642e0
lea edi, [edx + 8]
xor eax, eax
call fcn.004642e0
mov eax, dword [esp + 0xc4]
mov edi, esi
dec dword [ecx + 0x14]
jmp 0x6480fc
mov edi, ebx
mov dword [esp + 0x3c], edi
mov edx, dword [eax + 0x18]
lea ebx, [0x699f60]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], edi
call fcn.0040f090
mov eax, dword [0x8cebe0]
mov ecx, dword [0x8cebe4]
mov edx, dword [esp + 0x3c]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.006514f0
mov eax, dword [esp + 0xc4]
mov dword [esp], eax
mov ecx, dword [esp + 0x3c]
mov dword [esp + 4], ecx
call fcn.00648e40
mov eax, dword [esp + 0xc4]
mov ecx, dword [eax + 0x7c]
test ecx, ecx
seta dl
mov ebx, dword [eax + 0x80]
test ebx, ebx
xchg ebp, ebx
sete bl
xchg ebp, ebx
xchg esi, ebx
setg bl
xchg esi, ebx
and ebp, edx
or esi, ebp
xchg esi, eax
test al, al
xchg esi, eax
je 0x648249
mov edx, dword [esp + 0xc8]
mov ebp, dword [edx]
test ebp, ebp
jne 0x648250
mov ebp, dword [edx + 0x78]
test ebp, ebp
je 0x6481b7
mov dword [esp], ebp
mov dword [esp + 8], ebx
mov dword [esp + 4], ecx
call fcn.00510a40
mov eax, dword [esp + 0xc8]
jmp 0x648250
lea eax, [0x6a11e0]
mov dword [esp], eax
call fcn.0040bd30
mov eax, dword [esp + 4]
lea ecx, [0x659930]
mov dword [eax], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x6481e7
mov ecx, dword [esp + 0xc8]
mov dword [eax + 4], ecx
jmp 0x6481fa
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xc8]
call fcn.004642e0
mov eax, ecx
mov ecx, dword [esp + 0xc4]
mov edx, dword [ecx + 0x7c]
mov ecx, dword [ecx + 0x80]
mov dword [esp + 4], ecx
mov dword [esp], edx
mov dword [esp + 8], eax
call fcn.00510b30
mov eax, dword [0x8f52e0]
mov ecx, dword [esp + 0xc]
test eax, eax
jne 0x648234
mov eax, dword [esp + 0xc8]
mov dword [eax + 0x78], ecx
jmp 0x648250
mov edx, dword [esp + 0xc8]
lea edi, [edx + 0x78]
mov eax, ecx
call fcn.004642e0
mov eax, edx
jmp 0x648250
mov edx, dword [esp + 0xc8]
call fcn.00512c60
lea edi, [esp + 0x54]
lea esi, [esp]
call fcn.00464a5e
mov eax, dword [esp + 0xc8]
lea edi, [eax + 0x64]
mov eax, dword [0x8f52e0]
test eax, eax
jne 0x648280
lea esi, [esp + 0x54]
call fcn.00464a5e
jmp 0x64829a
lea eax, [0x6d0180]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x54]
mov dword [esp + 8], eax
call fcn.00411390
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], 0
mov byte [esp + 0x23], 0
mov edx, dword [esp + 0xbc]
mov eax, dword [edx]
call eax
add esp, 0xc0
ret
mov dword [esp], ebp
mov dword [esp + 4], esi
lea eax, [0x698460]
mov dword [esp + 8], eax
call fcn.004092c0
mov edx, dword [esp + 0xc8]
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x68]
mov esi, dword [esp + 0x70]
mov dword [esp + 0x34], esi
mov eax, edx
mov edx, dword [esp + 0x74]
mov ecx, ebx
sub ebx, edx
mov edi, ebp
mov ebp, dword [esp + 0x7c]
add ebx, ebp
mov esi, dword [esp + 0x80]
mov dword [esp + 0x30], esi
mov esi, dword [esp + 0x78]
test ebx, ebx
jle 0x6483ce
mov dword [esp + 0x24], ebx
cmp ecx, edx
jg 0x64835c
test ebp, ebp
jne 0x64832d
xor ecx, ecx
jmp 0x648398
mov dword [esp + 0x6c], ebp
mov edx, dword [esp + 0x30]
mov dword [esp + 0x70], edx
mov dword [esp + 0x68], esi
mov dword [esp + 0x74], 0
mov dword [esp + 0x7c], 0
mov edx, dword [esp + 0x34]
mov dword [esp + 0x80], edx
mov dword [esp + 0x78], edi
mov edx, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x74]
cmp ecx, ebp
jbe 0x6484a4
mov ecx, dword [edx + ebp*4]
lea edi, [edx + ebp*4]
mov esi, dword [0x8f52e0]
test esi, esi
jne 0x648389
mov dword [edx + ebp*4], 0
jmp 0x648394
mov edx, eax
xor eax, eax
call fcn.004642e0
mov eax, edx
inc dword [esp + 0x74]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
call fcn.00649590
movzx eax, byte [esp + 0x10]
test al, al
je 0x6482dd
mov eax, dword [esp + 0x24]
test eax, eax
mov eax, dword [esp + 0xc8]
setg cl
mov byte [esp + 0x22], cl
mov edx, dword [esp + 0x6c]
sub edx, dword [esp + 0x74]
add edx, dword [esp + 0x7c]
test edx, edx
jne 0x64840e
mov eax, dword [esp + 0xc4]
mov ecx, dword [eax + 0x10]
lea edx, [0x69a4a0]
mov dword [esp], edx
mov dword [esp + 4], ecx
lea ecx, [esp + 0x84]
mov dword [esp + 8], ecx
call fcn.0040d610
jmp 0x64846a
mov eax, dword [esp + 0xc4]
mov ecx, dword [eax + 0x10]
lea edx, [0x69a4a0]
mov dword [esp], edx
mov dword [esp + 4], ecx
lea ecx, [esp + 0x84]
mov dword [esp + 8], ecx
call fcn.0040d130
mov edi, dword [esp + 0xc]
test byte [edi], al
mov eax, dword [0x8f52e0]
test eax, eax
jne 0x648450
lea esi, [esp + 0x68]
call fcn.00464a4a
jmp 0x64846a
lea eax, [0x6b16a0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x68]
mov dword [esp + 8], eax
call fcn.00411390
movzx eax, byte [esp + 0x22]
test al, al
je 0x647dc4
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], 0
mov byte [esp + 0x23], 0
mov edx, dword [esp + 0xbc]
mov eax, dword [edx]
call eax
add esp, 0xc0
ret
mov eax, ebp
call fcn.00464360
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
call fcn.00649590
mov eax, dword [esp + 0xc8]
mov edx, eax
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x68]
mov esi, dword [esp + 0x70]
mov dword [esp + 0x34], esi
mov eax, edx
mov edx, dword [esp + 0x74]
mov ecx, ebx
sub ebx, edx
mov edi, ebp
mov ebp, dword [esp + 0x7c]
add ebx, ebp
mov esi, dword [esp + 0x80]
mov dword [esp + 0x30], esi
mov esi, dword [esp + 0x78]
test ebx, ebx
jle 0x64857d
cmp edx, ecx
jl 0x648540
test ebp, ebp
jne 0x648511
xor ecx, ecx
jmp 0x6484ab
mov dword [esp + 0x6c], ebp
mov edx, dword [esp + 0x30]
mov dword [esp + 0x70], edx
mov dword [esp + 0x68], esi
mov dword [esp + 0x74], 0
mov dword [esp + 0x7c], 0
mov edx, dword [esp + 0x34]
mov dword [esp + 0x80], edx
mov dword [esp + 0x78], edi
mov edx, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x74]
cmp ecx, ebx
jbe 0x648584
mov ecx, dword [edx + ebx*4]
lea edi, [edx + ebx*4]
mov ebp, dword [0x8f52e0]
test ebp, ebp
jne 0x648569
mov dword [edx + ebx*4], 0
jmp 0x648574
mov edx, eax
xor eax, eax
call fcn.004642e0
mov eax, edx
inc dword [esp + 0x74]
jmp 0x6484ab
xor ecx, ecx
jmp 0x6483d1
mov eax, ebx
call fcn.00464360
nop
call fcn.004358d0
add esp, 0xc0
ret
call fcn.00462ed0
jmp fcn.00647bb0