Function at 0x1400bdcc0
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x498
mov rax, qword [0x140160140]
xor rax, rsp
mov qword [rsp + 0x480], rax
cmp dword [rcx + 0xe0], 1
mov r12, r9
mov rax, qword [rsp + 0x508]
mov r14, r8
mov r15, qword [rsp + 0x510]
mov rbx, rdx
mov qword [rsp + 0x30], rax
mov rsi, rcx
mov rax, qword [rsp + 0x518]
mov qword [rsp + 0x38], rax
jne 0x1400bdfc1
mov rbp, qword [rcx + 8]
lea rax, [rbp - 0x10]
cmp rax, 0x3f0
ja 0x1400bdfc1
mov ecx, dword [rcx + 0xe4]
call fcn.140093770
mov rcx, rax
call fcn.140093490
movzx edi, al
test al, al
je 0x1400bdfc1
lea r13d, [rdi + rdi]
lea ecx, [r13 + 2]
cmp rcx, rbp
ja 0x1400bdfc1
lea rax, [rsp + 0x80]
mov r9, r15
mov r8, r14
mov qword [rsp + 0x20], rax
mov rdx, rbx
mov rcx, rsi
call fcn.1400bd650
mov ebx, eax
test eax, eax
jne 0x1400bdf9c
mov eax, dword [rsi + 0xe4]
lea rcx, [rsp + 0x81]
mov r14d, edi
mov dword [rsp + 0x20], eax
mov r15, rbp
mov edx, r14d
sub r15, rdi
lea rdi, [rsp + 0x81]
add rdi, r14
mov r8, rdi
lea r9, [r15 - 1]
call fcn.1400be910
mov ebx, eax
test eax, eax
jne 0x1400bdf9c
mov eax, dword [rsi + 0xe4]
lea r8, [rsp + 0x81]
mov r9d, r14d
mov dword [rsp + 0x20], eax
lea rdx, [r15 - 1]
mov rcx, rdi
call fcn.1400be910
mov ebx, eax
test eax, eax
jne 0x1400bdf9c
mov ecx, dword [rsi + 0xe4]
call fcn.140093770
test rax, rax
jne 0x1400bde10
mov ebx, 0xffffbf80
jmp 0x1400bdf9c
mov r8, qword [rsp + 0x500]
lea r9, [rsp + 0x40]
mov rdx, r12
mov rcx, rax
call fcn.140093010
mov ebx, eax
test eax, eax
jne 0x1400bdf9c
movzx eax, byte [rsp + 0x80]
lea rcx, [rsp + 0x40]
mov rbx, qword [0x1403ec5f8]
mov r8, r14
mov rdx, rdi
xor rbx, rax
call fcn.140095d60
movsxd rcx, eax
mov r10, rbp
mov rax, qword [0x1403ec5f8]
add rdi, r14
mov r8, qword [0x1403ec5f8]
xor rax, rcx
mov r11, rax
not r8
neg rax
shr r11, 1
neg r11
or r11, rax
mov rax, rbx
shr rax, 1
neg rbx
neg rax
shr r11, 0x3f
or rax, rbx
neg r11
shr rax, 0x3f
xor ebx, ebx
neg rax
mov r9d, ebx
or r11, rax
mov edx, ebx
mov eax, r13d
sub r10, rax
add r10, 0xfffffffffffffffe
je 0x1400bdf0c
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rdi + rdx]
inc rdx
mov rcx, qword [0x1403ec5f8]
xor rcx, rax
mov rax, qword [0x1403ec5f8]
xor rcx, rax
mov rax, qword [0x1403ec5f8]
xor rax, rcx
mov rcx, rax
neg rax
shr rcx, 1
neg rcx
or rcx, rax
shr rcx, 0x3f
dec rcx
and r8, rcx
mov rax, r8
and eax, 1
add r9, rax
cmp rdx, r10
jb 0x1400bdec0
mov rcx, qword [0x1403ec5f8]
add rdi, r9
movzx eax, byte [rdi]
inc rdi
xor rcx, rax
mov rax, qword [0x1403ec5f8]
xor rax, rcx
mov rcx, qword [0x1403ec5f8]
mov rdx, qword [0x1403ec5f8]
xor rcx, rax
xor rcx, 1
mov rax, rcx
neg rcx
shr rax, 1
neg rax
or rax, rcx
shr rax, 0x3f
neg rax
or rax, r11
cmp rax, rdx
je 0x1400bdf63
mov ebx, 0xffffbf00
jmp 0x1400bdf9c
sub rbp, rdi
lea r8, [rsp + 0x80]
add r8, rbp
cmp r8, qword [rsp + 0x520]
jbe 0x1400bdf82
mov ebx, 0xffffbc00
jmp 0x1400bdf9c
mov rax, qword [rsp + 0x30]
mov qword [rax], r8
test r8, r8
je 0x1400bdf9c
mov rcx, qword [rsp + 0x38]
mov rdx, rdi
call fcn.1400f9370
mov edx, 0x400
lea rcx, [rsp + 0x80]
call fcn.140092fb0
mov edx, 0x40
lea rcx, [rsp + 0x40]
call fcn.140092fb0
mov eax, ebx
jmp 0x1400bdfc6
mov eax, 0xffffbf80
mov rcx, qword [rsp + 0x480]
xor rcx, rsp
call fcn.1400c86e0
add rsp, 0x498
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret