Function at 0x1400c4058
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], r12
push rbp
push r14
push r15
mov rbp, rsp
sub rsp, 0x50
mov esi, r9d
mov r14, r8
mov r15d, edx
mov rbx, rcx
mov ecx, edx
sub ecx, 0xe
je 0x1400c42a5
sub ecx, 1
je 0x1400c41ff
sub ecx, 1
je 0x1400c4161
cmp ecx, 1
je 0x1400c40bf
test r9d, r9d
je 0x1400c4343
mov edx, r15d
mov rcx, r14
call fcn.140099690
add esi, 0xffffffff
jne 0x1400c40aa
jmp 0x1400c4343
mov qword [rbp - 0x10], r14
mov byte [rbp - 8], 0
and qword [rbp - 0x20], 0
mov r9, rsi
mov r8, qword [rbx + 8]
mov rcx, qword [rbx]
mov rax, r8
sub rax, rcx
sar rax, 3
cmp rsi, rax
jae 0x1400c40ff
lea rax, [rcx + rsi*8]
cmp rax, rcx
jne 0x1400c40f4
mov qword [rbx + 8], rcx
jmp 0x1400c4119
cmp rax, r8
je 0x1400c4119
mov qword [rbx + 8], rax
jmp 0x1400c4119
jbe 0x1400c4119
sub r9, rax
lea rax, [rbp - 0x20]
mov qword [rsp + 0x20], rax
lea rdx, [rbp - 0x18]
mov rcx, rbx
call fcn.1400c63a4
mov r15, qword [rbx]
mov r12, qword [rbx + 8]
cmp r15, r12
je 0x1400c415c
mov esi, 1
lea rbx, [r15 + 8]
mov byte [rbp - 8], 0
lea rdx, [rbp - 0x20]
mov rcx, r14
call fcn.14009fc00
mov rax, qword [rbp - 0x20]
mov rcx, rax
shr rcx, 1
and rax, rsi
neg rax
xor rcx, rax
mov qword [r15], rcx
mov r15, rbx
cmp rbx, r12
jne 0x1400c412a
jmp 0x1400c4343
mov qword [rbp - 0x10], r14
mov byte [rbp - 8], 0
and qword [rbp - 0x20], 0
mov r9, rsi
mov r8, qword [rbx + 8]
mov rcx, qword [rbx]
mov rax, r8
sub rax, rcx
sar rax, 3
cmp rsi, rax
jae 0x1400c41a1
lea rax, [rcx + rsi*8]
cmp rax, rcx
jne 0x1400c4196
mov qword [rbx + 8], rcx
jmp 0x1400c41bb
cmp rax, r8
je 0x1400c41bb
mov qword [rbx + 8], rax
jmp 0x1400c41bb
jbe 0x1400c41bb
sub r9, rax
lea rax, [rbp - 0x20]
mov qword [rsp + 0x20], rax
lea rdx, [rbp - 0x18]
mov rcx, rbx
call fcn.1400c63a4
mov r15, qword [rbx]
mov r12, qword [rbx + 8]
cmp r15, r12
je 0x1400c41fa
mov esi, 1
lea rbx, [r15 + 8]
mov byte [rbp - 8], 0
lea rdx, [rbp + 0x28]
mov rcx, r14
call fcn.1400934b0
mov eax, dword [rbp + 0x28]
mov ecx, eax
shr ecx, 1
and eax, esi
neg eax
xor eax, ecx
cdqe
mov qword [r15], rax
mov r15, rbx
cmp rbx, r12
jne 0x1400c41cc
jmp 0x1400c4343
mov qword [rbp - 0x10], r14
mov byte [rbp - 8], 0
and qword [rbp - 0x20], 0
mov r9, rsi
mov r8, qword [rbx + 8]
mov rcx, qword [rbx]
mov rax, r8
sub rax, rcx
sar rax, 3
cmp rsi, rax
jae 0x1400c423f
lea rax, [rcx + rsi*8]
cmp rax, rcx
jne 0x1400c4234
mov qword [rbx + 8], rcx
jmp 0x1400c4259
cmp rax, r8
je 0x1400c4259
mov qword [rbx + 8], rax
jmp 0x1400c4259
jbe 0x1400c4259
sub r9, rax
lea rax, [rbp - 0x20]
mov qword [rsp + 0x20], rax
lea rdx, [rbp - 0x18]
mov rcx, rbx
call fcn.1400c63a4
mov r15, qword [rbx]
mov r12, qword [rbx + 8]
cmp r15, r12
je 0x1400c42a0
mov esi, 1
lea rbx, [r15 + 8]
mov byte [rbp - 8], 0
lea rdx, [rbp + 0x28]
mov rcx, r14
call fcn.1400a7220
movzx eax, word [rbp + 0x28]
movzx ecx, ax
shr cx, 1
and ax, si
neg ax
xor ax, cx
movsx rax, ax
mov qword [r15], rax
mov r15, rbx
cmp rbx, r12
jne 0x1400c426a
jmp 0x1400c4343
mov qword [rbp - 0x10], r14
mov byte [rbp - 8], 0
and qword [rbp - 0x20], 0
mov r9, rsi
mov r8, qword [rbx + 8]
mov rcx, qword [rbx]
mov rax, r8
sub rax, rcx
sar rax, 3
cmp rsi, rax
jae 0x1400c42e5
lea rax, [rcx + rsi*8]
cmp rax, rcx
jne 0x1400c42da
mov qword [rbx + 8], rcx
jmp 0x1400c42ff
cmp rax, r8
je 0x1400c42ff
mov qword [rbx + 8], rax
jmp 0x1400c42ff
jbe 0x1400c42ff
sub r9, rax
lea rax, [rbp - 0x20]
mov qword [rsp + 0x20], rax
lea rdx, [rbp - 0x18]
mov rcx, rbx
call fcn.1400c63a4
mov r8, qword [rbx]
mov r10, qword [rbx + 8]
cmp r8, r10
je 0x1400c4343
mov esi, 1
lea r11, [r8 + 8]
mov byte [rbp - 8], 0
mov r9d, dword [r14 + 0x20]
mov eax, dword [r14 + 0x18]
sub eax, r9d
cmp eax, esi
jb 0x1400c435e
mov rax, qword [r14 + 0x10]
movsx rdx, byte [r9 + rax]
lea eax, [r9 + 1]
mov dword [r14 + 0x20], eax
mov qword [r8], rdx
mov r8, r11
cmp r11, r10
jne 0x1400c4310
lea r11, [rsp + 0x50]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x30]
mov r12, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
mov edx, esi
mov rcx, r14
call fcn.140077984
int3