Function at 0x14014a180
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 [0x14027a920]
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 0x14014a1e2
je 0x14014a210
lea ecx, [rax - 0xa1]
cmp ecx, 7
ja 0x14014a1d8
lea edx, [r14 - 0x25]
bt edx, ecx
jb 0x14014a210
cmp eax, r14d
je 0x14014a210
jmp 0x14014a27c
mov ecx, 0x200
cmp eax, ecx
je 0x14014a236
jbe 0x14014a27c
cmp eax, 0x202
jbe 0x14014a210
cmp eax, 0x203
jbe 0x14014a27c
cmp eax, 0x205
jbe 0x14014a210
add eax, 0xfffffdf9
cmp eax, r15d
ja 0x14014a27c
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.1401a4664
jmp 0x14014a27c
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 0x14014a27c
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.14014ba3c
cmp dword [rsi + 8], r14d
jne 0x14014a2ad
cmp qword [rsi + 0x10], 9
jne 0x14014a2ad
mov rcx, qword [rdi + 0x678]
test rcx, rcx
je 0x14014a2ad
mov rax, qword [rcx]
mov rax, qword [rax + 0x150]
call qword [case.0x1400692aa.0]
test eax, eax
jne 0x14014a410
cmp dword [rsi + 8], 0x104
jne 0x14014a3e0
mov rax, qword [rsi + 0x10]
sub rax, 0x27
cmp rax, r15
ja 0x14014a3e0
mov rdx, qword [rdi + 0x678]
test rdx, rdx
je 0x14014a3e0
cmp dword [rdx + 0x78], ebx
je 0x14014a3e0
test byte [rdx + 0x40], 2
je 0x14014a3e0
mov rax, qword [rdi]
xor r8d, r8d
mov rcx, rdi
mov rax, qword [rax + 0x300]
call qword [case.0x1400692aa.0]
test eax, eax
je 0x14014a3e0
mov rcx, qword [rdi + 0x678]
mov rax, qword [rcx]
lea rdx, [rbp - 0x29]
mov rax, qword [rax + 0x48]
call qword [case.0x1400692aa.0]
nop
call fcn.140030740
mov rcx, qword [rax + 8]
call fcn.14002faa0
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.0x1400692aa.0]
mov rcx, qword [rdi + 0x678]
mov rax, qword [rcx]
lea rdx, [rbp - 9]
mov rax, qword [rax + 0x48]
call qword [case.0x1400692aa.0]
mov rdx, qword [rax]
test rdx, rdx
je 0x14014aa1a
mov rcx, qword [rbp - 0x29]
call fcn.1401c9930
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 0x14014a3ad
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1400692aa.0]
test r14b, r14b
je 0x14014a3cd
mov rax, qword [rdi]
mov rdx, qword [rdi + 0x678]
mov rcx, rdi
mov rax, qword [rax + 0x2e8]
call qword [case.0x1400692aa.0]
nop
lea rcx, [rbp - 0x39]
call fcn.140022654
nop
mov rdx, qword [rbp - 0x29]
jmp 0x14014a968
cmp dword [rsi + 8], r14d
jne 0x14014a418
cmp qword [rsi + 0x10], 0xd
jne 0x14014a418
mov rcx, qword [rdi + 0x678]
test rcx, rcx
je 0x14014a418
cmp dword [rcx + 0x70], ebx
je 0x14014a418
cmp dword [rcx + 0x6c], ebx
jne 0x14014a418
cmp dword [rcx + 0x74], ebx
sete bl
mov edx, ebx
call fcn.140146c20
mov eax, r15d
jmp 0x14014a9bb
mov rax, qword [rdi + 0x678]
test rax, rax
je 0x14014a9b0
cmp dword [rax + 0x6c], ebx
je 0x14014a9b0
cmp dword [rax + 0x78], ebx
je 0x14014a9b0
mov rcx, qword [rax + 0x108]
test rcx, rcx
je 0x14014a462
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 0x14014a464
mov eax, ebx
mov ecx, dword [rsi + 8]
cmp ecx, r14d
jne 0x14014a6b7
test eax, eax
je 0x14014a47b
cmp qword [rsi + 0x10], 0xd
jne 0x14014a4db
mov rdx, qword [rsi + 0x10]
cmp rdx, 0xd
je 0x14014a563
cmp rdx, 0x1b
je 0x14014a549
lea rax, [rdx - 0x26]
mov rcx, qword [rdi + 0x678]
test rax, 0xfffffffffffffffd
je 0x14014a4e2
cmp dword [rcx + 0x7c], ebx
jne 0x14014a4c0
mov rax, qword [rcx]
mov rax, qword [rax + 0xa8]
call qword [case.0x1400692aa.0]
jmp 0x14014a410
mov rax, qword [rdi]
mov rcx, rdi
mov rax, qword [rax + 0x360]
call qword [case.0x1400692aa.0]
test eax, eax
jne 0x14014a410
xor eax, eax
jmp 0x14014a9bb
cmp qword [rcx + 0xe0], r15
jle 0x14014a500
mov rax, qword [rcx]
cmp rdx, 0x26
setne bl
mov edx, ebx
mov rax, qword [rax + 0x158]
jmp 0x14014a4b5
mov rax, qword [rcx + 0x100]
test rax, rax
mov rcx, rbx
je 0x14014a513
mov rcx, qword [rax + 0x40]
call qword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x14014a410
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 0x14014a410
mov rax, qword [rdi]
xor edx, edx
mov rcx, rdi
mov rax, qword [rax + 0x310]
call qword [case.0x1400692aa.0]
jmp 0x14014a6aa
mov rcx, qword [rdi + 0x678]
cmp dword [rcx + 0x68], ebx
je 0x14014a640
mov rax, qword [rcx]
lea rdx, [rbp - 0x19]
mov rax, qword [rax + 0x48]
call qword [case.0x1400692aa.0]
nop
call fcn.140030740
mov rcx, qword [rax + 8]
call fcn.14002faa0
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.0x1400692aa.0]
mov rcx, qword [rdi + 0x678]
mov rax, qword [rcx]
lea rdx, [rbp - 1]
mov rax, qword [rax + 0x48]
call qword [case.0x1400692aa.0]
mov rdx, qword [rax]
test rdx, rdx
je 0x14014aa25
mov rcx, qword [rbp - 0x19]
call fcn.1401c9930
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 0x14014a60d
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1400692aa.0]
test r14b, r14b
je 0x14014a62d
mov rax, qword [rdi]
mov rdx, qword [rdi + 0x678]
mov rcx, rdi
mov rax, qword [rax + 0x2e8]
call qword [case.0x1400692aa.0]
nop
lea rcx, [rbp - 0x39]
call fcn.140022654
nop
mov rdx, qword [rbp - 0x19]
jmp 0x14014a968
test eax, eax
je 0x14014a687
mov rax, qword [rcx + 0x100]
test rax, rax
mov rsi, rbx
je 0x14014a657
mov rsi, qword [rax + 0x40]
mov rax, qword [rcx]
mov rax, qword [rax + 0x90]
call qword [case.0x1400692aa.0]
mov rcx, rsi
call qword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x14014a687
mov rcx, qword [rdi + 0x678]
mov rcx, qword [rcx + 0x100]
call fcn.14002f878
mov rax, qword [rdi]
mov edx, r15d
mov rcx, rdi
mov rax, qword [rax + 0x310]
call qword [case.0x1400692aa.0]
test eax, eax
jne 0x14014a6aa
or ecx, 0xffffffff
call qword [sym.imp.USER32.dll_MessageBeep]
mov rcx, rdi
call fcn.14002f878
jmp 0x14014a410
lea eax, [rcx - 0x200]
cmp eax, 0xe
ja 0x14014a4db
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 0x14014a797
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 0x14014a797
mov rax, qword [rdi + 0x678]
mov rcx, qword [rax + 0x110]
test rcx, rcx
je 0x14014a75d
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 0x14014a536
mov rax, qword [rdi + 0x678]
mov r14, qword [rax + 0x100]
cmp dword [rax + 0x7c], ebx
jne 0x14014a7b4
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 0x14014a81f
cmp dword [rsi + 8], 0x203
jne 0x14014a81f
mov rcx, qword [rdi + 0x678]
mov rax, qword [rcx]
mov rdx, qword [rbp - 0x31]
mov rax, qword [rax + 0x88]
call qword [case.0x1400692aa.0]
test eax, eax
jne 0x14014a410
mov rdx, qword [rbp - 0x31]
lea rcx, [rbp + 0xf]
call qword [sym.imp.USER32.dll_PtInRect]
test eax, eax
je 0x14014a84a
cmp dword [rsi + 8], 0x204
jne 0x14014a84a
mov rax, qword [rdi + 0x678]
cmp dword [rax + 0x7c], ebx
je 0x14014a410
mov rdx, qword [rbp - 0x31]
lea rcx, [rbp + 0xf]
call qword [sym.imp.USER32.dll_PtInRect]
test eax, eax
jne 0x14014a9de
mov eax, dword [rsi + 8]
lea ecx, [rax - 0x201]
cmp ecx, 6
ja 0x14014a878
mov edx, 0x49
bt edx, ecx
jb 0x14014a883
cmp eax, 0xa1
jne 0x14014a9de
mov rcx, qword [rdi + 0x678]
add rcx, 0x54
mov rdx, qword [rbp - 0x31]
call qword [sym.imp.USER32.dll_PtInRect]
test eax, eax
je 0x14014a992
mov rcx, qword [rdi + 0x678]
mov rax, qword [rcx]
lea rdx, [rbp - 0x11]
mov rax, qword [rax + 0x48]
call qword [case.0x1400692aa.0]
nop
call fcn.140030740
mov rcx, qword [rax + 8]
call fcn.14002faa0
nop
mov rax, qword [rdi]
mov rdx, qword [rbp - 0x31]
mov rcx, rdi
mov rax, qword [rax + 0x308]
call qword [case.0x1400692aa.0]
mov rcx, qword [rdi + 0x678]
mov rax, qword [rcx]
lea rdx, [rbp + 7]
mov rax, qword [rax + 0x48]
call qword [case.0x1400692aa.0]
mov rdx, qword [rax]
test rdx, rdx
je 0x14014aa0f
mov rcx, qword [rbp - 0x11]
call fcn.1401c9930
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 0x14014a93a
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1400692aa.0]
test r14b, r14b
je 0x14014a95a
mov rax, qword [rdi]
mov rdx, qword [rdi + 0x678]
mov rcx, rdi
mov rax, qword [rax + 0x2e8]
call qword [case.0x1400692aa.0]
nop
lea rcx, [rbp - 0x39]
call fcn.140022654
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 0x14014a410
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1400692aa.0]
jmp 0x14014a410
mov rax, qword [rdi]
mov edx, r15d
mov rcx, rdi
mov rax, qword [rax + 0x310]
call qword [case.0x1400692aa.0]
test eax, eax
je 0x14014a410
mov rdx, rsi
mov rcx, rdi
call fcn.140027d90
mov rcx, qword [rbp + 0x2f]
xor rcx, rsp
call fcn.1401bd660
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 0x14014a53a
mov ecx, 0x80004005
call fcn.1400119a0
nop
mov ecx, 0x80004005
call fcn.1400119a0
nop
mov ecx, 0x80004005
call fcn.1400119a0
int3