Function at 0x4f6020
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.004c68c0
cmp dword [0x5a92d8], 0
cwde
je 0x4f6091
test eax, 0x8000
je 0x4f6081
lea eax, [esp + 0x28]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
mov eax, dword [esp + 0x2c]
sub eax, dword [0x5a9310]
push 0x25
push 0
push 0
push eax
mov eax, dword [esp + 0x38]
sub eax, dword [0x5a930c]
push eax
push 0
push dword [0x55eaa0]
call dword [sym.imp.USER32.dll_SetWindowPos]
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov dword [0x5a92d8], 0
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp dword [0x5a9318], 0
je 0x4f658d
test eax, 0x8000
je 0x4f6583
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 [0x5add14], esi
jne 0x4f60d0
cmp dword [0x5add18], eax
je 0x4f658d
mov eax, dword [0x5a92d0]
mov ecx, dword [0x5add10]
add eax, 0xfffffff6
mov edi, dword [0x5add04]
cmp eax, 7
mov dword [esp + 0x14], eax
mov eax, dword [0x5add0c]
ja case.default.0x4f60fa
mov edx, dword [esp + 0x14]
jmp dword [edx*4 + 0x4f6594]
mov edx, dword [0x5adcf4]
sub edx, edi
xor edi, edi
jmp 0x4f6190
mov edx, dword [0x5adcf4]
sub edx, eax
xor edi, edi
jmp 0x4f6190
mov edi, dword [0x5adcf8]
xor edx, edx
sub edi, dword [0x5add08]
jmp 0x4f6190
mov edi, dword [0x5adcf8]
xor edx, edx
sub edi, ecx
jmp 0x4f6190
mov edx, dword [0x5adcf4]
sub edx, edi
mov edi, dword [0x5adcf8]
sub edi, dword [0x5add08]
jmp 0x4f6190
mov edx, dword [0x5adcf4]
sub edx, edi
mov edi, dword [0x5adcf8]
sub edi, ecx
jmp 0x4f6190
mov edx, dword [0x5adcf4]
mov edi, dword [0x5adcf8]
sub edx, eax
sub edi, dword [0x5add08]
jmp 0x4f6190
mov edx, dword [0x5adcf4]
mov edi, dword [0x5adcf8]
sub edx, eax
sub edi, ecx
jmp 0x4f6190
mov edx, dword [esp + 0x20]
mov edi, dword [esp + 0x20]
call fcn.004ba5b0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x532100]
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.004ba910
xorps xmm0, xmm0
xorps xmm1, xmm1
cvtsi2sd xmm0, eax
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x532100]
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.0x4f6214
jmp dword [eax*4 + 0x4f65b4]
call fcn.004babd0
mov edi, dword [0x5add0c]
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.004ba910
sar eax, 2
mov ecx, esi
cmp ecx, eax
jge 0x4f6259
call fcn.004ba910
mov ecx, eax
shr ecx, 2
mov dword [esp + 0xc], ecx
call fcn.004f5fe0
movss xmm1, dword [0x5319ac]
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.004493b0
mov ecx, dword [esp + 0x14]
mov eax, dword [0x5add10]
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 0x4f6556
mov eax, dword [0x5add0c]
mov ecx, dword [0x5add10]
mov dword [esp + 0x14], eax
mov dword [esp + 0xc], ecx
call fcn.004babd0
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.004ba5b0
sar eax, 2
cmp edi, eax
jge 0x4f62f6
call fcn.004ba5b0
mov edi, eax
shr edi, 2
mov dword [esp + 0x18], edi
call fcn.004f5fe0
movss xmm1, dword [0x5319ac]
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.004493b0
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 0x4f6556
mov ecx, dword [0x5add08]
mov edi, dword [0x5add04]
mov dword [esp + 0xc], ecx
call fcn.004babd0
sub esi, edi
sub esi, edx
sub esi, dword [eax]
call fcn.004ba910
sar eax, 2
cmp esi, eax
jge 0x4f637e
call fcn.004ba910
mov esi, eax
shr esi, 2
call fcn.004f5fe0
movss xmm1, dword [0x5319ac]
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.004493b0
mov ecx, dword [esp + 0x10]
cmp esi, ecx
mov eax, dword [esp + 0xc]
cvttss2si edx, xmm0
cmovle ecx, esi
jmp 0x4f6556
mov eax, dword [0x5add04]
mov ecx, dword [0x5add08]
mov dword [esp + 0x14], eax
mov dword [esp + 0xc], ecx
call fcn.004babd0
mov esi, dword [esp + 0x2c]
sub esi, dword [eax + 4]
sub esi, ecx
sub esi, edi
call fcn.004ba5b0
sar eax, 2
cmp esi, eax
jge 0x4f63f7
call fcn.004ba5b0
mov esi, eax
shr esi, 2
call fcn.004f5fe0
movss xmm1, dword [0x5319ac]
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.004493b0
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 0x4f6556
mov ecx, dword [0x5add10]
mov edi, dword [0x5add04]
mov dword [esp + 0xc], ecx
call fcn.004babd0
mov dword [esp + 0x20], eax
sub esi, dword [eax]
sub esi, edi
sub esi, edx
call fcn.004ba910
sar eax, 2
cmp esi, eax
jge 0x4f6471
call fcn.004ba910
mov esi, eax
shr esi, 2
call fcn.004f5fe0
movss xmm1, dword [0x5319ac]
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.004493b0
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 0x4f6556
mov ecx, dword [0x5add08]
mov edi, dword [0x5add0c]
mov dword [esp + 0xc], ecx
call fcn.004babd0
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.004ba910
mov ecx, dword [esp + 0x14]
sar eax, 2
cmp ecx, eax
jge 0x4f64ff
call fcn.004ba910
mov ecx, eax
shr ecx, 2
mov dword [esp + 0x14], ecx
call fcn.004f5fe0
movss xmm1, dword [0x5319ac]
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.004493b0
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 0x4f6556
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.004b7280
mov eax, dword [esp + 0x2c]
add esp, 4
mov dword [0x5add14], eax
mov eax, dword [esp + 0x2c]
mov dword [0x5add18], eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov dword [0x5a9318], 0
pop edi
pop esi
mov esp, ebp
pop ebp
ret