Function at 0x140051ed0
Capabilities:
Check for unmoving mouse cursor

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
mov rbp, rsp
sub rsp, 0x68
mov rbx, rdx
lea rsi, [0x140000000]
xor r13d, r13d
mov rax, rbx
shr rax, 0x10
mov rdx, rcx
movzx r12d, ax
mov edi, r13d
cmp r12d, 0x20
jae 0x140051f2e
mov rcx, qword [rsi + r12*8 + 0x18ce20]
test rcx, rcx
je 0x140051f2e
mov rax, qword [rcx + 0x38]
mov rdi, rcx
test rax, rax
je 0x140051f2e
mov r9, qword [rcx + 0x10]
mov r8, rbx
call rax
test al, al
jne 0x1400522ab
movzx ecx, bx
cmp ecx, 0x205
ja 0x140052511
mov qword [rsp + 0xa0], r14
mov qword [rsp + 0x60], r15
je 0x1400523f1
sub ecx, 0x7b
je 0x1400523f1
sub ecx, 0x186
je 0x1400522dc
sub ecx, 1
je 0x1400520bf
cmp ecx, 1
jne 0x14005229e
xor eax, eax
mov r15d, 5
lock cmpxchg qword [0x14018d8b0], r15
je 0x140051f96
lea rcx, [0x14018d8b0]
call sym.4yUlCM3HuVsHzW5CaCX.exe_PhfAcquireQueuedLockShared
mov rsi, qword [0x140191a30]
lea rax, str.IconSingleClick
lea rcx, [rbp - 0x38]
mov qword [rbp - 0x30], 0x1e
mov qword [rbp - 0x28], rax
call qword [rsi + 0x10]
mov ecx, dword [rsi + 0x18]
btr eax, 0x1f
mov r14d, eax
dec ecx
mov rax, qword [rsi + 0x20]
and rcx, r14
mov edx, dword [rax + rcx*4]
cmp edx, 0xffffffff
je 0x14005200f
nop dword [rax]
nop word [rax + rax]
mov ebx, dword [rsi]
add ebx, 8
imul ebx, edx
add rbx, qword [rsi + 0x30]
cmp dword [rbx], r14d
jne 0x140052007
lea rdi, [rbx + 8]
mov rcx, rdi
lea rdx, [rbp - 0x38]
call qword [rsi + 8]
test al, al
jne 0x1400520a5
mov edx, dword [rbx + 4]
cmp edx, 0xffffffff
jne 0x140051fe0
mov ebx, dword [rbp + 0x40]
mov rdi, r13
mov rax, r15
lock cmpxchg qword [0x14018d8b0], r13
je 0x14005202f
lea rcx, [0x14018d8b0]
call sym.4yUlCM3HuVsHzW5CaCX.exe_PhfReleaseQueuedLockShared
test rdi, rdi
je 0x140052390
test ebx, ebx
jne 0x14005229e
cmp byte [0x1401922a0], r13b
je 0x140052088
mov rcx, qword [sym.4yUlCM3HuVsHzW5CaCX.exe_PhMainWndHandle]
mov edx, 2
call qword [sym.imp.USER32.dll_KillTimer]
mov rcx, qword [sym.4yUlCM3HuVsHzW5CaCX.exe_PhMainWndHandle]
lea r9, [0x1400546f0]
mov edx, 3
mov byte [0x14018da4e], r13b
mov r8d, 0x3e8
mov byte [0x14018da4d], 1
call qword [sym.imp.USER32.dll_SetTimer]
mov rcx, qword [sym.4yUlCM3HuVsHzW5CaCX.exe_PhMainWndHandle]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x8090
call qword [sym.imp.USER32.dll_SendMessageW]
jmp 0x14005229e
test rdi, rdi
je 0x14005200f
cmp dword [rdi], 1
jne 0x14005200f
mov ebx, dword [rdi + 0x28]
jmp 0x140052015
xor eax, eax
mov r15d, 5
lock cmpxchg qword [0x14018d8b0], r15
je 0x1400520de
lea rcx, [0x14018d8b0]
call sym.4yUlCM3HuVsHzW5CaCX.exe_PhfAcquireQueuedLockShared
mov r14, qword [0x140191a30]
lea rax, str.IconSingleClick
lea rcx, [rbp - 0x38]
mov qword [rbp - 0x30], 0x1e
mov qword [rbp - 0x28], rax
call qword [r14 + 0x10]
mov ecx, dword [r14 + 0x18]
btr eax, 0x1f
mov r13d, eax
dec ecx
mov rax, qword [r14 + 0x20]
and rcx, r13
mov edx, dword [rax + rcx*4]
cmp edx, 0xffffffff
je 0x140052151
nop dword [rax]
mov ebx, dword [r14]
add ebx, 8
imul ebx, edx
add rbx, qword [r14 + 0x30]
cmp dword [rbx], r13d
jne 0x140052149
lea rsi, [rbx + 8]
mov rcx, rsi
lea rdx, [rbp - 0x38]
call qword [r14 + 8]
test al, al
jne 0x1400521ca
mov edx, dword [rbx + 4]
cmp edx, 0xffffffff
jne 0x140052120
mov ebx, dword [rbp + 0x40]
xor r14d, r14d
mov esi, r14d
mov rax, r15
lock cmpxchg qword [0x14018d8b0], r14
je 0x140052174
lea rcx, [0x14018d8b0]
call sym.4yUlCM3HuVsHzW5CaCX.exe_PhfReleaseQueuedLockShared
test rsi, rsi
je 0x140052390
test ebx, ebx
jne 0x14005229e
cmp byte [0x1401922a0], bl
je 0x14005229e
cmp byte [0x14018da4e], bl
je 0x14005229e
test rdi, rdi
je 0x1400521fa
test byte [rdi + 0x28], 2
mov qword [rbp + 0x40], r14
je 0x1400521e3
mov rax, qword [rdi + 0x38]
test rax, rax
je 0x140052234
mov r9, qword [rdi + 0x10]
lea rdx, [rbp + 0x40]
mov r8d, 0x8001
mov rcx, rdi
call rax
jmp 0x140052234
test rsi, rsi
je 0x140052151
cmp dword [rsi], 1
jne 0x140052151
mov ebx, dword [rsi + 0x28]
xor r14d, r14d
jmp 0x14005215a
mov rcx, qword [sym.4yUlCM3HuVsHzW5CaCX.exe_PhMainWndHandle]
mov edx, 2
call qword [sym.imp.USER32.dll_KillTimer]
jmp 0x14005229e
mov ecx, r12d
mov ebx, 1
shl ebx, cl
sub ebx, 1
je 0x140052229
sub ebx, 1
je 0x1400522d0
sub ebx, 2
je 0x1400522c4
sub ebx, 4
je 0x1400522b8
cmp ebx, 8
jne 0x140052234
lea rax, [0x14015f200]
mov qword [rbp + 0x40], rax
lea rcx, [0x14018e3c0]
call qword [sym.imp.USER32.dll_GetCursorPos]
mov r8, qword [0x14018e3b8]
test r8, r8
je 0x140052263
mov rcx, qword [sym.4yUlCM3HuVsHzW5CaCX.exe_PhHeapHandle]
xor edx, edx
call qword [sym.imp.ntdll.dll_RtlFreeHeap]
mov qword [0x14018e3b8], r14
mov rcx, qword [rbp + 0x40]
test rcx, rcx
je 0x140052278
call sym.4yUlCM3HuVsHzW5CaCX.exe_PhDuplicateStringZ
mov qword [0x14018e3b8], rax
call qword [sym.imp.USER32.dll_GetDoubleClickTime]
lea r9, [0x1400546a0]
mov edx, 2
lea r8d, [rax + 0x8c]
mov rcx, qword [sym.4yUlCM3HuVsHzW5CaCX.exe_PhMainWndHandle]
call qword [sym.imp.USER32.dll_SetTimer]
mov r14, qword [rsp + 0xa0]
mov r15, qword [rsp + 0x60]
add rsp, 0x68
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
lea rax, [0x14015f228]
jmp 0x140052230
lea rax, [0x14015f208]
jmp 0x140052230
lea rax, [0x14015f248]
jmp 0x140052230
xor eax, eax
mov r15d, 5
lock cmpxchg qword [0x14018d8b0], r15
je 0x1400522fb
lea rcx, [0x14018d8b0]
call sym.4yUlCM3HuVsHzW5CaCX.exe_PhfAcquireQueuedLockShared
mov rsi, qword [0x140191a30]
lea rax, str.IconSingleClick
lea rcx, [rbp - 0x38]
mov qword [rbp - 0x30], 0x1e
mov qword [rbp - 0x28], rax
call qword [rsi + 0x10]
mov ecx, dword [rsi + 0x18]
btr eax, 0x1f
mov r14d, eax
dec ecx
mov rax, qword [rsi + 0x20]
and rcx, r14
mov edx, dword [rax + rcx*4]
cmp edx, 0xffffffff
je 0x14005236b
nop word [rax + rax]
mov ebx, dword [rsi]
add ebx, 8
imul ebx, edx
add rbx, qword [rsi + 0x30]
cmp dword [rbx], r14d
jne 0x140052363
lea rdi, [rbx + 8]
mov rcx, rdi
lea rdx, [rbp - 0x38]
call qword [rsi + 8]
test al, al
jne 0x14005239c
mov edx, dword [rbx + 4]
cmp edx, 0xffffffff
jne 0x140052340
mov ebx, dword [rbp + 0x40]
mov rdi, r13
mov rax, r15
lock cmpxchg qword [0x14018d8b0], r13
je 0x14005238b
lea rcx, [0x14018d8b0]
call sym.4yUlCM3HuVsHzW5CaCX.exe_PhfReleaseQueuedLockShared
test rdi, rdi
jne 0x1400523ab
mov ecx, 0xc0000225
call qword [sym.imp.ntdll.dll_RtlRaiseStatus]
int3
test rdi, rdi
je 0x14005236b
cmp dword [rdi], 1
jne 0x14005236b
mov ebx, dword [rdi + 0x28]
jmp 0x140052371
test ebx, ebx
je 0x1400523e5
mov rcx, qword [sym.4yUlCM3HuVsHzW5CaCX.exe_PhMainWndHandle]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x8090
call qword [sym.imp.USER32.dll_SendMessageW]
lea r9, [0x1400546f0]
mov byte [0x14018da4d], 1
mov edx, 3
mov r8d, 0x3e8
jmp 0x140052291
mov byte [0x14018da4e], 1
jmp 0x14005229e
xor eax, eax
mov r15d, 5
lock cmpxchg qword [0x14018d8b0], r15
je 0x140052410
lea rcx, [0x14018d8b0]
call sym.4yUlCM3HuVsHzW5CaCX.exe_PhfAcquireQueuedLockShared
mov rsi, qword [0x140191a30]
lea rax, str.IconSingleClick
lea rcx, [rbp - 0x38]
mov qword [rbp - 0x30], 0x1e
mov qword [rbp - 0x28], rax
call qword [rsi + 0x10]
mov ecx, dword [rsi + 0x18]
btr eax, 0x1f
mov r14d, eax
dec ecx
mov rax, qword [rsi + 0x20]
and rcx, r14
mov edx, dword [rax + rcx*4]
cmp edx, 0xffffffff
je 0x14005247b
nop dword [rax]
mov ebx, dword [rsi]
add ebx, 8
imul ebx, edx
add rbx, qword [rsi + 0x30]
cmp dword [rbx], r14d
jne 0x140052473
lea rdi, [rbx + 8]
mov rcx, rdi
lea rdx, [rbp - 0x38]
call qword [rsi + 8]
test al, al
jne 0x1400524ac
mov edx, dword [rbx + 4]
cmp edx, 0xffffffff
jne 0x140052450
mov ebx, dword [rbp + 0x40]
mov rdi, r13
mov rax, r15
lock cmpxchg qword [0x14018d8b0], r13
je 0x14005249b
lea rcx, [0x14018d8b0]
call sym.4yUlCM3HuVsHzW5CaCX.exe_PhfReleaseQueuedLockShared
test rdi, rdi
jne 0x1400524bb
mov ecx, 0xc0000225
call qword [sym.imp.ntdll.dll_RtlRaiseStatus]
int3
test rdi, rdi
je 0x14005247b
cmp dword [rdi], 1
jne 0x14005247b
mov ebx, dword [rdi + 0x28]
jmp 0x140052481
test ebx, ebx
jne 0x1400524da
cmp byte [0x1401922a0], r13b
je 0x1400524da
mov rcx, qword [sym.4yUlCM3HuVsHzW5CaCX.exe_PhMainWndHandle]
mov edx, 2
call qword [sym.imp.USER32.dll_KillTimer]
mov qword [rsp + 0x28], r13
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], r13
mov edx, 0xffffffff
mov ecx, 1
call fcn.140044cf0
lea rcx, [rbp + 0x40]
call qword [sym.imp.USER32.dll_GetCursorPos]
mov rcx, qword [rbp + 0x40]
call fcn.1400365f0
jmp 0x14005229e
sub ecx, 0x401
je 0x140052796
sub ecx, 4
je 0x140052632
sub ecx, 1
je 0x140052563
cmp ecx, 1
jne 0x1400522ab
mov qword [rsp + 0x28], r13
xor r9d, r9d
mov edx, 0xffffffff
mov qword [rsp + 0x20], r13
mov ecx, 1
mov r8d, 0x15e
call fcn.140044cf0
add rsp, 0x68
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
cmp byte [0x1401922a0], r13b
je 0x1400522ab
cmp byte [0x14018da4d], r13b
jne 0x1400522ab
mov ebx, 1
test rdi, rdi
je 0x1400525b3
test byte [rdi + 0x28], 2
mov qword [rbp + 0x40], r13
je 0x1400522ab
mov rax, qword [rdi + 0x38]
test rax, rax
je 0x1400525dc
mov r9, qword [rdi + 0x10]
lea rdx, [rbp + 0x40]
mov r8d, 0x8001
mov rcx, rdi
call rax
jmp 0x1400525dc
mov ecx, r12d
mov edx, ebx
shl edx, cl
sub edx, ebx
je 0x1400525d1
sub edx, ebx
je 0x140052629
sub edx, 2
je 0x140052620
sub edx, 4
je 0x140052617
cmp edx, 8
jne 0x1400525dc
lea rax, [0x14015f200]
mov qword [rbp + 0x40], rax
lea rcx, [rbp + 0x48]
call qword [sym.imp.USER32.dll_GetCursorPos]
lea rax, [rbp + 0x48]
mov r9d, 4
mov qword [rsp + 0x28], rax
xor r8d, r8d
mov rax, qword [rbp + 0x40]
mov edx, ebx
mov ecx, ebx
mov qword [rsp + 0x20], rax
call fcn.140044cf0
add rsp, 0x68
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
lea rax, [0x14015f228]
jmp 0x1400525d8
lea rax, [0x14015f208]
jmp 0x1400525d8
lea rax, [0x14015f248]
jmp 0x1400525d8
mov eax, dword [0x14018dde0]
sub eax, 1
je 0x1400526f0
sub eax, 3
je 0x140052654
sub eax, 0xc
je 0x140052654
cmp eax, 0x10
jne 0x1400522ab
mov rcx, qword [0x14018e0c0]
test rcx, rcx
je 0x1400522ab
mov rcx, qword [rcx + 8]
call sym.4yUlCM3HuVsHzW5CaCX.exe_PhReferenceServiceItem
mov rdi, rax
test rax, rax
je 0x1400522ab
movsxd r8, dword [0x14018df54]
xor r9d, r9d
mov rcx, qword [sym.4yUlCM3HuVsHzW5CaCX.exe_PhMainWndHandle]
mov edx, 0x8082
call qword [sym.imp.USER32.dll_SendMessageW]
mov rcx, qword [sym.4yUlCM3HuVsHzW5CaCX.exe_PhMainWndHandle]
mov r9, rdi
xor r8d, r8d
mov edx, 0x8086
call qword [sym.imp.USER32.dll_SendMessageW]
mov rcx, qword [sym.4yUlCM3HuVsHzW5CaCX.exe_PhMainWndHandle]
xor r9d, r9d
mov edx, 0x807f
mov r8d, 1
call qword [sym.imp.USER32.dll_SendMessageW]
lea rcx, [rdi - 0x10]
mov eax, 0xffffffff
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x1400522ab
add rsp, 0x68
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
jmp fcn.1400d9400
mov rax, qword [0x14018e0c0]
mov rcx, rax
shr rcx, 2
movzx edx, cl
mov rcx, qword [rsi + rdx*8 + 0x18eb30]
test rcx, rcx
je 0x1400522ab
cmp rax, qword [rcx + 0x28]
lea rbx, [rcx - 0x40]
je 0x140052731
mov rcx, qword [rcx]
test rcx, rcx
jne 0x140052712
add rsp, 0x68
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
test rbx, rbx
je 0x1400522ab
movsxd r8, dword [0x14018df7c]
xor r9d, r9d
mov rcx, qword [sym.4yUlCM3HuVsHzW5CaCX.exe_PhMainWndHandle]
mov edx, 0x8082
call qword [sym.imp.USER32.dll_SendMessageW]
mov rcx, qword [sym.4yUlCM3HuVsHzW5CaCX.exe_PhMainWndHandle]
mov r9, rbx
xor r8d, r8d
mov edx, 0x8085
call qword [sym.imp.USER32.dll_SendMessageW]
mov rcx, qword [sym.4yUlCM3HuVsHzW5CaCX.exe_PhMainWndHandle]
xor r9d, r9d
mov edx, 0x807f
mov r8d, 1
add rsp, 0x68
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
jmp qword [sym.imp.USER32.dll_SendMessageW]
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov rcx, qword [sym.4yUlCM3HuVsHzW5CaCX.exe_PhMainWndHandle]
cmp rax, rcx
je 0x1400522ab
xor r9d, r9d
xor r8d, r8d
mov edx, 0x8090
add rsp, 0x68
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
jmp qword [sym.imp.USER32.dll_SendMessageW]