Function at 0x4b50f0
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.00483630
cmp dword [0x5c08b8], 0
cwde
je 0x4b5161
test eax, 0x8000
je 0x4b5151
lea eax, [esp + 0x28]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
mov eax, dword [esp + 0x2c]
sub eax, dword [0x5c08f0]
push 0x25
push 0
push 0
push eax
mov eax, dword [esp + 0x38]
sub eax, dword [0x5c08ec]
push eax
push 0
push dword [0x576080]
call dword [sym.imp.USER32.dll_SetWindowPos]
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov dword [0x5c08b8], 0
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp dword [0x5c08f8], 0
je 0x4b565d
test eax, 0x8000
je 0x4b5653
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 [0x5c5104], esi
jne 0x4b51a0
cmp dword [0x5c5108], eax
je 0x4b565d
mov eax, dword [0x5c08b0]
mov ecx, dword [0x5c5100]
add eax, 0xfffffff6
mov edi, dword [0x5c50f4]
cmp eax, 7
mov dword [esp + 0x14], eax
mov eax, dword [0x5c50fc]
ja case.default.0x4b51ca
mov edx, dword [esp + 0x14]
jmp dword [edx*4 + 0x4b5664]
mov edx, dword [0x5c50e4]
sub edx, edi
xor edi, edi
jmp 0x4b5260
mov edx, dword [0x5c50e4]
sub edx, eax
xor edi, edi
jmp 0x4b5260
mov edi, dword [0x5c50e8]
xor edx, edx
sub edi, dword [0x5c50f8]
jmp 0x4b5260
mov edi, dword [0x5c50e8]
xor edx, edx
sub edi, ecx
jmp 0x4b5260
mov edx, dword [0x5c50e4]
sub edx, edi
mov edi, dword [0x5c50e8]
sub edi, dword [0x5c50f8]
jmp 0x4b5260
mov edx, dword [0x5c50e4]
sub edx, edi
mov edi, dword [0x5c50e8]
sub edi, ecx
jmp 0x4b5260
mov edx, dword [0x5c50e4]
mov edi, dword [0x5c50e8]
sub edx, eax
sub edi, dword [0x5c50f8]
jmp 0x4b5260
mov edx, dword [0x5c50e4]
mov edi, dword [0x5c50e8]
sub edx, eax
sub edi, ecx
jmp 0x4b5260
mov edx, dword [esp + 0x20]
mov edi, dword [esp + 0x20]
call fcn.004749c0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x547250]
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.004749a0
xorps xmm0, xmm0
xorps xmm1, xmm1
cvtsi2sd xmm0, eax
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x547250]
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.0x4b52e4
jmp dword [eax*4 + 0x4b5684]
call fcn.004749e0
mov edi, dword [0x5c50fc]
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.004749a0
sar eax, 2
mov ecx, esi
cmp ecx, eax
jge 0x4b5329
call fcn.004749a0
mov ecx, eax
shr ecx, 2
mov dword [esp + 0xc], ecx
call fcn.004b50e0
movss xmm1, dword [0x546af4]
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.00401420
mov ecx, dword [esp + 0x14]
mov eax, dword [0x5c5100]
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 0x4b5626
mov eax, dword [0x5c50fc]
mov ecx, dword [0x5c5100]
mov dword [esp + 0x14], eax
mov dword [esp + 0xc], ecx
call fcn.004749e0
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.004749c0
sar eax, 2
cmp edi, eax
jge 0x4b53c6
call fcn.004749c0
mov edi, eax
shr edi, 2
mov dword [esp + 0x18], edi
call fcn.004b50e0
movss xmm1, dword [0x546af4]
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.00401420
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 0x4b5626
mov ecx, dword [0x5c50f8]
mov edi, dword [0x5c50f4]
mov dword [esp + 0xc], ecx
call fcn.004749e0
sub esi, edi
sub esi, edx
sub esi, dword [eax]
call fcn.004749a0
sar eax, 2
cmp esi, eax
jge 0x4b544e
call fcn.004749a0
mov esi, eax
shr esi, 2
call fcn.004b50e0
movss xmm1, dword [0x546af4]
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.00401420
mov ecx, dword [esp + 0x10]
cmp esi, ecx
mov eax, dword [esp + 0xc]
cvttss2si edx, xmm0
cmovle ecx, esi
jmp 0x4b5626
mov eax, dword [0x5c50f4]
mov ecx, dword [0x5c50f8]
mov dword [esp + 0x14], eax
mov dword [esp + 0xc], ecx
call fcn.004749e0
mov esi, dword [esp + 0x2c]
sub esi, dword [eax + 4]
sub esi, ecx
sub esi, edi
call fcn.004749c0
sar eax, 2
cmp esi, eax
jge 0x4b54c7
call fcn.004749c0
mov esi, eax
shr esi, 2
call fcn.004b50e0
movss xmm1, dword [0x546af4]
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.00401420
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 0x4b5626
mov ecx, dword [0x5c5100]
mov edi, dword [0x5c50f4]
mov dword [esp + 0xc], ecx
call fcn.004749e0
mov dword [esp + 0x20], eax
sub esi, dword [eax]
sub esi, edi
sub esi, edx
call fcn.004749a0
sar eax, 2
cmp esi, eax
jge 0x4b5541
call fcn.004749a0
mov esi, eax
shr esi, 2
call fcn.004b50e0
movss xmm1, dword [0x546af4]
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.00401420
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 0x4b5626
mov ecx, dword [0x5c50f8]
mov edi, dword [0x5c50fc]
mov dword [esp + 0xc], ecx
call fcn.004749e0
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.004749a0
mov ecx, dword [esp + 0x14]
sar eax, 2
cmp ecx, eax
jge 0x4b55cf
call fcn.004749a0
mov ecx, eax
shr ecx, 2
mov dword [esp + 0x14], ecx
call fcn.004b50e0
movss xmm1, dword [0x546af4]
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.00401420
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 0x4b5626
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.00471e60
mov eax, dword [esp + 0x2c]
add esp, 4
mov dword [0x5c5104], eax
mov eax, dword [esp + 0x2c]
mov dword [0x5c5108], eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov dword [0x5c08f8], 0
pop edi
pop esi
mov esp, ebp
pop ebp
ret