Function at 0x18003a8a0
Capabilities:
Check for unmoving mouse cursor

Disassembly:
push rbp
push r12
push r15
lea rbp, [rsp - 0x10]
sub rsp, 0x110
mov rax, qword [0x1804610b0]
xor rax, rsp
mov qword [rbp - 0x20], rax
mov r15, rcx
mov r12, rdx
mov rcx, qword [rcx + 0x18]
test rcx, rcx
jne 0x18003a8d6
xor al, al
jmp 0x18003adc3
mov qword [rsp + 0x140], rbx
mov qword [rsp + 0xf8], r13
xor r13b, r13b
cmp r8d, 0x202
ja 0x18003ad2f
je 0x18003ac08
cmp r8d, 0xf
je 0x18003aab6
cmp r8d, 0x20
je 0x18003a996
cmp r8d, 0x200
jne 0x18003adaf
cmp byte [r15 + 0xa5], r13b
jne 0x18003a96b
lea rcx, [rsp + 0x58]
call qword [sym.imp.USER32.dll_GetCursorPos]
mov eax, dword [rsp + 0x58]
sub eax, dword [r15 + 0x9c]
cdq
xor eax, edx
sub eax, edx
cmp eax, 3
jg 0x18003a95b
mov eax, dword [rsp + 0x5c]
sub eax, dword [r15 + 0xa0]
cdq
xor eax, edx
sub eax, edx
cmp eax, 3
jle 0x18003a98e
mov byte [r15 + 0xa5], 1
mov r13b, 1
jmp 0x18003adaf
mov edx, 0x7f86
xor ecx, ecx
call qword [sym.imp.USER32.dll_LoadCursorW]
mov rcx, rax
call qword [sym.imp.USER32.dll_SetCursor]
xor r8d, r8d
mov dl, 1
mov rcx, r12
call fcn.180167480
mov r13b, 1
jmp 0x18003adaf
mov rax, qword [rcx]
mov r13b, 1
call qword [rax + 0x30]
test rax, rax
je 0x18003a9b5
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x28]
test al, al
jne 0x18003adaf
mov rax, qword [rbp + 0x50]
lea rcx, [rsp + 0x58]
shr rax, 0x10
movzx ebx, ax
call qword [sym.imp.USER32.dll_GetCursorPos]
mov rax, qword [rsp + 0x58]
cmp ebx, 0x200
jne 0x18003a9f2
cmp dword [r15 + 0x94], eax
jne 0x18003a9f2
mov ecx, dword [rsp + 0x5c]
cmp dword [r15 + 0x98], ecx
je 0x18003adaf
mov qword [r15 + 0x94], rax
cmp ebx, 0x205
jne 0x18003aa17
xor r9d, r9d
xor r8d, r8d
mov edx, ebx
mov rcx, r12
call qword [sym.imp.USER32.dll_PostMessageW]
jmp 0x18003adaf
cmp ebx, 0x202
jne 0x18003aa35
xor r9d, r9d
xor r8d, r8d
mov edx, ebx
mov rcx, r12
call qword [sym.imp.USER32.dll_PostMessageW]
jmp 0x18003adaf
cmp ebx, 0x201
jne 0x18003aa75
mov rcx, qword [r15 + 0x28]
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0xf]
call qword [sym.imp.USER32.dll_PostMessageW]
lea rcx, [r15 + 0x9c]
call qword [sym.imp.USER32.dll_GetCursorPos]
mov rcx, r12
call fcn.180167360
mov edx, ebx
mov rcx, r15
call fcn.18003c410
jmp 0x18003adaf
cmp ebx, 0x200
jne 0x18003aaa7
cmp byte [r15 + 0xa4], 0
jne 0x18003aaa7
mov rax, qword [r15 + 0x28]
lea rcx, [0x180482420]
mov byte [r15 + 0xa4], 1
mov qword [0x180482428], rax
call qword [sym.imp.USER32.dll_TrackMouseEvent]
mov edx, ebx
mov rcx, r15
call fcn.18003c410
jmp 0x18003adaf
lea rdx, [rbp - 0x70]
mov rcx, r12
mov r13b, 1
call qword [sym.imp.USER32.dll_BeginPaint]
mov qword [rsp + 0x50], rax
mov rbx, rax
test rax, rax
je 0x18003abf6
mov qword [rsp + 0x108], rsi
mov rcx, r15
mov qword [rsp + 0x100], rdi
mov qword [rsp + 0xf0], r14
call fcn.180078b90
mov r14, qword [r15 + 0x28]
lea rdx, [rsp + 0x68]
xor eax, eax
mov rcx, r14
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], rax
call qword [sym.imp.USER32.dll_GetWindowRect]
mov ecx, dword [rsp + 0x70]
sub ecx, dword [rsp + 0x68]
mov eax, dword [rsp + 0x74]
sub eax, dword [rsp + 0x6c]
mov dword [rsp + 0x58], ecx
mov rcx, rbx
mov dword [rsp + 0x5c], eax
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov edx, dword [rsp + 0x5c]
xor r8d, r8d
mov ecx, dword [rsp + 0x58]
mov rsi, rax
call fcn.180165a90
mov rdx, rax
mov rcx, rsi
mov rdi, rax
call qword [sym.imp.GDI32.dll_SelectObject]
mov rdx, rsi
mov rcx, r15
mov rbx, rax
call fcn.18003beb0
mov eax, dword [rsp + 0x68]
lea rcx, [rsp + 0x60]
mov rdx, qword [rsp + 0x50]
lea r9, [rsp + 0x58]
mov dword [rsp + 0x78], eax
lea r8, [rsp + 0x78]
mov eax, dword [rsp + 0x6c]
mov dword [rsp + 0x40], 2
mov qword [rsp + 0x38], rcx
mov rcx, r14
mov dword [rsp + 0x7c], eax
xor eax, eax
mov dword [rsp + 0x30], eax
mov qword [rbp - 0x80], rax
lea rax, [rbp - 0x80]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rsi
mov dword [rsp + 0x60], 0x1ff0000
call qword [sym.imp.USER32.dll_UpdateLayeredWindow]
mov rdx, rbx
mov rcx, rsi
call qword [sym.imp.GDI32.dll_SelectObject]
mov rcx, rdi
call qword [sym.imp.GDI32.dll_DeleteObject]
mov rcx, rsi
call qword [sym.imp.GDI32.dll_DeleteObject]
mov r14, qword [rsp + 0xf0]
mov rdi, qword [rsp + 0x100]
mov rsi, qword [rsp + 0x108]
lea rdx, [rbp - 0x70]
mov rcx, r12
call qword [sym.imp.USER32.dll_EndPaint]
jmp 0x18003adaf
xor ebx, ebx
lea rcx, [rsp + 0x58]
mov qword [rsp + 0x58], rbx
mov r13b, 1
call qword [sym.imp.USER32.dll_GetCursorPos]
mov rcx, qword [r15 + 0x28]
lea rdx, [rsp + 0x58]
call qword [sym.imp.USER32.dll_ScreenToClient]
mov rdx, qword [r15 + 0x110]
mov rax, qword [rdx]
cmp rax, rdx
je 0x18003acc9
mov rcx, qword [rsp + 0x58]
mov r10d, dword [rsp + 0x5c]
nop dword [rax]
mov r9d, dword [rax + 0x2c]
cmp ecx, r9d
jl 0x18003ac74
add r9d, dword [rax + 0x34]
cmp ecx, r9d
jge 0x18003ac74
mov r9d, dword [rax + 0x30]
cmp r10d, r9d
jl 0x18003ac74
add r9d, dword [rax + 0x38]
cmp r10d, r9d
jl 0x18003acc6
mov r8, qword [rax + 0x10]
cmp byte [r8 + 0x19], bl
je 0x18003aca0
mov r8, qword [rax + 8]
cmp byte [r8 + 0x19], bl
jne 0x18003ac9b
cmp rax, qword [r8 + 0x10]
jne 0x18003ac9b
mov rax, r8
mov r8, qword [r8 + 8]
cmp byte [r8 + 0x19], bl
je 0x18003ac88
mov rax, r8
jmp 0x18003acbf
mov r9, qword [r8]
mov rax, r8
cmp byte [r9 + 0x19], bl
jne 0x18003acbf
nop dword [rax]
mov r8, qword [r9]
mov rax, r9
mov r9, r8
cmp byte [r8 + 0x19], bl
je 0x18003acb0
cmp rax, rdx
jne 0x18003ac50
jmp 0x18003acc9
mov ebx, dword [rax + 0x20]
mov rcx, r12
call fcn.180167680
cmp byte [r15 + 0xa5], 0
je 0x18003ad18
xor eax, eax
lea rdx, [rsp + 0x68]
mov rcx, r12
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], rax
call qword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [rsp + 0x68]
mov dword [r15 + 0x8c], eax
mov eax, dword [rsp + 0x6c]
mov dword [r15 + 0x90], eax
mov byte [r15 + 0xa5], 0
jmp 0x18003adaf
test ebx, ebx
je 0x18003adaf
mov edx, ebx
mov rcx, r15
call fcn.18003bc80
jmp 0x18003adaf
cmp r8d, 0x205
je 0x18003ada4
cmp r8d, 0x2a2
jne 0x18003adaf
xor eax, eax
mov byte [r15 + 0xa4], 0
lea rcx, [rsp + 0x78]
mov qword [rsp + 0x78], rax
call qword [sym.imp.USER32.dll_GetCursorPos]
xor eax, eax
lea rdx, [rsp + 0x68]
mov rcx, r12
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], rax
call qword [sym.imp.USER32.dll_GetWindowRect]
mov rdx, qword [rsp + 0x78]
lea rcx, [rsp + 0x68]
call qword [sym.imp.USER32.dll_PtInRect]
test eax, eax
jne 0x18003a98e
xor r9d, r9d
lea edx, [rax + 0xf]
xor r8d, r8d
mov rcx, r12
call qword [sym.imp.USER32.dll_PostMessageW]
mov r13b, 1
jmp 0x18003adaf
mov rcx, r12
mov r13b, 1
call fcn.180167680
mov rbx, qword [rsp + 0x140]
movzx eax, r13b
mov r13, qword [rsp + 0xf8]
mov rcx, qword [rbp - 0x20]
xor rcx, rsp
call fcn.1802994c0
add rsp, 0x110
pop r15
pop r12
pop rbp
ret