Function at 0x14006fcb0
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x58
movaps xmmword [rsp + 0x40], xmm6
xor esi, esi
mov dword [rbp + 0x48], esi
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x38], xmm0
mov qword [rbp - 0x28], rsi
mov dword [rbp + 0x48], 1
mov r14, qword [0x1401282f8]
mov rdi, qword [0x1401282f0]
mov rbx, qword [rbp - 0x30]
cmp rdi, r14
je 0x14006fd4b
nop dword [rax]
mov rax, qword [rdi]
cmp word [rax + 0x15c], 0xd
jne 0x14006fd42
mov rcx, qword [rax + 0x160]
mov qword [rbp + 0x50], rcx
cmp rbx, rsi
je 0x14006fd2a
mov qword [rbx], rcx
add rbx, 8
mov qword [rbp - 0x30], rbx
jmp 0x14006fd42
lea r8, [rbp + 0x50]
mov rdx, rbx
lea rcx, [rbp - 0x38]
call fcn.1400033f0
mov rsi, qword [rbp - 0x28]
mov rbx, qword [rbp - 0x30]
add rdi, 8
cmp rdi, r14
jne 0x14006fd00
mov rax, qword [0x140128310]
mov qword [rbp + 0x58], rax
mov r13, qword [0x140128308]
cmp r13, rax
je 0x14006fe56
nop word [rax + rax]
mov rax, qword [r13]
mov r12, qword [rax + 8]
mov r15, qword [rax]
cmp r15, r12
je 0x14006fe48
nop dword [rax]
nop dword [rax + rax]
mov rdi, qword [r15]
movzx eax, word [rdi + 0x15c]
cmp ax, 0xd
jne 0x14006fdd7
mov rax, qword [rdi + 0x160]
mov qword [rbp + 0x50], rax
cmp rbx, rsi
je 0x14006fdbd
mov qword [rbx], rax
add rbx, 8
mov qword [rbp - 0x30], rbx
jmp 0x14006fe3b
lea r8, [rbp + 0x50]
mov rdx, rbx
lea rcx, [rbp - 0x38]
call fcn.1400033f0
mov rsi, qword [rbp - 0x28]
mov rbx, qword [rbp - 0x30]
jmp 0x14006fe3b
cmp ax, 0xf
jne 0x14006fe3b
mov r14, qword [rdi + 0x168]
mov rdi, qword [rdi + 0x160]
cmp rdi, r14
je 0x14006fe3b
mov rax, qword [rdi]
cmp word [rax + 0x15c], 0xd
jne 0x14006fe32
mov rcx, qword [rax + 0x160]
mov qword [rbp + 0x50], rcx
cmp rbx, rsi
je 0x14006fe1a
mov qword [rbx], rcx
add rbx, 8
mov qword [rbp - 0x30], rbx
jmp 0x14006fe32
lea r8, [rbp + 0x50]
mov rdx, rbx
lea rcx, [rbp - 0x38]
call fcn.1400033f0
mov rsi, qword [rbp - 0x28]
mov rbx, qword [rbp - 0x30]
add rdi, 8
cmp rdi, r14
jne 0x14006fdf0
add r15, 8
cmp r15, r12
jne 0x14006fd90
add r13, 8
cmp r13, qword [rbp + 0x58]
jne 0x14006fd70
mov rax, rbx
mov r12, qword [rbp - 0x38]
sub rax, r12
sar rax, 3
test rax, rax
je 0x14006fec8
mov r14, r12
cmp r12, rbx
je 0x14006fec8
mov rdi, qword [r14]
movzx ecx, word [rdi + 0x20]
test ecx, ecx
je 0x14006fea8
sub ecx, 1
je 0x14006fe97
sub ecx, 1
je 0x14006fe91
cmp ecx, 1
jne 0x14006febf
mov byte [rdi + 0x28], 0
jmp 0x14006febf
mov byte [rdi + 0x28], 1
jmp 0x14006febf
mov ecx, dword [rdi + 0x24]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
setne al
jmp 0x14006febc
mov ecx, dword [rdi + 0x24]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x14006febf
cmp byte [rdi + 0x28], 0
sete al
mov byte [rdi + 0x28], al
add r14, 8
cmp r14, rbx
jne 0x14006fe71
mov rcx, qword [0x140128370]
test rcx, rcx
je 0x14006fee2
mov rax, qword [rcx]
call qword [rax + 0x10]
mov byte [0x1401283a8], al
jmp 0x14006fee9
movzx eax, byte [0x1401283a8]
test al, al
je 0x140070078
movss xmm1, dword [0x1401283a0]
movaps xmm0, xmm1
mulss xmm0, dword [0x14012839c]
mulss xmm1, dword [0x140128398]
mov rax, qword [0x14012ce80]
or dword [rax + 0x47a0], 2
movss dword [rax + 0x47c0], xmm1
movss dword [rax + 0x47c4], xmm0
mov dword [rax + 0x47a8], 1
mov r8d, dword [0x1401283a4]
bts r8d, 8
lea rcx, [0x140128378]
cmp qword [0x140128390], 0xf
cmova rcx, qword [0x140128378]
xor edx, edx
call fcn.14002f2a0
movss xmm1, dword [0x140110f2c]
call fcn.14006d520
mov rdi, qword [0x140128320]
mov r14, qword [0x140128328]
cmp rdi, r14
je 0x14006fff3
nop
mov rbx, qword [rdi]
mov rax, qword [0x14012ce80]
mov rax, qword [rax + 0x48a0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140029340
mov rdx, qword [0x14012ce80]
mov rcx, qword [rdx + 0x3ec8]
movsd xmm0, qword [rcx + 0x28]
movsd qword [rbp + 0x58], xmm0
mov rcx, qword [rdx + 0x3ec8]
movsd xmm1, qword [rcx + 0x20]
movsd qword [rbp + 0x60], xmm1
mov rcx, qword [rbx + 0x38]
test rcx, rcx
je 0x14006ffea
mov qword [rbp + 0x50], rax
mov rax, qword [rcx]
lea r9, [rbp + 0x50]
lea r8, [rbp + 0x58]
lea rdx, [rbp + 0x60]
call qword [rax + 0x10]
add rdi, 8
cmp rdi, r14
jne 0x14006ff80
mov rdi, qword [0x140128308]
mov r15, qword [0x140128310]
cmp rdi, r15
je 0x14007006d
nop word [rax + rax]
mov rbx, qword [rdi]
movss xmm6, dword [0x1401283a0]
mov rcx, qword [rbx + 0x80]
test rcx, rcx
je 0x140070033
mov rax, qword [rcx]
call qword [rax + 0x10]
mov byte [rbx + 0xe9], al
cmp byte [rbx + 0xe9], 0
je 0x140070064
movaps xmm1, xmm6
mov rcx, rbx
call fcn.14006dfd0
mov rcx, rbx
call fcn.14006de20
nop
call fcn.14002c870
cmp byte [rbx + 0xea], 0
je 0x140070064
call fcn.14002c870
nop
add rdi, 8
cmp rdi, r15
jne 0x140070010
call fcn.14006f9a0
call fcn.140031740
nop
test r12, r12
je 0x1400700b8
sub rsi, r12
and rsi, 0xfffffffffffffff8
mov rax, r12
cmp rsi, 0x1000
jb 0x1400700ad
add rsi, 0x27
mov r12, qword [r12 - 8]
sub rax, r12
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400700ad
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rdx, rsi
mov rcx, r12
call fcn.1400ddf9c
movaps xmm6, xmmword [rsp + 0x40]
add rsp, 0x58
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret