Function at 0x18010d5c0
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, 0xb0
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
mov rax, qword [0x1802138c0]
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 [0x1802d8cb0]
lea rcx, [rsp + 0x50]
movd xmm0, dword [rsp + 0x50]
movss xmm6, dword [0x1801d477c]
movaps xmm7, xmm6
divss xmm7, dword [rax + 0x10]
cvtdq2ps xmm0, xmm0
mulss xmm7, xmm0
call qword [sym.imp.USER32.dll_GetCursorPos]
mov rax, qword [0x1802d8cb0]
movd xmm0, dword [rsp + 0x54]
movss xmm2, dword [rdi + 0x5c]
movss xmm10, dword [0x1801d4738]
divss xmm6, dword [rax + 0x14]
movss xmm1, dword [rdi + 0x54]
cvtdq2ps xmm0, xmm0
mulss xmm2, xmm10
mulss xmm6, xmm0
movaps xmm0, xmm1
subss xmm0, xmm2
comiss xmm7, xmm0
jbe 0x18010d6d0
addss xmm1, xmm2
comiss xmm1, xmm7
jbe 0x18010d6d0
movss xmm0, dword [rdi + 0x18c]
comiss xmm6, xmm0
jbe 0x18010d6d0
addss xmm0, dword [rdi + 0xd0]
comiss xmm0, xmm6
jbe 0x18010d6d0
movzx eax, byte [0x1802d8c20]
test al, al
je 0x18010d6d0
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18010d6d0
movss xmm0, dword [rdi + 0xd0]
mulss xmm0, xmm10
movss dword [rdi + 0x54], xmm7
subss xmm6, xmm0
movss dword [rdi + 0x58], xmm6
lea rdx, [rdi + 0xdc]
lea rcx, [rdi + 0xe0]
call fcn.18010fb20
mov ecx, dword [0x1802d8bf4]
mov edx, 8
movsxd rbx, dword [rax]
mov rax, qword gs:[0x58]
mov rax, qword [rax + rcx*8]
mov eax, dword [rdx + rax]
cmp dword [0x1802d9630], eax
jle 0x18010d741
lea rcx, [0x1802d9630]
call fcn.180168e64
cmp dword [0x1802d9630], 0xffffffff
jne 0x18010d741
lea rcx, [0x1802d9638]
call fcn.180031c80
lea rcx, [0x1802d9630]
mov qword [0x1802d9640], 0
call fcn.180168df8
imul rax, rbx, 0xf4240
lea rcx, [rsp + 0x50]
mov qword [0x1802d9640], rax
call fcn.180031c80
mov rax, qword [rsp + 0x50]
mov r8, qword [0x1802d8cb0]
mov rcx, rax
sub rcx, qword [0x1802d9638]
cmp rcx, qword [0x1802d9640]
jl 0x18010d7c5
mov qword [0x1802d9638], rax
mov eax, dword [r8 + 0x3e20]
cmp dword [0x1802d8ca4], eax
je 0x18010d7c5
mov rcx, qword [rdi + 0xe8]
mov dword [0x1802d8ca4], eax
cmp rcx, 1
je 0x18010d7c5
movsxd rdx, dword [rdi + 0xdc]
dec rcx
cmp rdx, rcx
jae 0x18010d7bb
lea eax, [rdx + 1]
mov dword [rdi + 0xdc], eax
jmp 0x18010d7c5
mov dword [rdi + 0xdc], 0
mov rcx, qword [r8 + 0x4860]
xor edx, edx
lea r8, str.Background
mov rcx, qword [rcx]
call fcn.180054c50
movss xmm8, dword [rdi + 0xd0]
lea rdx, [rdi + 0xdc]
mov ebx, dword [rdi + 0xd4]
lea rcx, [rdi + 0xe0]
movss xmm9, dword [rdi + 0x5c]
movaps xmm7, xmm8
movss xmm6, dword [rdi + 0x54]
mulss xmm7, xmm10
addss xmm7, dword [rdi + 0x18c]
call fcn.18010fb20
movss xmm0, dword [0x1801d4820]
movaps xmm3, xmm7
mov dword [rsp + 0x48], Ordinal_50
movaps xmm2, xmm6
movss dword [rsp + 0x40], xmm0
mov rdx, qword [rax + 4]
mov dword [rsp + 0x30], ebx
movss dword [rsp + 0x28], xmm8
movss dword [rsp + 0x20], xmm9
call fcn.18010f170
movss xmm0, dword [rdi + 0xd0]
addss xmm0, dword [rdi + 0x18c]
movss dword [rdi + 0x18c], xmm0
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.180168800
lea r11, [rsp + 0xb0]
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]
mov rsp, r11
pop rdi
ret