Function at 0x140005ff0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f0]
sub rsp, 0x2f0
mov rax, qword [0x1400b6060]
xor rax, rsp
mov qword [rbp + 0x1e0], rax
mov r13, rcx
movdqa xmm0, xmmword [str.l_V0_]
movdqu xmmword [rsp + 0x40], xmm0
movdqa xmm1, xmmword [0x1400acfc0]
movdqu xmmword [rsp + 0x50], xmm1
mov dword [rsp + 0x60], 0x1f030430
mov word [rsp + 0x64], 0x1f18
mov byte [rsp + 0x66], 0
xor r14d, r14d
mov edi, r14d
mov rdx, rdi
lea rcx, [rsp + 0x41]
call fcn.140008ba0
movzx ebx, byte [rsp + 0x40]
xor bl, byte [rax]
mov rdx, rdi
lea rcx, [rsp + 0x41]
call fcn.140008ba0
mov byte [rax], bl
inc rdi
cmp rdi, 0x25
jb 0x140006061
mov byte [rsp + 0x66], r14b
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x70], xmm0
mov qword [rbp - 0x60], rax
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x58], xmm1
lea rax, [rsp + 0x41]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], r14b
jne 0x1400060b3
lea rdx, [rsp + 0x41]
lea rcx, [rbp - 0x70]
call fcn.14000e400
nop
xor edx, edx
mov r8d, 0x108
lea rcx, [rbp - 0x40]
call fcn.140025dd0
mov r8d, 8
lea rdx, [rbp - 0x70]
lea rcx, [rbp - 0x40]
call fcn.140008a00
nop
mov r15d, 2
lea r12, str.null_pointer_cannot_point_to_a_block_of_non_zero_size
cmp qword [rbp + 0x48], 0
jne 0x14000611a
xor sil, sil
lea r13, [0x1400ac014]
lea rbx, vtable.std::ios_base.0
jmp 0x1400064b5
xor edx, edx
mov r8d, pe_nt_image_headers64
lea rcx, [rbp + 0xd0]
call fcn.140025dd0
lea rdx, [rbp - 0x70]
lea rcx, [rbp + 0xd0]
call fcn.140007bb0
nop
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x78], rax
mov qword [rbp - 0x80], r14
mov qword [rbp - 0x78], r14
lea ecx, [rax + 0x10]
call fcn.1400216e0
mov qword [rax + 8], r14
mov qword [rsp + 0x68], rax
lea rcx, [rsp + 0x68]
mov qword [rax], rcx
mov qword [rbp - 0x80], r14
mov qword [rbp - 0x78], 0xf
mov byte [rsp + 0x70], 0
mov rax, qword [rbp + 0xd0]
movsxd rcx, dword [rax + 4]
mov rax, qword [rbp + rcx + 0x110]
mov rcx, qword [rax + 8]
mov qword [rsp + 0x38], rcx
mov rax, qword [rcx]
call qword [rax + 8]
nop
lea rcx, [rsp + 0x30]
call fcn.14000d4f0
mov rcx, qword [rax]
mov r8, qword [rcx + 0x40]
mov dl, 0xa
mov rcx, rax
call r8
movzx ebx, al
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x1400061e5
mov rdx, qword [rcx]
call qword [rdx + 0x10]
test rax, rax
je 0x1400061e5
mov rcx, qword [rax]
mov r8, qword [rcx]
mov edx, 1
mov rcx, rax
call r8
movzx r8d, bl
lea rdx, [rsp + 0x68]
lea rcx, [rbp + 0xd0]
call fcn.14000f710
mov rcx, qword [rax]
movsxd rdx, dword [rcx + 4]
test byte [rdx + rax + 0x10], 6
jne 0x1400062c0
mov rsi, qword [r13 + 0x18]
lea rdi, [r13 + 8]
cmp qword [r13 + 0x20], 0x10
jb 0x14000621e
mov rdi, qword [rdi]
lea r14, [rsp + 0x70]
cmp qword [rbp - 0x78], 0x10
cmovae r14, qword [rsp + 0x70]
mov rax, qword [rbp - 0x80]
cmp rsi, rax
ja 0x140006180
sub rax, rsi
test rsi, rsi
je 0x1400062b1
lea r15, [rax + r14]
movsx r12d, byte [rdi]
lea r8, [r15 + 1]
sub r8, r14
mov edx, r12d
mov rcx, r14
call fcn.1400262f0
mov rbx, rax
test rax, rax
je 0x140006180
nop dword [rax]
mov r8, rsi
mov rdx, rdi
mov rcx, rbx
call fcn.140025620
test eax, eax
je 0x1400062a4
inc rbx
lea r8, [r15 + 1]
sub r8, rbx
mov edx, r12d
mov rcx, rbx
call fcn.1400262f0
mov rbx, rax
test rax, rax
jne 0x140006270
jmp 0x140006180
sub rbx, r14
cmp rbx, 0xffffffffffffffff
je 0x140006180
xor sil, sil
xor r14d, r14d
lea r15d, [r14 + 2]
jmp 0x14000636d
mov al, 0x25
mov dword [rsp + 0x30], 0x150b1525
mov dword [rsp + 0x34], 0x150b150b
mov word [rsp + 0x38], 5
xor r14d, r14d
mov ecx, r14d
nop
xor byte [rsp + rcx + 0x31], al
inc rcx
cmp rcx, 8
jae 0x1400062f4
movzx eax, byte [rsp + 0x30]
jmp 0x1400062e0
mov byte [rsp + 0x39], r14b
lea rdx, [rsp + 0x31]
lea rcx, [rbp - 0x40]
call fcn.14000d920
lea rdx, [r13 + 8]
cmp qword [r13 + 0x20], 0x10
jb 0x140006315
mov rdx, qword [rdx]
mov r8, qword [r13 + 0x18]
mov rcx, rax
call fcn.14000f930
mov rcx, rax
call fcn.14000dbe0
lea rcx, [rbp - 0x38]
call fcn.14000b640
mov r15d, 2
test rax, rax
jne 0x14000636a
mov rax, qword [rbp - 0x40]
movsxd rcx, dword [rax + 4]
mov eax, 6
cmp qword [rbp + rcx + 8], r14
cmovne eax, r15d
or eax, dword [rbp + rcx - 0x30]
and eax, 0x17
mov dword [rbp + rcx - 0x30], eax
mov edx, dword [rbp + rcx - 0x2c]
and edx, eax
jne 0x1400065e8
mov sil, 1
lea rcx, [rsp + 0x68]
call fcn.140001b70
mov rax, qword [rbp - 0x78]
lea r13, [0x1400ac014]
cmp rax, 0x10
jb 0x1400063fa
mov rdi, qword [rsp + 0x70]
lea rbx, [rax + 1]
test rdi, rdi
jne 0x1400063ef
test rbx, rbx
je 0x1400063ef
lea rax, str.null_pointer_cannot_point_to_a_block_of_non_zero_size
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r13
xor r9d, r9d
mov r8d, 0x33c
lea rdx, [0x1400ac020]
mov ecx, r15d
call fcn.14002d680
cmp eax, 1
jne 0x1400063ca
int3
mov qword [rsp + 0x20], r14
mov r9d, 0x33c
lea r8, str.C:Program_FilesMicrosoft_Visual_Studio2022CommunityVCToolsMSVC14.34.31933includexmemory
lea rdx, [0x1400ac154]
lea rcx, str._null_pointer_cannot_point_to_a_block_of_non_zero_size_
call fcn.14002e560
mov rdx, rbx
mov rcx, rdi
call fcn.14000e800
mov qword [rbp - 0x80], r14
mov qword [rbp - 0x78], 0xf
mov byte [rsp + 0x70], 0
mov rcx, qword [rsp + 0x68]
mov qword [rsp + 0x68], r14
mov edx, 0x10
call fcn.14000e800
nop
mov rax, qword [rbp + 0xd0]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0xd0], rax
mov rax, qword [rbp + 0xd0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx + 0xcc], edx
lea rcx, [rbp + 0xe0]
call fcn.140008950
mov rax, qword [rbp + 0xd0]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_istream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0xd0], rax
mov rax, qword [rbp + 0xd0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x18]
mov dword [rbp + rcx + 0xcc], edx
lea rbx, vtable.std::ios_base.0
mov qword [rbp + 0x180], rbx
lea rcx, [rbp + 0x180]
call fcn.14001c560
nop
mov r15d, 2
lea r12, str.null_pointer_cannot_point_to_a_block_of_non_zero_size
mov rax, qword [rbp - 0x40]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx - 0x40], rax
mov rax, qword [rbp - 0x40]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rbp + rcx - 0x44], edx
lea rcx, [rbp - 0x38]
call fcn.140008950
mov rax, qword [rbp - 0x40]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx - 0x40], rax
mov rax, qword [rbp - 0x40]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x10]
mov dword [rbp + rcx - 0x44], edx
mov qword [rbp + 0x68], rbx
lea rcx, [rbp + 0x68]
call fcn.14001c560
nop
lea rcx, [rbp - 0x70]
call fcn.140001b70
mov rbx, qword [rbp - 0x50]
cmp rbx, 0x10
jb 0x140006591
mov rdi, qword [rbp - 0x68]
inc rbx
test rdi, rdi
jne 0x140006586
test rbx, rbx
je 0x140006586
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r13
xor r9d, r9d
mov r8d, 0x33c
lea rdx, [0x1400ac020]
mov ecx, r15d
call fcn.14002d680
cmp eax, 1
jne 0x140006561
int3
mov qword [rsp + 0x20], r14
mov r9d, 0x33c
lea r8, str.C:Program_FilesMicrosoft_Visual_Studio2022CommunityVCToolsMSVC14.34.31933includexmemory
lea rdx, [0x1400ac154]
lea rcx, str._null_pointer_cannot_point_to_a_block_of_non_zero_size_
call fcn.14002e560
mov rdx, rbx
mov rcx, rdi
call fcn.14000e800
movdqa xmm0, xmmword [0x1400ace20]
movdqu xmmword [rbp - 0x58], xmm0
mov byte [rbp - 0x68], 0
mov rcx, qword [rbp - 0x70]
mov qword [rbp - 0x70], r14
mov edx, 0x10
call fcn.14000e800
movzx eax, sil
mov rcx, qword [rbp + 0x1e0]
xor rcx, rsp
call fcn.1400216a0
lea r11, [rsp + 0x2f0]
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
ret
test dl, 4
je 0x1400065f6
lea rbx, str.ios_base::badbit_set
jmp 0x14000660b
test r15b, dl
lea rbx, str.ios_base::failbit_set
lea rax, str.ios_base::eofbit_set
cmove rbx, rax
mov edx, 1
lea rcx, [rsp + 0x30]
call fcn.140001d60
mov r8, rax
mov rdx, rbx
lea rcx, [rsp + 0x40]
call fcn.140002da0
lea rdx, [0x1400b4328]
lea rcx, [rsp + 0x40]
call fcn.140026160
int3