Function at 0x1400cc9a0
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x68
mov rsi, rcx
mov rax, qword [0x1403a0028]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov rax, qword [rcx + 0x20]
cmp rax, 0x2a
jb 0x1400cca3e
add rax, 0xffffffffffffffd6
mov qword [rsi + 0x20], rax
mov rdi, qword [rsi + 8]
mov rbx, qword [rsi + 0x10]
mov r14, qword [rdi]
add rdi, 8
mov qword [rsi + 8], rdi
cmp rbx, qword [rsi + 0x18]
jne 0x1400ccc14
mov r15, qword [rsi]
mov rax, rdi
sub rax, r15
jbe 0x1400ccb82
sar rax, 3
lea rcx, [rax + 1]
shr rcx, 0x3f
lea rbp, [rax + rcx]
inc rbp
shr rbp, 1
shl rbp, 3
mov rcx, rdi
sub rcx, rbp
mov r8, rbx
sub r8, rdi
mov rdx, rdi
call fcn.1401bcb50
sub rbx, rbp
mov qword [rsi + 0x10], rbx
sub qword [rsi + 8], rbp
jmp 0x1400ccc14
mov rdi, qword [rsi + 0x10]
mov rax, qword [rsi]
mov r15, qword [rsi + 8]
mov r13, rdi
sub r13, r15
mov rdx, qword [rsi + 0x18]
mov rcx, rdx
sub rcx, rax
cmp r13, rcx
jb 0x1400ccc3b
lea rbp, [rsi + 0x20]
sar rcx, 2
cmp rdx, rax
mov r14d, 1
cmovne r14, rcx
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x58], rbp
mov rax, r14
shr rax, 0x3d
jne 0x1400ccdaf
mov rbx, r13
sar rbx, 3
lea rcx, [r14*8]
call fcn.1401b9cac
mov r12, rax
mov qword [rsp + 0x38], rax
lea rbp, [rax + r13]
mov qword [rsp + 0x40], rbp
lea rax, [rax + r14*8]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x50], rax
mov ecx, 0xfc0
call fcn.1401b9cac
cmp rbx, r14
je 0x1400ccd18
mov rbx, qword [rsp + 0x30]
mov qword [rbp], rax
lea rdx, [rbp + 8]
mov qword [rsp + 0x48], rdx
mov rax, r15
cmp rdi, r15
je 0x1400ccb2d
lea rbx, [rsp + 0x38]
add rdi, 0xfffffffffffffff8
mov rcx, rbx
mov rdx, rdi
call fcn.1401fc230
cmp rdi, qword [rsi + 8]
jne 0x1400ccafd
mov r12, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x40]
mov r15, qword [rsi + 0x10]
mov rdx, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x50]
mov rax, rdi
mov rcx, qword [rsi]
mov qword [rsi], r12
mov qword [rsp + 0x38], rcx
mov qword [rsi + 8], rbp
mov qword [rsp + 0x40], rax
mov qword [rsi + 0x10], rdx
mov qword [rsp + 0x48], r15
mov rdx, qword [rsi + 0x18]
mov qword [rsi + 0x18], rbx
mov qword [rsp + 0x50], rdx
cmp r15, rax
je 0x1400ccb6f
sub rax, r15
add rax, 7
and rax, 0xfffffffffffffff8
add rax, r15
mov qword [rsp + 0x48], rax
test rcx, rcx
je 0x1400ccc1c
call fcn.1401b9ce8
jmp 0x1400ccc1c
mov rax, rbx
sub rax, r15
sar rax, 2
cmp rbx, r15
mov ebp, 1
cmovne rbp, rax
mov rax, rbp
shr rax, 0x3d
jne 0x1400ccdaf
lea rcx, [rbp*8]
call fcn.1401b9cac
mov rcx, rbp
and rcx, 0xfffffffffffffffc
lea rcx, [rax + rcx*2]
lea r8, [rax + rbp*8]
mov r9, rcx
sub rbx, rdi
je 0x1400ccbf1
mov rbp, rbx
sar rbp, 3
and rbx, 0xfffffffffffffff8
mov r9, rbx
add r9, rcx
shl rbp, 3
xor ebx, ebx
mov rdx, qword [rdi + rbx]
mov qword [rcx + rbx], rdx
add rbx, 8
cmp rbp, rbx
jne 0x1400ccbe0
mov qword [rsi], rax
mov qword [rsi + 8], rcx
mov qword [rsi + 0x10], r9
mov qword [rsi + 0x18], r8
mov rbx, r9
test r15, r15
je 0x1400ccc14
mov rcx, r15
call fcn.1401b9ce8
mov rbx, qword [rsi + 0x10]
mov qword [rbx], r14
add qword [rsi + 0x10], 8
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.1401bb0d0
nop
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov ecx, 0xfc0
cmp rdx, rdi
jne 0x1400cccfe
call fcn.1401b9cac
lea rdx, [rsp + 0x38]
mov qword [rdx], rax
mov rcx, rsi
call fcn.1401fc230
mov rdi, qword [rsi + 8]
mov rbx, qword [rsi + 0x10]
mov r14, qword [rdi]
add rdi, 8
mov qword [rsi + 8], rdi
cmp rbx, qword [rsi + 0x18]
jne 0x1400ccc14
mov r15, qword [rsi]
mov rax, rdi
sub rax, r15
ja 0x1400cca00
mov rax, rbx
sub rax, r15
sar rax, 2
cmp rbx, r15
mov ebp, 1
cmovne rbp, rax
mov rax, rbp
shr rax, 0x3d
jne 0x1400ccdaf
lea rcx, [rbp*8]
call fcn.1401b9cac
mov rcx, rbp
and rcx, 0xfffffffffffffffc
lea rcx, [rax + rcx*2]
lea r8, [rax + rbp*8]
mov r9, rcx
sub rbx, rdi
je 0x1400ccbf1
mov rbp, rbx
sar rbp, 3
and rbx, 0xfffffffffffffff8
mov r9, rbx
add r9, rcx
shl rbp, 3
xor ebx, ebx
mov rdx, qword [rdi + rbx]
mov qword [rcx + rbx], rdx
add rbx, 8
cmp rbp, rbx
jne 0x1400ccce8
jmp 0x1400ccbf1
call fcn.1401b9cac
lea rdx, [rsp + 0x38]
mov qword [rdx], rax
mov rcx, rsi
call fcn.1401fc100
jmp 0x1400ccc1c
mov qword [rsp + 0x28], rax
test r13, r13
jle 0x1400ccd3d
lea rax, [r14*4 + 4]
and rax, 0xfffffffffffffff8
sub rbp, rax
mov qword [rsp + 0x40], rbp
mov rbx, qword [rsp + 0x30]
jmp 0x1400ccda5
movabs rax, 0x1fffffffffffffff
sar r13, 2
cmp rdi, r15
mov ebp, 1
cmovne rbp, r13
cmp rbp, rax
ja 0x1400ccdaf
lea rcx, [rbp*8]
call fcn.1401b9cac
mov rbx, rax
lea rax, [rax + rbp*8]
and rbp, 0xfffffffffffffffc
lea rbp, [rbx + rbp*2]
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x40], rbp
mov r14, rax
mov qword [rsp + 0x50], rax
test r12, r12
je 0x1400ccd9f
mov rcx, r12
call fcn.1401b9ce8
mov r15, qword [rsi + 8]
mov rdi, qword [rsi + 0x10]
mov r12, rbx
mov rbx, r14
mov rax, qword [rsp + 0x28]
jmp 0x1400ccae3
call fcn.1401f9cb0
int3