Function at 0x14003f4c0
Capabilities:
Check for unmoving mouse cursor

Disassembly:
push rbx
sub rsp, 0x20
mov eax, dword [0x14015cf14]
sub eax, 1
je 0x140029289
sub eax, 3
je 0x1400291f8
sub eax, 0xc
je 0x1400291f8
cmp eax, 0x10
jne 0x14002931b
mov rcx, qword [0x14015d408]
test rcx, rcx
je 0x14002931b
mov rcx, qword [rcx + 8]
call sym.ProcessHacker.exe_PhReferenceServiceItem
mov rbx, rax
test rax, rax
je 0x14002931b
movsxd r8, dword [0x14015d2d0]
xor r9d, r9d
mov rcx, qword [sym.ProcessHacker.exe_PhMainWndHandle]
mov edx, 0x8082
call qword [sym.imp.USER32.dll_SendMessageW]
mov rcx, qword [sym.ProcessHacker.exe_PhMainWndHandle]
mov r9, rbx
xor r8d, r8d
mov edx, 0x8086
call qword [sym.imp.USER32.dll_SendMessageW]
mov rcx, qword [sym.ProcessHacker.exe_PhMainWndHandle]
xor r9d, r9d
mov edx, 0x807f
lea r8d, [r9 + 1]
call qword [sym.imp.USER32.dll_SendMessageW]
lea rcx, [rbx - 0x10]
or eax, 0xffffffff
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x14002931b
add rsp, 0x20
pop rbx
jmp fcn.1400ae580
mov rax, qword [0x14015d408]
lea rdx, [0x14015ba60]
mov rcx, rax
shr rcx, 2
movzx ecx, cl
mov rcx, qword [rdx + rcx*8]
test rcx, rcx
je 0x14002931b
nop word [rax + rax]
cmp rax, qword [rcx + 0x28]
lea rbx, [rcx - 0x40]
je 0x1400292c8
mov rcx, qword [rcx]
test rcx, rcx
jne 0x1400292b0
add rsp, 0x20
pop rbx
ret
movsxd r8, dword [0x14015d330]
xor r9d, r9d
mov rcx, qword [sym.ProcessHacker.exe_PhMainWndHandle]
mov edx, 0x8082
call qword [sym.imp.USER32.dll_SendMessageW]
mov rcx, qword [sym.ProcessHacker.exe_PhMainWndHandle]
mov r9, rbx
xor r8d, r8d
mov edx, 0x8085
call qword [sym.imp.USER32.dll_SendMessageW]
mov rcx, qword [sym.ProcessHacker.exe_PhMainWndHandle]
xor r9d, r9d
mov edx, 0x807f
lea r8d, [r9 + 1]
add rsp, 0x20
pop rbx
jmp qword [sym.imp.USER32.dll_SendMessageW]
add rsp, 0x20
pop rbx
ret
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
sub rsp, 0x30
xor ebp, ebp
mov rax, rdx
shr rax, 0x10
mov rsi, rdx
movzx edi, ax
mov ebx, ebp
cmp edi, 0x20
jae 0x14003f515
lea rdx, [0x14015afb0]
mov rdx, qword [rdx + rdi*8]
test rdx, rdx
je 0x14003f515
mov rax, qword [rdx + 0x38]
mov rbx, rdx
test rax, rax
je 0x14003f515
mov r9, qword [rdx + 0x10]
mov r8, rsi
mov rdx, rcx
mov rcx, rbx
call rax
test al, al
jne 0x14003f84d
movzx ecx, si
cmp ecx, 0x205
jg 0x14003f760
je 0x14003f6fa
sub ecx, 0x7b
je 0x14003f6fa
sub ecx, 0x186
je 0x14003f68b
sub ecx, 1
je 0x14003f5b3
cmp ecx, 1
jne 0x14003f84d
lea rcx, str.IconSingleClick
call sym.ProcessHacker.exe_PhGetIntegerSetting
test eax, eax
jne 0x14003f84d
cmp byte [0x1401603a0], bpl
je 0x14003f5a7
mov rcx, qword [sym.ProcessHacker.exe_PhMainWndHandle]
lea edx, [rax + 2]
call qword [sym.imp.USER32.dll_KillTimer]
mov rcx, qword [sym.ProcessHacker.exe_PhMainWndHandle]
lea r9, [0x1400419c0]
mov edx, 3
mov byte [0x14015d6ad], bpl
mov r8d, 0x3e8
mov byte [0x14015d6ac], 1
call qword [sym.imp.USER32.dll_SetTimer]
mov rcx, qword [sym.ProcessHacker.exe_PhMainWndHandle]
jmp 0x14003f83c
lea rcx, str.IconSingleClick
call sym.ProcessHacker.exe_PhGetIntegerSetting
test eax, eax
jne 0x14003f84d
cmp byte [0x1401603a0], bpl
je 0x14003f84d
cmp byte [0x14015d6ad], bpl
je 0x14003f84d
lea r8, [rsp + 0x58]
mov rdx, rbx
mov ecx, edi
call fcn.1400418c0
test al, al
je 0x14003f66c
lea rcx, [0x14015d6e0]
call qword [sym.imp.USER32.dll_GetCursorPos]
mov r8, qword [0x14015d6d8]
test r8, r8
je 0x14003f623
mov rcx, qword [sym.ProcessHacker.exe_PhHeapHandle]
xor edx, edx
call qword [sym.imp.ntdll.dll_RtlFreeHeap]
mov qword [0x14015d6d8], rbp
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x14003f639
call sym.ProcessHacker.exe_PhDuplicateStringZ
mov qword [0x14015d6d8], rax
call qword [sym.imp.USER32.dll_GetDoubleClickTime]
mov rcx, qword [sym.ProcessHacker.exe_PhMainWndHandle]
lea r9, [0x140041970]
mov edx, 2
lea r8d, [rax + 0x8c]
call qword [sym.imp.USER32.dll_SetTimer]
mov rbx, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
pop rsi
pop rbp
ret
mov rcx, qword [sym.ProcessHacker.exe_PhMainWndHandle]
mov edx, 2
call qword [sym.imp.USER32.dll_KillTimer]
mov rbx, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
pop rsi
pop rbp
ret
lea rcx, str.IconSingleClick
call sym.ProcessHacker.exe_PhGetIntegerSetting
test eax, eax
je 0x14003f6e6
mov rcx, qword [sym.ProcessHacker.exe_PhMainWndHandle]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x8090
call qword [sym.imp.USER32.dll_SendMessageW]
mov rcx, qword [sym.ProcessHacker.exe_PhMainWndHandle]
lea r9, [0x1400419c0]
mov edx, 3
mov byte [0x14015d6ac], 1
mov r8d, 0x3e8
mov rbx, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
pop rsi
pop rbp
jmp qword [sym.imp.USER32.dll_SetTimer]
mov byte [0x14015d6ad], 1
mov rbx, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
pop rsi
pop rbp
ret
lea rcx, str.IconSingleClick
call sym.ProcessHacker.exe_PhGetIntegerSetting
test eax, eax
jne 0x14003f723
cmp byte [0x1401603a0], bpl
je 0x14003f723
mov rcx, qword [sym.ProcessHacker.exe_PhMainWndHandle]
lea edx, [rax + 2]
call qword [sym.imp.USER32.dll_KillTimer]
or edx, 0xffffffff
mov qword [rsp + 0x28], rbp
xor r9d, r9d
mov qword [rsp + 0x20], rbp
xor r8d, r8d
lea ecx, [rdx + 2]
call fcn.1400335d0
lea rcx, [rsp + 0x58]
call qword [sym.imp.USER32.dll_GetCursorPos]
mov rcx, qword [rsp + 0x58]
call fcn.140028de0
mov rbx, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
pop rsi
pop rbp
ret
sub ecx, 0x401
je 0x14003f82a
sub ecx, 4
je 0x14003f819
sub ecx, 1
je 0x14003f7ab
cmp ecx, 1
jne 0x14003f84d
mov qword [rsp + 0x28], rbp
xor r9d, r9d
mov r8d, 0x15e
mov qword [rsp + 0x20], rbp
or edx, 0xffffffff
call fcn.1400335d0
mov rbx, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
pop rsi
pop rbp
ret
cmp byte [0x1401603a0], bpl
je 0x14003f84d
cmp byte [0x14015d6ac], bpl
jne 0x14003f84d
lea r8, [rsp + 0x60]
mov rdx, rbx
mov ecx, edi
call fcn.1400418c0
test al, al
je 0x14003f84d
lea rcx, [rsp + 0x58]
call qword [sym.imp.USER32.dll_GetCursorPos]
lea rax, [rsp + 0x58]
mov edx, 1
mov qword [rsp + 0x28], rax
mov r9d, 4
mov rax, qword [rsp + 0x60]
xor r8d, r8d
mov ecx, edx
mov qword [rsp + 0x20], rax
call fcn.1400335d0
mov rbx, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
pop rsi
pop rbp
ret
mov rbx, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
pop rsi
pop rbp
jmp 0x1400291d0
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov rcx, qword [sym.ProcessHacker.exe_PhMainWndHandle]
cmp rax, rcx
je 0x14003f84d
xor r9d, r9d
xor r8d, r8d
mov edx, 0x8090
call qword [sym.imp.USER32.dll_SendMessageW]
mov rbx, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
pop rsi
pop rbp
ret