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

Disassembly:
push rsi
sub rsp, 0x100
mov rax, qword [0x18001d040]
xor rax, rsp
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x40], r8
mov rsi, rcx
mov dword [0x18001da80], 0
test r9b, r9b
jne 0x180002fa6
xor al, al
jmp 0x1800033c3
mov qword [rsp + 0x118], rbx
lea rcx, [rsp + 0x60]
mov qword [rsp + 0xf8], rbp
movaps xmmword [rsp + 0xe0], xmm6
movss xmm6, dword [0x18001febc]
movaps xmmword [rsp + 0xd0], xmm7
movss xmm7, dword [0x18001feb8]
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 0x180003035
comiss xmm0, xmm6
jbe 0x180003035
addss xmm7, xmm10
comiss xmm7, xmm1
jbe 0x180003035
addss xmm6, xmm9
comiss xmm6, xmm0
jbe 0x180003035
mov bl, 1
jmp 0x180003037
xor bl, bl
mov rbp, 0xffffffffffffffff
cmp dword [0x18001d0b4], ebp
je 0x18000305a
lea ecx, [rbp + 2]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x18000305a
mov dword [0x18001d0b4], ebp
movzx eax, byte [0x18001d7fe]
xorps xmm6, xmm6
test al, al
je 0x180003083
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x180003172
movzx eax, byte [0x18001d7fe]
test bl, bl
jne 0x18000309a
movss xmm0, dword [0x18001ff10]
ucomiss xmm0, xmm6
jp 0x18000309a
je 0x18000316b
test al, al
jne 0x18000316b
cmp byte [0x18001d860], 0
movsxd rax, dword [0x18001da80]
je 0x180003147
lea rcx, [0x18001d870]
cmp byte [rax + rcx], 0
jne 0x1800030c7
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 [0x18001ff10]
ucomiss xmm0, xmm6
cvtdq2ps xmm2, xmm2
cvtdq2ps xmm1, xmm1
subss xmm2, xmm9
subss xmm1, xmm10
jp 0x180003125
jne 0x180003125
movaps xmm0, xmm1
movaps xmm3, xmm2
subss xmm0, dword [0x18001feb8]
subss xmm3, dword [0x18001febc]
movss dword [0x18001ff10], xmm0
movss dword [0x18001ff14], xmm3
jmp 0x18000312d
movss xmm3, dword [0x18001ff14]
subss xmm1, xmm0
subss xmm2, xmm3
movss dword [0x18001feb8], xmm1
movss dword [0x18001febc], xmm2
jmp 0x180003172
cmp rax, 0x100
jae 0x1800033d9
lea rcx, [0x18001d870]
mov qword [0x18001ff10], 0
mov byte [rax + rcx], 0
jmp 0x180003172
mov byte [0x18001d7fe], 0
comiss xmm9, xmm6
mov qword [rsp + 0xf0], rdi
mov dword [0x18001d974], 0
mov dword [0x18001da84], 0
mov qword [0x18001ff20], 0
mov qword [0x18001ff30], 0
mov qword [0x18001ff18], 0
movss xmm1, dword [0x18001feb8]
xorps xmm7, xmm7
movaps xmmword [rsp + 0xc0], xmm8
movss xmm8, dword [0x180019874]
movaps xmmword [rsp + 0x90], xmm11
movss xmm11, dword [0x18001febc]
movaps xmmword [rsp + 0x80], xmm12
movups xmm12, xmmword [0x1800197d8]
movss dword [0x18001ff54], xmm11
movss dword [0x18001ff50], xmm1
jbe 0x18000326a
movaps xmm0, xmm1
movss dword [rsp + 0x38], xmm1
addss xmm0, xmm10
movss dword [rsp + 0x30], xmm0
nop word [rax + rax]
mov rcx, qword [0x18001d858]
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.180001750
addss xmm7, xmm8
comiss xmm9, xmm7
ja 0x180003220
movss xmm1, dword [0x18001feb8]
movss xmm9, dword [0x18001febc]
movaps xmm0, xmm1
movups xmm11, xmmword [0x1800196f8]
movss xmm7, dword [0x1800198e8]
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 [0x18001d858]
lea rax, [rsp + 0x50]
movaps xmm0, xmm6
movdqa xmmword [rsp + 0x50], xmm11
addss xmm0, xmm9
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.180001750
addss xmm6, xmm8
comiss xmm7, xmm6
ja 0x1800032b0
movss xmm0, dword [0x18001da84]
mov rdi, rbp
mulss xmm10, dword [0x180019868]
addss xmm0, xmm7
movss xmm6, dword [0x18001febc]
movaps xmm11, xmmword [rsp + 0x90]
movaps xmm8, xmmword [rsp + 0xc0]
addss xmm6, dword [0x1800198cc]
addss xmm10, dword [0x18001feb8]
movss dword [0x18001da84], xmm0
inc rdi
cmp byte [rsi + rdi], 0
jne 0x180003344
inc rdi
mov eax, 2
mul rdi
cmovo rax, rbp
mov rcx, rax
call fcn.18001392c
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]
unpcklps xmm10, xmm6
mov rcx, rbx
movq rdx, xmm10
call fcn.180002b20
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.180013540
add rsp, 0x100
pop rsi
ret
call fcn.18001374c
int3