Function at 0x4fb120
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.004ca760
cmp dword [0x5b5500], 0
cwde
je 0x4fb191
test eax, 0x8000
je 0x4fb181
lea eax, [esp + 0x28]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
mov eax, dword [esp + 0x2c]
sub eax, dword [0x5b553c]
push 0x25
push 0
push 0
push eax
mov eax, dword [esp + 0x38]
sub eax, dword [0x5b5538]
push eax
push 0
push dword [0x56ab2c]
call dword [sym.imp.USER32.dll_SetWindowPos]
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov dword [0x5b5500], 0
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp dword [0x5b5544], 0
je 0x4fb68d
test eax, 0x8000
je 0x4fb683
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 [0x5b9f80], esi
jne 0x4fb1d0
cmp dword [0x5b9f84], eax
je 0x4fb68d
mov eax, dword [0x5b5138]
mov ecx, dword [0x5b9f7c]
add eax, 0xfffffff6
mov edi, dword [0x5b9f70]
cmp eax, 7
mov dword [esp + 0x14], eax
mov eax, dword [0x5b9f78]
ja case.default.0x4fb1fa
mov edx, dword [esp + 0x14]
jmp dword [edx*4 + 0x4fb694]
mov edx, dword [0x5b9f60]
sub edx, edi
xor edi, edi
jmp 0x4fb290
mov edx, dword [0x5b9f60]
sub edx, eax
xor edi, edi
jmp 0x4fb290
mov edi, dword [0x5b9f64]
xor edx, edx
sub edi, dword [0x5b9f74]
jmp 0x4fb290
mov edi, dword [0x5b9f64]
xor edx, edx
sub edi, ecx
jmp 0x4fb290
mov edx, dword [0x5b9f60]
sub edx, edi
mov edi, dword [0x5b9f64]
sub edi, dword [0x5b9f74]
jmp 0x4fb290
mov edx, dword [0x5b9f60]
sub edx, edi
mov edi, dword [0x5b9f64]
sub edi, ecx
jmp 0x4fb290
mov edx, dword [0x5b9f60]
mov edi, dword [0x5b9f64]
sub edx, eax
sub edi, dword [0x5b9f74]
jmp 0x4fb290
mov edx, dword [0x5b9f60]
mov edi, dword [0x5b9f64]
sub edx, eax
sub edi, ecx
jmp 0x4fb290
mov edx, dword [esp + 0x20]
mov edi, dword [esp + 0x20]
call fcn.004be350
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x53c8f0]
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.004be6b0
xorps xmm0, xmm0
xorps xmm1, xmm1
cvtsi2sd xmm0, eax
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x53c8f0]
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.0x4fb314
jmp dword [eax*4 + 0x4fb6b4]
call fcn.004be970
mov edi, dword [0x5b9f78]
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.004be6b0
sar eax, 2
mov ecx, esi
cmp ecx, eax
jge 0x4fb359
call fcn.004be6b0
mov ecx, eax
shr ecx, 2
mov dword [esp + 0xc], ecx
call fcn.004fb0e0
movss xmm1, dword [0x53c19c]
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.0044c300
mov ecx, dword [esp + 0x14]
mov eax, dword [0x5b9f7c]
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 0x4fb656
mov eax, dword [0x5b9f78]
mov ecx, dword [0x5b9f7c]
mov dword [esp + 0x14], eax
mov dword [esp + 0xc], ecx
call fcn.004be970
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.004be350
sar eax, 2
cmp edi, eax
jge 0x4fb3f6
call fcn.004be350
mov edi, eax
shr edi, 2
mov dword [esp + 0x18], edi
call fcn.004fb0e0
movss xmm1, dword [0x53c19c]
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.0044c300
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 0x4fb656
mov ecx, dword [0x5b9f74]
mov edi, dword [0x5b9f70]
mov dword [esp + 0xc], ecx
call fcn.004be970
sub esi, edi
sub esi, edx
sub esi, dword [eax]
call fcn.004be6b0
sar eax, 2
cmp esi, eax
jge 0x4fb47e
call fcn.004be6b0
mov esi, eax
shr esi, 2
call fcn.004fb0e0
movss xmm1, dword [0x53c19c]
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.0044c300
mov ecx, dword [esp + 0x10]
cmp esi, ecx
mov eax, dword [esp + 0xc]
cvttss2si edx, xmm0
cmovle ecx, esi
jmp 0x4fb656
mov eax, dword [0x5b9f70]
mov ecx, dword [0x5b9f74]
mov dword [esp + 0x14], eax
mov dword [esp + 0xc], ecx
call fcn.004be970
mov esi, dword [esp + 0x2c]
sub esi, dword [eax + 4]
sub esi, ecx
sub esi, edi
call fcn.004be350
sar eax, 2
cmp esi, eax
jge 0x4fb4f7
call fcn.004be350
mov esi, eax
shr esi, 2
call fcn.004fb0e0
movss xmm1, dword [0x53c19c]
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.0044c300
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 0x4fb656
mov ecx, dword [0x5b9f7c]
mov edi, dword [0x5b9f70]
mov dword [esp + 0xc], ecx
call fcn.004be970
mov dword [esp + 0x20], eax
sub esi, dword [eax]
sub esi, edi
sub esi, edx
call fcn.004be6b0
sar eax, 2
cmp esi, eax
jge 0x4fb571
call fcn.004be6b0
mov esi, eax
shr esi, 2
call fcn.004fb0e0
movss xmm1, dword [0x53c19c]
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.0044c300
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 0x4fb656
mov ecx, dword [0x5b9f74]
mov edi, dword [0x5b9f78]
mov dword [esp + 0xc], ecx
call fcn.004be970
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.004be6b0
mov ecx, dword [esp + 0x14]
sar eax, 2
cmp ecx, eax
jge 0x4fb5ff
call fcn.004be6b0
mov ecx, eax
shr ecx, 2
mov dword [esp + 0x14], ecx
call fcn.004fb0e0
movss xmm1, dword [0x53c19c]
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.0044c300
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 0x4fb656
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.004bb010
mov eax, dword [esp + 0x2c]
add esp, 4
mov dword [0x5b9f80], eax
mov eax, dword [esp + 0x2c]
mov dword [0x5b9f84], eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov dword [0x5b5544], 0
pop edi
pop esi
mov esp, ebp
pop ebp
ret