Function at 0x140002da0
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x48]
sub rsp, 0x120
xor esi, esi
call fcn.140002b4c
lea rcx, [rbp]
call fcn.1400025c0
mov rdi, rax
mov dword [rsp + 0x30], 0x553a5a48
mov dword [rsp + 0x34], 0x257b707d
mov word [rsp + 0x38], si
mov byte [rsp + 0x3a], 1
mov ecx, esi
lea eax, [rcx + 0x18]
xor byte [rsp + rcx + 0x30], al
inc rcx
cmp rcx, 9
jb 0x140002df2
mov byte [rsp + 0x3a], sil
mov word [rbp + 0x50], 0xa
mov byte [rbp + 0x52], sil
lea rcx, [rbp - 0x20]
call fcn.140001a88
mov r14, rax
movdqa xmm0, xmmword [0x1400052a0]
movdqu xmmword [rsp + 0x40], xmm0
mov dword [rsp + 0x50], 0x587f0906
mov dword [rsp + 0x54], 0x4e405f49
mov dword [rsp + 0x58], 0x1308545d
mov word [rsp + 0x5c], 0x100
mov rcx, rsi
lea eax, [rcx + 0x18]
xor byte [rsp + rcx + 0x40], al
inc rcx
cmp rcx, 0x1c
jb 0x140002e4d
mov byte [rsp + 0x5d], sil
lea rax, [rsp + 0x40]
or rbx, 0xffffffffffffffff
inc rbx
cmp byte [rax + rbx], sil
jne 0x140002e6b
mov r8, qword [r14 + 0x10]
mov rax, qword [r14 + 0x18]
sub rax, r8
mov r15d, 0xf
cmp rbx, rax
ja 0x140002f1e
lea rax, [rbx + r8]
mov qword [r14 + 0x10], rax
mov rsi, r14
cmp qword [r14 + 0x18], r15
jbe 0x140002ea2
mov rsi, qword [r14]
lea rax, [rsp + 0x40]
add rax, rbx
cmp rax, rsi
jbe 0x140002ed9
lea rax, [r8 + rsi]
lea rcx, [rsp + 0x40]
cmp rcx, rax
ja 0x140002ed9
lea rax, [rsp + 0x40]
cmp rsi, rax
ja 0x140002ecc
xor r15d, r15d
jmp 0x140002edc
lea rax, [rsp + 0x40]
mov r15, rsi
sub r15, rax
jmp 0x140002edc
mov r15, rbx
inc r8
lea rcx, [rbx + rsi]
mov rdx, rsi
call sub.VCRUNTIME140.dll_memmove
mov r8, r15
lea rdx, [rsp + 0x40]
mov rcx, rsi
call sub.VCRUNTIME140.dll_memcpy
mov r8, rbx
sub r8, r15
lea rax, [rbx + r15]
lea rdx, [rsp + 0x40]
add rdx, rax
lea rcx, [r15 + rsi]
call sub.VCRUNTIME140.dll_memcpy
xor esi, esi
lea r15d, [rsi + 0xf]
jmp 0x140002f3b
mov qword [rsp + 0x28], rbx
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
mov rdx, rbx
mov rcx, r14
call fcn.140003bdc
mov r14, rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x70], xmm1
movups xmm0, xmmword [r14]
movups xmmword [rbp - 0x80], xmm0
movups xmm1, xmmword [r14 + 0x10]
movups xmmword [rbp - 0x70], xmm1
mov qword [r14 + 0x10], rsi
mov qword [r14 + 0x18], r15
mov byte [r14], sil
lea r8, [rbp + 0x50]
lea rdx, [rbp - 0x80]
lea rcx, [rbp - 0x40]
call fcn.140003850
nop
lea r8, [rsp + 0x30]
mov rdx, rax
lea rcx, [rbp - 0x60]
call fcn.140003850
mov rbx, rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x78], rsi
mov r14, qword [rax + 0x10]
mov r13, qword [rdi + 0x10]
mov rcx, qword [rdi + 0x18]
lea r12, [r14 + r13]
mov rax, qword [rax + 0x18]
sub rax, r14
cmp r13, rax
ja 0x14000300f
cmp rcx, qword [rbx + 0x18]
ja 0x14000300f
movups xmm0, xmmword [rbx]
movups xmmword [rsp + 0x60], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rsp + 0x70], xmm1
mov qword [rbx + 0x10], rsi
mov qword [rbx + 0x18], r15
mov byte [rbx], sil
lea rax, [rsp + 0x60]
cmp qword [rsp + 0x78], r15
cmova rax, qword [rsp + 0x60]
cmp qword [rdi + 0x18], r15
jbe 0x140002ff5
mov rdi, qword [rdi]
lea r8, [r13 + 1]
lea rcx, [r14 + rax]
mov rdx, rdi
call sub.VCRUNTIME140.dll_memcpy
mov qword [rsp + 0x70], r12
jmp 0x140003130
sub rcx, r13
cmp r14, rcx
ja 0x14000305c
movups xmm0, xmmword [rdi]
movups xmmword [rsp + 0x60], xmm0
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rsp + 0x70], xmm1
mov qword [rdi + 0x10], rsi
mov qword [rdi + 0x18], r15
mov byte [rdi], sil
mov rdi, qword [rsp + 0x60]
lea r8, [r13 + 1]
lea rcx, [r14 + rdi]
mov rdx, rdi
call sub.VCRUNTIME140.dll_memmove
cmp qword [rbx + 0x18], r15
jbe 0x140003051
mov rbx, qword [rbx]
mov r8, r14
mov rdx, rbx
mov rcx, rdi
jmp 0x140003000
movabs r15, 0x7fffffffffffffff
mov rax, r15
sub rax, r14
cmp rax, r13
jb 0x1400032cf
mov rax, r12
or rax, 0xf
cmp rax, r15
jbe 0x1400030aa
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.140003e50
test rax, rax
je 0x1400030da
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x1400030e9
mov ecx, 0x16
cmp rax, rcx
cmovb rax, rcx
mov r15, rax
lea rcx, [rax + 1]
test rcx, rcx
je 0x1400030e9
cmp rcx, 0x1000
jb 0x1400030e1
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1400032d5
jmp 0x14000308f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140003e50
mov rsi, rax
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x78], r15
mov r15d, 0xf
cmp qword [rbx + 0x18], r15
jbe 0x140003107
mov rbx, qword [rbx]
mov r8, r14
mov rdx, rbx
mov rcx, rsi
call sub.VCRUNTIME140.dll_memcpy
cmp qword [rdi + 0x18], r15
jbe 0x14000311e
mov rdi, qword [rdi]
lea r8, [r13 + 1]
lea rcx, [r14 + rsi]
mov rdx, rdi
call sub.VCRUNTIME140.dll_memcpy
xor esi, esi
lea rcx, [rsp + 0x60]
call fcn.140001178
nop
mov rdx, qword [rbp - 0x48]
mov ebx, 0x1000
cmp rdx, r15
jbe 0x140003179
inc rdx
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, rbx
jb 0x140003174
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140003174
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140003e94
movdqa xmm0, xmmword [0x140005250]
movdqu xmmword [rbp - 0x50], xmm0
mov byte [rbp - 0x60], sil
mov rdx, qword [rbp - 0x28]
cmp rdx, r15
jbe 0x1400031cb
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, rbx
jb 0x1400031be
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400031be
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140003e94
movdqa xmm0, xmmword [0x140005250]
movdqu xmmword [rbp - 0x30], xmm0
mov byte [rbp - 0x40], sil
mov rdx, qword [rbp - 0x68]
cmp rdx, r15
jbe 0x140003215
inc rdx
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, rbx
jb 0x140003208
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140003208
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140003e94
movdqa xmm0, xmmword [0x140005250]
movdqu xmmword [rbp - 0x70], xmm0
mov byte [rbp - 0x80], sil
mov rdx, qword [rbp - 8]
cmp rdx, r15
jbe 0x14000325f
inc rdx
mov rcx, qword [rbp - 0x20]
mov rax, rcx
cmp rdx, rbx
jb 0x140003252
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140003252
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140003e94
movdqa xmm0, xmmword [0x140005250]
movdqu xmmword [rbp - 0x10], xmm0
mov byte [rbp - 0x20], sil
mov rdx, qword [rbp + 0x18]
cmp rdx, r15
jbe 0x1400032a1
inc rdx
mov rcx, qword [rbp]
mov rax, rcx
cmp rdx, rbx
jb 0x14000329c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000329c
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140003e94
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
lea r11, [rsp + 0x120]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
jmp qword [sym.imp.MSVCP140.dll_public:_int___cdecl_std::basic_istream_char__struct_std::char_traits_char__::get_void____ptr64]
call fcn.140001164
nop
call fcn.1400010c4
int3