Function at 0x14006be00
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 [0x14011a2d8]
mov rdi, qword [0x14011a2d0]
mov rbx, qword [rbp - 0x30]
cmp rdi, r14
je 0x14006be9b
nop dword [rax]
mov rax, qword [rdi]
cmp word [rax + 0x15c], 0xd
jne 0x14006be92
mov rcx, qword [rax + 0x160]
mov qword [rbp + 0x50], rcx
cmp rbx, rsi
je 0x14006be7a
mov qword [rbx], rcx
add rbx, 8
mov qword [rbp - 0x30], rbx
jmp 0x14006be92
lea r8, [rbp + 0x50]
mov rdx, rbx
lea rcx, [rbp - 0x38]
call fcn.140005a90
mov rsi, qword [rbp - 0x28]
mov rbx, qword [rbp - 0x30]
add rdi, 8
cmp rdi, r14
jne 0x14006be50
mov rax, qword [0x14011a2f0]
mov qword [rbp + 0x58], rax
mov r13, qword [0x14011a2e8]
cmp r13, rax
je 0x14006bfa6
nop word [rax + rax]
mov rax, qword [r13]
mov r12, qword [rax + 8]
mov r15, qword [rax]
cmp r15, r12
je 0x14006bf98
nop dword [rax]
nop dword [rax + rax]
mov rdi, qword [r15]
movzx eax, word [rdi + 0x15c]
cmp ax, 0xd
jne 0x14006bf27
mov rax, qword [rdi + 0x160]
mov qword [rbp + 0x50], rax
cmp rbx, rsi
je 0x14006bf0d
mov qword [rbx], rax
add rbx, 8
mov qword [rbp - 0x30], rbx
jmp 0x14006bf8b
lea r8, [rbp + 0x50]
mov rdx, rbx
lea rcx, [rbp - 0x38]
call fcn.140005a90
mov rsi, qword [rbp - 0x28]
mov rbx, qword [rbp - 0x30]
jmp 0x14006bf8b
cmp ax, 0xf
jne 0x14006bf8b
mov r14, qword [rdi + 0x168]
mov rdi, qword [rdi + 0x160]
cmp rdi, r14
je 0x14006bf8b
mov rax, qword [rdi]
cmp word [rax + 0x15c], 0xd
jne 0x14006bf82
mov rcx, qword [rax + 0x160]
mov qword [rbp + 0x50], rcx
cmp rbx, rsi
je 0x14006bf6a
mov qword [rbx], rcx
add rbx, 8
mov qword [rbp - 0x30], rbx
jmp 0x14006bf82
lea r8, [rbp + 0x50]
mov rdx, rbx
lea rcx, [rbp - 0x38]
call fcn.140005a90
mov rsi, qword [rbp - 0x28]
mov rbx, qword [rbp - 0x30]
add rdi, 8
cmp rdi, r14
jne 0x14006bf40
add r15, 8
cmp r15, r12
jne 0x14006bee0
add r13, 8
cmp r13, qword [rbp + 0x58]
jne 0x14006bec0
mov rax, rbx
mov r12, qword [rbp - 0x38]
sub rax, r12
sar rax, 3
test rax, rax
je 0x14006c018
mov r14, r12
cmp r12, rbx
je 0x14006c018
mov rdi, qword [r14]
movzx ecx, word [rdi + 0x20]
test ecx, ecx
je 0x14006bff8
sub ecx, 1
je 0x14006bfe7
sub ecx, 1
je 0x14006bfe1
cmp ecx, 1
jne 0x14006c00f
mov byte [rdi + 0x28], 0
jmp 0x14006c00f
mov byte [rdi + 0x28], 1
jmp 0x14006c00f
mov ecx, dword [rdi + 0x24]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
setne al
jmp 0x14006c00c
mov ecx, dword [rdi + 0x24]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x14006c00f
cmp byte [rdi + 0x28], 0
sete al
mov byte [rdi + 0x28], al
add r14, 8
cmp r14, rbx
jne 0x14006bfc1
mov rcx, qword [0x14011a350]
test rcx, rcx
je 0x14006c032
mov rax, qword [rcx]
call qword [rax + 0x10]
mov byte [0x14011a388], al
jmp 0x14006c039
movzx eax, byte [0x14011a388]
test al, al
je 0x14006c1c8
movss xmm1, dword [0x14011a380]
movaps xmm0, xmm1
mulss xmm0, dword [0x14011a37c]
mulss xmm1, dword [0x14011a378]
mov rax, qword [0x14011c3f0]
or dword [rax + 0x47a0], 2
movss dword [rax + 0x47c0], xmm1
movss dword [rax + 0x47c4], xmm0
mov dword [rax + 0x47a8], 1
mov r8d, dword [0x14011a384]
bts r8d, 8
lea rcx, [0x14011a358]
cmp qword [0x14011a370], 0xf
cmova rcx, qword [0x14011a358]
xor edx, edx
call fcn.140031250
movss xmm1, dword [0x140104d1c]
call fcn.140069760
mov rdi, qword [0x14011a300]
mov r14, qword [0x14011a308]
cmp rdi, r14
je 0x14006c143
nop
mov rbx, qword [rdi]
mov rax, qword [0x14011c3f0]
mov rax, qword [rax + 0x48a0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.14002b280
mov rdx, qword [0x14011c3f0]
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 0x14006c13a
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 0x14006c0d0
mov rdi, qword [0x14011a2e8]
mov r15, qword [0x14011a2f0]
cmp rdi, r15
je 0x14006c1bd
nop word [rax + rax]
mov rbx, qword [rdi]
movss xmm6, dword [0x14011a380]
mov rcx, qword [rbx + 0x80]
test rcx, rcx
je 0x14006c183
mov rax, qword [rcx]
call qword [rax + 0x10]
mov byte [rbx + 0xe9], al
cmp byte [rbx + 0xe9], 0
je 0x14006c1b4
movaps xmm1, xmm6
mov rcx, rbx
call fcn.14006a160
mov rcx, rbx
call fcn.140069fb0
nop
call fcn.14002e850
cmp byte [rbx + 0xea], 0
je 0x14006c1b4
call fcn.14002e850
nop
add rdi, 8
cmp rdi, r15
jne 0x14006c160
call fcn.14006baf0
call fcn.1400336b0
nop
test r12, r12
je 0x14006c208
sub rsi, r12
and rsi, 0xfffffffffffffff8
mov rax, r12
cmp rsi, 0x1000
jb 0x14006c1fd
add rsi, 0x27
mov r12, qword [r12 - 8]
sub rax, r12
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14006c1fd
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.1400d795c
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