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

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
push rdi
sub rsp, 0xc0
movaps xmmword [rax - 0x18], xmm6
movaps xmmword [rax - 0x28], xmm7
movaps xmmword [rax - 0x38], xmm8
movaps xmmword [rax - 0x48], xmm9
movaps xmmword [rax - 0x58], xmm10
movaps xmmword [rax - 0x68], xmm11
mov rax, qword [0x180159870]
xor rax, rsp
mov qword [rsp + 0x58], rax
mov rdi, rcx
lea rcx, [rsp + 0x50]
call qword [sym.imp.USER32.dll_GetCursorPos]
mov rax, qword [0x1801e5308]
lea rcx, [rsp + 0x50]
movd xmm0, dword [rsp + 0x50]
movss xmm6, dword [0x180129670]
movaps xmm7, xmm6
divss xmm7, dword [rax + 0x10]
cvtdq2ps xmm0, xmm0
mulss xmm7, xmm0
call qword [sym.imp.USER32.dll_GetCursorPos]
mov rax, qword [0x1801e5308]
movd xmm0, dword [rsp + 0x54]
movss xmm2, dword [rdi + 0x5c]
movss xmm11, dword [0x180129634]
divss xmm6, dword [rax + 0x14]
movss xmm1, dword [rdi + 0x54]
cvtdq2ps xmm0, xmm0
mulss xmm2, xmm11
mulss xmm6, xmm0
movaps xmm0, xmm1
subss xmm0, xmm2
comiss xmm7, xmm0
jbe 0x1800cd635
addss xmm1, xmm2
comiss xmm1, xmm7
jbe 0x1800cd635
movss xmm0, dword [rdi + 0x17c]
comiss xmm6, xmm0
jbe 0x1800cd635
addss xmm0, dword [rdi + 0xd0]
comiss xmm0, xmm6
jbe 0x1800cd635
movzx eax, byte [0x1801e52c0]
test al, al
je 0x1800cd635
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800cd635
movss xmm0, dword [rdi + 0xd0]
mulss xmm0, xmm11
movss dword [rdi + 0x54], xmm7
subss xmm6, xmm0
movss dword [rdi + 0x58], xmm6
lea rdx, [rdi + 0xdc]
lea rcx, [rdi + 0xe0]
call fcn.1800cfa20
mov ecx, dword [0x1801e5294]
mov edx, 8
movsxd rbx, dword [rax]
mov rax, qword gs:[0x58]
mov rcx, qword [rax + rcx*8]
mov eax, dword [rdx + rcx]
cmp dword [0x1801e5aa0], eax
jle 0x1800cd6a6
lea rcx, [0x1801e5aa0]
call fcn.1800db684
cmp dword [0x1801e5aa0], 0xffffffff
jne 0x1800cd6a6
lea rcx, [0x1801e5aa8]
call fcn.1800295e0
lea rcx, [0x1801e5aa0]
mov qword [0x1801e5ab0], 0
call fcn.1800db624
imul rax, rbx, 0xf4240
mov qword [0x1801e5ab0], rax
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 0x1800cd6d2
imul rax, rax, 0x64
jmp 0x1800cd6f0
cqo
idiv rbx
mov rcx, rax
imul rax, rdx, 0x3b9aca00
imul rcx, rcx, 0x3b9aca00
cqo
idiv rbx
add rax, rcx
mov r8, qword [0x1801e5308]
mov rcx, rax
sub rcx, qword [0x1801e5aa8]
cmp rcx, qword [0x1801e5ab0]
jl 0x1800cd757
mov qword [0x1801e5aa8], rax
mov eax, dword [r8 + 0x3e20]
cmp dword [0x1801e52fc], eax
je 0x1800cd757
mov rcx, qword [rdi + 0xe8]
mov dword [0x1801e52fc], eax
cmp rcx, 1
je 0x1800cd757
movsxd rdx, dword [rdi + 0xdc]
dec rcx
cmp rdx, rcx
jae 0x1800cd74d
lea eax, [rdx + 1]
mov dword [rdi + 0xdc], eax
jmp 0x1800cd757
mov dword [rdi + 0xdc], 0
mov rax, qword [r8 + 0x4860]
xor edx, edx
lea r8, str.Background
mov rcx, qword [rax]
call fcn.18003af30
movss xmm1, dword [rdi + 0xd0]
xorps xmm10, xmm10
movss xmm3, dword [rdi + 0x5c]
movaps xmm2, xmm1
addss xmm2, dword [0x1801295d4]
addss xmm3, dword [0x1801295d4]
movss dword [rsp + 0x40], xmm10
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], 0xffe04e47
mulss xmm2, xmm11
mov dword [rsp + 0x28], 0xffe75fa2
movss dword [rsp + 0x20], xmm1
movss xmm1, dword [rdi + 0x54]
addss xmm2, dword [rdi + 0x17c]
call fcn.1800cf170
mov rax, qword [0x1801e5308]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax + 0x4860]
mov rcx, qword [rcx]
call fcn.18003af30
movss xmm7, dword [rdi + 0xd0]
lea rdx, [rdi + 0xdc]
mov ebx, dword [rdi + 0xd4]
lea rcx, [rdi + 0xe0]
movss xmm8, dword [rdi + 0x5c]
movaps xmm9, xmm7
movss xmm6, dword [rdi + 0x54]
mulss xmm9, xmm11
addss xmm9, dword [rdi + 0x17c]
call fcn.1800cfa20
movss dword [rsp + 0x40], xmm10
movaps xmm3, xmm9
mov dword [rsp + 0x30], ebx
movaps xmm2, xmm6
movss dword [rsp + 0x28], xmm7
mov rdx, qword [rax + 4]
movss dword [rsp + 0x20], xmm8
call fcn.1800cf2a0
movss xmm0, dword [rdi + 0xd0]
addss xmm0, dword [rdi + 0x17c]
movss dword [rdi + 0x17c], xmm0
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.1800daf30
lea r11, [rsp + 0xc0]
mov rbx, qword [r11 + 0x18]
mov rbp, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
mov rsp, r11
pop rdi
ret