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

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x60]
sub rsp, 0x160
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
mov rax, qword [0x14005e040]
xor rax, rsp
mov qword [rbp + 0x18], rax
mov rsi, qword [0x1400e1bf0]
xorps xmm0, xmm0
movups xmmword [rbp + 8], xmm0
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov rcx, rax
mov edx, 2
call qword [sym.imp.KERNEL32.dll_SetThreadPriority]
mov r12d, dword [0x14005e088]
lea rbx, [rsi + 0xd1]
movss xmm7, dword [0x14005612c]
xor r13d, r13d
movss xmm8, dword [0x14005621c]
movabs rdi, 0x7fffffffffffffff
movss xmm9, dword [0x140056160]
movabs r14, 0x7ffffffffff0bdbe
call fcn.140003e80
mov qword [0x1400d84d0], rax
test rax, rax
jne 0x14000e281
mov eax, dword [0x1400d8478]
lea r8, [rbp - 0x58]
mov rcx, qword [0x1400d8480]
mov r9d, 0x10
mov qword [rsp + 0x38], r13
mov edx, 0x226558
mov dword [rbp - 0x58], eax
lea rax, [rbp - 0x40]
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], r13d
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x40], r13
mov dword [rbp - 0x54], r13d
mov qword [rsp + 0x20], r13
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
cmp qword [rbp - 0x40], r13
jne 0x14000e09b
mov eax, dword [0x14004f908]
mov r8d, r13d
mov dword [rbp - 0x60], eax
movups xmm0, xmmword [0x14004f8e8]
movups xmm1, xmmword [0x14004f8f8]
movups xmmword [rbp - 0x80], xmm0
movups xmmword [rbp - 0x70], xmm1
cmp r12d, 2
jl 0x14000e057
movdqa xmm0, xmmword [str.7777777777777777]
lea rcx, [rbp - 0x7c]
movdqa xmm5, xmmword [0x140056370]
movdqa xmm4, xmmword [0x1400564e0]
movdqa xmm6, xmmword [0x1400563b0]
movdqa xmmword [rbp - 0x40], xmm0
mov edx, dword [rbp - 0x40]
nop word [rax + rax]
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm5
movd xmm3, eax
movdqa xmm1, xmm2
pshufd xmm3, xmm3, 0
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
paddd xmm3, xmm5
pmuldq xmm0, xmm4
add r8d, 8
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x140056420]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 0xc]
xorps xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rcx - 0xc], xmm2
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, edx
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140056420]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
xorps xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp r8d, 0x20
jl 0x14000df50
cmp r8d, 0x24
jge 0x14000e092
movsxd rax, r8d
lea r9, [rbp - 0x80]
add r9, rax
mov eax, 0x4d4873ed
lea r9, [r9 + 1]
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x35
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x37
xor byte [r9 - 1], al
cmp r8d, 0x24
jl 0x14000e061
lea rdx, [rbp - 0x80]
jmp 0x14000e266
cmp byte [0x14005464d], r13b
movups xmm0, xmmword [0x140054630]
mov eax, dword [0x140054648]
mov dword [rsp + 0x78], eax
movzx eax, word [0x14005464c]
movups xmmword [rsp + 0x60], xmm0
mov word [rsp + 0x7c], ax
movsd xmm0, qword [0x140054640]
movsd qword [rsp + 0x70], xmm0
je 0x14000e261
mov r8d, r13d
cmp r12d, 2
jl 0x14000e219
movdqa xmm0, xmmword [str.7777777777777777]
lea rcx, [rsp + 0x64]
movdqa xmm5, xmmword [0x140056370]
movdqa xmm4, xmmword [0x1400564e0]
movdqa xmm6, xmmword [0x1400563b0]
movdqa xmmword [rbp - 0x40], xmm0
mov edx, dword [rbp - 0x40]
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm5
movd xmm3, eax
movdqa xmm1, xmm2
pshufd xmm3, xmm3, 0
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
paddd xmm3, xmm5
pmuldq xmm0, xmm4
add r8d, 8
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x140056420]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 0xc]
xorps xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rcx - 0xc], xmm2
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, edx
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140056420]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
xorps xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp r8d, 0x18
jl 0x14000e112
cmp r8d, 0x1e
jge 0x14000e261
movsxd rax, r8d
lea r9, [rsp + 0x60]
add r9, rax
nop dword [rax]
nop dword [rax + rax]
mov eax, 0x4d4873ed
lea r9, [r9 + 1]
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x35
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x37
xor byte [r9 - 1], al
cmp r8d, 0x1e
jl 0x14000e230
lea rdx, [rsp + 0x60]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400033b0
mov rcx, rax
call fcn.140003580
lea rbx, [rsi + 0xd1]
mov rdx, qword [0x1400d8550]
lea rcx, [rbp - 0x28]
xor r9d, r9d
mov dword [rsp + 0x20], 1
xor r8d, r8d
call qword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
je 0x14000e2ec
lea rcx, [rbp - 0x28]
call qword [sym.imp.USER32.dll_TranslateMessage]
lea rcx, [rbp - 0x28]
call qword [sym.imp.USER32.dll_DispatchMessageW]
cmp dword [rbp - 0x20], 0x12
je 0x14000e74f
mov rdx, qword [0x1400d8550]
lea rcx, [rbp - 0x28]
xor r9d, r9d
mov dword [rsp + 0x20], 1
xor r8d, r8d
lea rbx, [rsi + 0xd1]
call qword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
jne 0x14000e2a4
mov rax, qword [0x1400d8550]
lea rcx, [rbp - 0x30]
mov qword [rsi + 0xc8], rax
mov dword [rsi + 0x18], 0x3bc6980c
call qword [sym.imp.USER32.dll_GetCursorPos]
movd xmm0, dword [rbp - 0x30]
mov ecx, 1
movd xmm1, dword [rbp - 0x2c]
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
movss dword [rsi + 0xe00], xmm0
movss dword [rsi + 0xe04], xmm1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
shr eax, 0xf
and al, 1
mov byte [rsi + 0xe08], al
mov byte [rsi + 0x3740], al
cmp byte [rsi + 0xd0], r13b
jne 0x14000e359
cmp byte [rbx], r13b
jne 0x14000e359
xor al, al
jmp 0x14000e35b
mov al, 1
mov byte [rbx], al
mov byte [rsi + 0xd0], al
cmp byte [0x14005e112], r13b
je 0x14000e38e
movzx eax, byte [0x14005e111]
mov rcx, qword [0x1400d8550]
neg al
sbb edx, edx
and edx, 0x11
call qword [sym.imp.USER32.dll_SetWindowDisplayAffinity]
mov byte [0x14005e112], r13b
mov rax, qword [0x1400e1bf0]
test rax, rax
je 0x14000e3a3
mov rcx, qword [rax + 0x98]
jmp 0x14000e3a6
mov rcx, r13
cmp qword [rcx + 0x48], r13
jne 0x14000e3b1
call fcn.14000f480
call fcn.140010460
call fcn.140016360
lea rcx, [0x1400e1c98]
call fcn.140006fe0
cmp byte [0x14005e0c4], r13b
je 0x14000e4af
mov rax, qword [0x1400e1bf0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax + 0x48b8]
mov rcx, qword [rcx]
call fcn.140015a70
movaps xmm0, xmmword [0x1400564c0]
lea rcx, [rbp - 0x40]
movups xmmword [rbp - 0x40], xmm0
mov rdi, rax
call fcn.140012820
mov ecx, dword [0x14005e0c8]
mov r14d, eax
movss xmm0, dword [0x1400d84a0]
movss xmm1, dword [0x1400d84a4]
mulss xmm0, xmm7
lea edx, [rcx + rcx*4]
add edx, edx
mulss xmm1, xmm7
movss dword [rsp + 0x48], xmm0
movd xmm2, edx
movss dword [rsp + 0x4c], xmm1
cvtdq2ps xmm2, xmm2
test eax, 0xff000000
je 0x14000e49b
comiss xmm7, xmm2
ja 0x14000e49b
subss xmm2, xmm7
mov dword [rsp + 0x28], 0x3f
xorps xmm3, xmm3
movss dword [rsp + 0x20], xmm8
lea rdx, [rsp + 0x48]
mov rcx, rdi
call fcn.1400342b0
mov r8d, dword [rdi + 0x78]
mov r9d, r14d
mov rdx, qword [rdi + 0x80]
mov rcx, rdi
movss dword [rsp + 0x28], xmm9
mov dword [rsp + 0x20], 1
call fcn.140032870
mov dword [rdi + 0x78], r13d
movabs rdi, 0x7fffffffffffffff
movabs r14, 0x7ffffffffff0bdbe
lea rcx, [0x1400e1c70]
call fcn.1400097e0
mov rcx, qword [0x1400e1c90]
call fcn.14001e1b0
mov rax, qword [0x1400e1bf0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax + 0x48b8]
mov rcx, qword [rcx]
call fcn.140015a70
cmp byte [0x1400543e7], r13b
mov r10, rax
mov rcx, qword [str.VKMHZY_aQJOZPN_dUVUOT]
mov qword [rsp + 0x40], rcx
je 0x14000e651
cmp r12d, 2
jl 0x14000e60b
movdqa xmm2, xmmword [0x140056370]
movdqa xmm4, xmmword [0x1400564e0]
movdqa xmm1, xmm2
movdqa xmm3, xmmword [0x140056390]
movdqa xmm0, xmm2
mov eax, dword [str.7777777777777777]
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1400563b0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140056420]
movd xmm1, dword [rsp + 0x40]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movdqa xmm0, xmm3
xorps xmm2, xmm1
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
movd dword [rsp + 0x40], xmm2
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1400563b0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140056420]
movd xmm1, dword [rsp + 0x44]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
xorps xmm2, xmm1
movd dword [rsp + 0x44], xmm2
jmp 0x14000e651
lea r9, [rsp + 0x40]
mov r8d, r13d
nop dword [rax]
nop word [rax + rax]
mov eax, 0x4d4873ed
lea r9, [r9 + 1]
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x35
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x37
xor byte [r9 - 1], al
cmp r8d, 8
jl 0x14000e620
movaps xmm0, xmmword [0x1400564c0]
lea rcx, [rbp - 0x40]
movups xmmword [rbp - 0x40], xmm0
mov dword [rsp + 0x50], 0x41200000
mov dword [rsp + 0x54], 0x41200000
call fcn.140012820
mov r8d, eax
mov byte [rsp + 0x28], 1
lea rdx, [rsp + 0x50]
mov rcx, r10
lea r9, [rsp + 0x40]
call fcn.140035790
call fcn.14001e250
call fcn.140018490
mov rcx, qword [0x1400d8530]
lea r8, [0x1400d8538]
xor r9d, r9d
mov rax, qword [rcx]
lea edx, [r9 + 1]
call qword [rax + 0x108]
mov rcx, qword [0x1400d8530]
lea r8, [rbp + 8]
mov rdx, qword [0x1400d8538]
mov rax, qword [rcx]
call qword [rax + 0x190]
mov rax, qword [0x1400e1bf0]
mov rcx, qword [rax + 0x48b8]
mov rax, qword [rcx]
mov rcx, r13
add rax, 0x48
cmp byte [rax], cl
cmovne rcx, rax
call fcn.14000ea20
mov rcx, qword [0x1400d8548]
mov edx, r13d
cmp byte [0x14005e110], dl
setne dl
xor r8d, r8d
mov rax, qword [rcx]
call qword [rax + 0x40]
lea rcx, [rsp + 0x58]
call fcn.140003990
mov rax, qword [rsp + 0x58]
cmp rax, r14
jg 0x14000e73d
add rax, 0xf4240
lea rcx, [rbp - 0x40]
mov qword [rbp - 0x40], rax
call fcn.140004ab0
jmp 0x14000de85
lea rcx, [rbp - 0x40]
mov qword [rbp - 0x40], rdi
call fcn.140004ab0
jmp 0x14000de85
mov rcx, qword [rbp + 0x18]
xor rcx, rsp
call fcn.14004bed0
lea r11, [rsp + 0x160]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret