Function at 0x180029d70
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
sub rsp, 0xa8
cmp byte [0x1801f2349], 0
je 0x18002a00f
mov qword [rax + 8], rbx
mov qword [rax - 8], rdi
movaps xmmword [rax - 0x18], xmm6
movaps xmmword [rax - 0x28], xmm7
movaps xmmword [rax - 0x38], xmm8
movaps xmmword [rax - 0x48], xmm9
call fcn.18000a910
xor r8d, r8d
lea rcx, [rsp + 0x40]
mov edx, eax
mov ebx, eax
call fcn.1800080c0
movss xmm7, dword [rsp + 0x50]
xor edi, edi
movss xmm8, dword [rsp + 0x48]
movaps xmm3, xmm7
movss xmm9, dword [rsp + 0x40]
movaps xmm2, xmm8
movaps xmm1, xmm9
mov dword [rsp + 0x30], edi
mov ecx, ebx
call fcn.180008a10
lea ecx, [rdi + 0x57]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x180029dff
mov edx, 0x10c
call fcn.180028ca0
test eax, eax
je 0x180029e5e
mov ecx, ebx
call fcn.180008190
movaps xmm1, xmm0
mov ecx, ebx
movaps xmm6, xmm0
call fcn.180008af0
mulss xmm6, dword [0x1801ba7f4]
xorps xmm0, xmm0
movss xmm0, xmm6
call fcn.18014fc40
movaps xmm1, xmm0
mov dword [rsp + 0x30], edi
mulss xmm1, dword [0x1801bb330]
movaps xmm3, xmm7
mov ecx, ebx
shufps xmm0, xmm0, 1
mulss xmm0, dword [0x1801ba838]
subss xmm9, xmm1
subss xmm8, xmm0
movaps xmm1, xmm9
movaps xmm2, xmm8
call fcn.180008a10
mov ecx, 0x53
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x180029e7c
mov edx, 0x10d
call fcn.180028ca0
test eax, eax
je 0x180029edb
mov ecx, ebx
call fcn.180008190
movaps xmm1, xmm0
mov ecx, ebx
movaps xmm6, xmm0
call fcn.180008af0
mulss xmm6, dword [0x1801ba7f4]
xorps xmm0, xmm0
movss xmm0, xmm6
call fcn.18014fc40
movaps xmm1, xmm0
mov dword [rsp + 0x30], edi
mulss xmm1, dword [0x1801bb330]
movaps xmm3, xmm7
mov ecx, ebx
shufps xmm0, xmm0, 1
mulss xmm0, dword [0x1801ba838]
addss xmm9, xmm1
addss xmm8, xmm0
movaps xmm1, xmm9
movaps xmm2, xmm8
call fcn.180008a10
mov ecx, 0x41
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movss xmm6, dword [0x1801ba930]
test ax, ax
jne 0x180029f01
mov edx, 0x10a
call fcn.180028ca0
test eax, eax
je 0x180029f16
mov ecx, ebx
call fcn.180008190
addss xmm0, xmm6
mov ecx, ebx
movaps xmm1, xmm0
call fcn.180008af0
mov ecx, 0x44
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x180029f34
mov edx, 0x10f
call fcn.180028ca0
test eax, eax
je 0x180029f49
mov ecx, ebx
call fcn.180008190
subss xmm0, xmm6
mov ecx, ebx
movaps xmm1, xmm0
call fcn.180008af0
mov ecx, 0x10
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movaps xmm6, xmmword [rsp + 0x90]
test ax, ax
jne 0x180029f6f
mov edx, 0xce
call fcn.180028ca0
test eax, eax
je 0x180029f9e
mov ecx, ebx
call fcn.180008190
movaps xmm1, xmm0
mov ecx, ebx
call fcn.180008af0
addss xmm7, dword [0x1801bb374]
movaps xmm2, xmm8
mov dword [rsp + 0x30], edi
movaps xmm1, xmm9
mov ecx, ebx
movaps xmm3, xmm7
call fcn.180008a10
mov ecx, 0x20
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x180029fbc
mov edx, 0xcd
call fcn.180028ca0
test eax, eax
je 0x180029feb
mov ecx, ebx
call fcn.180008190
movaps xmm1, xmm0
mov ecx, ebx
call fcn.180008af0
addss xmm7, dword [0x1801ba874]
movaps xmm2, xmm8
mov dword [rsp + 0x30], edi
movaps xmm1, xmm9
mov ecx, ebx
movaps xmm3, xmm7
call fcn.180008a10
movaps xmm8, xmmword [rsp + 0x70]
movaps xmm7, xmmword [rsp + 0x80]
mov rdi, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0xb0]
movaps xmm9, xmmword [rsp + 0x60]
add rsp, 0xa8
ret