Function at 0x180145c00
Capabilities:
Check for unmoving mouse cursor

Disassembly:
mov rax, rsp
movss dword [rax + 0x20], xmm3
movss dword [rax + 0x18], xmm2
push rbx
push rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0xf0
movaps xmmword [rax - 0x48], xmm6
xor r14d, r14d
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0x88], xmm10
movaps xmm10, xmm1
movaps xmmword [rax - 0x98], xmm11
movaps xmm11, xmm0
movaps xmmword [rax - 0xa8], xmm12
movaps xmmword [rsp + 0x70], xmm13
movaps xmmword [rsp + 0x60], xmm14
movaps xmmword [rsp + 0x50], xmm15
mov qword [rsp + 0x34], r14
call fcn.1800656d0
mov ebx, dword [0x180350c0c]
lea rcx, [rsp + 0x20]
mov edi, dword [0x180350c14]
mov r12, rax
mov dword [rsp + 0x30], r14d
mov r15d, r14d
mov qword [rsp + 0x3c], r14
mov ebp, r14d
call qword [sym.imp.USER32.dll_GetCursorPos]
movd xmm0, dword [rsp + 0x24]
movaps xmm2, xmm10
xorps xmm2, xmmword [0x180309640]
movaps xmm8, xmm11
xorps xmm8, xmmword [0x180309640]
movaps xmm3, xmm2
movss xmm12, dword [0x180307b34]
xorps xmm9, xmm9
movss xmm14, dword [0x180307cc4]
movaps xmm4, xmm12
movss xmm15, dword [0x180307bdc]
movaps xmm6, xmm12
cvtdq2ps xmm0, xmm0
mov esi, r14d
movss dword [rsp + 0x158], xmm2
movaps xmm7, xmm12
movd xmm1, edi
movaps xmm2, xmm8
cvtdq2ps xmm1, xmm1
movd xmm5, ebx
movss dword [rsp + 0x150], xmm1
subss xmm1, xmm0
movd xmm0, dword [rsp + 0x20]
cvtdq2ps xmm5, xmm5
subss xmm3, xmm1
movss dword [rsp + 0x130], xmm8
cvtdq2ps xmm0, xmm0
movaps xmm1, xmm5
movss dword [rsp + 0x138], xmm5
subss xmm1, xmm0
mulss xmm3, xmm3
movss xmm0, dword [0x180307b98]
movss dword [rsp + 0x148], xmm4
subss xmm2, xmm1
mulss xmm2, xmm2
addss xmm2, xmm3
sqrtss xmm9, xmm2
comiss xmm9, xmm14
jbe 0x180145f7f
movss xmm13, dword [0x180307c94]
cmp byte [0x180350cb0], r14b
jne 0x180145f7f
cmp byte [0x180350ca8], r14b
jne 0x180145f7f
cmp byte [0x180350b1a], r14b
jne 0x180145f7f
inc esi
cmp esi, 0x3e8
jg 0x180145f4b
mulss xmm12, xmm0
lea rcx, [rsp + 0x28]
mulss xmm4, xmm0
movss dword [rsp + 0x140], xmm12
movss dword [rsp + 0x148], xmm4
call qword [sym.imp.USER32.dll_GetCursorPos]
movss xmm1, dword [rsp + 0x138]
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [rsp + 0x28]
movaps xmm2, xmm15
subss xmm1, xmm0
movaps xmm0, xmm6
addss xmm0, xmm12
xorps xmm12, xmm12
divss xmm2, xmm9
movss xmm9, dword [rsp + 0x158]
subss xmm8, xmm1
movaps xmm1, xmm8
mulss xmm1, dword [0x180307cc0]
mulss xmm1, xmm2
movaps xmm6, xmm1
movss xmm1, dword [rsp + 0x150]
addss xmm6, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [rsp + 0x2c]
subss xmm1, xmm0
movaps xmm0, xmm7
addss xmm0, dword [rsp + 0x148]
subss xmm9, xmm1
movaps xmm1, xmm9
mulss xmm1, dword [0x180307cc0]
mulss xmm1, xmm2
movaps xmm7, xmm1
addss xmm7, xmm0
movaps xmm0, xmm6
mulss xmm0, xmm6
movaps xmm1, xmm7
mulss xmm1, xmm7
addss xmm1, xmm0
sqrtss xmm12, xmm1
comiss xmm12, xmm14
jbe 0x180145eaa
movaps xmm0, xmm13
call fcn.1800da860
movaps xmm2, xmm15
addss xmm0, xmm13
divss xmm2, xmm12
movaps xmm1, xmm2
mulss xmm2, xmm7
mulss xmm1, xmm6
movaps xmm7, xmm2
mulss xmm7, xmm0
movaps xmm6, xmm1
mulss xmm6, xmm0
mulss xmm9, xmm9
movaps xmm0, xmm11
movaps xmm1, xmm10
mulss xmm8, xmm8
addss xmm11, xmm6
addss xmm10, xmm7
addss xmm8, xmm9
xorps xmm9, xmm9
subss xmm0, xmm11
subss xmm1, xmm10
sqrtss xmm9, xmm8
cvttss2si edi, xmm0
cvttss2si ebx, xmm1
mov dword [rsp + 0x38], edi
mov dword [rsp + 0x3c], ebx
cmp edi, r15d
jne 0x180145ef7
cmp ebx, ebp
je 0x180145f0f
mov edx, dword [0x1803522d0]
lea r8, [rsp + 0x30]
mov rcx, r12
call fcn.180065c00
mov r15d, edi
mov ebp, ebx
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_Sleep]
comiss xmm9, xmm14
movss xmm12, dword [rsp + 0x140]
movss xmm4, dword [rsp + 0x148]
movss xmm0, dword [0x180307b98]
movss xmm8, dword [rsp + 0x130]
ja 0x180145d72
jmp 0x180145f6e
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]
movss xmm0, dword [0x180307b98]
movss xmm4, dword [rsp + 0x148]
movss xmm13, dword [0x180307c70]
comiss xmm9, xmm13
jbe 0x18014619e
movss xmm14, dword [0x180307c00]
nop dword [rax + rax]
cmp byte [0x180350cb0], 0
jne 0x18014619e
cmp byte [0x180350ca8], 0
jne 0x18014619e
cmp byte [0x180350b1a], 0
jne 0x18014619e
inc r14d
cmp r14d, 0x3e8
jg 0x18014617b
mulss xmm12, xmm0
lea rcx, [rsp + 0x28]
mulss xmm4, xmm0
movss dword [rsp + 0x140], xmm12
movss dword [rsp + 0x148], xmm4
call qword [sym.imp.USER32.dll_GetCursorPos]
movss xmm1, dword [rsp + 0x138]
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [rsp + 0x28]
movaps xmm2, xmm15
subss xmm1, xmm0
movaps xmm0, xmm6
addss xmm0, xmm12
xorps xmm12, xmm12
divss xmm2, xmm9
movss xmm9, dword [rsp + 0x158]
subss xmm8, xmm1
movaps xmm1, xmm8
mulss xmm1, dword [0x180307cc0]
mulss xmm1, xmm2
movaps xmm6, xmm1
movss xmm1, dword [rsp + 0x150]
addss xmm6, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [rsp + 0x2c]
subss xmm1, xmm0
movaps xmm0, xmm7
addss xmm0, dword [rsp + 0x148]
subss xmm9, xmm1
movaps xmm1, xmm9
mulss xmm1, dword [0x180307cc0]
mulss xmm1, xmm2
movaps xmm7, xmm1
addss xmm7, xmm0
movaps xmm0, xmm6
mulss xmm0, xmm6
movaps xmm1, xmm7
mulss xmm1, xmm7
addss xmm1, xmm0
sqrtss xmm12, xmm1
comiss xmm12, xmm13
jbe 0x1801460da
movaps xmm0, xmm14
call fcn.1800da860
movaps xmm2, xmm15
addss xmm0, xmm14
divss xmm2, xmm12
movaps xmm1, xmm2
mulss xmm2, xmm7
mulss xmm1, xmm6
movaps xmm7, xmm2
mulss xmm7, xmm0
movaps xmm6, xmm1
mulss xmm6, xmm0
mulss xmm9, xmm9
movaps xmm0, xmm11
movaps xmm1, xmm10
mulss xmm8, xmm8
addss xmm11, xmm6
addss xmm10, xmm7
addss xmm8, xmm9
xorps xmm9, xmm9
subss xmm0, xmm11
subss xmm1, xmm10
sqrtss xmm9, xmm8
cvttss2si edi, xmm0
cvttss2si ebx, xmm1
mov dword [rsp + 0x38], edi
mov dword [rsp + 0x3c], ebx
cmp edi, r15d
jne 0x180146127
cmp ebx, ebp
je 0x18014613f
mov edx, dword [0x1803522d0]
lea r8, [rsp + 0x30]
mov rcx, r12
call fcn.180065c00
mov r15d, edi
mov ebp, ebx
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_Sleep]
comiss xmm9, xmm13
movss xmm12, dword [rsp + 0x140]
movss xmm4, dword [rsp + 0x148]
movss xmm0, dword [0x180307b98]
movss xmm8, dword [rsp + 0x130]
ja 0x180145fa0
jmp 0x18014619e
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 r12, r12
je 0x1801461ec
mov rbx, r12
mov edi, 0x14
nop dword [rax + rax]
mov rcx, qword [rbx]
cmp rcx, 0xffffffffffffffff
je 0x1801461bf
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x1801461ce
call qword [sym.imp.KERNEL32.dll_CloseHandle]
add rbx, 0x10
sub rdi, 1
jne 0x1801461b0
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
movaps xmm14, xmmword [rsp + 0x60]
lea r11, [rsp + 0xf0]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm15, xmmword [rsp + 0x50]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret