Function at 0x140007310
Capabilities:
Check for unmoving mouse cursor
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r12
push r13
push r14
sub rsp, 0x50
mov rsi, rcx
movsxd rcx, dword [0x14000ea90]
mov r13, r9
mov rbx, r8
mov r12d, edx
call fcn.140008c24
xor r14d, r14d
mov rbp, 0xffffffffd0d0d0d1
mov rdi, rax
cmp dword [rax], r14d
jne 0x140007521
cmp r12d, 0x112
jne 0x1400077b0
mov rdx, rbx
and edx, 0xfff0
cmp rdx, 0xf000
jne 0x1400077b0
xor edx, edx
lea r8, [rsp + 0x30]
xor r9d, r9d
lea ecx, [rdx + 0x26]
call qword [sym.imp.USER32.dll_SystemParametersInfoA]
cmp dword [rsp + 0x30], r14d
je 0x1400077b0
lea rdx, [rdi + 0x10]
and ebx, 0xf
mov rcx, rsi
mov dword [rdi], 1
mov dword [rdi + 0x30], ebx
call qword [sym.imp.USER32.dll_GetWindowRect]
lea rdx, [rdi + 0x20]
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetWindowRect]
lea ecx, [r14 + 0x3d]
mov dword [rdi + 0x34], r14d
mov dword [rdi + 0x38], r14d
call qword [sym.imp.USER32.dll_GetSystemMetrics]
lea ecx, [r14 + 0x3e]
mov dword [rdi + 0x3c], eax
call qword [sym.imp.USER32.dll_GetSystemMetrics]
lea edx, [r14 - 0x10]
mov rcx, rsi
mov dword [rdi + 0x40], eax
call qword [sym.imp.USER32.dll_GetWindowLongPtrA]
bt rax, 0x17
jae 0x140007408
lea ecx, [r14 + 5]
call qword [sym.imp.USER32.dll_GetSystemMetrics]
lea ecx, [r14 + 6]
jmp 0x14000742d
mov edx, 0xffffffec
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetWindowLongPtrA]
bt rax, 8
jae 0x14000743b
mov ecx, 0x2d
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, 0x2e
mov dword [rdi + 0x44], eax
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov dword [rdi + 0x48], eax
jmp 0x140007443
mov dword [rdi + 0x44], r14d
mov dword [rdi + 0x48], r14d
mov ecx, 0x22
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, 0x23
mov dword [rdi + 0x4c], eax
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, 0x3b
mov dword [rdi + 0x50], eax
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, 0x3c
mov dword [rdi + 0x54], eax
call qword [sym.imp.USER32.dll_GetSystemMetrics]
xor r8d, r8d
lea r9, [rdi + 0x34]
lea edx, [r8 + 0x24]
mov rcx, rsi
mov dword [rdi + 0x58], eax
call qword [sym.imp.USER32.dll_SendMessageA]
mov ecx, 1
call qword [sym.imp.USER32.dll_GetKeyState]
cmp ax, r14w
jne 0x1400074b5
xor r9d, r9d
mov edx, 0x201
mov rcx, rsi
lea r8d, [r9 + 1]
call qword [sym.imp.USER32.dll_SendMessageA]
mov rcx, rsi
call qword [sym.imp.USER32.dll_SetCapture]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x231
mov rcx, rsi
call qword [sym.imp.USER32.dll_PostMessageA]
cmp dword [rdi + 0x30], r14d
jne 0x140007518
lea rcx, [rdi + 8]
mov dword [rdi + 4], 1
call qword [sym.imp.USER32.dll_GetCursorPos]
xor r9d, r9d
mov edx, 0x7f86
lea r8d, [r9 + 2]
xor ecx, ecx
mov dword [rsp + 0x28], 0x8040
mov dword [rsp + 0x20], r14d
call qword [sym.imp.USER32.dll_LoadImageA]
mov rcx, rax
call qword [sym.imp.USER32.dll_SetCursor]
jmp 0x1400077ad
mov dword [rdi + 4], r14d
jmp 0x1400077ad
cmp r12d, 0x200
jne 0x14000759b
mov dword [rax + 4], r14d
movsx eax, r13w
shr r13, 0x10
mov dword [rsp + 0x38], eax
movsx eax, r13w
lea r8, [rsp + 0x38]
mov r9d, 1
xor edx, edx
mov rcx, rsi
mov dword [rsp + 0x3c], eax
call qword [sym.imp.USER32.dll_MapWindowPoints]
mov edx, dword [rsp + 0x3c]
mov ecx, dword [rsp + 0x38]
mov r8, rdi
call fcn.140007118
movsxd r8, dword [rdi + 0x30]
lea r9, [rdi + 0x10]
lea edx, [r12 + 0x14]
mov rcx, rsi
call qword [sym.imp.USER32.dll_SendMessageA]
lea rdx, [rsp + 0x40]
mov rcx, rsi
movdqu xmm5, xmmword [rdi + 0x10]
movdqu xmmword [rsp + 0x40], xmm5
call fcn.140007220
jmp 0x1400077ad
cmp r12d, 0x100
jne 0x140007772
sub rbx, 0xd
je 0x14000776a
sub rbx, 0xe
je 0x14000776a
sub rbx, 0xa
je 0x14000771d
sub rbx, 1
je 0x1400076c8
sub rbx, 1
je 0x14000766f
cmp rbx, 1
jne 0x1400077b0
lea rcx, [rsp + 0x38]
call qword [sym.imp.USER32.dll_GetCursorPos]
mov eax, dword [rdi + 0x30]
cmp eax, r14d
jne 0x140007611
mov r8d, dword [rdi + 0x1c]
mov dword [rdi + 0x30], 6
sub r8d, 2
mov edx, dword [rsp + 0x38]
mov ecx, 0x7f85
jmp 0x14000764e
cmp eax, 2
jne 0x140007632
mov r8d, dword [rdi + 0x1c]
mov edx, dword [rdi + 0x18]
mov dword [rdi + 0x30], 8
sub r8d, 2
sub edx, 2
mov ecx, 0x7f82
jmp 0x14000764e
cmp eax, 1
jne 0x140007658
mov r8d, dword [rdi + 0x1c]
mov edx, dword [rdi + 0x10]
mov dword [rdi + 0x30], 7
sub r8d, 2
mov ecx, 0x7f83
call fcn.1400070d4
jmp 0x1400077b0
mov r8d, dword [rsp + 0x3c]
add r8d, 0xa
mov edx, dword [rsp + 0x38]
mov dword [rsp + 0x3c], r8d
jmp 0x14000775d
lea rcx, [rsp + 0x38]
call qword [sym.imp.USER32.dll_GetCursorPos]
mov eax, dword [rdi + 0x30]
cmp eax, r14d
jne 0x14000769b
mov edx, dword [rdi + 0x18]
mov dword [rdi + 0x30], 2
sub edx, 2
mov r8d, dword [rsp + 0x3c]
mov ecx, 0x7f84
jmp 0x14000764e
cmp eax, 3
jne 0x1400076b3
mov edx, dword [rdi + 0x18]
mov r8d, dword [rdi + 0x14]
mov dword [rdi + 0x30], 5
sub edx, 2
jmp 0x140007649
cmp eax, 6
je 0x140007616
mov edx, dword [rsp + 0x38]
add edx, 0xa
jmp 0x140007754
lea rcx, [rsp + 0x38]
call qword [sym.imp.USER32.dll_GetCursorPos]
mov eax, dword [rdi + 0x30]
cmp eax, r14d
jne 0x1400076eb
mov r8d, dword [rdi + 0x14]
mov dword [rdi + 0x30], 3
jmp 0x140007606
cmp eax, 2
je 0x1400076a0
cmp eax, 1
jne 0x14000770f
mov r8d, dword [rdi + 0x14]
mov edx, dword [rdi + 0x10]
mov dword [rdi + 0x30], 4
add r8d, 2
add edx, 2
jmp 0x14000762b
mov r8d, dword [rsp + 0x3c]
sub r8d, 0xa
jmp 0x140007661
lea rcx, [rsp + 0x38]
call qword [sym.imp.USER32.dll_GetCursorPos]
mov eax, dword [rdi + 0x30]
cmp eax, r14d
jne 0x14000773f
mov edx, dword [rdi + 0x10]
mov dword [rdi + 0x30], 1
jmp 0x14000768f
cmp eax, 3
je 0x1400076f5
cmp eax, 6
je 0x140007637
mov edx, dword [rsp + 0x38]
sub edx, 0xa
mov r8d, dword [rsp + 0x3c]
mov dword [rsp + 0x38], edx
mov r9, rdi
mov rcx, rsi
call fcn.140007294
jmp 0x1400077b0
call qword [sym.imp.USER32.dll_ReleaseCapture]
jmp 0x1400077ad
cmp r12d, 0x202
je 0x14000776a
cmp r12d, 0x215
jne 0x1400077b0
lea edx, [r12 + 0x1d]
xor r9d, r9d
xor r8d, r8d
mov rcx, rsi
call qword [sym.imp.USER32.dll_PostMessageA]
mov dword [rdi], r14d
cmp dword [rdi + 4], r14d
je 0x1400077ad
mov edx, dword [rdi + 0xc]
mov ecx, dword [rdi + 8]
call qword [sym.imp.USER32.dll_SetCursorPos]
mov rbp, r14
lea r11, [rsp + 0x50]
mov rax, rbp
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop r13
pop r12
ret