Function at 0x14015adec
Capabilities:
Check for unmoving mouse cursor

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0x90
mov rax, qword [0x140292920]
xor rax, rsp
mov qword [rbp + 0x2f], rax
mov rsi, rdx
mov rdi, rcx
mov eax, dword [rdx + 8]
xor ebx, ebx
mov r14d, 0x100
lea r15d, [rbx + 1]
cmp eax, 0x104
ja 0x14015ae4e
je 0x14015ae7c
lea ecx, [rax - 0xa1]
cmp ecx, 7
ja 0x14015ae44
lea edx, [r14 - 0x25]
bt edx, ecx
jb 0x14015ae7c
cmp eax, r14d
je 0x14015ae7c
jmp 0x14015aee8
mov ecx, 0x200
cmp eax, ecx
je 0x14015aea2
jbe 0x14015aee8
cmp eax, 0x202
jbe 0x14015ae7c
cmp eax, 0x203
jbe 0x14015aee8
cmp eax, 0x205
jbe 0x14015ae7c
add eax, 0xfffffdf9
cmp eax, r15d
ja 0x14015aee8
mov r9, rsi
xor r8d, r8d
mov edx, 0x407
mov rcx, qword [rdi + 0x128]
call qword [sym.imp.USER32.dll_SendMessageW]
lea rcx, [rdi + 0x348]
call fcn.1401b52d0
jmp 0x14015aee8
mov r9, rsi
xor r8d, r8d
mov edx, 0x407
mov rcx, qword [rdi + 0x128]
call qword [sym.imp.USER32.dll_SendMessageW]
cmp qword [rsi + 0x10], rbx
jne 0x14015aee8
mov qword [rbp - 0x21], rbx
lea rcx, [rbp - 0x21]
call qword [sym.imp.USER32.dll_GetCursorPos]
lea rdx, [rbp - 0x21]
mov rcx, qword [rdi + 0x40]
call qword [sym.imp.USER32.dll_ScreenToClient]
mov rdx, qword [rbp - 0x21]
mov rcx, rdi
call fcn.14015c6a8
cmp dword [rsi + 8], r14d
jne 0x14015af19
cmp qword [rsi + 0x10], 9
jne 0x14015af19
mov rcx, qword [rdi + 0x678]
test rcx, rcx
je 0x14015af19
mov rax, qword [rcx]
mov rax, qword [rax + 0x150]
call qword [case.0x14007a07a.0]
test eax, eax
jne 0x14015b07c
cmp dword [rsi + 8], 0x104
jne 0x14015b04c
mov rax, qword [rsi + 0x10]
sub rax, 0x27
cmp rax, r15
ja 0x14015b04c
mov rdx, qword [rdi + 0x678]
test rdx, rdx
je 0x14015b04c
cmp dword [rdx + 0x78], ebx
je 0x14015b04c
test byte [rdx + 0x40], 2
je 0x14015b04c
mov rax, qword [rdi]
xor r8d, r8d
mov rcx, rdi
mov rax, qword [rax + 0x300]
call qword [case.0x14007a07a.0]
test eax, eax
je 0x14015b04c
mov rcx, qword [rdi + 0x678]
mov rax, qword [rcx]
lea rdx, [rbp - 0x29]
mov rax, qword [rax + 0x48]
call qword [case.0x14007a07a.0]
nop
call fcn.1400412a8
mov rcx, qword [rax + 8]
call fcn.140040608
nop
or esi, 0xffffffff
mov dword [rbp - 0x31], esi
mov dword [rbp - 0x2d], esi
mov rcx, qword [rdi + 0x678]
mov rax, qword [rcx]
mov rdx, qword [rbp - 0x31]
mov rax, qword [rax + 0x78]
call qword [case.0x14007a07a.0]
mov rcx, qword [rdi + 0x678]
mov rax, qword [rcx]
lea rdx, [rbp - 9]
mov rax, qword [rax + 0x48]
call qword [case.0x14007a07a.0]
mov rdx, qword [rax]
test rdx, rdx
je 0x14015b686
mov rcx, qword [rbp - 0x29]
call fcn.1401db990
test eax, eax
setne r14b
mov rdx, qword [rbp - 9]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
add eax, esi
test eax, eax
jg 0x14015b019
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x14007a07a.0]
test r14b, r14b
je 0x14015b039
mov rax, qword [rdi]
mov rdx, qword [rdi + 0x678]
mov rcx, rdi
mov rax, qword [rax + 0x2e8]
call qword [case.0x14007a07a.0]
nop
lea rcx, [rbp - 0x39]
call fcn.1400331c4
nop
mov rdx, qword [rbp - 0x29]
jmp 0x14015b5d4
cmp dword [rsi + 8], r14d
jne 0x14015b084
cmp qword [rsi + 0x10], 0xd
jne 0x14015b084
mov rcx, qword [rdi + 0x678]
test rcx, rcx
je 0x14015b084
cmp dword [rcx + 0x70], ebx
je 0x14015b084
cmp dword [rcx + 0x6c], ebx
jne 0x14015b084
cmp dword [rcx + 0x74], ebx
sete bl
mov edx, ebx
call fcn.14015788c
mov eax, r15d
jmp 0x14015b627
mov rax, qword [rdi + 0x678]
test rax, rax
je 0x14015b61c
cmp dword [rax + 0x6c], ebx
je 0x14015b61c
cmp dword [rax + 0x78], ebx
je 0x14015b61c
mov rcx, qword [rax + 0x108]
test rcx, rcx
je 0x14015b0ce
xor r9d, r9d
xor r8d, r8d
mov edx, 0x157
mov rcx, qword [rcx + 0x40]
call qword [sym.imp.USER32.dll_SendMessageW]
test eax, eax
mov eax, r15d
jne 0x14015b0d0
mov eax, ebx
mov ecx, dword [rsi + 8]
cmp ecx, r14d
jne 0x14015b323
test eax, eax
je 0x14015b0e7
cmp qword [rsi + 0x10], 0xd
jne 0x14015b147
mov rdx, qword [rsi + 0x10]
cmp rdx, 0xd
je 0x14015b1cf
cmp rdx, 0x1b
je 0x14015b1b5
lea rax, [rdx - 0x26]
mov rcx, qword [rdi + 0x678]
test rax, 0xfffffffffffffffd
je 0x14015b14e
cmp dword [rcx + 0x7c], ebx
jne 0x14015b12c
mov rax, qword [rcx]
mov rax, qword [rax + 0xa8]
call qword [case.0x14007a07a.0]
jmp 0x14015b07c
mov rax, qword [rdi]
mov rcx, rdi
mov rax, qword [rax + 0x360]
call qword [case.0x14007a07a.0]
test eax, eax
jne 0x14015b07c
xor eax, eax
jmp 0x14015b627
cmp qword [rcx + 0xe0], r15
jle 0x14015b16c
mov rax, qword [rcx]
cmp rdx, 0x26
setne bl
mov edx, ebx
mov rax, qword [rax + 0x158]
jmp 0x14015b121
mov rax, qword [rcx + 0x100]
test rax, rax
mov rcx, rbx
je 0x14015b17f
mov rcx, qword [rax + 0x40]
call qword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x14015b07c
mov rax, qword [rdi + 0x678]
mov rcx, qword [rax + 0x100]
mov r9, qword [rsi + 0x18]
mov edx, r14d
mov rcx, qword [rcx + 0x40]
mov r8, qword [rsi + 0x10]
call qword [sym.imp.USER32.dll_SendMessageW]
jmp 0x14015b07c
mov rax, qword [rdi]
xor edx, edx
mov rcx, rdi
mov rax, qword [rax + 0x310]
call qword [case.0x14007a07a.0]
jmp 0x14015b316
mov rcx, qword [rdi + 0x678]
cmp dword [rcx + 0x68], ebx
je 0x14015b2ac
mov rax, qword [rcx]
lea rdx, [rbp - 0x19]
mov rax, qword [rax + 0x48]
call qword [case.0x14007a07a.0]
nop
call fcn.1400412a8
mov rcx, qword [rax + 8]
call fcn.140040608
nop
or esi, 0xffffffff
mov dword [rbp - 0x29], esi
mov dword [rbp - 0x25], esi
mov rcx, qword [rdi + 0x678]
mov rax, qword [rcx]
mov rdx, qword [rbp - 0x29]
mov rax, qword [rax + 0x78]
call qword [case.0x14007a07a.0]
mov rcx, qword [rdi + 0x678]
mov rax, qword [rcx]
lea rdx, [rbp - 1]
mov rax, qword [rax + 0x48]
call qword [case.0x14007a07a.0]
mov rdx, qword [rax]
test rdx, rdx
je 0x14015b691
mov rcx, qword [rbp - 0x19]
call fcn.1401db990
test eax, eax
setne r14b
mov rdx, qword [rbp - 1]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
add eax, esi
test eax, eax
jg 0x14015b279
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x14007a07a.0]
test r14b, r14b
je 0x14015b299
mov rax, qword [rdi]
mov rdx, qword [rdi + 0x678]
mov rcx, rdi
mov rax, qword [rax + 0x2e8]
call qword [case.0x14007a07a.0]
nop
lea rcx, [rbp - 0x39]
call fcn.1400331c4
nop
mov rdx, qword [rbp - 0x19]
jmp 0x14015b5d4
test eax, eax
je 0x14015b2f3
mov rax, qword [rcx + 0x100]
test rax, rax
mov rsi, rbx
je 0x14015b2c3
mov rsi, qword [rax + 0x40]
mov rax, qword [rcx]
mov rax, qword [rax + 0x90]
call qword [case.0x14007a07a.0]
mov rcx, rsi
call qword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x14015b2f3
mov rcx, qword [rdi + 0x678]
mov rcx, qword [rcx + 0x100]
call fcn.1400403e0
mov rax, qword [rdi]
mov edx, r15d
mov rcx, rdi
mov rax, qword [rax + 0x310]
call qword [case.0x14007a07a.0]
test eax, eax
jne 0x14015b316
or ecx, 0xffffffff
call qword [sym.imp.USER32.dll_MessageBeep]
mov rcx, rdi
call fcn.1400403e0
jmp 0x14015b07c
lea eax, [rcx - 0x200]
cmp eax, 0xe
ja 0x14015b147
mov qword [rbp - 0x31], rbx
lea rcx, [rbp - 0x31]
call qword [sym.imp.USER32.dll_GetCursorPos]
lea rdx, [rbp - 0x31]
mov rcx, qword [rdi + 0x40]
call qword [sym.imp.USER32.dll_ScreenToClient]
mov rax, qword [rdi + 0x678]
mov rcx, qword [rax + 0x110]
test rcx, rcx
je 0x14015b403
xorps xmm0, xmm0
movups xmmword [rbp + 0x1f], xmm0
lea rdx, [rbp + 0x1f]
mov rcx, qword [rcx + 0x40]
call qword [sym.imp.USER32.dll_GetClientRect]
mov rax, qword [rdi + 0x678]
mov rcx, qword [rax + 0x110]
mov r9d, 2
lea r8, [rbp + 0x1f]
mov rdx, qword [rdi + 0x40]
mov rcx, qword [rcx + 0x40]
call qword [sym.imp.USER32.dll_MapWindowPoints]
mov rdx, qword [rbp - 0x31]
lea rcx, [rbp + 0x1f]
call qword [sym.imp.USER32.dll_PtInRect]
test eax, eax
je 0x14015b403
mov rax, qword [rdi + 0x678]
mov rcx, qword [rax + 0x110]
test rcx, rcx
je 0x14015b3c9
mov rbx, qword [rcx + 0x40]
mov r9d, r15d
lea r8, [rbp - 0x31]
mov rdx, rbx
mov rcx, qword [rdi + 0x40]
call qword [sym.imp.USER32.dll_MapWindowPoints]
movzx r9d, word [rbp - 0x2d]
shl r9d, 0x10
movzx eax, word [rbp - 0x31]
or r9, rax
mov rax, qword [rdi + 0x678]
mov rcx, qword [rax + 0x110]
mov edx, dword [rsi + 8]
jmp 0x14015b1a2
mov rax, qword [rdi + 0x678]
mov r14, qword [rax + 0x100]
cmp dword [rax + 0x7c], ebx
jne 0x14015b420
mov rcx, qword [r14 + 0x40]
call qword [sym.imp.USER32.dll_HideCaret]
xorps xmm0, xmm0
movups xmmword [rbp + 0xf], xmm0
lea rdx, [rbp + 0xf]
mov rcx, qword [r14 + 0x40]
call qword [sym.imp.USER32.dll_GetClientRect]
mov r9d, 2
lea r8, [rbp + 0xf]
mov rdx, qword [rdi + 0x40]
mov rcx, qword [r14 + 0x40]
call qword [sym.imp.USER32.dll_MapWindowPoints]
mov rdx, qword [rbp - 0x31]
lea rcx, [rbp + 0xf]
call qword [sym.imp.USER32.dll_PtInRect]
test eax, eax
je 0x14015b48b
cmp dword [rsi + 8], 0x203
jne 0x14015b48b
mov rcx, qword [rdi + 0x678]
mov rax, qword [rcx]
mov rdx, qword [rbp - 0x31]
mov rax, qword [rax + 0x88]
call qword [case.0x14007a07a.0]
test eax, eax
jne 0x14015b07c
mov rdx, qword [rbp - 0x31]
lea rcx, [rbp + 0xf]
call qword [sym.imp.USER32.dll_PtInRect]
test eax, eax
je 0x14015b4b6
cmp dword [rsi + 8], 0x204
jne 0x14015b4b6
mov rax, qword [rdi + 0x678]
cmp dword [rax + 0x7c], ebx
je 0x14015b07c
mov rdx, qword [rbp - 0x31]
lea rcx, [rbp + 0xf]
call qword [sym.imp.USER32.dll_PtInRect]
test eax, eax
jne 0x14015b64a
mov eax, dword [rsi + 8]
lea ecx, [rax - 0x201]
cmp ecx, 6
ja 0x14015b4e4
mov edx, 0x49
bt edx, ecx
jb 0x14015b4ef
cmp eax, 0xa1
jne 0x14015b64a
mov rcx, qword [rdi + 0x678]
add rcx, 0x54
mov rdx, qword [rbp - 0x31]
call qword [sym.imp.USER32.dll_PtInRect]
test eax, eax
je 0x14015b5fe
mov rcx, qword [rdi + 0x678]
mov rax, qword [rcx]
lea rdx, [rbp - 0x11]
mov rax, qword [rax + 0x48]
call qword [case.0x14007a07a.0]
nop
call fcn.1400412a8
mov rcx, qword [rax + 8]
call fcn.140040608
nop
mov rax, qword [rdi]
mov rdx, qword [rbp - 0x31]
mov rcx, rdi
mov rax, qword [rax + 0x308]
call qword [case.0x14007a07a.0]
mov rcx, qword [rdi + 0x678]
mov rax, qword [rcx]
lea rdx, [rbp + 7]
mov rax, qword [rax + 0x48]
call qword [case.0x14007a07a.0]
mov rdx, qword [rax]
test rdx, rdx
je 0x14015b67b
mov rcx, qword [rbp - 0x11]
call fcn.1401db990
test eax, eax
setne r14b
mov rdx, qword [rbp + 7]
add rdx, 0xffffffffffffffe8
or esi, 0xffffffff
mov eax, esi
lock xadd dword [rdx + 0x10], eax
add eax, esi
test eax, eax
jg 0x14015b5a6
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x14007a07a.0]
test r14b, r14b
je 0x14015b5c6
mov rax, qword [rdi]
mov rdx, qword [rdi + 0x678]
mov rcx, rdi
mov rax, qword [rax + 0x2e8]
call qword [case.0x14007a07a.0]
nop
lea rcx, [rbp - 0x39]
call fcn.1400331c4
nop
mov rdx, qword [rbp - 0x11]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
add eax, esi
test eax, eax
jg 0x14015b07c
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x14007a07a.0]
jmp 0x14015b07c
mov rax, qword [rdi]
mov edx, r15d
mov rcx, rdi
mov rax, qword [rax + 0x310]
call qword [case.0x14007a07a.0]
test eax, eax
je 0x14015b07c
mov rdx, rsi
mov rcx, rdi
call fcn.1400388f8
mov rcx, qword [rbp + 0x2f]
xor rcx, rsp
call fcn.1401ce2d0
mov rbx, qword [rsp + 0xd0]
add rsp, 0x90
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
mov r9d, r15d
lea r8, [rbp - 0x31]
mov rdx, qword [r14 + 0x40]
mov rcx, qword [rdi + 0x40]
call qword [sym.imp.USER32.dll_MapWindowPoints]
movzx r9d, word [rbp - 0x2d]
shl r9d, 0x10
movzx eax, word [rbp - 0x31]
or r9, rax
mov edx, dword [rsi + 8]
mov rcx, qword [r14 + 0x40]
jmp 0x14015b1a6
mov ecx, 0x80004005
call fcn.14001e8f0
nop
mov ecx, 0x80004005
call fcn.14001e8f0
nop
mov ecx, 0x80004005
call fcn.14001e8f0
int3