Function at 0x18000ca90
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
sub rsp, 0xd8
cmp byte [0x18016dc69], 0
je 0x18000d0dc
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 [0x1800cf15c]
xor edi, edi
movss xmm6, dword [0x1800cf060]
movabs rsi, 0xd80958fc74e988a6
movabs rbp, 0x9a9112a0fe9a4713
xorps xmm7, xmm7
test ax, ax
je 0x18000cbb3
mov dword [0x180112698], edi
mov dword [0x1801126a8], edi
mov qword [0x180170400], rsi
call fcn.180028a70
mov qword [rsp + 0xe8], rdi
mov qword [0x180170400], rbp
mov ecx, dword [rax]
mov dword [rsp + 0xe8], ecx
mov rax, qword [rsp + 0xe8]
mov qword [0x180112770], rax
mov dword [0x1801126a8], edi
mov qword [0x180112778], rdi
mov dword [0x180112698], 2
call fcn.180028a70
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.18001bc00
mov ecx, 0x4c
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movss xmm9, dword [0x1800d0d80]
test ax, ax
je 0x18000cc78
mov dword [0x180112698], edi
mov dword [0x1801126a8], edi
mov qword [0x180170400], rsi
call fcn.180028a70
mov qword [rsp + 0xe8], rdi
mov qword [0x180170400], rbp
mov ecx, dword [rax]
mov dword [rsp + 0xe8], ecx
mov rax, qword [rsp + 0xe8]
mov qword [0x180112770], rax
mov dword [0x1801126a8], edi
mov qword [0x180112778], rdi
mov dword [0x180112698], 2
call fcn.180028a70
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.18001bc00
mov ecx, 0x49
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18000cd34
mov dword [0x180112698], edi
mov dword [0x1801126a8], edi
mov qword [0x180170400], rsi
call fcn.180028a70
mov qword [rsp + 0xe8], rdi
mov qword [0x180170400], rbp
mov ecx, dword [rax]
mov dword [rsp + 0xe8], ecx
mov rax, qword [rsp + 0xe8]
mov qword [0x180112770], rax
mov dword [0x1801126a8], edi
mov qword [0x180112778], rdi
mov dword [0x180112698], 2
call fcn.180028a70
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.18001bc00
mov ecx, 0x4a
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18000cdf0
mov dword [0x180112698], edi
mov dword [0x1801126a8], edi
mov qword [0x180170400], rsi
call fcn.180028a70
mov qword [rsp + 0xe8], rdi
mov qword [0x180170400], rbp
mov ecx, dword [rax]
mov dword [rsp + 0xe8], ecx
mov rax, qword [rsp + 0xe8]
mov qword [0x180112770], rax
mov dword [0x1801126a8], edi
mov qword [0x180112778], rdi
mov dword [0x180112698], 2
call fcn.180028a70
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.18001bc00
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 0x18000cf4b
mov dword [0x180112698], edi
mov dword [0x1801126a8], edi
mov qword [0x180170400], rsi
call fcn.180028a70
mov qword [rsp + 0xe8], rdi
mov qword [0x180170400], rbp
mov ecx, dword [rax]
mov dword [rsp + 0xe8], ecx
mov rax, qword [rsp + 0xe8]
mov qword [0x180112770], rax
mov dword [0x1801126a8], edi
mov qword [0x180112778], rdi
mov dword [0x180112698], 2
call fcn.180028a70
mov qword [rsp + 0xe8], rdi
mov qword [0x180170400], r14
mov ebx, dword [rax]
mov dword [rsp + 0xe8], ebx
mov rax, qword [rsp + 0xe8]
mov qword [0x180112770], rax
mov dword [0x1801126a8], edi
mov dword [0x180112698], 1
call fcn.180028a70
mov qword [rsp + 0xe8], rdi
mov dword [rsp + 0xe8], ebx
mov qword [0x180170400], r15
movss xmm6, dword [rax]
mov rax, qword [rsp + 0xe8]
addss xmm6, xmm7
mov qword [0x180112770], rax
mov dword [0x1801126a8], edi
mov dword [0x180112698], 1
call fcn.180028a70
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.18001bc00
mov ecx, 0x10
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movaps xmm8, xmmword [rsp + 0x90]
test ax, ax
je 0x18000d093
mov dword [0x180112698], edi
mov dword [0x1801126a8], edi
mov qword [0x180170400], rsi
call fcn.180028a70
mov qword [rsp + 0xe8], rdi
mov qword [0x180170400], rbp
mov ecx, dword [rax]
mov dword [rsp + 0xe8], ecx
mov rax, qword [rsp + 0xe8]
mov qword [0x180112770], rax
mov dword [0x1801126a8], edi
mov qword [0x180112778], rdi
mov dword [0x180112698], 2
call fcn.180028a70
mov qword [rsp + 0xe8], rdi
mov qword [0x180170400], r14
mov ebx, dword [rax]
mov dword [rsp + 0xe8], ebx
mov rax, qword [rsp + 0xe8]
mov qword [0x180112770], rax
mov dword [0x1801126a8], edi
mov dword [0x180112698], 1
call fcn.180028a70
mov qword [rsp + 0xe8], rdi
mov dword [rsp + 0xe8], ebx
mov qword [0x180170400], r15
movss xmm6, dword [rax]
mov rax, qword [rsp + 0xe8]
mov qword [0x180112770], rax
mov dword [0x1801126a8], edi
mov dword [0x180112698], 1
call fcn.180028a70
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.18001bc00
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