Function at 0x180012640
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
sub rsp, 0xd8
cmp byte [0x1801b124c], 0
je 0x180012c8c
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 [0x180103e8c]
xor edi, edi
movss xmm6, dword [0x180103d88]
movabs rsi, 0xd80958fc74e988a6
movabs rbp, 0x9a9112a0fe9a4713
xorps xmm7, xmm7
test ax, ax
je 0x180012763
mov dword [0x18014e878], edi
mov dword [0x18014e888], edi
mov qword [0x1801b3ad0], rsi
call fcn.18003c460
mov qword [rsp + 0xe8], rdi
mov qword [0x1801b3ad0], rbp
mov ecx, dword [rax]
mov dword [rsp + 0xe8], ecx
mov rax, qword [rsp + 0xe8]
mov qword [0x18014e950], rax
mov dword [0x18014e888], edi
mov qword [0x18014e958], rdi
mov dword [0x18014e878], 2
call fcn.18003c460
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.18002f330
mov ecx, 0x4c
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movss xmm9, dword [0x180105adc]
test ax, ax
je 0x180012828
mov dword [0x18014e878], edi
mov dword [0x18014e888], edi
mov qword [0x1801b3ad0], rsi
call fcn.18003c460
mov qword [rsp + 0xe8], rdi
mov qword [0x1801b3ad0], rbp
mov ecx, dword [rax]
mov dword [rsp + 0xe8], ecx
mov rax, qword [rsp + 0xe8]
mov qword [0x18014e950], rax
mov dword [0x18014e888], edi
mov qword [0x18014e958], rdi
mov dword [0x18014e878], 2
call fcn.18003c460
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.18002f330
mov ecx, 0x49
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800128e4
mov dword [0x18014e878], edi
mov dword [0x18014e888], edi
mov qword [0x1801b3ad0], rsi
call fcn.18003c460
mov qword [rsp + 0xe8], rdi
mov qword [0x1801b3ad0], rbp
mov ecx, dword [rax]
mov dword [rsp + 0xe8], ecx
mov rax, qword [rsp + 0xe8]
mov qword [0x18014e950], rax
mov dword [0x18014e888], edi
mov qword [0x18014e958], rdi
mov dword [0x18014e878], 2
call fcn.18003c460
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.18002f330
mov ecx, 0x4a
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800129a0
mov dword [0x18014e878], edi
mov dword [0x18014e888], edi
mov qword [0x1801b3ad0], rsi
call fcn.18003c460
mov qword [rsp + 0xe8], rdi
mov qword [0x1801b3ad0], rbp
mov ecx, dword [rax]
mov dword [rsp + 0xe8], ecx
mov rax, qword [rsp + 0xe8]
mov qword [0x18014e950], rax
mov dword [0x18014e888], edi
mov qword [0x18014e958], rdi
mov dword [0x18014e878], 2
call fcn.18003c460
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.18002f330
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 0x180012afb
mov dword [0x18014e878], edi
mov dword [0x18014e888], edi
mov qword [0x1801b3ad0], rsi
call fcn.18003c460
mov qword [rsp + 0xe8], rdi
mov qword [0x1801b3ad0], rbp
mov ecx, dword [rax]
mov dword [rsp + 0xe8], ecx
mov rax, qword [rsp + 0xe8]
mov qword [0x18014e950], rax
mov dword [0x18014e888], edi
mov qword [0x18014e958], rdi
mov dword [0x18014e878], 2
call fcn.18003c460
mov qword [rsp + 0xe8], rdi
mov qword [0x1801b3ad0], r14
mov ebx, dword [rax]
mov dword [rsp + 0xe8], ebx
mov rax, qword [rsp + 0xe8]
mov qword [0x18014e950], rax
mov dword [0x18014e888], edi
mov dword [0x18014e878], 1
call fcn.18003c460
mov qword [rsp + 0xe8], rdi
mov dword [rsp + 0xe8], ebx
mov qword [0x1801b3ad0], r15
movss xmm6, dword [rax]
mov rax, qword [rsp + 0xe8]
addss xmm6, xmm7
mov qword [0x18014e950], rax
mov dword [0x18014e888], edi
mov dword [0x18014e878], 1
call fcn.18003c460
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.18002f330
mov ecx, 0x10
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movaps xmm8, xmmword [rsp + 0x90]
test ax, ax
je 0x180012c43
mov dword [0x18014e878], edi
mov dword [0x18014e888], edi
mov qword [0x1801b3ad0], rsi
call fcn.18003c460
mov qword [rsp + 0xe8], rdi
mov qword [0x1801b3ad0], rbp
mov ecx, dword [rax]
mov dword [rsp + 0xe8], ecx
mov rax, qword [rsp + 0xe8]
mov qword [0x18014e950], rax
mov dword [0x18014e888], edi
mov qword [0x18014e958], rdi
mov dword [0x18014e878], 2
call fcn.18003c460
mov qword [rsp + 0xe8], rdi
mov qword [0x1801b3ad0], r14
mov ebx, dword [rax]
mov dword [rsp + 0xe8], ebx
mov rax, qword [rsp + 0xe8]
mov qword [0x18014e950], rax
mov dword [0x18014e888], edi
mov dword [0x18014e878], 1
call fcn.18003c460
mov qword [rsp + 0xe8], rdi
mov dword [rsp + 0xe8], ebx
mov qword [0x1801b3ad0], r15
movss xmm6, dword [rax]
mov rax, qword [rsp + 0xe8]
mov qword [0x18014e950], rax
mov dword [0x18014e888], edi
mov dword [0x18014e878], 1
call fcn.18003c460
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.18002f330
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