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

Disassembly:
push rsi
sub rsp, 0x100
mov rax, qword [0x18001e010]
xor rax, rsp
mov qword [rsp + 0x70], rax
cmp byte [0x18001e070], 0
mov rsi, rcx
mov qword [rsp + 0x40], r8
mov dword [0x18001eab0], 0
jne 0x18000323a
xor al, al
jmp 0x180003656
mov qword [rsp + 0x118], rbx
lea rcx, [rsp + 0x60]
mov qword [rsp + 0xf8], rbp
movaps xmmword [rsp + 0xe0], xmm6
movss xmm6, dword [0x180020eec]
movaps xmmword [rsp + 0xd0], xmm7
movss xmm7, dword [0x180020ee8]
movaps xmmword [rsp + 0xb0], xmm9
movaps xmmword [rsp + 0xa0], xmm10
call qword [sym.imp.USER32.dll_GetCursorPos]
movd xmm1, dword [rsp + 0x60]
movd xmm0, dword [rsp + 0x64]
movss xmm9, dword [rsp + 0x44]
movss xmm10, dword [rsp + 0x40]
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm0, xmm0
comiss xmm1, xmm7
jbe 0x1800032c9
comiss xmm0, xmm6
jbe 0x1800032c9
addss xmm7, xmm10
comiss xmm7, xmm1
jbe 0x1800032c9
addss xmm6, xmm9
comiss xmm6, xmm0
jbe 0x1800032c9
mov bl, 1
jmp 0x1800032cb
xor bl, bl
mov rbp, 0xffffffffffffffff
cmp dword [0x18001e048], ebp
je 0x1800032ee
lea ecx, [rbp + 2]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x1800032ee
mov dword [0x18001e048], ebp
movzx eax, byte [0x18001e82f]
xorps xmm6, xmm6
test al, al
je 0x180003317
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x180003406
movzx eax, byte [0x18001e82f]
test bl, bl
jne 0x18000332e
movss xmm0, dword [0x180020f40]
ucomiss xmm0, xmm6
jp 0x18000332e
je 0x1800033ff
test al, al
jne 0x1800033ff
cmp byte [0x18001e890], 0
movsxd rax, dword [0x18001eab0]
je 0x1800033db
lea rcx, [0x18001e8a0]
cmp byte [rax + rcx], 0
jne 0x18000335b
mov byte [rax + rcx], 1
lea rcx, [rsp + 0x68]
call qword [sym.imp.USER32.dll_GetCursorPos]
movd xmm2, dword [rsp + 0x6c]
movd xmm1, dword [rsp + 0x68]
movss xmm0, dword [0x180020f40]
ucomiss xmm0, xmm6
cvtdq2ps xmm2, xmm2
cvtdq2ps xmm1, xmm1
subss xmm2, xmm9
subss xmm1, xmm10
jp 0x1800033b9
jne 0x1800033b9
movaps xmm0, xmm1
movaps xmm3, xmm2
subss xmm0, dword [0x180020ee8]
subss xmm3, dword [0x180020eec]
movss dword [0x180020f40], xmm0
movss dword [0x180020f44], xmm3
jmp 0x1800033c1
movss xmm3, dword [0x180020f44]
subss xmm1, xmm0
subss xmm2, xmm3
movss dword [0x180020ee8], xmm1
movss dword [0x180020eec], xmm2
jmp 0x180003406
cmp rax, 0x100
jae 0x18000366c
lea rcx, [0x18001e8a0]
mov qword [0x180020f40], 0
mov byte [rax + rcx], 0
jmp 0x180003406
mov byte [0x18001e82f], 0
comiss xmm9, xmm6
mov qword [rsp + 0xf0], rdi
mov dword [0x18001e9a4], 0
mov dword [0x18001eab4], 0
mov qword [0x180020f50], 0
mov qword [0x180020f60], 0
mov qword [0x180020f48], 0
movss xmm1, dword [0x180020ee8]
xorps xmm7, xmm7
movaps xmmword [rsp + 0xc0], xmm8
movss xmm8, dword [0x18001ad24]
movaps xmmword [rsp + 0x90], xmm11
movss xmm11, dword [0x180020eec]
movaps xmmword [rsp + 0x80], xmm12
movups xmm12, xmmword [0x18001acb8]
movss dword [0x180020f84], xmm11
movss dword [0x180020f80], xmm1
jbe 0x1800034fa
movaps xmm0, xmm1
movss dword [rsp + 0x38], xmm1
addss xmm0, xmm10
movss dword [rsp + 0x30], xmm0
nop
mov rcx, qword [0x18001e888]
lea rax, [rsp + 0x50]
movaps xmm0, xmm11
movdqa xmmword [rsp + 0x50], xmm12
addss xmm0, xmm7
mov qword [rsp + 0x20], rax
movaps xmm3, xmm8
movss dword [rsp + 0x34], xmm0
mov r8, qword [rsp + 0x30]
movss dword [rsp + 0x3c], xmm0
mov rdx, qword [rsp + 0x38]
call fcn.180001990
addss xmm7, xmm8
comiss xmm9, xmm7
ja 0x1800034b0
movss xmm1, dword [0x180020ee8]
movups xmm9, xmmword [0x18001abd8]
movss xmm11, dword [0x180020eec]
movaps xmm0, xmm1
movss xmm7, dword [0x18001ad9c]
addss xmm0, xmm10
movaps xmm12, xmmword [rsp + 0x80]
movss dword [rsp + 0x30], xmm1
movss dword [rsp + 0x38], xmm0
nop dword [rax + rax]
mov rcx, qword [0x18001e888]
lea rax, [rsp + 0x50]
movaps xmm0, xmm6
movdqa xmmword [rsp + 0x50], xmm9
addss xmm0, xmm11
mov qword [rsp + 0x20], rax
movaps xmm3, xmm8
movss dword [rsp + 0x3c], xmm0
mov r8, qword [rsp + 0x38]
movss dword [rsp + 0x34], xmm0
mov rdx, qword [rsp + 0x30]
call fcn.180001990
addss xmm6, xmm8
comiss xmm7, xmm6
ja 0x180003540
movss xmm0, dword [0x18001eab4]
mov rdi, rbp
mulss xmm10, dword [0x18001ad18]
addss xmm0, xmm7
movss xmm6, dword [0x180020eec]
movaps xmm11, xmmword [rsp + 0x90]
movaps xmm8, xmmword [rsp + 0xc0]
addss xmm6, dword [0x18001ad80]
addss xmm10, dword [0x180020ee8]
movss dword [0x18001eab4], xmm0
inc rdi
cmp byte [rsi + rdi], 0
jne 0x1800035d4
inc rdi
mov eax, 2
mul rdi
cmovo rax, rbp
mov rcx, rax
call fcn.1800145a4
mov r8, rdi
mov rdx, rsi
mov rcx, rax
mov rbx, rax
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_mbstowcs]
movaps xmm0, xmm10
mov rcx, rbx
unpcklps xmm0, xmm6
movq rdx, xmm0
call fcn.180002e40
mov rdi, qword [rsp + 0xf0]
mov al, 1
movaps xmm9, xmmword [rsp + 0xb0]
movaps xmm7, xmmword [rsp + 0xd0]
movaps xmm6, xmmword [rsp + 0xe0]
mov rbp, qword [rsp + 0xf8]
mov rbx, qword [rsp + 0x118]
movaps xmm10, xmmword [rsp + 0xa0]
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.1800141c0
add rsp, 0x100
pop rsi
ret
call fcn.1800143cc
int3