Function at 0x1400bcbb0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], r9
mov dword [rsp + 8], ecx
push rbx
push rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0xa0
mov eax, dword [rsp + 0x108]
mov rdi, rdx
xor esi, esi
mov edx, eax
mov r14d, eax
movzx eax, ax
shr edx, 0xf
movsxd r12, r8d
and r14d, 0x1000000
not edx
add r12, rdi
mov r10d, ecx
and edx, 8
mov dword [rsp + 0xf0], eax
mov dword [rsp + 0x108], esi
mov dword [rsp + 0xe8], edx
cmp eax, esi
jne 0x1400bcc8e
mov rbp, r9
mov rcx, rdi
cmp rdi, r12
jae 0x1400bcc32
cmp byte [rcx], 0x7f
ja 0x1400bcc32
movzx eax, byte [rcx]
inc rcx
mov word [rbp], ax
add rbp, 2
cmp rcx, r12
jb 0x1400bcc1a
mov rbx, rbp
sub rbx, r9
sar rbx, 1
movsxd rax, ebx
sub r8d, ebx
add rdi, rax
cmp r8d, esi
jle 0x1400bcc83
mov eax, dword [rsp + 0x100]
mov r9d, r8d
mov ecx, r10d
mov dword [rsp + 0x28], eax
mov r8, rdi
mov qword [rsp + 0x20], rbp
call qword [0x140106900]
cmp eax, esi
jg 0x1400bcc7a
cmp r14d, esi
je 0x1400bcc78
xor eax, eax
jmp 0x1400bcf5a
mov eax, esi
add ebx, eax
cdqe
lea rbp, [rbp + rax*2]
mov word [rbp], si
mov eax, ebx
jmp 0x1400bcf5a
xor edx, edx
mov r15b, al
lea rcx, [rsp + 0x80]
lea r8d, [rdx + 0x20]
xor r15b, 0xa
mov qword [rsp + 0x78], rsi
call fcn.1400cc8d0
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x48]
mov r9d, 0x28
call fcn.140056398
mov ebp, 1
jmp 0x1400bcd28
mov rcx, rdi
jmp 0x1400bccdd
mov al, byte [rdi]
inc rdi
cmp r15b, al
je 0x1400bcce2
cmp rdi, r12
jb 0x1400bccd3
mov qword [rsp + 0x80], rcx
mov ebx, edi
lea r9, [rsp + 0x78]
sub ebx, ecx
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x50]
movsxd rax, ebx
lea rcx, [rsp + 0x48]
mov qword [rsp + 0x28], 0x400
mov qword [rsp + 0x88], rax
mov dword [rsp + 0x20], 0x28
call fcn.14005631c
cmp ebp, ebx
cmovl ebp, ebx
cmp rdi, r12
jb 0x1400bccce
movsxd rdx, dword [rsp + 0x100]
lea rcx, [rsp + 0x40]
call fcn.140056040
mov rdi, qword [rsp + 0x40]
lea rcx, [rsp + 0x30]
movsxd rdx, ebp
call fcn.140055ddc
mov rax, qword [rsp + 0x30]
mov r15, qword [rsp + 0x48]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x58]
movsxd rcx, r14d
cmp eax, esi
mov ebx, esi
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x70], rax
movsxd rbp, eax
jle 0x1400bceeb
mov r14d, dword [rsp + 0xe8]
call fcn.140051290
xor edx, edx
div rbp
movsxd rcx, edx
cmp rcx, rbp
jge 0x1400bcee1
lea rax, [rcx + rcx*4]
lea r8, [r15 + rax*8]
cmp qword [r8], rsi
je 0x1400bcdbd
inc rcx
inc edx
add r8, 0x28
cmp rcx, rbp
jl 0x1400bcda5
jmp 0x1400bcee1
mov rcx, qword [rsp + 0x38]
movsxd rax, edx
inc ebx
lea rax, [rax + rax*4]
mov dword [rsp + 0xe8], ebx
movsxd r12, dword [r15 + rax*8 + 0x10]
mov rdx, qword [r15 + rax*8 + 8]
mov qword [rsp + 0x68], rax
mov r8, r12
mov qword [r15 + rax*8], 1
call fcn.14001a4c0
mov rdx, qword [rsp + 0x38]
lea r11, [r12 + rdx]
mov rax, rdx
cmp rdx, r11
jae 0x1400bce13
mov ecx, dword [rsp + 0xf0]
xor byte [rax], cl
inc rax
cmp rax, r11
jb 0x1400bce09
mov r8, rdi
mov rcx, rdx
mov r9d, esi
cmp rdx, r11
jae 0x1400bce39
cmp byte [rcx], 0x7f
ja 0x1400bce39
movzx eax, byte [rcx]
inc rcx
mov word [r8], ax
add r8, 2
cmp rcx, r11
jb 0x1400bce21
mov rbx, r8
sub rbx, rdi
sar rbx, 1
sub r12d, ebx
cmp r12d, esi
jle 0x1400bcea6
mov r10d, dword [rsp + 0xe0]
sub r11d, ecx
cmp r10d, 0xfde9
jne 0x1400bce68
mov edx, r11d
call fcn.1400bc10c
jmp 0x1400bce91
mov eax, dword [rsp + 0x100]
mov r9d, r11d
mov edx, r14d
sub eax, dword [rsp + 0x108]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], r8
mov r8, rcx
mov ecx, r10d
call qword [0x140106900]
cmp eax, esi
mov r9d, eax
jg 0x1400bcea6
cmp qword [rsp + 0x60], rsi
jne 0x1400bcf3a
mov r9d, esi
mov rcx, qword [rsp + 0x68]
add ebx, r9d
add dword [rsp + 0x108], ebx
movsxd rax, ebx
sub ebx, 1
mov qword [r15 + rcx*8 + 0x18], rdi
mov qword [r15 + rcx*8 + 0x20], rax
js 0x1400bceda
mov eax, dword [rsp + 0xf0]
xor word [rdi], ax
add rdi, 2
sub ebx, 1
jns 0x1400bcece
mov ebx, dword [rsp + 0xe8]
cmp ebx, dword [rsp + 0x70]
jl 0x1400bcd87
cmp rbp, rsi
mov rdi, qword [rsp + 0xf8]
jle 0x1400bcf1f
lea rbx, [r15 + 0x20]
mov r8, qword [rbx]
mov rdx, qword [rbx - 8]
mov rcx, rdi
add r8, r8
call fcn.14001a4c0
mov r11, qword [rbx]
add rbx, 0x28
sub rbp, 1
lea rdi, [rdi + r11*2]
jne 0x1400bcefc
mov eax, dword [rsp + 0xf0]
mov word [rdi], ax
mov rcx, qword [rsp + 0x30]
call fcn.14004ea20
mov esi, dword [rsp + 0x108]
lea rcx, [rsp + 0x30]
call fcn.14004ea6c
lea rcx, [rsp + 0x40]
call fcn.14004ea6c
lea rcx, [rsp + 0x48]
call fcn.14004ea6c
mov eax, esi
add rsp, 0xa0
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret