Function at 0x18000d1d0
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x80
mov qword [rsp + 0x20], r8
mov rbx, rdx
mov dword [0x18008b608], 0
mov rdi, rcx
test r9b, r9b
jne 0x18000d20f
call fcn.180007f80
xor al, al
mov rbx, qword [rsp + 0x98]
add rsp, 0x80
pop rdi
ret
movss xmm1, dword [rdx + 4]
mov rdx, r8
movss xmm0, dword [rbx]
unpcklps xmm0, xmm1
mov qword [rsp + 0x90], rsi
movq rcx, xmm0
movaps xmmword [rsp + 0x70], xmm6
movaps xmmword [rsp + 0x60], xmm7
call fcn.18000b280
cmp dword [0x180088178], 0xffffffff
movzx esi, al
je 0x18000d260
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x18000d260
mov dword [0x180088178], 0xffffffff
movzx eax, byte [0x18008b2ca]
xorps xmm6, xmm6
movss xmm7, dword [rsp + 0x20]
test al, al
je 0x18000d28f
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x18000d34d
movzx eax, byte [0x18008b2ca]
test sil, sil
jne 0x18000d2a7
movss xmm0, dword [0x18008b610]
ucomiss xmm0, xmm6
jp 0x18000d2a7
je 0x18000d346
test al, al
jne 0x18000d346
cmp byte [0x18008b2e0], 0
lea rcx, [0x18008b2f0]
movsxd rax, dword [0x18008b608]
je 0x18000d335
cmp byte [rax + rcx], 0
jne 0x18000d2d0
mov byte [rax + rcx], 1
call fcn.180008c30
movss xmm2, dword [0x18008b610]
ucomiss xmm2, xmm6
mov qword [rsp + 0x30], rax
movss xmm1, dword [rsp + 0x34]
movss xmm3, dword [rsp + 0x30]
subss xmm1, xmm7
subss xmm1, dword [rsp + 0x24]
jp 0x18000d31e
jne 0x18000d31e
movaps xmm2, xmm3
movaps xmm0, xmm1
subss xmm2, dword [rbx]
movss dword [0x18008b610], xmm2
subss xmm0, dword [rbx + 4]
movss dword [0x18008b614], xmm0
subss xmm3, xmm2
movss dword [rbx], xmm3
subss xmm1, dword [0x18008b614]
movss dword [rbx + 4], xmm1
jmp 0x18000d34d
mov byte [rax + rcx], 0
mov qword [0x18008b610], 0
jmp 0x18000d34d
mov byte [0x18008b2ca], 0
movss xmm2, dword [rsp + 0x24]
lea r9, [rsp + 0x30]
mov dword [0x18008b600], 0
mov dword [0x18008b604], 0
movss xmm0, dword [rbx]
movss xmm1, dword [rbx + 4]
movss dword [0x18008b760], xmm0
movups xmm0, xmmword [0x180088058]
mov qword [0x18008b768], 0
movss dword [0x18008b764], xmm1
movaps xmm1, xmm7
movdqa xmmword [rsp + 0x30], xmm0
mov qword [0x18008b780], 0
mov qword [0x18008b788], 0
movss xmm0, dword [rbx]
movss xmm3, dword [rbx + 4]
unpcklps xmm0, xmm3
movq rcx, xmm0
call fcn.18000d760
movups xmm0, xmmword [0x180088068]
lea r9, [rsp + 0x30]
movss xmm3, dword [rbx + 4]
movaps xmm1, xmm7
movss xmm6, dword [0x180034e74]
movdqa xmmword [rsp + 0x30], xmm0
movaps xmm2, xmm6
movss xmm0, dword [rbx]
unpcklps xmm0, xmm3
movq rcx, xmm0
call fcn.18000d760
movss xmm0, dword [0x18008b604]
lea rcx, [rsp + 0x40]
mulss xmm7, dword [0x180034e0c]
addss xmm0, xmm6
mov rdx, rdi
movss dword [0x18008b604], xmm0
movss xmm6, dword [rbx + 4]
addss xmm6, dword [0x180034e64]
addss xmm7, dword [rbx]
call fcn.180007e60
movdqa xmm0, xmmword [0x180034f30]
lea r8, [rsp + 0x30]
unpcklps xmm7, xmm6
xor r9d, r9d
movq rdx, xmm7
movaps xmmword [rsp + 0x30], xmm0
mov rcx, rax
call fcn.18000ccf0
mov rcx, rdi
call fcn.180007f80
movaps xmm7, xmmword [rsp + 0x60]
mov al, 1
movaps xmm6, xmmword [rsp + 0x70]
mov rsi, qword [rsp + 0x90]
mov rbx, qword [rsp + 0x98]
add rsp, 0x80
pop rdi
ret