Function at 0x180001e20
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
push rdi
sub rsp, 0x90
movss xmm3, dword [0x18000b18c]
xorps xmm0, xmm0
movaps xmmword [rax - 0x18], xmm6
mov rsi, r9
movaps xmmword [rax - 0x28], xmm7
mov rdi, r8
movaps xmm7, xmm1
movaps xmmword [rax - 0x38], xmm8
movss xmm1, dword [rcx + 0x10]
mov rbx, rcx
cvtss2sd xmm0, xmm7
movaps xmmword [rax - 0x48], xmm9
addsd xmm0, qword [0x18000b130]
movss xmm9, dword [0x18000b150]
movaps xmmword [rax - 0x58], xmm10
movss xmm10, dword [0x18000b248]
addss xmm1, xmm10
movss dword [rax - 0x78], xmm9
cvtpd2ps xmm6, xmm0
movaps xmm2, xmm6
call fcn.180004470
xor ebp, ebp
test al, al
je 0x180001ebb
lea ecx, [rbp + 1]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x180001ebb
cmp dword [rdi], ebp
mov eax, ebp
sete al
mov dword [rdi], eax
mov rcx, qword [rbx + 8]
movaps xmm8, xmm7
addss xmm8, dword [0x18000b160]
movss xmm1, dword [rbx + 0x10]
movss xmm0, dword [0x18000b178]
addss xmm1, dword [0x18000b21c]
mov rax, qword [rcx]
movss xmm3, dword [0x18000b210]
movaps xmm2, xmm8
mov dword [rsp + 0x30], ebp
mov dword [rsp + 0x28], 0x82040404
movss dword [rsp + 0x20], xmm0
call qword [rax + 0x50]
movaps xmm2, xmm6
mov rcx, qword [rbx + 8]
movss xmm1, dword [rbx + 0x10]
addss xmm1, xmm10
movss xmm3, dword [0x18000b18c]
mov dword [rsp + 0x30], ebp
mov rax, qword [rcx]
mov dword [rsp + 0x28], 0x78121212
movss dword [rsp + 0x20], xmm9
cmp dword [rdi], ebp
je 0x180001feb
call qword [rax + 0x50]
mov rcx, qword [rbx + 8]
movaps xmm2, xmm6
movss xmm1, dword [rbx + 0x10]
addss xmm1, dword [0x18000b250]
movss xmm3, dword [0x18000b164]
mov rax, qword [rcx]
mov dword [rsp + 0x30], ebp
mov dword [rsp + 0x28], 0xebc0c0c0
movss dword [rsp + 0x20], xmm9
call qword [rax + 0x50]
mov rcx, qword [rbx + 8]
movaps xmm2, xmm8
movss xmm1, dword [rbx + 0x10]
movss xmm0, dword [0x18000b174]
addss xmm1, dword [0x18000b258]
mov rax, qword [rcx]
movss xmm6, dword [0x18000b118]
mov dword [rsp + 0x30], ebp
movaps xmm3, xmm6
mov dword [rsp + 0x28], 0xebc0c0c0
movss dword [rsp + 0x20], xmm0
call qword [rax + 0x50]
movss xmm1, dword [rbx + 0x10]
movaps xmm2, xmm7
addss xmm2, dword [0x18000b15c]
addss xmm1, dword [0x18000b21c]
movss xmm3, dword [0x18000b210]
mov dword [rsp + 0x30], ebp
mov dword [rsp + 0x28], 0xff0e0e0e
movss dword [rsp + 0x20], xmm6
jmp 0x180002092
call qword [rax + 0x50]
mov rcx, qword [rbx + 8]
movaps xmm2, xmm6
movss xmm1, dword [rbx + 0x10]
movss xmm3, dword [0x18000b164]
addss xmm1, xmm10
mov dword [rsp + 0x30], ebp
mov rax, qword [rcx]
mov dword [rsp + 0x28], 0xff1e5945
movss dword [rsp + 0x20], xmm9
call qword [rax + 0x50]
mov rcx, qword [rbx + 8]
movaps xmm2, xmm7
movss xmm1, dword [rbx + 0x10]
addss xmm2, dword [0x18000b15c]
addss xmm1, dword [0x18000b21c]
mov rax, qword [rcx]
movss xmm6, dword [0x18000b118]
movss xmm3, dword [0x18000b210]
mov dword [rsp + 0x30], ebp
mov dword [rsp + 0x28], 0xff0e0e0e
movss dword [rsp + 0x20], xmm6
call qword [rax + 0x50]
movss xmm1, dword [rbx + 0x10]
movaps xmm3, xmm6
movss xmm0, dword [0x18000b174]
movaps xmm2, xmm8
addss xmm1, dword [0x18000b258]
mov dword [rsp + 0x30], ebp
mov dword [rsp + 0x28], 0xff1e5945
movss dword [rsp + 0x20], xmm0
mov rcx, qword [rbx + 8]
mov rax, qword [rcx]
call qword [rax + 0x50]
movss xmm1, dword [rbx + 0x10]
mov rcx, rbx
addss xmm7, dword [0x18000b170]
addss xmm1, dword [0x18000b220]
mov dword [rsp + 0xa8], 0xffffffff
mov r9d, dword [rsp + 0xa8]
mov qword [rsp + 0x28], rsi
movaps xmm2, xmm7
mov byte [rsp + 0x20], bpl
movd edx, xmm1
movd r8d, xmm2
call fcn.180007e00
movaps xmm7, xmmword [rsp + 0x70]
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x10]
mov rbp, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
mov rsp, r11
pop rdi
ret