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

Disassembly:
push rsi
sub rsp, 0x100
mov rax, qword [0x18001d010]
xor rax, rsp
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x40], r8
mov rsi, rcx
mov dword [0x18001d904], 0
test r9b, r9b
jne 0x180002f76
xor al, al
jmp 0x180003399
mov qword [rsp + 0x118], rbx
lea rcx, [rsp + 0x60]
mov qword [rsp + 0xf8], rbp
movaps xmmword [rsp + 0xe0], xmm6
movss xmm6, dword [0x18001fe3c]
movaps xmmword [rsp + 0xd0], xmm7
movss xmm7, dword [0x18001fe38]
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 0x180003005
comiss xmm0, xmm6
jbe 0x180003005
addss xmm7, xmm10
comiss xmm7, xmm1
jbe 0x180003005
addss xmm6, xmm9
comiss xmm6, xmm0
jbe 0x180003005
mov bl, 1
jmp 0x180003007
xor bl, bl
mov rbp, 0xffffffffffffffff
cmp dword [0x18001d044], ebp
je 0x18000302a
lea ecx, [rbp + 2]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x18000302a
mov dword [0x18001d044], ebp
movzx eax, byte [0x18001d7cc]
xorps xmm6, xmm6
test al, al
je 0x180003053
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x180003142
movzx eax, byte [0x18001d7cc]
test bl, bl
jne 0x18000306a
movss xmm0, dword [0x18001fe90]
ucomiss xmm0, xmm6
jp 0x18000306a
je 0x18000313b
test al, al
jne 0x18000313b
cmp byte [0x18001d7f8], 0
movsxd rax, dword [0x18001d904]
je 0x180003117
lea rcx, [0x18001d800]
cmp byte [rax + rcx], 0
jne 0x180003097
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 [0x18001fe90]
ucomiss xmm0, xmm6
cvtdq2ps xmm2, xmm2
cvtdq2ps xmm1, xmm1
subss xmm2, xmm9
subss xmm1, xmm10
jp 0x1800030f5
jne 0x1800030f5
movaps xmm0, xmm1
movaps xmm3, xmm2
subss xmm0, dword [0x18001fe38]
subss xmm3, dword [0x18001fe3c]
movss dword [0x18001fe90], xmm0
movss dword [0x18001fe94], xmm3
jmp 0x1800030fd
movss xmm3, dword [0x18001fe94]
subss xmm1, xmm0
subss xmm2, xmm3
movss dword [0x18001fe38], xmm1
movss dword [0x18001fe3c], xmm2
jmp 0x180003142
cmp rax, 0x100
jae 0x1800033af
lea rcx, [0x18001d800]
mov qword [0x18001fe90], 0
mov byte [rax + rcx], 0
jmp 0x180003142
mov byte [0x18001d7cc], 0
comiss xmm9, xmm6
mov qword [rsp + 0xf0], rdi
mov dword [0x18001d900], 0
mov dword [0x18001d908], 0
mov qword [0x18001fea0], 0
mov qword [0x18001feb0], 0
mov qword [0x18001fe98], 0
movss xmm1, dword [0x18001fe38]
xorps xmm7, xmm7
movaps xmmword [rsp + 0xc0], xmm8
movss xmm8, dword [0x180019a20]
movaps xmmword [rsp + 0x90], xmm11
movss xmm11, dword [0x18001fe3c]
movaps xmmword [rsp + 0x80], xmm12
movups xmm12, xmmword [0x180019990]
movss dword [0x18001fed4], xmm11
movss dword [0x18001fed0], xmm1
jbe 0x18000323a
movaps xmm0, xmm1
movss dword [rsp + 0x38], xmm1
addss xmm0, xmm10
movss dword [rsp + 0x30], xmm0
nop word [rax + rax]
mov rcx, qword [0x18001d7f0]
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 0x1800031f0
movss xmm1, dword [0x18001fe38]
movss xmm9, dword [0x18001fe3c]
movaps xmm0, xmm1
movups xmm11, xmmword [0x1800198b0]
movss xmm7, dword [0x180019a90]
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 [0x18001d7f0]
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 0x180003280
movss xmm0, dword [0x18001d908]
mov rdi, rbp
mulss xmm10, dword [0x180019a14]
addss xmm0, xmm7
movss xmm6, dword [0x18001fe3c]
movaps xmm11, xmmword [rsp + 0x90]
movaps xmm8, xmmword [rsp + 0xc0]
addss xmm6, dword [0x180019a74]
addss xmm10, dword [0x18001fe38]
movss dword [0x18001d908], xmm0
inc rdi
cmp byte [rsi + rdi], 0
jne 0x180003314
inc rdi
mov eax, 2
mul rdi
cmovo rax, rbp
mov rcx, rax
call fcn.180013e6c
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]
subss xmm6, dword [0x180019a70]
movaps xmm1, xmm10
mov rcx, rbx
movaps xmm2, xmm6
call fcn.180002a10
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.180013a80
add rsp, 0x100
pop rsi
ret
call fcn.180013c8c
int3