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

Disassembly:
push rbp
push r14
sub rsp, 0x88
mov rax, qword [0x180150028]
xor rax, rsp
mov qword [rsp + 0x48], rax
mov rax, qword [rcx + 0x78]
mov r14, rdx
mov rbp, rcx
cmp byte [rax], 0
jne 0x1800a3f91
lea rcx, [rsp + 0x38]
mov qword [rsp + 0x38], 0xfa
call fcn.18008ef60
jmp 0x1800a447c
movzx eax, byte [0x1801530b5]
test al, al
je 0x1800a3fbd
cmp dword [0x180150314], 1
jne 0x1800a3fbd
lea rcx, [rsp + 0x38]
mov qword [rsp + 0x38], 0xa
call fcn.18008ef60
jmp 0x1800a447c
movzx eax, byte [0x1801530b5]
test al, al
jne 0x1800a3fd1
cmp dword [0x180150314], 0
je 0x1800a3fa5
mov qword [rsp + 0xb0], rbx
mov qword [rsp + 0x80], rsi
mov qword [rsp + 0x78], rdi
call qword [sym.imp.USER32.dll_GetForegroundWindow]
cmp rax, qword [0x1801530b8]
jne 0x1800a4494
mov ecx, 2
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800a4494
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x1800a402b
imul rax, rax, 0x64
jmp 0x1800a4049
cqo
idiv rbx
mov rcx, rax
imul rax, rdx, 0x3b9aca00
imul rcx, rcx, 0x3b9aca00
cqo
idiv rbx
add rax, rcx
mov qword [rbp + 0x198], rax
mov eax, dword [0x180153174]
mov qword [rsp + 0x70], r15
xor esi, esi
mov dword [rbp + 0x1a8], eax
cmp byte [0x180153278], sil
jne 0x1800a4136
movss xmm0, dword [0x180154840]
lea rcx, [rsp + 0x30]
movss xmm1, dword [0x180154844]
movss dword [0x180154848], xmm0
movss dword [0x18015484c], xmm1
mov qword [rsp + 0x30], rsi
call fcn.18008dc70
mov rbx, qword [rsp + 0x30]
movabs r15, 0x431bde82d7b634db
nop
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rdi, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rdi, 0x989680
jne 0x1800a40ce
imul rcx, rax, 0x64
jmp 0x1800a40ef
cqo
idiv rdi
mov r8, rax
imul rax, rdx, 0x3b9aca00
cqo
idiv rdi
mov rcx, rax
imul rax, r8, 0x3b9aca00
add rcx, rax
sub rcx, rbx
mov rax, r15
imul rcx
xorps xmm0, xmm0
sar rdx, 0x12
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cvtsi2ss xmm0, rdx
cvttss2si eax, xmm0
cmp eax, dword [0x180150310]
jge 0x1800a412f
mov ecx, 2
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x1800a40b0
jmp 0x1800a4462
mov byte [0x180153278], 1
cmp byte [0x180153279], sil
je 0x1800a4173
mov rcx, qword [r14]
add rcx, 0x68
cmp qword [rcx + 0x18], 0x10
mov rdx, qword [rcx + 0x10]
jb 0x1800a4154
mov rcx, qword [rcx]
lea r9, str.tile
mov qword [rsp + 0x20], 4
call fcn.18008f400
cmp rax, 0xffffffffffffffff
je 0x1800a4462
movss xmm1, dword [0x18015484c]
lea rcx, [0x180153390]
movaps xmmword [rsp + 0x60], xmm6
lea rbx, [rbp + 0x190]
movaps xmmword [rsp + 0x50], xmm7
call fcn.180066000
subss xmm1, dword [0x180154848]
xorps xmm0, xmm0
mov eax, eax
xorps xmm6, xmm6
lea rdx, [0x180154858]
mov rcx, rbx
cvtsi2ss xmm0, rax
subss xmm0, xmm6
addss xmm0, xmm6
mulss xmm0, dword [0x1801375c4]
mulss xmm0, xmm1
addss xmm0, dword [0x180154848]
movss dword [0x180154850], xmm0
call fcn.1800a2200
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rdi, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rdi, 0x989680
jne 0x1800a41fe
imul rdx, rax, 0x64
jmp 0x1800a421c
cqo
idiv rdi
mov rcx, rax
imul rax, rdx, 0x3b9aca00
cqo
idiv rdi
imul rdx, rcx, 0x3b9aca00
add rdx, rax
movss xmm7, dword [0x1801377e0]
xorps xmm1, xmm1
mov qword [rbx + 0x10], rdx
movabs rbp, 0x20c49ba5e353f7cf
sub rdx, qword [rbx + 8]
mov rax, rbp
imul rdx
sar rdx, 7
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cvtsi2ss xmm1, rdx
divss xmm1, xmm7
movss dword [rbx + 0x1c], xmm1
movss xmm0, dword [0x180154854]
addss xmm0, dword [0x180154850]
subss xmm0, xmm1
divss xmm0, xmm7
cvtps2pd xmm0, xmm0
call fcn.1800a23f0
mov ecx, 2
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800a4458
lea rcx, [rsp + 0x40]
mov qword [rsp + 0x40], rsi
call qword [sym.imp.USER32.dll_GetCursorPos]
movsxd r9, dword [rsp + 0x44]
mov edx, 0x204
mov rcx, qword [0x1801530b8]
mov r8d, 0x2000000
call qword [sym.imp.USER32.dll_PostMessageW]
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rdi, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rdi, 0x989680
jne 0x1800a42da
imul rax, rax, 0x64
jmp 0x1800a42f8
cqo
idiv rdi
mov r8, rax
imul rax, rdx, 0x3b9aca00
cqo
idiv rdi
imul rdx, r8, 0x3b9aca00
add rax, rdx
mov rcx, rbx
mov qword [rbx + 8], rax
call fcn.1800a2010
movss xmm1, dword [0x18015484c]
lea rcx, [0x180153390]
call fcn.180066000
subss xmm1, dword [0x180154848]
xorps xmm0, xmm0
mov eax, eax
lea rdx, [0x180154870]
mov rcx, rbx
cvtsi2ss xmm0, rax
subss xmm0, xmm6
addss xmm0, xmm6
mulss xmm0, dword [0x1801375c4]
mulss xmm0, xmm1
addss xmm0, dword [0x180154848]
movss dword [0x180154850], xmm0
call fcn.1800a2200
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rdi, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rdi, 0x989680
jne 0x1800a437b
imul rdx, rax, 0x64
jmp 0x1800a4399
cqo
idiv rdi
mov rcx, rax
imul rax, rdx, 0x3b9aca00
cqo
idiv rdi
imul rdx, rcx, 0x3b9aca00
add rdx, rax
mov qword [rbx + 0x10], rdx
xorps xmm1, xmm1
sub rdx, qword [rbx + 8]
mov rax, rbp
imul rdx
sar rdx, 7
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cvtsi2ss xmm1, rdx
divss xmm1, xmm7
movss dword [rbx + 0x1c], xmm1
movss xmm0, dword [0x180154854]
addss xmm0, dword [0x180154850]
subss xmm0, xmm1
divss xmm0, xmm7
cvtps2pd xmm0, xmm0
call fcn.1800a23f0
lea rcx, [rsp + 0x38]
mov qword [rsp + 0x38], rsi
call qword [sym.imp.USER32.dll_GetCursorPos]
movsxd r9, dword [rsp + 0x3c]
xor r8d, r8d
mov rcx, qword [0x1801530b8]
mov edx, 0x205
call qword [sym.imp.USER32.dll_PostMessageW]
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rdi, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rdi, 0x989680
jne 0x1800a442e
imul rax, rax, 0x64
jmp 0x1800a444c
cqo
idiv rdi
mov r8, rax
imul rax, rdx, 0x3b9aca00
cqo
idiv rdi
imul rdx, r8, 0x3b9aca00
add rax, rdx
mov rcx, rbx
mov qword [rbx + 8], rax
call fcn.1800a2010
movaps xmm6, xmmword [rsp + 0x60]
movaps xmm7, xmmword [rsp + 0x50]
mov r15, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x80]
mov rbx, qword [rsp + 0xb0]
mov rdi, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.1800d26f0
add rsp, 0x88
pop r14
pop rbp
ret
cmp byte [0x180153278], 0
je 0x1800a450f
mov rdi, qword [0x180154890]
mov rbx, qword [0x180154888]
cmp rbx, rdi
je 0x1800a4508
movss xmm2, dword [0x18013765c]
xor esi, esi
nop word [rax + rax]
mov edx, dword [rbx + 0x24]
mov ecx, 1
movd xmm0, dword [rbx + 0x10]
cvtdq2ps xmm0, xmm0
mov word [rbx], si
mov dword [rbx + 0x20], esi
movd xmm1, edx
cvtdq2ps xmm1, xmm1
divss xmm1, xmm0
mulss xmm1, xmm2
cvttss2si eax, xmm1
sub ecx, eax
imul ecx, edx
mov edx, dword [rbx + 0x18]
mov dword [rbx + 0x24], ecx
mov ecx, dword [rbx + 0x14]
call fcn.180064390
mov dword [rbx + 0x10], eax
add rbx, 0x28
cmp rbx, rdi
jne 0x1800a44c0
mov byte [0x180153278], 0
lea rcx, [rsp + 0x38]
mov qword [rsp + 0x38], 0x32
call fcn.18008ef60
jmp 0x1800a4467