Function at 0x18013db90
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.18005eff0
mov ebx, dword [0x18033c8a4]
lea rcx, [rsp + 0x20]
mov edi, dword [0x18033c8ac]
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 [0x1802f9830]
movaps xmm8, xmm11
xorps xmm8, xmmword [0x1802f9830]
movaps xmm3, xmm2
movss xmm12, dword [0x1802f7d74]
xorps xmm9, xmm9
movss xmm14, dword [0x1802f7ed4]
movaps xmm4, xmm12
movss xmm15, dword [0x1802f7e08]
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 [0x1802f7dd0]
movss dword [rsp + 0x148], xmm4
subss xmm2, xmm1
mulss xmm2, xmm2
addss xmm2, xmm3
sqrtss xmm9, xmm2
comiss xmm9, xmm14
jbe 0x18013df0f
movss xmm13, dword [0x1802f7eac]
cmp byte [0x18033c948], r14b
jne 0x18013df0f
cmp byte [0x18033c940], r14b
jne 0x18013df0f
cmp byte [0x18033c6e0], r14b
jne 0x18013df0f
inc esi
cmp esi, 0x3e8
jg 0x18013dedb
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 [0x1802f7ed0]
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 [0x1802f7ed0]
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 0x18013de3a
movaps xmm0, xmm13
call fcn.1800d37f0
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 0x18013de87
cmp ebx, ebp
je 0x18013de9f
mov edx, dword [0x18033df40]
lea r8, [rsp + 0x30]
mov rcx, r12
call fcn.18005f520
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 [0x1802f7dd0]
movss xmm8, dword [rsp + 0x130]
ja 0x18013dd02
jmp 0x18013defe
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.180055e00
lea rdx, [0x180055fe0]
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 [0x1802f7dd0]
movss xmm4, dword [rsp + 0x148]
movss xmm13, dword [0x1802f7e90]
comiss xmm9, xmm13
jbe 0x18013e12e
movss xmm14, dword [0x1802f7e28]
nop dword [rax + rax]
cmp byte [0x18033c948], 0
jne 0x18013e12e
cmp byte [0x18033c940], 0
jne 0x18013e12e
cmp byte [0x18033c6e0], 0
jne 0x18013e12e
inc r14d
cmp r14d, 0x3e8
jg 0x18013e10b
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 [0x1802f7ed0]
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 [0x1802f7ed0]
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 0x18013e06a
movaps xmm0, xmm14
call fcn.1800d37f0
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 0x18013e0b7
cmp ebx, ebp
je 0x18013e0cf
mov edx, dword [0x18033df40]
lea r8, [rsp + 0x30]
mov rcx, r12
call fcn.18005f520
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 [0x1802f7dd0]
movss xmm8, dword [rsp + 0x130]
ja 0x18013df30
jmp 0x18013e12e
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.180055e00
lea rdx, [0x180055fe0]
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 0x18013e17c
mov rbx, r12
mov edi, 0x14
nop dword [rax + rax]
mov rcx, qword [rbx]
cmp rcx, 0xffffffffffffffff
je 0x18013e14f
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x18013e15e
call qword [sym.imp.KERNEL32.dll_CloseHandle]
add rbx, 0x10
sub rdi, 1
jne 0x18013e140
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