Function at 0x1400c3b74
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 0x1400c3d3b
sub ecx, 1
je 0x1400c3c99
sub ecx, 1
je 0x1400c3bfe
cmp ecx, 1
je 0x1400c3bd7
test r9d, r9d
je 0x1400c3dd8
mov edx, r15d
mov rcx, r14
call fcn.140099690
add esi, 0xffffffff
jne 0x1400c3bc2
jmp 0x1400c3dd8
mov qword [rbp - 0x18], r14
mov byte [rbp - 0x10], 0
test r9d, r9d
je 0x1400c3bf9
mov byte [rbp - 0x10], 0
lea rdx, [rbp - 0x20]
mov rcx, r14
call fcn.14009fc00
add esi, 0xffffffff
jne 0x1400c3be4
jmp 0x1400c3dd8
mov qword [rbp - 0x18], r14
mov byte [rbp - 0x10], 0
and dword [rbp + 0x28], 0
mov r9, rsi
mov r8, qword [rbx + 8]
mov rcx, qword [rbx]
mov rax, r8
sub rax, rcx
sar rax, 2
cmp rsi, rax
jae 0x1400c3c3d
lea rax, [rcx + rsi*4]
cmp rax, rcx
jne 0x1400c3c32
mov qword [rbx + 8], rcx
jmp 0x1400c3c57
cmp rax, r8
je 0x1400c3c57
mov qword [rbx + 8], rax
jmp 0x1400c3c57
jbe 0x1400c3c57
sub r9, rax
lea rax, [rbp + 0x28]
mov qword [rsp + 0x20], rax
lea rdx, [rbp - 0x20]
mov rcx, rbx
call fcn.1400c6888
mov r15, qword [rbx]
mov r12, qword [rbx + 8]
cmp r15, r12
je 0x1400c3c94
mov esi, 1
lea rbx, [r15 + 4]
mov byte [rbp - 0x10], 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 ecx, eax
mov dword [r15], ecx
mov r15, rbx
cmp rbx, r12
jne 0x1400c3c68
jmp 0x1400c3dd8
mov qword [rbp - 0x18], r14
mov byte [rbp - 0x10], 0
and dword [rbp + 0x28], 0
mov r9, rsi
mov r8, qword [rbx + 8]
mov rcx, qword [rbx]
mov rax, r8
sub rax, rcx
sar rax, 2
cmp rsi, rax
jae 0x1400c3cd8
lea rax, [rcx + rsi*4]
cmp rax, rcx
jne 0x1400c3ccd
mov qword [rbx + 8], rcx
jmp 0x1400c3cf2
cmp rax, r8
je 0x1400c3cf2
mov qword [rbx + 8], rax
jmp 0x1400c3cf2
jbe 0x1400c3cf2
sub r9, rax
lea rax, [rbp + 0x28]
mov qword [rsp + 0x20], rax
lea rdx, [rbp - 0x20]
mov rcx, rbx
call fcn.1400c6888
mov r15, qword [rbx]
mov r12, qword [rbx + 8]
cmp r15, r12
je 0x1400c3d36
mov esi, 1
lea rbx, [r15 + 4]
mov byte [rbp - 0x10], 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
cwde
mov dword [r15], eax
mov r15, rbx
cmp rbx, r12
jne 0x1400c3d03
jmp 0x1400c3dd8
mov qword [rbp - 0x18], r14
mov byte [rbp - 0x10], 0
and dword [rbp + 0x28], 0
mov r9, rsi
mov r8, qword [rbx + 8]
mov rcx, qword [rbx]
mov rax, r8
sub rax, rcx
sar rax, 2
cmp rsi, rax
jae 0x1400c3d7a
lea rax, [rcx + rsi*4]
cmp rax, rcx
jne 0x1400c3d6f
mov qword [rbx + 8], rcx
jmp 0x1400c3d94
cmp rax, r8
je 0x1400c3d94
mov qword [rbx + 8], rax
jmp 0x1400c3d94
jbe 0x1400c3d94
sub r9, rax
lea rax, [rbp + 0x28]
mov qword [rsp + 0x20], rax
lea rdx, [rbp - 0x20]
mov rcx, rbx
call fcn.1400c6888
mov r8, qword [rbx]
mov r10, qword [rbx + 8]
cmp r8, r10
je 0x1400c3dd8
mov esi, 1
lea r11, [r8 + 4]
mov byte [rbp - 0x10], 0
mov r9d, dword [r14 + 0x20]
mov eax, dword [r14 + 0x18]
sub eax, r9d
cmp eax, esi
jb 0x1400c3df3
mov rax, qword [r14 + 0x10]
movsx edx, byte [r9 + rax]
lea eax, [r9 + 1]
mov dword [r14 + 0x20], eax
mov dword [r8], edx
mov r8, r11
cmp r11, r10
jne 0x1400c3da5
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