Function at 0x140015f90
Capabilities:
Check for unmoving mouse cursor

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r14
sub rsp, 0x50
mov rax, qword [0x14029e8b8]
xor rax, rsp
mov qword [rsp + 0x48], rax
mov r14, qword [rsp + 0xa0]
mov rsi, r9
mov rbp, r8
mov rdi, rcx
cmp edx, 6
je 0x14001619d
cmp edx, 0x113
je 0x140016116
cmp edx, 0x205
jne 0x14001626a
movsx eax, si
add rcx, 0x58
mov dword [rsp + 0x30], eax
shr rsi, 0x10
movsx eax, si
mov dword [rsp + 0x34], eax
mov rdx, qword [rsp + 0x30]
call fcn.1400e29f0
mov rsi, rax
test rax, rax
je 0x14001626a
mov rcx, qword [rdi + 8]
lea rdx, [rsp + 0x30]
call qword [sym.imp.USER32.dll_ClientToScreen]
mov ebx, 1
mov rcx, rsi
mov dword [r14], ebx
mov rdx, qword [rsi]
call qword [rdx + 0x20]
lea r9, str.BookmarksBarItemUI
mov rdx, 0xffffffffffffffff
mov r8, rax
nop dword [rax]
movzx ecx, word [r8 + rdx*2 + 2]
cmp cx, word [r9 + rdx*2 + 2]
jne 0x140016068
add rdx, 2
cmp rdx, 0x13
je 0x1400160e0
movzx eax, word [r8 + rdx*2]
cmp ax, word [r9 + rdx*2]
je 0x140016040
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x20]
lea r8, str.BookmarksFolderItemUI
xor ecx, ecx
nop word [rax + rax]
movzx edx, word [rax + rcx*2]
cmp dx, word [r8 + rcx*2]
jne 0x14001626a
movzx edx, word [rax + rcx*2 + 2]
cmp dx, word [r8 + rcx*2 + 2]
jne 0x14001626a
add rcx, 2
cmp rcx, 0x16
jne 0x140016080
mov r8, qword [rsp + 0x30]
mov r9, rsi
mov rdx, qword [rdi + 8]
mov rcx, qword [rdi + 0x418]
mov byte [rdi + 0x430], bl
mov byte [rsp + 0x20], 0
call fcn.1400217f0
mov qword [rdi + 0x438], rax
mov byte [rdi + 0x430], 0
jmp 0x14001626a
mov r8, qword [rsp + 0x30]
mov r9, rsi
mov rdx, qword [rdi + 8]
mov rcx, qword [rdi + 0x418]
mov byte [rdi + 0x430], bl
mov byte [rsp + 0x20], 0
call fcn.140021920
mov qword [rdi + 0x438], rax
mov byte [rdi + 0x430], 0
jmp 0x14001626a
cmp rbp, 0x7d6
jne 0x14001626a
lea rcx, [rsp + 0x30]
call qword [sym.imp.USER32.dll_GetCursorPos]
mov rcx, rdi
call fcn.1400e8ee0
mov rcx, rax
lea rdx, [rsp + 0x30]
call qword [sym.imp.USER32.dll_ScreenToClient]
mov rdx, qword [rsp + 0x30]
lea rcx, [rdi + 0x58]
call fcn.1400e29f0
test rax, rax
jne 0x140016189
mov rbx, qword [rdi + 0x450]
test rbx, rbx
je 0x14001617c
mov rcx, rbx
call fcn.1400124e0
test rax, rax
jne 0x140016189
mov rbx, qword [rbx + 0x458]
test rbx, rbx
jne 0x140016163
mov edx, 1
mov rcx, rdi
call fcn.1400e90a0
mov rcx, qword [rdi + 8]
mov edx, 0x7d6
call qword [sym.imp.USER32.dll_KillTimer]
jmp 0x14001626a
lea rcx, [rsp + 0x30]
mov qword [rsp + 0x88], r15
xor bl, bl
call qword [sym.imp.USER32.dll_GetCursorPos]
mov rcx, qword [rdi + 0x440]
call fcn.1400e8ee0
mov rcx, rax
lea rdx, [rsp + 0x30]
call qword [sym.imp.USER32.dll_ScreenToClient]
mov rcx, rdi
call fcn.1400e8ee0
mov rcx, rax
lea rdx, [rsp + 0x38]
call qword [sym.imp.USER32.dll_GetWindowRect]
mov rcx, qword [rdi + 0x440]
call fcn.1400e8ee0
mov rdx, rax
lea r8, [rsp + 0x38]
mov r9d, 2
xor ecx, ecx
call qword [sym.imp.USER32.dll_MapWindowPoints]
mov rdx, qword [rsp + 0x30]
lea rcx, [rsp + 0x38]
call qword [sym.imp.USER32.dll_PtInRect]
test eax, eax
movzx r15d, bl
mov ebx, 1
cmovne r15d, ebx
xor ecx, ecx
cmp cx, bp
jne 0x14001625f
test si, si
jne 0x14001625f
mov rcx, qword [rdi + 0x438]
call qword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x14001625f
cmp byte [rdi + 0x430], al
jne 0x14001625f
cmp byte [rdi + 0x458], al
jne 0x14001625f
test r15b, r15b
jne 0x14001625f
mov edx, ebx
mov rcx, rdi
call fcn.1400e90a0
mov r15, qword [rsp + 0x88]
mov dword [r14], ebx
xor eax, eax
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.140160a40
add rsp, 0x50
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret