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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0xc]
cmp eax, dword [ecx + 8]
jbe 0x65039315
sub esp, 0x8c
mov eax, dword [esp + 0x90]
mov dword [esp], eax
mov ecx, dword [esp + 0x94]
mov dword [esp + 4], ecx
call fcn.65039320
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x94]
cmp ecx, eax
jb 0x6503930f
mov ebx, ecx
sub ecx, eax
mov ebp, ecx
neg ecx
sar ecx, 0x1f
and ecx, eax
mov esi, dword [esp + 0x90]
mov edx, ebx
lea ebx, [esi + ecx]
test ebp, ebp
je 0x65038a68
movzx ecx, byte [esi + ecx]
cmp cl, 0x5c
jne 0x6503895e
mov ecx, 1
jmp 0x65038964
cmp cl, 0x2f
sete cl
mov dword [esp + 0x28], eax
mov dword [esp + 0x40], ebp
mov dword [esp + 0x64], ebx
mov byte [esp + 0x26], cl
lea edi, [esp + 0x68]
xor eax, eax
call fcn.64fda267
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x80], esi
mov dword [esp + 0x84], edx
mov esi, dword [esp + 0x28]
mov dword [esp + 0x88], esi
movzx esi, byte [esp + 0x26]
xchg esi, eax
test al, al
xchg esi, eax
je 0x65038a5f
test ecx, ecx
jne 0x65038a3c
mov edi, dword [esp + 0x68]
test ebp, ebp
jle 0x650389d5
cmp byte [edi], 0x5c
jne 0x650389d5
mov dword [esp + 0x7c], 1
jmp 0x65038a58
lea eax, [0x6508bc40]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebp
call fcn.64fc4670
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x70], eax
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x7c]
cmp ebx, ebp
jb 0x65039306
cmp ebp, ecx
jl 0x65038a19
mov ebp, ecx
cmp edx, eax
je 0x65038a31
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.64fda970
mov ecx, dword [esp + 0x40]
mov ebx, dword [esp + 0x64]
mov ebp, ecx
movzx esi, byte [esp + 0x26]
mov ecx, dword [esp + 0x74]
mov edi, dword [esp + 0x70]
mov eax, dword [esp + 0x7c]
cmp ecx, eax
jbe 0x65039301
mov byte [edi + eax], 0x5c
inc dword [esp + 0x7c]
mov eax, 1
jmp 0x65038a61
xor eax, eax
mov ecx, eax
jmp 0x65038b0e
cmp eax, 1
jle 0x65038ac9
cmp byte [esi + 1], 0x3a
je 0x65038ac9
nop
mov dword [esp], esi
mov dword [esp + 4], edx
lea eax, [0x6509e1ca]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x6509e1d6]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 1
mov dword [esp + 0x18], 0xffffffff
call fcn.6501e430
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], ecx
add esp, 0x8c
ret
mov dword [esp], 0
mov dword [esp + 4], esi
mov dword [esp + 8], edx
lea eax, [0x6509e1c9]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 1
call fcn.64fc7aa0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], ecx
add esp, 0x8c
ret
mov eax, edi
cmp eax, ebp
jge 0x65038f34
jae 0x650392fa
movzx edi, byte [eax + ebx]
xchg edi, eax
cmp al, 0x5c
xchg edi, eax
je 0x65038b2e
xchg edi, eax
cmp al, 0x2f
xchg edi, eax
jne 0x65038b33
lea edi, [eax + 1]
jmp 0x65038b0c
xchg edi, eax
cmp al, 0x2e
xchg edi, eax
jne 0x65038e35
mov edx, esi
lea esi, [eax + 1]
cmp ebp, esi
je 0x65038b66
jbe 0x650392f1
movzx ebx, byte [eax + ebx + 1]
cmp bl, 0x5c
jne 0x65038b5d
mov ebx, dword [esp + 0x64]
jmp 0x65038b66
cmp bl, 0x2f
jne 0x65038b6c
mov ebx, dword [esp + 0x64]
mov edi, esi
mov esi, edx
jmp 0x65038b0c
xchg edi, eax
cmp al, 0x2e
xchg edi, eax
jne 0x65038e2d
cmp ebp, esi
jbe 0x650392e8
mov ebx, dword [esp + 0x64]
lea esi, [eax + ebx + 1]
cmp byte [esi], 0x2e
jne 0x65038e29
lea esi, [eax + 2]
cmp ebp, esi
je 0x65038bb4
jbe 0x650392df
movzx edi, byte [eax + ebx + 2]
xchg edi, eax
cmp al, 0x5c
xchg edi, eax
je 0x65038bb4
xchg edi, eax
cmp al, 0x2f
xchg edi, eax
jne 0x65038e25
mov edi, dword [esp + 0x7c]
cmp ecx, edi
jge 0x65038bc6
dec edi
mov dword [esp + 0x7c], edi
jmp 0x65039284
test dl, dl
je 0x65038bd5
mov eax, ebx
mov ebx, ecx
mov ecx, ebp
jmp 0x65039224
mov dword [esp + 0x3c], esi
test edi, edi
jle 0x65038c9e
mov eax, ebx
mov ebx, dword [esp + 0x70]
test ebx, ebx
jne 0x65038c7e
mov ebx, dword [esp + 0x6c]
mov ecx, ebp
mov ebp, dword [esp + 0x68]
cmp ebx, edi
jle 0x65038c11
add ebp, edi
cmp byte [ebp], 0x5c
jne 0x65038c11
lea ebx, [edi + 1]
mov dword [esp + 0x7c], ebx
jmp 0x65038ca2
mov dword [esp + 0x38], ebx
lea eax, [0x6508bc40]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebx
call fcn.64fc4670
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x70], eax
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x7c]
cmp ebx, ebp
jb 0x65039270
cmp ebp, ecx
jl 0x65038c59
mov ebp, ecx
cmp edx, eax
je 0x65038c6d
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.64fda970
mov eax, dword [esp + 0x64]
movzx edx, byte [esp + 0x26]
mov ebp, dword [esp + 0x40]
mov esi, dword [esp + 0x3c]
mov ecx, dword [esp + 0x74]
mov ebx, dword [esp + 0x70]
mov edi, dword [esp + 0x7c]
cmp ecx, edi
jbe 0x65039269
mov byte [ebx + edi], 0x5c
inc dword [esp + 0x7c]
mov ecx, ebp
jmp 0x65038ca2
mov eax, ebx
mov ecx, ebp
mov ebx, dword [esp + 0x70]
test ebx, ebx
jne 0x65038d42
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x6c]
mov edi, dword [esp + 0x68]
cmp ebx, ebp
jge 0x65038cd5
jae 0x65039260
add edi, ebx
cmp byte [edi], 0x2e
jne 0x65038cd5
inc ebx
mov dword [esp + 0x7c], ebx
jmp 0x65038d5f
mov dword [esp + 0x38], ebp
lea eax, [0x6508bc40]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebp
call fcn.64fc4670
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x70], eax
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x7c]
cmp ebp, ebx
ja 0x65039257
cmp ebp, ecx
jl 0x65038d1d
mov ebp, ecx
cmp edx, eax
je 0x65038d31
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.64fda970
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x40]
movzx edx, byte [esp + 0x26]
mov esi, dword [esp + 0x3c]
mov ebx, dword [esp + 0x74]
mov ebp, dword [esp + 0x70]
mov edi, dword [esp + 0x7c]
cmp ebx, edi
jbe 0x6503924e
mov byte [ebp + edi], 0x2e
inc dword [esp + 0x7c]
mov ebx, dword [esp + 0x70]
test ebx, ebx
jne 0x65038dff
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x6c]
mov edi, dword [esp + 0x68]
cmp ebp, ebx
jle 0x65038d92
jbe 0x65039245
add edi, ebx
cmp byte [edi], 0x2e
jne 0x65038d92
inc ebx
mov dword [esp + 0x7c], ebx
jmp 0x65038e1c
mov dword [esp + 0x38], ebp
lea eax, [0x6508bc40]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebp
call fcn.64fc4670
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x70], eax
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x7c]
cmp ebp, ebx
ja 0x6503923c
cmp ebp, ecx
jl 0x65038dda
mov ebp, ecx
cmp edx, eax
je 0x65038dee
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.64fda970
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x40]
movzx edx, byte [esp + 0x26]
mov esi, dword [esp + 0x3c]
mov ebx, dword [esp + 0x74]
mov ebp, dword [esp + 0x70]
mov edi, dword [esp + 0x7c]
cmp edi, ebx
jae 0x65039233
mov byte [ebp + edi], 0x2e
inc dword [esp + 0x7c]
mov ebx, dword [esp + 0x7c]
jmp 0x65039224
test dl, dl
jmp 0x65038e3b
test dl, dl
jmp 0x65038e3b
test dl, dl
mov ebx, dword [esp + 0x64]
jmp 0x65038e3b
xchg esi, eax
test al, al
xchg esi, eax
mov edx, esi
mov dword [esp + 0x30], ecx
je 0x65038e50
cmp dword [esp + 0x7c], 1
jne 0x65038e5c
test dl, dl
jne 0x650390f1
mov esi, dword [esp + 0x7c]
test esi, esi
je 0x650390f1
mov esi, dword [esp + 0x70]
test esi, esi
jne 0x65038f06
mov dword [esp + 0x2c], eax
mov esi, dword [esp + 0x7c]
mov edi, dword [esp + 0x6c]
mov ebx, dword [esp + 0x68]
cmp esi, edi
jge 0x65038e95
jae 0x6503921b
add ebx, esi
cmp byte [ebx], 0x5c
jne 0x65038e95
lea ebx, [esi + 1]
mov dword [esp + 0x7c], ebx
jmp 0x65038f22
mov dword [esp + 0x38], edi
lea eax, [0x6508bc40]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], edi
call fcn.64fc4670
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x70], eax
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x7c]
cmp ebp, ebx
ja 0x65039212
cmp ebp, ecx
jl 0x65038edd
mov ebp, ecx
cmp edx, eax
je 0x65038ef1
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.64fda970
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
movzx edx, byte [esp + 0x26]
mov ebx, dword [esp + 0x64]
mov ebp, dword [esp + 0x40]
mov esi, dword [esp + 0x74]
mov edi, dword [esp + 0x70]
mov ebx, dword [esp + 0x7c]
cmp ebx, esi
jae 0x65039209
mov byte [edi + ebx], 0x5c
inc dword [esp + 0x7c]
mov ebx, dword [esp + 0x64]
jmp 0x650390f1
mov esi, edx
mov edi, eax
jmp 0x65038b0c
mov ebx, dword [esp + 0x7c]
test ebx, ebx
jne 0x65038fdd
mov ebp, dword [esp + 0x70]
test ebp, ebp
jne 0x65038fc1
mov eax, dword [esp + 0x6c]
mov ebp, dword [esp + 0x68]
cmp eax, ebx
jle 0x65038f65
add ebp, ebx
cmp byte [ebp], 0x2e
jne 0x65038f65
lea eax, [ebx + 1]
mov dword [esp + 0x7c], eax
jmp 0x65038fdd
mov dword [esp + 0x40], eax
lea ecx, [0x6508bc40]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call fcn.64fc4670
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x70], eax
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x7c]
cmp ebp, ebx
ja 0x650390df
cmp ebp, ecx
jl 0x65038fad
mov ebp, ecx
cmp edx, eax
je 0x65038fc1
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.64fda970
mov ecx, dword [esp + 0x74]
mov ebx, dword [esp + 0x70]
mov eax, dword [esp + 0x7c]
cmp eax, ecx
jae 0x650390da
mov byte [ebx + eax], 0x2e
inc dword [esp + 0x7c]
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x78]
test eax, eax
je 0x65039054
mov ebx, dword [esp + 0x84]
mov ebp, dword [esp + 0x80]
mov ecx, dword [esp + 0x88]
cmp ecx, ebx
ja 0x650390d3
mov ebx, dword [esp + 0x7c]
cmp ebx, edx
ja 0x650390cc
mov dword [esp + 0x64], ebp
mov dword [esp + 0x40], ecx
lea ecx, [esp + 0x44]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.64fc7d50
mov dword [esp], 0
mov eax, dword [esp + 0x64]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 8], eax
call fcn.64fc7aa0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
jmp 0x65039071
mov edx, dword [esp + 0x84]
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x88]
add ecx, dword [esp + 0x7c]
cmp edx, ecx
jb 0x650390c7
nop
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [0x6509e1ca]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x6509e1d6]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 1
mov dword [esp + 0x18], 0xffffffff
call fcn.6501e430
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], ecx
add esp, 0x8c
ret
call fcn.64fda120
mov ecx, ebx
call fcn.64fda140
mov edx, ebx
call fcn.64fda120
call fcn.64fda100
mov ecx, ebp
mov edx, ebx
call fcn.64fda120
inc eax
mov ebp, dword [esp + 0x40]
mov ebx, dword [esp + 0x64]
cmp eax, ebp
jge 0x65038f2b
jae 0x65039202
movzx esi, byte [eax + ebx]
xchg esi, eax
cmp al, 0x5c
xchg esi, eax
je 0x65038f2b
xchg esi, eax
cmp al, 0x2f
xchg esi, eax
je 0x65038f2b
mov edi, dword [esp + 0x70]
test edi, edi
jne 0x650391c9
mov dword [esp + 0x34], eax
xchg esi, eax
mov byte [esp + 0x27], al
xchg esi, eax
mov edi, dword [esp + 0x7c]
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x68]
cmp ebx, edi
jle 0x65039157
jbe 0x650391f9
add ebp, edi
xchg esi, eax
cmp byte [ebp], al
xchg esi, eax
jne 0x65039157
lea ebx, [edi + 1]
mov dword [esp + 0x7c], ebx
jmp 0x650390e8
mov dword [esp + 0x38], ebx
lea eax, [0x6508bc40]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebx
call fcn.64fc4670
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x70], eax
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x7c]
cmp ebx, ebp
jb 0x650391f0
cmp ebp, ecx
jl 0x6503919b
mov ebp, ecx
cmp edx, eax
je 0x650391af
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.64fda970
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
movzx edx, byte [esp + 0x26]
mov ebx, dword [esp + 0x64]
mov ebp, dword [esp + 0x40]
movzx esi, byte [esp + 0x27]
mov edi, dword [esp + 0x74]
mov ebx, dword [esp + 0x70]
mov ebp, dword [esp + 0x7c]
cmp edi, ebp
jbe 0x650391e7
xchg esi, eax
mov byte [ebx + ebp], al
xchg esi, eax
inc dword [esp + 0x7c]
jmp 0x650390e8
mov eax, ebp
mov ecx, edi
call fcn.64fda100
mov ecx, ebp
mov edx, ebx
call fcn.64fda120
mov eax, edi
mov ecx, ebx
call fcn.64fda100
mov ecx, ebp
call fcn.64fda100
mov eax, ebx
mov ecx, esi
call fcn.64fda100
mov ecx, ebp
mov edx, ebx
call fcn.64fda120
mov eax, esi
mov ecx, edi
call fcn.64fda100
mov ebp, ecx
mov edi, esi
mov ecx, ebx
mov ebx, eax
mov esi, edx
jmp 0x65038b0c
mov eax, edi
mov ecx, ebx
call fcn.64fda100
mov ecx, ebp
mov edx, ebx
call fcn.64fda120
mov eax, ebx
mov ecx, ebp
call fcn.64fda100
mov eax, edi
mov ecx, ebx
call fcn.64fda100
mov ecx, ebp
mov edx, ebx
call fcn.64fda120
mov eax, ebx
mov ecx, ebp
call fcn.64fda100
mov eax, edi
call fcn.64fda100
mov ecx, ebp
mov edx, ebx
call fcn.64fda120
lea edi, [eax - 1]
mov dword [esp + 0x7c], edi
mov ebx, dword [esp + 0x64]
mov eax, dword [esp + 0x7c]
cmp ecx, eax
jge 0x650392c6
mov edi, dword [esp + 0x70]
mov ebx, dword [esp + 0x74]
test edi, edi
je 0x650392a2
cmp ebx, eax
jbe 0x650392d8
movzx ebx, byte [edi + eax]
jmp 0x650392b2
mov ebx, dword [esp + 0x6c]
mov edi, dword [esp + 0x68]
cmp ebx, eax
jbe 0x650392d1
movzx ebx, byte [edi + eax]
cmp bl, 0x5c
je 0x650392c2
cmp bl, 0x2f
jne 0x65039279
mov ebx, dword [esp + 0x64]
jmp 0x650392c6
mov ebx, dword [esp + 0x64]
mov eax, ebx
mov ebx, ecx
mov ecx, ebp
jmp 0x65039224
mov ecx, ebx
call fcn.64fda100
mov ecx, ebx
call fcn.64fda100
mov eax, esi
mov ecx, ebp
call fcn.64fda100
mov eax, esi
mov ecx, ebp
call fcn.64fda100
mov eax, esi
mov ecx, ebp
call fcn.64fda100
mov ecx, ebp
call fcn.64fda100
call fcn.64fda100
mov ecx, ebp
mov edx, ebx
call fcn.64fda120
call fcn.64fda160
nop
call fcn.64fd8c20
jmp fcn.650388e0