Function at 0x1400bca50
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r14
push r15
sub rsp, 0x70
mov rax, qword [0x1401b4a98]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov rsi, rcx
mov qword [rsp + 0x40], rcx
call fcn.14005c858
nop
lea r14, [rsi + 0x80]
xor ebp, ebp
mov qword [r14], rbp
mov qword [r14 + 8], rbp
mov qword [r14 + 0x10], rbp
lea rdi, [rsi + 0x98]
mov qword [rdi], rbp
mov qword [rdi + 8], rbp
mov qword [rdi + 0x10], rbp
mov qword [rsp + 0x50], rbp
mov qword [rsp + 0x48], rbp
xor r9d, r9d
lea r8, [rsp + 0x58]
xor edx, edx
lea r15, [0x1401be1c0]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_InitOnceBeginInitialize]
test eax, eax
je 0x1400bccb8
cmp dword [rsp + 0x58], ebp
je 0x1400bcb0f
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x38], 4
call fcn.1400146d0
mov ebx, eax
xor r8d, r8d
xor edx, edx
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_InitOnceComplete]
test eax, eax
je 0x1400bccb8
test ebx, ebx
jne 0x1400bcc95
mov byte [rsp + 0x20], 1
lea r9, [rsp + 0x48]
lea r8, [rsp + 0x50]
mov edx, 1
mov rcx, rsi
call fcn.14005c8e4
test eax, eax
jne 0x1400bcc95
mov rdx, qword [rsp + 0x50]
mov rcx, r14
call fcn.14005da44
mov rdx, qword [rsp + 0x48]
mov rcx, rdi
call fcn.14005da44
mov rbx, qword [r14 + 8]
sub rbx, qword [r14]
cmp rbx, 0x80
ja 0x1400bccbe
mov rdx, rbx
mov rcx, r14
call fcn.14005da44
mov r9, rbp
test rbx, rbx
je 0x1400bcbb4
lea r11, [0x140159830]
mov r10d, 6
sub r10, r11
nop dword [rax]
nop dword [rax + rax]
lea r8, [r9 + r11]
lea rax, [r10 + r8]
xor edx, edx
div rbx
movzx ecx, byte [rdx + r11]
xor cl, byte [r8]
mov rax, qword [r14]
mov byte [r9 + rax], cl
inc r9
cmp r9, rbx
jb 0x1400bcb90
mov rbx, qword [rdi + 8]
sub rbx, qword [rdi]
cmp rbx, 0x80
ja 0x1400bcce1
mov rdx, rbx
mov rcx, rdi
call fcn.14005da44
mov r9, rbp
test rbx, rbx
je 0x1400bcc14
lea r11, [0x1401598d0]
mov r10d, 0x63
sub r10, r11
nop dword [rax + rax]
lea r8, [r9 + r11]
lea rax, [r10 + r8]
xor edx, edx
div rbx
movzx ecx, byte [rdx + r11]
xor cl, byte [r8]
mov rax, qword [rdi]
mov byte [r9 + rax], cl
inc r9
cmp r9, rbx
jb 0x1400bcbf0
mov qword [rsp + 0x48], rbp
mov qword [rsp + 0x50], rbp
lea rdx, [rsp + 0x48]
mov rcx, rsi
call fcn.14005ce78
test eax, eax
jne 0x1400bcc6b
lea rdx, [rsp + 0x50]
mov rcx, rsi
call fcn.14005cee4
test eax, eax
jne 0x1400bcc6b
mov rdx, qword [r14]
mov rax, qword [r14 + 8]
sub rax, rdx
cmp qword [rsp + 0x48], rax
jne 0x1400bcc6b
mov r8, qword [rdi]
mov rcx, qword [rdi + 8]
sub rcx, r8
cmp qword [rsp + 0x50], rcx
jne 0x1400bcc6b
mov rcx, rsi
call fcn.14005d058
nop
mov rax, rsi
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.1400fb890
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x28]
mov rbp, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rdi
ret
lea rdx, str.Failed_to_initialize_McCryptoLib
lea rcx, [rsp + 0x30]
call fcn.1400aba00
lea rdx, [0x1401ac678]
lea rcx, [rsp + 0x30]
call fcn.1400fe144
int3
call fcn.14010faf0
int3
lea rdx, str.Requested_key_is_too_big
lea rcx, [rsp + 0x30]
call fcn.1400aba00
lea rdx, [0x1401ac678]
lea rcx, [rsp + 0x30]
call fcn.1400fe144
int3
lea rdx, str.Requested_initialization_vector_is_too_big
lea rcx, [rsp + 0x30]
call fcn.1400aba00
lea rdx, [0x1401ac678]
lea rcx, [rsp + 0x30]
call fcn.1400fe144
int3