Function at 0x14011ea6a
Capabilities:
Log keystrokes via polling

Disassembly:
jmp 0x1401aa2a0
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
sub rsp, 0x450
lea rbp, [rsp + 0x40]
lea rdi, [rsp + 0x40]
mov ecx, 0xa4
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0x478]
mov rax, qword [0x14065b8c0]
xor rax, rbp
mov qword [rbp + 0x400], rax
lea rcx, [0x1406874e5]
call fcn.14012139b
nop
cmp qword [0x14065cfa0], 0
jne 0x1401aa2fa
jmp 0x1401aa6cb
cmp qword [0x14065cf98], 0
jne 0x1401aa309
jmp 0x1401aa6cb
movzx eax, byte [0x14065cf14]
test eax, eax
je 0x1401aa325
mov ecx, dword [0x14065cf18]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
jne 0x1401aa358
movzx eax, byte [0x14065cfc0]
test eax, eax
je 0x1401aa34c
mov rax, qword [0x14065cf98]
add rax, 0x2c
movss xmm1, dword [0x14065cfbc]
mov rcx, rax
call fcn.14011a04b
nop
mov byte [0x14065cfc0], 0
jmp 0x1401aa6cb
movzx eax, byte [0x14065cfc0]
test eax, eax
jne 0x1401aa39c
mov rax, qword [0x14065cf98]
add rax, 0x2c
mov rcx, rax
call fcn.14011e975
movss dword [0x14065cfbc], xmm0
mov rax, qword [0x14065cf98]
add rax, 0x2c
xorps xmm1, xmm1
mov rcx, rax
call fcn.14011a04b
nop
mov byte [0x14065cfc0], 1
cvtsi2ss xmm0, dword [0x14065cf1c]
divss xmm0, dword [0x14037ae5c]
movss dword [rbp + 4], xmm0
mov ecx, 0x10
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x1401aa3d3
movss xmm0, dword [rbp + 4]
mulss xmm0, dword [0x14037b7c8]
movss dword [rbp + 4], xmm0
lea rax, [rbp + 0x28]
lea rcx, [0x14065cfb0]
mov rdi, rax
mov rsi, rcx
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
mov ecx, 0x57
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x1401aa46f
movss xmm2, dword [rbp + 4]
lea rdx, [rbp + 0x204]
mov rcx, qword [rbp + 0x430]
call fcn.14011bb8f
movss xmm0, dword [rbp + 0x28]
addss xmm0, dword [rax]
movss dword [rbp + 0x28], xmm0
movss xmm2, dword [rbp + 4]
lea rdx, [rbp + 0x224]
mov rcx, qword [rbp + 0x430]
call fcn.14011bb8f
movss xmm0, dword [rbp + 0x2c]
addss xmm0, dword [rax + 4]
movss dword [rbp + 0x2c], xmm0
movss xmm2, dword [rbp + 4]
lea rdx, [rbp + 0x244]
mov rcx, qword [rbp + 0x430]
call fcn.14011bb8f
movss xmm0, dword [rbp + 0x30]
addss xmm0, dword [rax + 8]
movss dword [rbp + 0x30], xmm0
mov ecx, 0x53
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x1401aa4f3
movss xmm2, dword [rbp + 4]
lea rdx, [rbp + 0x264]
mov rcx, qword [rbp + 0x430]
call fcn.14011bb8f
movss xmm0, dword [rbp + 0x28]
subss xmm0, dword [rax]
movss dword [rbp + 0x28], xmm0
movss xmm2, dword [rbp + 4]
lea rdx, [rbp + 0x284]
mov rcx, qword [rbp + 0x430]
call fcn.14011bb8f
movss xmm0, dword [rbp + 0x2c]
subss xmm0, dword [rax + 4]
movss dword [rbp + 0x2c], xmm0
movss xmm2, dword [rbp + 4]
lea rdx, [rbp + 0x2a4]
mov rcx, qword [rbp + 0x430]
call fcn.14011bb8f
movss xmm0, dword [rbp + 0x30]
subss xmm0, dword [rax + 8]
movss dword [rbp + 0x30], xmm0
movss xmm3, dword [0x14036cca8]
xorps xmm2, xmm2
xorps xmm1, xmm1
lea rcx, [rbp + 0x2c4]
call fcn.140120f04
mov qword [rbp + 0x3f8], rax
mov r8, qword [rbp + 0x3f8]
lea rdx, [rbp + 0x58]
mov rcx, qword [rbp + 0x430]
call fcn.14011d75a
nop
mov ecx, 0x41
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x1401aa5a7
movss xmm2, dword [rbp + 4]
lea rdx, [rbp + 0x2e4]
lea rcx, [rbp + 0x58]
call fcn.14011bb8f
movss xmm0, dword [rbp + 0x28]
subss xmm0, dword [rax]
movss dword [rbp + 0x28], xmm0
movss xmm2, dword [rbp + 4]
lea rdx, [rbp + 0x304]
lea rcx, [rbp + 0x58]
call fcn.14011bb8f
movss xmm0, dword [rbp + 0x2c]
subss xmm0, dword [rax + 4]
movss dword [rbp + 0x2c], xmm0
movss xmm2, dword [rbp + 4]
lea rdx, [rbp + 0x324]
lea rcx, [rbp + 0x58]
call fcn.14011bb8f
movss xmm0, dword [rbp + 0x30]
subss xmm0, dword [rax + 8]
movss dword [rbp + 0x30], xmm0
mov ecx, 0x44
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x1401aa622
movss xmm2, dword [rbp + 4]
lea rdx, [rbp + 0x344]
lea rcx, [rbp + 0x58]
call fcn.14011bb8f
movss xmm0, dword [rbp + 0x28]
addss xmm0, dword [rax]
movss dword [rbp + 0x28], xmm0
movss xmm2, dword [rbp + 4]
lea rdx, [rbp + 0x364]
lea rcx, [rbp + 0x58]
call fcn.14011bb8f
movss xmm0, dword [rbp + 0x2c]
addss xmm0, dword [rax + 4]
movss dword [rbp + 0x2c], xmm0
movss xmm2, dword [rbp + 4]
lea rdx, [rbp + 0x384]
lea rcx, [rbp + 0x58]
call fcn.14011bb8f
movss xmm0, dword [rbp + 0x30]
addss xmm0, dword [rax + 8]
movss dword [rbp + 0x30], xmm0
mov ecx, 0x20
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x1401aa641
movss xmm0, dword [rbp + 0x30]
addss xmm0, dword [rbp + 4]
movss dword [rbp + 0x30], xmm0
mov ecx, 0xa2
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x1401aa660
movss xmm0, dword [rbp + 0x30]
subss xmm0, dword [rbp + 4]
movss dword [rbp + 0x30], xmm0
lea rax, [rbp + 0x3e0]
lea rcx, [rbp + 0x28]
mov rdi, rax
mov rsi, rcx
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
lea rax, [rbp + 0x3b0]
lea rcx, [rbp + 0x28]
mov rdi, rax
mov rsi, rcx
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
mov byte [rsp + 0x30], 0
lea rax, [rbp + 0x3e0]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x3b0]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8, qword [0x14065cfa8]
mov rdx, qword [0x14065cfa0]
lea rcx, [0x14065ca30]
call fcn.14011ba6d
nop
lea rcx, [rbp - 0x40]
lea rdx, [0x14037b530]
call fcn.14011ff69
mov rcx, qword [rbp + 0x400]
xor rcx, rbp
call fcn.14011d6bf
lea rsp, [rbp + 0x410]
pop rdi
pop rsi
pop rbp
ret