Function at 0x140002bd8
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.140002a24
lea rcx, [rbp]
call fcn.140002480
mov rdi, rax
mov dword [rsp + 0x30], 0x16e0e1c
mov dword [rsp + 0x34], 0x69373c31
mov word [rsp + 0x38], 0x74
mov byte [rsp + 0x3a], 1
mov ecx, esi
lea eax, [rcx + 0x4c]
xor byte [rsp + rcx + 0x30], al
inc rcx
cmp rcx, 9
jb 0x140002c2c
mov byte [rsp + 0x3a], sil
mov word [rbp + 0x50], 0xa
mov byte [rbp + 0x52], sil
lea rcx, [rbp - 0x20]
call fcn.140001948
mov r14, rax
movdqa xmm0, xmmword [0x1400053d0]
movdqu xmmword [rsp + 0x40], xmm0
mov dword [rsp + 0x50], 0x2c0b7d72
mov dword [rsp + 0x54], 0x20c1305
mov dword [rsp + 0x58], 0x475c0009
mov word [rsp + 0x5c], 0x100
mov rcx, rsi
lea eax, [rcx + 0x4c]
xor byte [rsp + rcx + 0x40], al
inc rcx
cmp rcx, 0x1c
jb 0x140002c87
mov byte [rsp + 0x5d], sil
lea rax, [rsp + 0x40]
or rbx, 0xffffffffffffffff
inc rbx
cmp byte [rax + rbx], sil
jne 0x140002ca5
mov r8, qword [r14 + 0x10]
mov rax, qword [r14 + 0x18]
sub rax, r8
mov r15d, 0xf
cmp rbx, rax
ja 0x140002d58
lea rax, [rbx + r8]
mov qword [r14 + 0x10], rax
mov rsi, r14
cmp qword [r14 + 0x18], r15
jbe 0x140002cdc
mov rsi, qword [r14]
lea rax, [rsp + 0x40]
add rax, rbx
cmp rax, rsi
jbe 0x140002d13
lea rax, [r8 + rsi]
lea rcx, [rsp + 0x40]
cmp rcx, rax
ja 0x140002d13
lea rax, [rsp + 0x40]
cmp rsi, rax
ja 0x140002d06
xor r15d, r15d
jmp 0x140002d16
lea rax, [rsp + 0x40]
mov r15, rsi
sub r15, rax
jmp 0x140002d16
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 0x140002d75
mov qword [rsp + 0x28], rbx
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
mov rdx, rbx
mov rcx, r14
call fcn.140003f48
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.14000393c
nop
lea r8, [rsp + 0x30]
mov rdx, rax
lea rcx, [rbp - 0x60]
call fcn.14000393c
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 0x140002e49
cmp rcx, qword [rbx + 0x18]
ja 0x140002e49
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 0x140002e2f
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 0x140002f6a
sub rcx, r13
cmp r14, rcx
ja 0x140002e96
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 0x140002e8b
mov rbx, qword [rbx]
mov r8, r14
mov rdx, rbx
mov rcx, rdi
jmp 0x140002e3a
movabs r15, 0x7fffffffffffffff
mov rax, r15
sub rax, r14
cmp rax, r13
jb 0x140003109
mov rax, r12
or rax, 0xf
cmp rax, r15
jbe 0x140002ee4
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.140004170
test rax, rax
je 0x140002f14
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x140002f23
mov ecx, 0x16
cmp rax, rcx
cmovb rax, rcx
mov r15, rax
lea rcx, [rax + 1]
test rcx, rcx
je 0x140002f23
cmp rcx, 0x1000
jb 0x140002f1b
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x14000310f
jmp 0x140002ec9
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140004170
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 0x140002f41
mov rbx, qword [rbx]
mov r8, r14
mov rdx, rbx
mov rcx, rsi
call sub.VCRUNTIME140.dll_memcpy
cmp qword [rdi + 0x18], r15
jbe 0x140002f58
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.1400011cc
nop
mov rdx, qword [rbp - 0x48]
mov ebx, 0x1000
cmp rdx, r15
jbe 0x140002fb3
inc rdx
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, rbx
jb 0x140002fae
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140002fae
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400041b4
movdqa xmm0, xmmword [0x140005360]
movdqu xmmword [rbp - 0x50], xmm0
mov byte [rbp - 0x60], sil
mov rdx, qword [rbp - 0x28]
cmp rdx, r15
jbe 0x140003005
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, rbx
jb 0x140002ff8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140002ff8
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400041b4
movdqa xmm0, xmmword [0x140005360]
movdqu xmmword [rbp - 0x30], xmm0
mov byte [rbp - 0x40], sil
mov rdx, qword [rbp - 0x68]
cmp rdx, r15
jbe 0x14000304f
inc rdx
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, rbx
jb 0x140003042
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140003042
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400041b4
movdqa xmm0, xmmword [0x140005360]
movdqu xmmword [rbp - 0x70], xmm0
mov byte [rbp - 0x80], sil
mov rdx, qword [rbp - 8]
cmp rdx, r15
jbe 0x140003099
inc rdx
mov rcx, qword [rbp - 0x20]
mov rax, rcx
cmp rdx, rbx
jb 0x14000308c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000308c
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400041b4
movdqa xmm0, xmmword [0x140005360]
movdqu xmmword [rbp - 0x10], xmm0
mov byte [rbp - 0x20], sil
mov rdx, qword [rbp + 0x18]
cmp rdx, r15
jbe 0x1400030db
inc rdx
mov rcx, qword [rbp]
mov rax, rcx
cmp rdx, rbx
jb 0x1400030d6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400030d6
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400041b4
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.1400011b8
nop
call fcn.140001118
int3