Function at 0x140039cc0
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]
mov eax, dword [rcx + rax]
cmp dword [0x1400e1128], eax
jle 0x140039d81
lea rcx, [0x1400e1128]
call fcn.140045804
cmp dword [0x1400e1128], 0xffffffff
jne 0x140039d81
mov dword [rbp - 0x19], 0x5f52567a
mov dword [rbp - 0x15], 0x2f4b1e56
mov dword [rbp - 0x11], 0x2a2a2061
mov dword [rbp - 0xd], 0x1006821
xor edx, edx
nop word [rax + rax]
lea eax, [rdx + 0x39]
xor byte [rbp + rdx - 0x19], al
inc rdx
cmp rdx, 0xe
jb 0x140039d40
mov byte [rbp - 0xa], 0
lea r8, [rbp - 0xb]
lea rdx, [rbp - 0x19]
lea rcx, [0x1400e1108]
call fcn.140044490
lea rcx, [0x140047190]
call fcn.140045b74
nop
lea rcx, [0x1400e1128]
call fcn.140045798
mov dword [rbp + 0x67], 0x42c80000
mov dword [rbp + 0x6b], 0x41a00000
lea rcx, [0x1400e1108]
cmp qword [0x1400e1120], 0xf
cmova rcx, qword [0x1400e1108]
lea rdx, [rbp + 0x67]
call fcn.140026c00
test al, al
je 0x140039dbc
mov byte [0x1400e10b8], 1
jmp 0x140039dc5
cmp byte [0x1400e10b8], 0
je 0x140039e1f
mov ebx, 1
lea edi, [rbx - 2]
nop dword [rax]
mov ecx, ebx
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x140039df7
cmp ebx, 0xc
je 0x140039df7
mov eax, ebx
cmp ebx, 0x1b
cmove eax, edi
mov dword [0x1400dfee4], eax
mov byte [0x1400e10b8], 0
inc ebx
cmp ebx, 0x100
jl 0x140039dd0
mov r8d, 0xc
lea rdx, str.Press_a_Key.
lea rcx, [0x1400e1108]
call fcn.140043780
jmp 0x14003a032
mov r8d, dword [0x1400dfee4]
cmp r8d, 0xffffffff
jne 0x140039e4a
mov r8d, 0xe
lea rdx, str.Click_to_bind.
lea rcx, [0x1400e1108]
call fcn.140043780
jmp 0x14003a032
lea r9, [rbp - 4]
test r8d, r8d
jns 0x140039ea0
neg r8d
nop word [rax + 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 0x140039e60
dec r9
mov byte [r9], 0x2d
jmp 0x140039eca
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 0x140039ea0
lea r8, [rbp - 4]
mov rdx, r9
lea rcx, [rbp - 1]
call fcn.140044490
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 0x140039f72
lea rax, [r8 + 6]
mov qword [rbp + 0xf], rax
lea rbx, [rbp - 1]
cmp rcx, 0xf
cmova rbx, qword [rbp - 1]
lea rax, [0x1400b2e66]
cmp rax, rbx
jbe 0x140039f36
lea rax, [rbx + r8]
cmp rdi, rax
ja 0x140039f36
cmp rbx, rdi
ja 0x140039f2e
xor esi, esi
jmp 0x140039f39
mov rsi, rbx
sub rsi, rdi
jmp 0x140039f39
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 0x140039f88
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rdi
mov rdx, r14
lea rcx, [rbp - 1]
call fcn.140045250
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 [0x1400e1120]
cmp rdx, 0xf
jbe 0x140039fe6
inc rdx
mov rcx, qword [0x1400e1108]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140039fe1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140039fe1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140045b8c
movups xmmword [0x1400e1108], xmm6
movups xmmword [0x1400e1118], xmm7
mov rdx, qword [rbp + 0x17]
cmp rdx, 0xf
jbe 0x14003a032
inc rdx
mov rcx, qword [rbp - 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003a02d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14003a02d
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140045b8c
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