Function at 0x4f8440
Capabilities:
Check for unmoving mouse cursor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x28
mov ecx, 1
push esi
push edi
call fcn.004c84d0
cmp dword [0x5ad2e0], 0
cwde
je 0x4f84b1
test eax, 0x8000
je 0x4f84a1
lea eax, [esp + 0x28]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
mov eax, dword [esp + 0x2c]
sub eax, dword [0x5ad31c]
push 0x25
push 0
push 0
push eax
mov eax, dword [esp + 0x38]
sub eax, dword [0x5ad318]
push eax
push 0
push dword [0x562aa0]
call dword [sym.imp.USER32.dll_SetWindowPos]
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov dword [0x5ad2e0], 0
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp dword [0x5ad324], 0
je 0x4f89ad
test eax, 0x8000
je 0x4f89a3
lea eax, [esp + 0x28]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
mov esi, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
cmp dword [0x5b1d64], esi
jne 0x4f84f0
cmp dword [0x5b1d68], eax
je 0x4f89ad
mov eax, dword [0x5acf18]
mov ecx, dword [0x5b1d60]
add eax, 0xfffffff6
mov edi, dword [0x5b1d54]
cmp eax, 7
mov dword [esp + 0x14], eax
mov eax, dword [0x5b1d5c]
ja case.default.0x4f851a
mov edx, dword [esp + 0x14]
jmp dword [edx*4 + 0x4f89b4]
mov edx, dword [0x5b1d44]
sub edx, edi
xor edi, edi
jmp 0x4f85b0
mov edx, dword [0x5b1d44]
sub edx, eax
xor edi, edi
jmp 0x4f85b0
mov edi, dword [0x5b1d48]
xor edx, edx
sub edi, dword [0x5b1d58]
jmp 0x4f85b0
mov edi, dword [0x5b1d48]
xor edx, edx
sub edi, ecx
jmp 0x4f85b0
mov edx, dword [0x5b1d44]
sub edx, edi
mov edi, dword [0x5b1d48]
sub edi, dword [0x5b1d58]
jmp 0x4f85b0
mov edx, dword [0x5b1d44]
sub edx, edi
mov edi, dword [0x5b1d48]
sub edi, ecx
jmp 0x4f85b0
mov edx, dword [0x5b1d44]
mov edi, dword [0x5b1d48]
sub edx, eax
sub edi, dword [0x5b1d58]
jmp 0x4f85b0
mov edx, dword [0x5b1d44]
mov edi, dword [0x5b1d48]
sub edx, eax
sub edi, ecx
jmp 0x4f85b0
mov edx, dword [esp + 0x20]
mov edi, dword [esp + 0x20]
call fcn.004bc0d0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x535210]
cvtpd2ps xmm1, xmm0
movaps xmm3, xmm1
rcpss xmm3, xmm3
movaps xmm0, xmm3
mulss xmm0, xmm3
addss xmm3, xmm3
mulss xmm1, xmm0
subss xmm3, xmm1
call fcn.004bc430
xorps xmm0, xmm0
xorps xmm1, xmm1
cvtsi2sd xmm0, eax
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x535210]
mov eax, dword [esp + 0x14]
cvtpd2ps xmm0, xmm0
mulss xmm3, xmm0
movss xmm1, xmm3
movaps xmm2, xmm1
rcpss xmm2, xmm2
movaps xmm0, xmm2
mulss xmm0, xmm2
addss xmm2, xmm2
mulss xmm1, xmm0
subss xmm2, xmm1
cmp eax, 7
ja case.default.0x4f8634
jmp dword [eax*4 + 0x4f89d4]
call fcn.004bc6f0
mov edi, dword [0x5b1d5c]
mov ecx, edi
mov dword [esp + 0x14], eax
mov eax, dword [eax]
sub ecx, eax
sub ecx, esi
mov dword [esp + 0x18], eax
lea esi, [ecx + edx]
mov dword [esp + 0xc], esi
call fcn.004bc430
sar eax, 2
mov ecx, esi
cmp ecx, eax
jge 0x4f8679
call fcn.004bc430
mov ecx, eax
shr ecx, 2
mov dword [esp + 0xc], ecx
call fcn.004f8400
movss xmm1, dword [0x534ab4]
mov edx, dword [eax]
cmp ecx, edx
mov esi, edx
mov dword [esp + 0x10], edx
cmovle esi, ecx
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
call fcn.0044aac0
mov ecx, dword [esp + 0x14]
mov eax, dword [0x5b1d60]
sub edi, dword [esp + 0x18]
cvttss2si edx, xmm0
sub eax, dword [ecx + 4]
sub edi, esi
mov ecx, dword [esp + 0x10]
sub eax, edx
cmp dword [esp + 0xc], ecx
cmovle ecx, dword [esp + 0xc]
jmp 0x4f8976
mov eax, dword [0x5b1d5c]
mov ecx, dword [0x5b1d60]
mov dword [esp + 0x14], eax
mov dword [esp + 0xc], ecx
call fcn.004bc6f0
mov dword [esp + 0x1c], eax
mov eax, dword [eax + 4]
sub ecx, eax
sub ecx, dword [esp + 0x2c]
add edi, ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edi
call fcn.004bc0d0
sar eax, 2
cmp edi, eax
jge 0x4f8716
call fcn.004bc0d0
mov edi, eax
shr edi, 2
mov dword [esp + 0x18], edi
call fcn.004f8400
movss xmm1, dword [0x534ab4]
mov edx, dword [eax + 4]
cmp edi, edx
mov esi, edx
mov dword [esp + 0x10], edx
cmovle esi, edi
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm3
call fcn.0044aac0
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
cvttss2si ecx, xmm0
sub edi, ecx
sub edi, dword [eax]
mov eax, dword [esp + 0xc]
sub eax, dword [esp + 0x20]
sub eax, esi
cmp dword [esp + 0x18], edx
cmovle edx, dword [esp + 0x18]
jmp 0x4f8976
mov ecx, dword [0x5b1d58]
mov edi, dword [0x5b1d54]
mov dword [esp + 0xc], ecx
call fcn.004bc6f0
sub esi, edi
sub esi, edx
sub esi, dword [eax]
call fcn.004bc430
sar eax, 2
cmp esi, eax
jge 0x4f879e
call fcn.004bc430
mov esi, eax
shr esi, 2
call fcn.004f8400
movss xmm1, dword [0x534ab4]
mov edx, dword [eax]
cmp esi, edx
mov ecx, edx
mov dword [esp + 0x10], edx
cmovle ecx, esi
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
call fcn.0044aac0
mov ecx, dword [esp + 0x10]
cmp esi, ecx
mov eax, dword [esp + 0xc]
cvttss2si edx, xmm0
cmovle ecx, esi
jmp 0x4f8976
mov eax, dword [0x5b1d54]
mov ecx, dword [0x5b1d58]
mov dword [esp + 0x14], eax
mov dword [esp + 0xc], ecx
call fcn.004bc6f0
mov esi, dword [esp + 0x2c]
sub esi, dword [eax + 4]
sub esi, ecx
sub esi, edi
call fcn.004bc0d0
sar eax, 2
cmp esi, eax
jge 0x4f8817
call fcn.004bc0d0
mov esi, eax
shr esi, 2
call fcn.004f8400
movss xmm1, dword [0x534ab4]
mov edx, dword [eax + 4]
cmp esi, edx
mov ecx, edx
mov dword [esp + 0x10], edx
cmovle ecx, esi
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm3
call fcn.0044aac0
mov edx, dword [esp + 0x10]
cmp esi, edx
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0xc]
cmovle edx, esi
cvttss2si ecx, xmm0
jmp 0x4f8976
mov ecx, dword [0x5b1d60]
mov edi, dword [0x5b1d54]
mov dword [esp + 0xc], ecx
call fcn.004bc6f0
mov dword [esp + 0x20], eax
sub esi, dword [eax]
sub esi, edi
sub esi, edx
call fcn.004bc430
sar eax, 2
cmp esi, eax
jge 0x4f8891
call fcn.004bc430
mov esi, eax
shr esi, 2
call fcn.004f8400
movss xmm1, dword [0x534ab4]
mov edx, dword [eax]
cmp esi, edx
mov eax, edx
mov dword [esp + 0x10], edx
cmovle eax, esi
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
call fcn.0044aac0
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0xc]
cvttss2si edx, xmm0
sub eax, dword [ecx + 4]
mov ecx, dword [esp + 0x10]
sub eax, edx
cmp esi, ecx
cmovle ecx, esi
jmp 0x4f8976
mov ecx, dword [0x5b1d58]
mov edi, dword [0x5b1d5c]
mov dword [esp + 0xc], ecx
call fcn.004bc6f0
mov ecx, dword [eax]
mov eax, edi
sub eax, ecx
mov dword [esp + 0x20], ecx
sub eax, esi
add eax, edx
mov dword [esp + 0x14], eax
call fcn.004bc430
mov ecx, dword [esp + 0x14]
sar eax, 2
cmp ecx, eax
jge 0x4f891f
call fcn.004bc430
mov ecx, eax
shr ecx, 2
mov dword [esp + 0x14], ecx
call fcn.004f8400
movss xmm1, dword [0x534ab4]
mov edx, dword [eax]
cmp ecx, edx
mov esi, edx
mov dword [esp + 0x10], edx
cmovle esi, ecx
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
call fcn.0044aac0
sub edi, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
sub edi, esi
cmp dword [esp + 0x14], ecx
mov eax, dword [esp + 0xc]
cmovle ecx, dword [esp + 0x14]
cvttss2si edx, xmm0
jmp 0x4f8976
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x20]
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x24], eax
lea eax, [esp + 0x20]
push eax
mov dword [esp + 0x24], edi
call fcn.004b8d90
mov eax, dword [esp + 0x2c]
add esp, 4
mov dword [0x5b1d64], eax
mov eax, dword [esp + 0x2c]
mov dword [0x5b1d68], eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov dword [0x5ad324], 0
pop edi
pop esi
mov esp, ebp
pop ebp
ret