Function at 0x180012020
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
sub rsp, 0xd8
cmp byte [0x1801a23a7], 0
je 0x18001266c
mov qword [rax + 0x18], rbp
mov ecx, 0x4b
mov qword [rax + 0x20], rsi
mov qword [rax - 8], rdi
mov qword [rax - 0x10], r14
mov qword [rax - 0x18], r15
movaps xmmword [rax - 0x28], xmm6
movaps xmmword [rax - 0x38], xmm7
movaps xmmword [rax - 0x48], xmm8
movaps xmmword [rax - 0x58], xmm9
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movss xmm8, dword [0x1800f71ac]
xor edi, edi
movss xmm6, dword [0x1800f70a0]
movabs rsi, 0xd80958fc74e988a6
movabs rbp, 0x9a9112a0fe9a4713
xorps xmm7, xmm7
test ax, ax
je 0x180012143
mov dword [0x180140698], edi
mov dword [0x1801406a8], edi
mov qword [0x1801a4b50], rsi
call fcn.180036910
mov qword [rsp + 0xe8], rdi
mov qword [0x1801a4b50], rbp
mov ecx, dword [rax]
mov dword [rsp + 0xe8], ecx
mov rax, qword [rsp + 0xe8]
mov qword [0x180140770], rax
mov dword [0x1801406a8], edi
mov qword [0x180140778], rdi
mov dword [0x180140698], 2
call fcn.180036910
mov dword [rsp + 0x70], 1
xorps xmm3, xmm3
mov dword [rsp + 0x68], edi
mov dword [rsp + 0x58], 1
mov edx, dword [rax]
mov dword [rsp + 0x50], 1
mov dword [rsp + 0x48], 1
movss dword [rsp + 0x40], xmm7
movss dword [rsp + 0x38], xmm8
movss dword [rsp + 0x30], xmm7
movss dword [rsp + 0x28], xmm6
movss dword [rsp + 0x20], xmm7
call fcn.180028a50
mov ecx, 0x4c
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movss xmm9, dword [0x1800f8dfc]
test ax, ax
je 0x180012208
mov dword [0x180140698], edi
mov dword [0x1801406a8], edi
mov qword [0x1801a4b50], rsi
call fcn.180036910
mov qword [rsp + 0xe8], rdi
mov qword [0x1801a4b50], rbp
mov ecx, dword [rax]
mov dword [rsp + 0xe8], ecx
mov rax, qword [rsp + 0xe8]
mov qword [0x180140770], rax
mov dword [0x1801406a8], edi
mov qword [0x180140778], rdi
mov dword [0x180140698], 2
call fcn.180036910
mov dword [rsp + 0x70], 1
xorps xmm3, xmm3
mov dword [rsp + 0x68], edi
mov dword [rsp + 0x58], 1
mov edx, dword [rax]
mov dword [rsp + 0x50], 1
mov dword [rsp + 0x48], 1
movss dword [rsp + 0x40], xmm7
movss dword [rsp + 0x38], xmm7
movss dword [rsp + 0x30], xmm9
movss dword [rsp + 0x28], xmm6
movss dword [rsp + 0x20], xmm7
call fcn.180028a50
mov ecx, 0x49
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800122c4
mov dword [0x180140698], edi
mov dword [0x1801406a8], edi
mov qword [0x1801a4b50], rsi
call fcn.180036910
mov qword [rsp + 0xe8], rdi
mov qword [0x1801a4b50], rbp
mov ecx, dword [rax]
mov dword [rsp + 0xe8], ecx
mov rax, qword [rsp + 0xe8]
mov qword [0x180140770], rax
mov dword [0x1801406a8], edi
mov qword [0x180140778], rdi
mov dword [0x180140698], 2
call fcn.180036910
mov dword [rsp + 0x70], 1
xorps xmm3, xmm3
mov dword [rsp + 0x68], edi
mov dword [rsp + 0x58], 1
mov edx, dword [rax]
mov dword [rsp + 0x50], 1
mov dword [rsp + 0x48], 1
movss dword [rsp + 0x40], xmm7
movss dword [rsp + 0x38], xmm9
movss dword [rsp + 0x30], xmm7
movss dword [rsp + 0x28], xmm6
movss dword [rsp + 0x20], xmm7
call fcn.180028a50
mov ecx, 0x4a
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180012380
mov dword [0x180140698], edi
mov dword [0x1801406a8], edi
mov qword [0x1801a4b50], rsi
call fcn.180036910
mov qword [rsp + 0xe8], rdi
mov qword [0x1801a4b50], rbp
mov ecx, dword [rax]
mov dword [rsp + 0xe8], ecx
mov rax, qword [rsp + 0xe8]
mov qword [0x180140770], rax
mov dword [0x1801406a8], edi
mov qword [0x180140778], rdi
mov dword [0x180140698], 2
call fcn.180036910
mov dword [rsp + 0x70], 1
xorps xmm3, xmm3
mov dword [rsp + 0x68], edi
mov dword [rsp + 0x58], 1
mov edx, dword [rax]
mov dword [rsp + 0x50], 1
mov dword [rsp + 0x48], 1
movss dword [rsp + 0x40], xmm7
movss dword [rsp + 0x38], xmm7
movss dword [rsp + 0x30], xmm8
movss dword [rsp + 0x28], xmm6
movss dword [rsp + 0x20], xmm7
call fcn.180028a50
mov ecx, 0x20
mov qword [rsp + 0xe0], rbx
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movabs r14, 0x866a4a5fae349510
movabs r15, 0x8bb4ef4214e0e6d5
test ax, ax
je 0x1800124db
mov dword [0x180140698], edi
mov dword [0x1801406a8], edi
mov qword [0x1801a4b50], rsi
call fcn.180036910
mov qword [rsp + 0xe8], rdi
mov qword [0x1801a4b50], rbp
mov ecx, dword [rax]
mov dword [rsp + 0xe8], ecx
mov rax, qword [rsp + 0xe8]
mov qword [0x180140770], rax
mov dword [0x1801406a8], edi
mov qword [0x180140778], rdi
mov dword [0x180140698], 2
call fcn.180036910
mov qword [rsp + 0xe8], rdi
mov qword [0x1801a4b50], r14
mov ebx, dword [rax]
mov dword [rsp + 0xe8], ebx
mov rax, qword [rsp + 0xe8]
mov qword [0x180140770], rax
mov dword [0x1801406a8], edi
mov dword [0x180140698], 1
call fcn.180036910
mov qword [rsp + 0xe8], rdi
mov dword [rsp + 0xe8], ebx
mov qword [0x1801a4b50], r15
movss xmm6, dword [rax]
mov rax, qword [rsp + 0xe8]
addss xmm6, xmm7
mov qword [0x180140770], rax
mov dword [0x1801406a8], edi
mov dword [0x180140698], 1
call fcn.180036910
mov dword [rsp + 0x70], 1
mov edx, ebx
mov dword [rsp + 0x68], 1
mov dword [rsp + 0x58], 1
movss xmm3, dword [rax]
mov dword [rsp + 0x50], edi
addss xmm3, xmm7
mov dword [rsp + 0x48], 1
movss dword [rsp + 0x40], xmm7
movss dword [rsp + 0x38], xmm7
movss dword [rsp + 0x30], xmm7
movss dword [rsp + 0x28], xmm8
movss dword [rsp + 0x20], xmm6
call fcn.180028a50
mov ecx, 0x10
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movaps xmm8, xmmword [rsp + 0x90]
test ax, ax
je 0x180012623
mov dword [0x180140698], edi
mov dword [0x1801406a8], edi
mov qword [0x1801a4b50], rsi
call fcn.180036910
mov qword [rsp + 0xe8], rdi
mov qword [0x1801a4b50], rbp
mov ecx, dword [rax]
mov dword [rsp + 0xe8], ecx
mov rax, qword [rsp + 0xe8]
mov qword [0x180140770], rax
mov dword [0x1801406a8], edi
mov qword [0x180140778], rdi
mov dword [0x180140698], 2
call fcn.180036910
mov qword [rsp + 0xe8], rdi
mov qword [0x1801a4b50], r14
mov ebx, dword [rax]
mov dword [rsp + 0xe8], ebx
mov rax, qword [rsp + 0xe8]
mov qword [0x180140770], rax
mov dword [0x1801406a8], edi
mov dword [0x180140698], 1
call fcn.180036910
mov qword [rsp + 0xe8], rdi
mov dword [rsp + 0xe8], ebx
mov qword [0x1801a4b50], r15
movss xmm6, dword [rax]
mov rax, qword [rsp + 0xe8]
mov qword [0x180140770], rax
mov dword [0x1801406a8], edi
mov dword [0x180140698], 1
call fcn.180036910
mov dword [rsp + 0x70], 1
addss xmm6, xmm7
mov dword [rsp + 0x68], 1
mov edx, ebx
mov dword [rsp + 0x58], 1
movss xmm3, dword [rax]
mov dword [rsp + 0x50], edi
addss xmm3, xmm7
mov dword [rsp + 0x48], 1
movss dword [rsp + 0x40], xmm7
movss dword [rsp + 0x38], xmm7
movss dword [rsp + 0x30], xmm7
movss dword [rsp + 0x28], xmm9
movss dword [rsp + 0x20], xmm6
call fcn.180028a50
mov rbx, qword [rsp + 0xe0]
movaps xmm6, xmmword [rsp + 0xb0]
mov r15, qword [rsp + 0xc0]
mov r14, qword [rsp + 0xc8]
mov rdi, qword [rsp + 0xd0]
mov rsi, qword [rsp + 0xf8]
mov rbp, qword [rsp + 0xf0]
movaps xmm7, xmmword [rsp + 0xa0]
movaps xmm9, xmmword [rsp + 0x80]
add rsp, 0xd8
ret