Function at 0x14001be90
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x350
mov rax, qword [0x14009fef0]
xor rax, rsp
mov qword [rsp + 0x340], rax
mov r15, rdx
mov rdi, rcx
xor edx, edx
lea rcx, [rsp + 0x40]
mov r8d, 0x2fc
call sub.VCRUNTIME140.dll_memset
mov r13, qword [rdi + 0x30]
xor ebp, ebp
mov rbx, qword [rdi + 0x38]
sub rbx, r13
sar rbx, 3
test rbx, rbx
je 0x14001bfb3
movsd xmm0, qword [r15]
lea rsi, [r13 + 4]
mov r12d, dword [r15 + 8]
movsd qword [rsp + 0x30], xmm0
mov r14, qword [rsp + 0x30]
shr r14, 0x20
nop word [rax + rax]
mov edx, dword [rsi]
lea rsi, [rsi + 8]
mov eax, edx
mov ecx, edx
shr eax, 8
mov r11d, edx
and eax, 1
shr ecx, 0x11
add eax, eax
shr r11d, 0xb
and ecx, 0x3f
mov r10d, edx
sub ecx, r14d
shr r10d, 0x17
mov dword [rsp + 0x28], ecx
and r11d, 0x3f
sub r11d, dword [rsp + 0x30]
and r10d, 0x3f
sub r10d, r12d
mov dword [rsp + 0x20], r11d
mov r9d, 1
mov dword [rsp + 0x24], r10d
sub r9d, eax
mov eax, edx
shr eax, 9
and eax, 3
imul r9d, dword [rsp + rax*4 + 0x20]
mov eax, ecx
cdq
xor eax, edx
sub eax, edx
mov r8d, eax
mov eax, r10d
cdq
xor eax, edx
sub eax, edx
mov ecx, eax
mov eax, r11d
cdq
add r8, rcx
xor eax, edx
sub eax, edx
mov ecx, eax
xor eax, eax
inc rcx
add rcx, r8
test r9d, r9d
cmovns rax, rcx
inc ebp
movzx eax, al
inc dword [rsp + rax*4 + 0x40]
movsxd rax, ebp
cmp rax, rbx
jb 0x14001bf10
lea rax, [rsp + 0x32c]
mov r9d, 0x26
nop dword [rax]
nop word [rax + rax]
mov edx, dword [rax]
mov ecx, dword [rax + 0xc]
add dword [rax + 8], ecx
mov r8d, dword [rax + 8]
add r8d, dword [rax + 4]
mov dword [rax + 4], r8d
lea rax, [rax - 0x14]
add edx, r8d
mov dword [rax + 0x14], edx
add edx, dword [rax + 0x10]
add dword [rax + 0xc], edx
mov dword [rax + 0x10], edx
sub r9, 1
jne 0x14001bfd0
mov eax, dword [rsp + 0x44]
mov dword [rdi + 0x60], eax
mov rbp, qword [rdi + 8]
mov rcx, qword [rdi]
mov rsi, rbp
mov rax, qword [rdi + 0x38]
sub rsi, rcx
sub rax, r13
sar rsi, 2
sar rax, 3
lea rbx, [rsi + rax*2]
cmp rbx, rsi
jae 0x14001c02f
lea rax, [rcx + rbx*4]
jmp 0x14001c06a
jbe 0x14001c06e
mov rax, qword [rdi + 0x10]
sub rax, rcx
sar rax, 2
cmp rbx, rax
jbe 0x14001c04e
mov rdx, rbx
mov rcx, rdi
call fcn.140008280
jmp 0x14001c06e
sub rbx, rsi
xor edx, edx
mov rcx, rbp
lea rbx, [rbx*4]
mov r8, rbx
call sub.VCRUNTIME140.dll_memset
lea rax, [rbx + rbp]
mov qword [rdi + 8], rax
mov r14, qword [rdi + 0x30]
xor r12d, r12d
mov rax, qword [rdi + 0x38]
sub rax, r14
sar rax, 3
test rax, rax
je 0x14001c185
movsd xmm0, qword [r15]
mov r15d, dword [r15 + 8]
movsd qword [rsp + 0x30], xmm0
mov rbx, qword [rsp + 0x30]
mov r13d, dword [rsp + 0x30]
shr rbx, 0x20
xor ebp, ebp
nop dword [rax + rax]
mov edx, dword [r14 + rbp + 4]
lea rbp, [rbp + 8]
mov ecx, edx
mov eax, edx
shr eax, 0x11
mov r11d, edx
and eax, 0x3f
shr ecx, 8
sub eax, ebx
shr r11d, 0xb
mov dword [rsp + 0x28], eax
and ecx, 1
add ecx, ecx
mov r10d, edx
shr r10d, 0x17
and r11d, 0x3f
sub r11d, r13d
and r10d, 0x3f
sub r10d, r15d
mov dword [rsp + 0x20], r11d
mov r9d, 1
mov dword [rsp + 0x24], r10d
sub r9d, ecx
mov ecx, edx
cdq
shr ecx, 9
xor eax, edx
and ecx, 3
sub eax, edx
mov r8d, eax
mov eax, r10d
cdq
imul r9d, dword [rsp + rcx*4 + 0x20]
xor eax, edx
sub eax, edx
mov ecx, eax
mov eax, r11d
cdq
add r8, rcx
xor eax, edx
sub eax, edx
mov ecx, eax
xor eax, eax
inc rcx
add rcx, r8
test r9d, r9d
cmovns rax, rcx
inc r12d
movzx eax, al
dec dword [rsp + rax*4 + 0x40]
mov eax, dword [rsp + rax*4 + 0x40]
lea ecx, [rsi + rax*2]
mov eax, dword [r14 + rbp - 8]
movsxd rdx, ecx
mov rcx, qword [rdi]
mov dword [rcx + rdx*4], eax
mov rax, qword [rdi + 0x30]
mov rcx, qword [rdi]
mov eax, dword [rax + rbp - 4]
mov dword [rcx + rdx*4 + 4], eax
mov r14, qword [rdi + 0x30]
mov rcx, qword [rdi + 0x38]
sub rcx, r14
movsxd rax, r12d
sar rcx, 3
cmp rax, rcx
jb 0x14001c0b0
mov rcx, qword [rsp + 0x340]
xor rcx, rsp
call fcn.14005bb20
mov rbx, qword [rsp + 0x3a0]
add rsp, 0x350
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret