Function at 0x14003bd70
Capabilities:
Encode data using xor
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x20], rsi
mov qword [rax + 8], rcx
push rbp
push rdi
push r14
lea rbp, [rax - 0x5f]
sub rsp, 0x90
movaps xmmword [rax - 0x28], xmm6
movaps xmmword [rax - 0x38], xmm7
mov ecx, 0x10
mov rax, qword gs:[0x58]
mov rax, qword [rax]
lea rbx, [0x1400e2108]
mov eax, dword [rcx + rax]
cmp dword [0x1400e2128], eax
jle 0x14003be2d
lea rcx, [0x1400e2128]
call fcn.140046784
cmp dword [0x1400e2128], 0xffffffff
jne 0x14003be2d
mov dword [rbp - 0x19], 0x303b3d13
mov dword [rbp - 0x15], 0x3822753f
mov dword [rbp - 0x11], 0x35333b78
mov dword [rbp - 0xd], 0x1007338
xor edx, edx
nop dword [rax]
lea eax, [rdx + 0x50]
xor byte [rbp + rdx - 0x19], al
inc rdx
cmp rdx, 0xe
jb 0x14003bdf0
mov byte [rbp - 0xa], 0
lea r8, [rbp - 0xb]
lea rdx, [rbp - 0x19]
mov rcx, rbx
call fcn.140045620
lea rcx, [0x1400480e0]
call fcn.140046af4
nop
lea rcx, [0x1400e2128]
call fcn.140046718
mov dword [rbp + 0x67], 0x42c80000
mov dword [rbp + 0x6b], 0x41a00000
cmp qword [0x1400e2120], 0xf
cmova rbx, qword [0x1400e2108]
lea rdx, [rbp + 0x67]
mov rcx, rbx
call fcn.140026c90
test al, al
je 0x14003be64
mov byte [0x1400e20b8], 1
jmp 0x14003be6d
cmp byte [0x1400e20b8], 0
je 0x14003bebd
mov ebx, 1
lea edi, [rbx - 2]
mov ecx, ebx
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x14003be9c
cmp ebx, 0xc
je 0x14003be9c
mov eax, ebx
cmp ebx, 0x1b
cmove eax, edi
mov dword [0x1400e0ee4], eax
mov byte [0x1400e20b8], 0
inc ebx
cmp ebx, 0x100
jl 0x14003be75
mov r8d, 0xc
lea rdx, str.Press_a_Key.
call fcn.140044aa0
jmp 0x14003c0c2
mov r8d, dword [0x1400e0ee4]
cmp r8d, 0xffffffff
jne 0x14003bee1
mov r8d, 0xe
lea rdx, str.Click_to_bind.
call fcn.140044aa0
jmp 0x14003c0c2
lea r9, [rbp - 4]
test r8d, r8d
jns 0x14003bf30
neg r8d
nop dword [rax]
dec r9
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx eax, dl
shl al, 2
lea ecx, [rax + rdx]
add cl, cl
sub r8b, cl
add r8b, 0x30
mov byte [r9], r8b
mov r8d, edx
test edx, edx
jne 0x14003bef0
dec r9
mov byte [r9], 0x2d
jmp 0x14003bf5a
dec r9
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx eax, dl
shl al, 2
lea ecx, [rax + rdx]
add cl, cl
sub r8b, cl
add r8b, 0x30
mov byte [r9], r8b
mov r8d, edx
test edx, edx
jne 0x14003bf30
lea r8, [rbp - 4]
mov rdx, r9
lea rcx, [rbp - 1]
call fcn.140045620
nop
mov r8, qword [rbp + 0xf]
mov rcx, qword [rbp + 0x17]
mov rax, rcx
sub rax, r8
mov r14d, 6
lea rdi, str.Key_
cmp rax, r14
jb 0x14003c002
lea rax, [r8 + 6]
mov qword [rbp + 0xf], rax
lea rbx, [rbp - 1]
cmp rcx, 0xf
cmova rbx, qword [rbp - 1]
lea rax, [0x1400b3ea6]
cmp rax, rbx
jbe 0x14003bfc6
lea rax, [rbx + r8]
cmp rdi, rax
ja 0x14003bfc6
cmp rbx, rdi
ja 0x14003bfbe
xor esi, esi
jmp 0x14003bfc9
mov rsi, rbx
sub rsi, rdi
jmp 0x14003bfc9
mov rsi, r14
lea rcx, [rbx + 6]
inc r8
mov rdx, rbx
call sub.VCRUNTIME140.dll_memmove
mov r8, rsi
mov rdx, rdi
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
lea rcx, [rbx + rsi]
sub r14, rsi
lea rdx, [rdi + 6]
add rdx, rsi
mov r8, r14
call sub.VCRUNTIME140.dll_memcpy
lea rax, [rbp - 1]
jmp 0x14003c018
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rdi
mov rdx, r14
lea rcx, [rbp - 1]
call fcn.1400461d0
movups xmm6, xmmword [rax]
movups xmm7, xmmword [rax + 0x10]
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov rdx, qword [0x1400e2120]
cmp rdx, 0xf
jbe 0x14003c076
inc rdx
mov rcx, qword [0x1400e2108]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003c071
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14003c071
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140046b0c
movups xmmword [0x1400e2108], xmm6
movups xmmword [0x1400e2118], xmm7
mov rdx, qword [rbp + 0x17]
cmp rdx, 0xf
jbe 0x14003c0c2
inc rdx
mov rcx, qword [rbp - 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003c0bd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14003c0bd
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140046b0c
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x38]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [rsp + 0x70]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret