Function at 0x1402b59bc
Capabilities:
Check for unmoving mouse cursor

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
lea rbp, [rsp - 0x2f]
sub rsp, 0xd8
mov qword [rbp + 7], 0xfffffffffffffffe
mov rsi, rcx
mov ecx, dword [rcx + 0x5e0]
or r12d, 0xffffffff
xor r13d, r13d
test ecx, ecx
je 0x1402b5cb6
mov eax, 0x3e8
sub ecx, eax
je 0x1402b5caa
sub ecx, 2
je 0x1402b5b15
sub ecx, 0x7ce
je 0x1402b5b06
cmp ecx, 2
je 0x1402b5a24
mov dword [rsi + 0x5e0], r13d
jmp 0x1402b5d0f
mov dword [rsi + 0x5e0], eax
lea rdx, [rsi + 0x490]
lea rcx, [rsi + 0x268]
call fcn.1400147d4
mov r11, qword [0x14048abe8]
mov rax, qword [r11 + 0x20]
mov rcx, qword [rax + 8]
mov rax, qword [rcx]
lea rdx, [rbp + 0x7f]
call qword [rax + 0x250]
mov rcx, qword [rax]
call fcn.1400beacc
mov edi, eax
mov rdx, qword [rbp + 0x7f]
add rdx, 0xffffffffffffffe8
mov ecx, r12d
lock xadd dword [rdx + 0x10], ecx
add ecx, r12d
test ecx, ecx
jg 0x1402b5a84
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
cmp qword [rsi + 0x278], r13
je 0x1402b5a9c
mov rcx, qword [rsi + 0x278]
mov rax, qword [rcx]
mov edx, edi
call qword [rax + 0x48]
xor edx, edx
lea rcx, [rsi + 0x220]
call fcn.1401af7f0
lea rcx, [rsi + 0x220]
call fcn.1401aed10
xor r9d, r9d
xor r8d, r8d
mov edx, 0x110a
mov rcx, qword [rsi + 0x228]
call qword [sym.imp.USER32.dll_SendMessageW]
mov r9, rax
mov edx, 0x110b
mov r8d, 9
mov rcx, qword [rsi + 0x228]
call qword [sym.imp.USER32.dll_SendMessageW]
mov r9d, 0x105
xor r8d, r8d
xor edx, edx
mov rcx, qword [rsi + 0x228]
call qword [sym.imp.USER32.dll_RedrawWindow]
jmp 0x1402b5d0f
mov dword [rsi + 0x5e0], 0xbba
jmp 0x1402b5d0f
mov dword [rsi + 0x5e0], r13d
mov rax, qword [rsi + 0x530]
lea rcx, [rsi + 0x530]
call qword [rax + 0x78]
lea rcx, [rsi + 0x318]
lea rdx, [rsi + 0x530]
call fcn.1400147d4
mov r11, qword [0x14048abe8]
mov rax, qword [r11 + 0x20]
mov rcx, qword [rax + 8]
mov rax, qword [rcx]
lea rdx, [rbp - 0x29]
call qword [rax + 0x250]
mov rcx, qword [rax]
call fcn.1400beacc
mov edi, eax
mov rdx, qword [rbp - 0x29]
add rdx, 0xffffffffffffffe8
mov ecx, r12d
lock xadd dword [rdx + 0x10], ecx
add ecx, r12d
test ecx, ecx
jg 0x1402b5b87
mov rcx, qword [rdx]
mov r9, qword [rcx]
call qword [r9 + reloc.OLEAUT32.dll_VariantClear]
xor r9d, r9d
lea r8d, [r9 + 2]
mov edx, edi
lea rcx, [rsi + 0x2d0]
call fcn.1401aee40
xor edx, edx
lea rcx, [rsi + 0x2d0]
call fcn.1401af7f0
lea rcx, [rsi + 0x2d0]
call fcn.1401aed10
xor r9d, r9d
xor r8d, r8d
mov edx, 0x110a
mov rcx, qword [rsi + 0x2d8]
call qword [sym.imp.USER32.dll_SendMessageW]
mov r9, rax
mov edx, 0x110b
mov r8d, 9
mov rcx, qword [rsi + 0x2d8]
call qword [sym.imp.USER32.dll_SendMessageW]
mov r9d, 0x105
xor r8d, r8d
xor edx, edx
mov rcx, qword [rsi + 0x2d8]
call qword [sym.imp.USER32.dll_RedrawWindow]
mov edx, 0x3fd
mov rcx, qword [rsi - 0x148]
call qword [sym.imp.USER32.dll_GetDlgItem]
mov edx, r13d
cmp byte [rsi + 0x48a], r13b
sete dl
mov rcx, rax
call qword [sym.imp.USER32.dll_EnableWindow]
mov edx, 0x3fc
mov rcx, qword [rsi - 0x148]
call qword [sym.imp.USER32.dll_GetDlgItem]
mov edx, 1
mov rcx, rax
call qword [sym.imp.USER32.dll_EnableWindow]
mov byte [rsi + 0x288], r13b
mov qword [rbp + 0x67], r13
lea rcx, [rbp + 0x67]
call qword [sym.imp.USER32.dll_GetCursorPos]
mov edx, dword [rbp + 0x6b]
mov ecx, dword [rbp + 0x67]
call qword [sym.imp.USER32.dll_SetCursorPos]
mov byte [rsi + 0x338], r13b
mov qword [rbp + 0x6f], r13
lea rcx, [rbp + 0x6f]
call qword [sym.imp.USER32.dll_GetCursorPos]
mov edx, dword [rbp + 0x73]
mov ecx, dword [rbp + 0x6f]
call qword [sym.imp.USER32.dll_SetCursorPos]
mov byte [rsi + 0x5e4], r13b
mov al, byte [rsi + 0x5e5]
test al, al
je 0x1402b5d0f
lea rcx, [rsi - 0x158]
call fcn.1402b529c
jmp 0x1402b5d0f
mov dword [rsi + 0x5e0], 0x3ea
jmp 0x1402b5d0f
mov byte [rsi + 0x5e4], 1
mov dword [rsi + 0x5e0], 0xbb8
mov edx, 0x3fd
mov rcx, qword [rsi - 0x148]
call qword [sym.imp.USER32.dll_GetDlgItem]
xor edx, edx
mov rcx, rax
call qword [sym.imp.USER32.dll_EnableWindow]
mov edx, 0x3fc
mov rcx, qword [rsi - 0x148]
call qword [sym.imp.USER32.dll_GetDlgItem]
xor edx, edx
mov rcx, rax
call qword [sym.imp.USER32.dll_EnableWindow]
mov byte [rsi + 0x288], 1
mov byte [rsi + 0x338], 1
cmp dword [rsi + 0x5e0], r13d
je 0x1402b60af
lea rcx, [rbp - 0x59]
call fcn.140004840
nop
mov ecx, UnRegisterTypeLib
call fcn.1400be454
mov qword [rbp - 0x41], rax
test rax, rax
je 0x1402b5d43
mov rcx, rax
call fcn.140008998
jmp 0x1402b5d46
mov rax, r13
mov rdx, rax
lea rcx, [rbp - 0x21]
call fcn.14000890c
nop
mov rax, qword [0x14048abe8]
mov rcx, qword [rax + 0x20]
mov rax, qword [rcx]
lea rdx, [rbp - 0x21]
call qword [rax + 0x50]
cmp qword [rsi + 0x5d0], r13
jne 0x1402b5e9a
mov ecx, 0x58
call fcn.1400be454
test rax, rax
je 0x1402b5d91
mov rcx, rax
call fcn.1402d28a0
mov rdi, rax
jmp 0x1402b5d94
mov rdi, r13
mov qword [rbp - 0x79], rdi
mov qword [rbp - 0x71], r13
mov rdx, rdi
lea rcx, [rbp - 0x49]
call fcn.1400190d4
mov rdx, qword [rbp - 0x71]
mov rcx, qword [rax]
mov qword [rbp - 0x71], rcx
mov qword [rax], rdx
mov rbx, qword [rbp - 0x49]
test rbx, rbx
je 0x1402b5deb
mov eax, r12d
lock xadd dword [rbx + 8], eax
add eax, r12d
jne 0x1402b5deb
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, r12d
lock xadd dword [rbx + 0xc], eax
add eax, r12d
jne 0x1402b5deb
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
mov r8, rdi
mov rdx, rdi
lea rcx, [rbp - 0x79]
call fcn.1400020a0
nop
mov rax, qword [rbp - 0x79]
mov qword [rbp + 0xf], rax
mov rcx, qword [rbp - 0x71]
mov rbx, r13
mov qword [rbp - 0x71], rbx
mov qword [rbp - 0x79], r13
mov qword [rsi + 0x5d0], rax
mov rdi, qword [rsi + 0x5d8]
mov qword [rsi + 0x5d8], rcx
test rdi, rdi
je 0x1402b5e5c
mov eax, r12d
lock xadd dword [rdi + 8], eax
add eax, r12d
jne 0x1402b5e58
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, r12d
lock xadd dword [rdi + 0xc], eax
add eax, r12d
jne 0x1402b5e58
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
mov rbx, qword [rbp - 0x71]
test rbx, rbx
je 0x1402b5e8d
mov eax, r12d
lock xadd dword [rbx + 8], eax
add eax, r12d
jne 0x1402b5e8d
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, r12d
lock xadd dword [rbx + 0xc], eax
add eax, r12d
jne 0x1402b5e8d
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
cmp qword [rsi + 0x5d0], r13
je 0x1402b603f
mov ecx, UnRegisterTypeLib
call fcn.1400be454
mov qword [rbp - 0x41], rax
test rax, rax
je 0x1402b5edb
lea rcx, [rsi - 0x158]
neg rcx
sbb rdx, rdx
and rdx, rsi
mov qword [rsp + 0x20], rdx
lea r9, [rbp - 0x21]
mov r8d, dword [rsi + 0x5e0]
lea rdx, [rbp - 0x59]
mov rcx, rax
call fcn.14001a680
jmp 0x1402b5ede
mov rax, r13
mov rdx, rax
lea rcx, [rbp - 0x39]
call fcn.140018a28
nop
mov al, byte [rsi + 0x489]
test al, al
jne 0x1402b5f12
cmp byte [rsi + 0x48a], r13b
je 0x1402b5ff7
test al, al
jne 0x1402b5f12
cmp byte [rsi + 0x48a], r13b
mov r8b, r13b
je 0x1402b5f15
mov r8b, 1
lea rdx, [rbp - 0x11]
mov rcx, qword [0x14048abe8]
call fcn.1402bd5cc
nop
mov rcx, qword [rbp - 0x11]
test rcx, rcx
je 0x1402b5fc2
mov rax, qword [rcx]
call qword [rax + 0x90]
mov qword [rbp - 1], rax
mov rbx, qword [rax]
mov rdi, qword [rax + 8]
mov qword [rbp + 0x77], rbx
cmp rbx, rdi
je 0x1402b5fc2
mov rax, qword [rbx]
mov qword [rbp - 0x69], rax
mov rax, qword [rbx + 8]
mov qword [rbp - 0x61], rax
test rax, rax
je 0x1402b5f6c
lock inc dword [rax + 8]
mov rbx, qword [rbp + 0x77]
mov rcx, qword [rbp - 0x39]
add rcx, 0x28
lea rdx, [rbp - 0x69]
call fcn.14007c7ac
nop
mov rcx, qword [rbp - 0x61]
test rcx, rcx
je 0x1402b5fbc
mov eax, r12d
lock xadd dword [rcx + 8], eax
add eax, r12d
jne 0x1402b5fb8
mov rbx, qword [rbp - 0x61]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, r12d
lock xadd dword [rbx + 0xc], eax
add eax, r12d
jne 0x1402b5fb8
mov rcx, qword [rbp - 0x61]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rbx, qword [rbp + 0x77]
add rbx, 0x10
jmp 0x1402b5f47
mov rbx, qword [rbp - 9]
test rbx, rbx
je 0x1402b5ff7
mov eax, r12d
lock xadd dword [rbx + 8], eax
add eax, r12d
jne 0x1402b5ff7
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, r12d
lock xadd dword [rbx + 0xc], eax
add eax, r12d
jne 0x1402b5ff7
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
mov rcx, qword [rsi + 0x5d0]
mov rax, qword [rcx]
lea rdx, [rbp - 0x39]
call qword [rax + 0x10]
nop
mov rbx, qword [rbp - 0x31]
test rbx, rbx
je 0x1402b603f
mov eax, r12d
lock xadd dword [rbx + 8], eax
add eax, r12d
jne 0x1402b603f
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, r12d
lock xadd dword [rbx + 0xc], eax
add eax, r12d
jne 0x1402b603f
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
nop
mov rbx, qword [rbp - 0x19]
test rbx, rbx
je 0x1402b6075
mov eax, r12d
lock xadd dword [rbx + 8], eax
add eax, r12d
jne 0x1402b6075
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, r12d
lock xadd dword [rbx + 0xc], eax
add eax, r12d
jne 0x1402b6075
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
nop
mov rcx, qword [rbp - 0x51]
test rcx, rcx
je 0x1402b60af
mov eax, r12d
lock xadd dword [rcx + 8], eax
add eax, r12d
jne 0x1402b60af
mov rbx, qword [rbp - 0x51]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, r12d
lock xadd dword [rbx + 0xc], eax
add eax, r12d
jne 0x1402b60af
mov rcx, qword [rbp - 0x51]
mov rax, qword [rcx]
call qword [rax + 0x10]
add rsp, 0xd8
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret