Function at 0x18000c1e0
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 0x10], rbx
push rsi
sub rsp, 0x60
mov qword [rsp + 0x20], r8
mov rbx, rdx
mov dword [0x18001a7ec], 0
mov rsi, rcx
test r9b, r9b
jne 0x18000c211
xor al, al
mov rbx, qword [rsp + 0x78]
add rsp, 0x60
pop rsi
ret
movss xmm0, dword [rdx + 4]
mov rdx, r8
movss xmm1, dword [rbx]
unpcklps xmm1, xmm0
mov qword [rsp + 0x70], rdi
movq rcx, xmm1
movaps xmmword [rsp + 0x50], xmm6
movaps xmmword [rsp + 0x40], xmm7
call fcn.18000aa50
cmp dword [0x18001a014], 0xffffffff
movzx edi, al
je 0x18000c269
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov edx, dword [0x18001a014]
mov r8d, 0xffffffff
test ax, ax
cmove edx, r8d
mov dword [0x18001a014], edx
movzx eax, byte [0x18001a4c1]
xorps xmm6, xmm6
movss xmm7, dword [rsp + 0x20]
test al, al
je 0x18000c298
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x18000c369
movzx eax, byte [0x18001a4c1]
test dil, dil
jne 0x18000c2b0
movss xmm0, dword [0x18001a7f8]
ucomiss xmm0, xmm6
jp 0x18000c2b0
je 0x18000c362
test al, al
jne 0x18000c362
cmp byte [0x18001a4d0], 0
movsxd rax, dword [0x18001a7ec]
je 0x18000c33e
lea rcx, [0x18001a4e0]
cmp byte [rax + rcx], 0
jne 0x18000c2d9
mov byte [rax + rcx], 1
call fcn.180009410
movss xmm1, dword [0x18001a7f8]
ucomiss xmm1, xmm6
mov qword [rsp + 0x30], rax
movss xmm2, dword [rsp + 0x30]
movss xmm3, dword [rsp + 0x34]
subss xmm2, xmm7
subss xmm3, dword [rsp + 0x24]
jp 0x18000c327
jne 0x18000c327
movaps xmm1, xmm2
movaps xmm0, xmm3
subss xmm1, dword [rbx]
movss dword [0x18001a7f8], xmm1
subss xmm0, dword [rbx + 4]
movss dword [0x18001a7fc], xmm0
subss xmm2, xmm1
movss dword [rbx], xmm2
subss xmm3, dword [0x18001a7fc]
movss dword [rbx + 4], xmm3
jmp 0x18000c369
cmp rax, 0x100
jae 0x18000c48e
lea rcx, [0x18001a4e0]
mov qword [0x18001a7f8], 0
mov byte [rax + rcx], 0
jmp 0x18000c369
mov byte [0x18001a4c1], 0
movss xmm2, dword [rsp + 0x24]
lea r9, [rsp + 0x30]
mov dword [0x18001a4c4], 0
mov dword [0x18001a7e8], 0
movss xmm0, dword [rbx]
movss xmm1, dword [rbx + 4]
movss dword [0x18001ce38], xmm0
movups xmm0, xmmword [0x18001a040]
mov qword [0x18001d0d8], 0
movss dword [0x18001ce3c], xmm1
movaps xmm1, xmm7
movdqa xmmword [rsp + 0x30], xmm0
mov qword [0x18001d0f0], 0
mov qword [0x18001d0f8], 0
movss xmm0, dword [rbx]
movss xmm3, dword [rbx + 4]
unpcklps xmm0, xmm3
movq rcx, xmm0
call fcn.18000bcc0
movups xmm0, xmmword [0x18001a050]
lea r9, [rsp + 0x30]
movss xmm3, dword [rbx + 4]
movaps xmm1, xmm7
movss xmm6, dword [0x180015c14]
movdqa xmmword [rsp + 0x30], xmm0
movaps xmm2, xmm6
movss xmm0, dword [rbx]
unpcklps xmm0, xmm3
movq rcx, xmm0
call fcn.18000bcc0
movss xmm0, dword [0x18001a7e8]
lea r8, [rsp + 0x30]
mulss xmm7, dword [0x180015b70]
addss xmm0, xmm6
xor r9d, r9d
mov rcx, rsi
movss dword [0x18001a7e8], xmm0
movaps xmm0, xmmword [0x1800163b0]
addss xmm7, dword [rbx]
movss xmm1, dword [rbx + 4]
addss xmm1, dword [0x180015bf8]
movaps xmmword [rsp + 0x30], xmm0
movaps xmm0, xmm7
unpcklps xmm0, xmm1
movq rdx, xmm0
call fcn.18000b1c0
movaps xmm6, xmmword [rsp + 0x50]
mov al, 1
mov rdi, qword [rsp + 0x70]
movaps xmm7, xmmword [rsp + 0x40]
mov rbx, qword [rsp + 0x78]
add rsp, 0x60
pop rsi
ret
call fcn.180012aa0
int3