Function at 0x1400014c0
Capabilities:
Log keystrokes
Log keystrokes via polling

Disassembly:
mov r11, rsp
push rbp
lea rbp, [rsp - 0x80]
sub rsp, 0x180
mov rax, qword [0x14006a010]
xor rax, rsp
mov qword [rbp + 0x50], rax
cmp byte [0x14006a230], 0
je 0x140001944
mov rcx, qword [0x14006aa60]
lea rdx, [0x14006a230]
movss xmm1, dword [0x14006a224]
mov r8d, 0x12a
movss xmm0, dword [0x14006a220]
unpcklps xmm0, xmm1
xorps xmm1, xmm1
mov eax, dword [rcx + 0x1dc0]
movsd qword [rcx + 0x1dd4], xmm0
or eax, 1
mov dword [rcx + 0x1dc0], eax
or eax, 0x42
mov dword [rcx + 0x1dc4], 2
mov byte [rcx + 0x1dfc], 1
mov qword [r11 + 8], rbx
mov qword [r11 + 0x18], rdi
movaps xmmword [r11 - 0x18], xmm6
movaps xmmword [r11 - 0x28], xmm7
xorps xmm7, xmm7
unpcklps xmm1, xmm7
movsd qword [rcx + 0x1ddc], xmm1
movss xmm0, dword [0x14006a228]
movss xmm1, dword [0x14006a22c]
movss dword [rcx + 0x1de4], xmm0
movss dword [rcx + 0x1de8], xmm1
mov dword [rcx + 0x1dc0], eax
mov dword [rcx + 0x1dc8], 1
mov dword [rcx + 0x1e20], 0x3f800000
lea rcx, str.Did_you_already_drink_water_
call fcn.14000f2f0
cmp byte [0x14006aa40], 0
lea rax, str.Enabled
lea rdx, str.Disabled
cmovne rdx, rax
lea rcx, str.Status:__s
call fcn.140042ec0
lea rax, [rsp + 0x48]
mov dword [rsp + 0x48], 0x19
lea r9, [rsp + 0x40]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x40], 1
call fcn.1400469c0
mov rcx, qword [0x14006aa60]
movss xmm6, dword [0x140062260]
mov rax, qword [rcx + 0x1d18]
mov byte [rax + 0xd1], 1
mov rax, qword [rcx + 0x1d18]
cmp byte [rax + 0xd4], 0
jne 0x140001639
movaps xmm1, xmm6
mov qword [rsp + 0x40], 0
lea rcx, [rsp + 0x40]
call fcn.140013fb0
mov rcx, qword [0x14006aa60]
mov rax, qword [rcx + 0x1d18]
mov byte [rax + 0xd1], 1
mov rax, qword [rcx + 0x1d18]
cmp byte [rax + 0xd4], 0
jne 0x140001674
movaps xmm1, xmm6
mov qword [rsp + 0x40], 0
lea rcx, [rsp + 0x40]
call fcn.140013fb0
mov rcx, qword [0x14006aa60]
mov rax, qword [rcx + 0x1d18]
mov byte [rax + 0xd1], 1
mov rax, qword [rcx + 0x1d18]
cmp byte [rax + 0xd4], 0
jne 0x1400016a8
movaps xmm1, xmm6
mov qword [rsp + 0x40], 0
lea rcx, [rsp + 0x40]
call fcn.140013fb0
call fcn.140044f80
mov ecx, dword [0x14006a050]
xor edx, edx
call qword [sym.imp.USER32.dll_MapVirtualKeyA]
mov r8d, 0x100
lea rdx, [rsp + 0x50]
mov ecx, eax
call qword [sym.imp.USER32.dll_GetKeyNameTextA]
mov rcx, qword [0x14006aa60]
test eax, eax
mov rax, qword [rcx + 0x1d18]
mov byte [rax + 0xd1], 1
mov rax, qword [rcx + 0x1d18]
je 0x140001720
cmp byte [rax + 0xd4], 0
jne 0x14000170d
movaps xmm1, xmm6
mov qword [rsp + 0x40], 0
lea rcx, [rsp + 0x40]
call fcn.140013fb0
lea rdx, [rsp + 0x50]
lea rcx, str.Activation_Key__BIND_:__s
call fcn.140042ec0
jmp 0x140001751
cmp byte [rax + 0xd4], 0
jne 0x14000173f
movaps xmm1, xmm6
mov qword [rsp + 0x40], 0
lea rcx, [rsp + 0x40]
call fcn.140013fb0
mov edx, dword [0x14006a050]
lea rcx, str.BIND:__d
call fcn.140042ec0
mov rcx, qword [0x14006aa60]
mov rax, qword [rcx + 0x1d18]
mov byte [rax + 0xd1], 1
mov rax, qword [rcx + 0x1d18]
cmp byte [rax + 0xd4], 0
jne 0x14000178c
movaps xmm1, xmm6
mov qword [rsp + 0x40], 0
lea rcx, [rsp + 0x40]
call fcn.140013fb0
lea rdx, [rsp + 0x40]
mov qword [rsp + 0x40], 0
call fcn.1400437e0
movaps xmm6, xmmword [rsp + 0x170]
test al, al
je 0x1400017bb
mov byte [0x14006aad1], 1
mov byte [0x14006aad0], 1
jmp 0x1400017c8
cmp byte [0x14006aad1], 0
je 0x140001861
lea rcx, str.Press_a_new_key...
mov qword [rsp + 0x198], rsi
call fcn.140042ec0
xor ebx, ebx
mov esi, 0x8001
mov ecx, ebx
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test si, ax
je 0x14000184f
lea eax, [rbx - 1]
cmp eax, 1
jbe 0x14000184f
mov dword [0x14006a050], ebx
mov byte [0x14006aad1], 0
mov byte [0x14006aad2], 0
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rdi, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rdi, 0x989680
jne 0x14000182a
imul rax, rax, 0x64
jmp 0x140001848
cqo
idiv rdi
mov rcx, rax
imul rax, rdx, 0x3b9aca00
imul rcx, rcx, 0x3b9aca00
cqo
idiv rdi
add rax, rcx
mov qword [0x14006aac8], rax
inc ebx
cmp ebx, 0x100
jl 0x1400017e3
mov rsi, qword [rsp + 0x198]
call fcn.140012590
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x140001884
imul rbx, rax, 0x64
jmp 0x1400018a5
cqo
idiv rbx
mov rcx, rax
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
mov rbx, rax
imul rax, rcx, 0x3b9aca00
add rbx, rax
mov ecx, dword [0x14006a050]
mov rdi, rbx
sub rdi, qword [0x14006aac8]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x1400018f0
cmp byte [0x14006aad2], 0
jne 0x1400018f7
cmp rdi, 0xbebc200
jl 0x1400018f7
cmp byte [0x14006aa40], 0
mov qword [0x14006aac8], rbx
sete byte [0x14006aa40]
mov byte [0x14006aad2], 1
jmp 0x1400018f7
mov byte [0x14006aad2], 0
cmp byte [0x14006aad0], 0
mov rdi, qword [rsp + 0x1a0]
mov rbx, qword [rsp + 0x190]
je 0x14000193c
mov rax, qword [0x14006aa60]
movss xmm0, dword [rax + 0x434]
ucomiss xmm0, xmm7
jp 0x140001926
je 0x14000193c
movss xmm0, dword [rax + 0x438]
ucomiss xmm0, xmm7
jp 0x140001935
je 0x14000193c
mov byte [0x14006aad0], 0
movaps xmm7, xmmword [rsp + 0x160]
mov rcx, qword [rbp + 0x50]
xor rcx, rsp
call fcn.140052610
add rsp, 0x180
pop rbp
ret