Function at 0x180145410
Capabilities:
Check for unmoving mouse cursor

Disassembly:
mov rax, rsp
movss dword [rax + 0x20], xmm3
movss dword [rax + 0x18], xmm2
movss dword [rax + 0x10], xmm1
movss dword [rax + 8], xmm0
push rbx
push rbp
push rsi
push rdi
sub rsp, 0xf8
movaps xmmword [rax - 0x38], xmm6
xor esi, esi
movaps xmmword [rax - 0x48], xmm7
movaps xmm6, xmm1
movss xmm7, dword [0x18031f774]
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmm10, xmm0
movaps xmmword [rax - 0x88], xmm11
movaps xmmword [rax - 0x98], xmm12
movss xmm12, dword [0x18031f6d8]
movaps xmmword [rsp + 0x70], xmm13
movaps xmm11, xmm12
movaps xmmword [rsp + 0x60], xmm14
movaps xmmword [rsp + 0x50], xmm15
mov qword [rsp + 0x38], rsi
call fcn.1800656c0
mov ebx, dword [0x18036b13c]
lea rcx, [rsp + 0x30]
mov edi, dword [0x18036b144]
mov rbp, rax
mov dword [rsp + 0x48], esi
call qword [sym.imp.USER32.dll_GetCursorPos]
movss xmm8, dword [0x18031f5c4]
movaps xmm1, xmm6
xorps xmm1, xmmword [0x1803210e0]
movaps xmm2, xmm10
xorps xmm2, xmmword [0x1803210e0]
movaps xmm9, xmm8
movss xmm15, dword [0x18031f66c]
movaps xmm13, xmm8
movss dword [rsp + 0x20], xmm1
movaps xmm14, xmm8
subss xmm1, xmm6
movd xmm0, ebx
cvtdq2ps xmm0, xmm0
xorps xmm6, xmm6
movss dword [rsp + 0x130], xmm2
movss dword [rsp + 0x138], xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm1
movss dword [rsp + 0x140], xmm0
movaps xmm0, xmm2
subss xmm0, xmm10
mulss xmm0, xmm0
addss xmm0, xmm1
sqrtss xmm6, xmm0
comiss xmm6, xmm15
jbe 0x1801457b5
movss xmm10, dword [0x18031f608]
movss xmm1, dword [0x18031f628]
nop dword [rax]
cmp byte [0x18036b05a], 0
jne 0x1801457b5
inc esi
cmp esi, 0x3e8
jg 0x180145792
comiss xmm6, dword [rsp + 0x148]
movaps xmm0, xmm6
minss xmm0, xmm11
movaps xmm11, xmm0
jb 0x1801455b8
addss xmm0, xmm11
addss xmm0, xmm15
call fcn.1800da850
mulss xmm8, dword [0x18031f614]
subss xmm0, xmm11
mulss xmm9, dword [0x18031f614]
mulss xmm0, xmm10
addss xmm8, xmm0
addss xmm9, xmm0
jmp 0x1801455e5
comiss xmm7, xmm12
mulss xmm8, xmm1
mulss xmm9, xmm1
jae 0x1801455e0
mov ecx, 3
call fcn.1800da920
movd xmm7, eax
cvtdq2ps xmm7, xmm7
addss xmm7, xmm12
jmp 0x1801455e5
mulss xmm7, xmm10
lea rcx, [rsp + 0x28]
call qword [sym.imp.USER32.dll_GetCursorPos]
movss xmm1, dword [rsp + 0x138]
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [rsp + 0x28]
movss xmm10, dword [rsp + 0x130]
movaps xmm2, xmm15
movss xmm12, dword [rsp + 0x20]
subss xmm1, xmm0
movaps xmm0, xmm13
addss xmm0, xmm8
divss xmm2, xmm6
subss xmm10, xmm1
movaps xmm1, xmm10
mulss xmm1, dword [0x18031f750]
mulss xmm1, xmm2
movaps xmm13, xmm1
movss xmm1, dword [rsp + 0x140]
addss xmm13, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [rsp + 0x2c]
subss xmm1, xmm0
movaps xmm0, xmm14
addss xmm0, xmm9
subss xmm12, xmm1
movaps xmm1, xmm12
mulss xmm1, dword [0x18031f750]
mulss xmm1, xmm2
movaps xmm14, xmm1
addss xmm14, xmm0
movaps xmm0, xmm13
mulss xmm0, xmm13
movaps xmm1, xmm14
mulss xmm1, xmm14
addss xmm1, xmm0
xorps xmm0, xmm0
sqrtss xmm0, xmm1
comiss xmm0, xmm7
movss dword [rsp + 0x24], xmm0
jbe 0x1801456eb
movaps xmm6, xmm7
mulss xmm6, dword [0x18031f610]
movaps xmm0, xmm6
call fcn.1800da850
movaps xmm2, xmm15
addss xmm0, xmm6
divss xmm2, dword [rsp + 0x24]
movaps xmm1, xmm2
mulss xmm2, xmm14
mulss xmm1, xmm13
movaps xmm14, xmm2
mulss xmm14, xmm0
movaps xmm13, xmm1
mulss xmm13, xmm0
movss xmm3, dword [rsp + 0x120]
lea r8, [rsp + 0x38]
movss xmm2, dword [rsp + 0x128]
movaps xmm0, xmm3
mov edx, dword [0x18036c7f0]
addss xmm3, xmm13
movaps xmm1, xmm2
mulss xmm10, xmm10
mov rcx, rbp
addss xmm2, xmm14
mulss xmm12, xmm12
subss xmm0, xmm3
movss dword [rsp + 0x120], xmm3
xorps xmm6, xmm6
addss xmm10, xmm12
subss xmm1, xmm2
movss dword [rsp + 0x128], xmm2
cvttss2si eax, xmm0
sqrtss xmm6, xmm10
mov dword [rsp + 0x40], eax
cvttss2si eax, xmm1
mov dword [rsp + 0x44], eax
call fcn.180065bf0
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_Sleep]
comiss xmm6, xmm15
movss xmm1, dword [0x18031f628]
movss xmm12, dword [0x18031f6d8]
movss xmm10, dword [0x18031f608]
ja 0x180145550
jmp 0x1801457b5
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, str.Mouse_loop_stuck
call fcn.18000b990
lea rdx, [0x18000bb70]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
test rbp, rbp
je 0x1801457fe
mov rbx, rbp
mov edi, 0x14
mov rcx, qword [rbx]
cmp rcx, 0xffffffffffffffff
je 0x1801457d1
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x1801457e0
call qword [sym.imp.KERNEL32.dll_CloseHandle]
add rbx, 0x10
sub rdi, 1
jne 0x1801457c2
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbp
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
movaps xmm13, xmmword [rsp + 0x70]
lea r11, [rsp + 0xf8]
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm7, xmmword [r11 - 0x28]
movaps xmm8, xmmword [r11 - 0x38]
movaps xmm9, xmmword [r11 - 0x48]
movaps xmm10, xmmword [r11 - 0x58]
movaps xmm11, xmmword [r11 - 0x68]
movaps xmm12, xmmword [r11 - 0x78]
movaps xmm14, xmmword [rsp + 0x60]
movaps xmm15, xmmword [rsp + 0x50]
mov rsp, r11
pop rdi
pop rsi
pop rbp
pop rbx
ret