Function at 0x14007b020
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x58
mov rsi, rcx
mov rax, qword [0x14021b038]
xor rax, rsp
mov qword [rsp + 0x50], rax
mov rax, qword [rcx + 0x20]
cmp rax, 0x2a
jb 0x14007b0d4
add rax, 0xffffffffffffffd6
mov qword [rsi + 0x20], rax
mov rbx, qword [rsi + 8]
mov rdi, qword [rsi + 0x10]
mov r15, qword [rbx]
add rbx, 8
mov qword [rsi + 8], rbx
cmp rdi, qword [rsi + 0x18]
jne 0x14007b2a0
mov r14, qword [rsi]
mov rax, rbx
sub rax, r14
jbe 0x14007b20f
sar rax, 3
lea rcx, [rax + 1]
shr rcx, 0x3f
add rax, rcx
inc rax
sar rax, 1
mov rbp, rax
neg rbp
shl rax, 3
mov r14, rbx
sub r14, rax
sub rdi, rbx
je 0x14007b0c0
mov rcx, r14
mov rdx, rbx
mov r8, rdi
call fcn.140113df0
mov rbx, qword [rsi + 8]
add rdi, r14
mov qword [rsi + 0x10], rdi
lea rax, [rbx + rbp*8]
mov qword [rsi + 8], rax
jmp 0x14007b2a0
mov r12, qword [rsi + 8]
mov rdi, qword [rsi + 0x10]
mov r14, rdi
sub r14, r12
mov rcx, qword [rsi + 0x18]
mov rax, rcx
sub rax, qword [rsi]
cmp r14, rax
jb 0x14007b2c7
lea rcx, [rsi + 0x20]
mov rdx, rax
sar rdx, 2
test rax, rax
mov ebp, 1
cmovne rbp, rdx
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x48], rcx
mov rax, rbp
shr rax, 0x3d
jne 0x14007b44b
mov rbx, r14
sar rbx, 3
lea rcx, [rbp*8]
call fcn.1401109bc
mov r13, rax
mov qword [rsp + 0x28], rax
add r14, rax
mov qword [rsp + 0x30], r14
lea r15, [rax + rbp*8]
mov qword [rsp + 0x40], r15
mov ecx, 0xfc0
call fcn.1401109bc
cmp rbx, rbp
je 0x14007b3a8
mov qword [r14], rax
lea rax, [r14 + 8]
mov qword [rsp + 0x38], rax
mov rdx, r12
cmp rdi, r12
je 0x14007b1b6
lea rbx, [rsp + 0x28]
add rdi, 0xfffffffffffffff8
mov rcx, rbx
mov rdx, rdi
call fcn.140144d40
cmp rdi, qword [rsi + 8]
jne 0x14007b186
mov r13, qword [rsp + 0x28]
mov r14, qword [rsp + 0x30]
mov r12, qword [rsi + 0x10]
mov rax, qword [rsp + 0x38]
mov r15, qword [rsp + 0x40]
mov rdx, rdi
mov rcx, qword [rsi]
mov qword [rsi], r13
mov qword [rsp + 0x28], rcx
mov qword [rsi + 8], r14
mov qword [rsp + 0x30], rdx
mov qword [rsi + 0x10], rax
mov qword [rsp + 0x38], r12
mov rax, qword [rsi + 0x18]
mov qword [rsi + 0x18], r15
mov qword [rsp + 0x40], rax
mov rax, r12
sub rax, rdx
je 0x14007b1fc
add rax, 0xfffffffffffffff8
shr rax, 3
not rax
lea rax, [r12 + rax*8]
mov qword [rsp + 0x38], rax
test rcx, rcx
je 0x14007b2a8
call fcn.1401109f8
jmp 0x14007b2a8
mov rax, rdi
sub rax, r14
mov rcx, rax
sar rcx, 2
test rax, rax
mov ebp, 1
cmovne rbp, rcx
mov rax, rbp
shr rax, 0x3d
jne 0x14007b44b
mov r12, rbp
shr r12, 2
lea rcx, [rbp*8]
call fcn.1401109bc
lea r9, [rax + r12*8]
lea r8, [rax + rbp*8]
mov r10, r9
sub rdi, rbx
je 0x14007b27d
lea r10, [r9 + rdi]
sar rdi, 3
shl rdi, 3
lea rbp, [rax + r12*8]
xor ecx, ecx
mov rdx, qword [rbx + rcx]
mov qword [rbp + rcx], rdx
add rcx, 8
cmp rdi, rcx
jne 0x14007b26b
mov qword [rsi], rax
mov qword [rsi + 8], r9
mov qword [rsi + 0x10], r10
mov qword [rsi + 0x18], r8
mov rdi, r10
test r14, r14
je 0x14007b2a0
mov rcx, r14
call fcn.1401109f8
mov rdi, qword [rsi + 0x10]
mov qword [rdi], r15
add qword [rsi + 0x10], 8
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.140111870
nop
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
cmp rcx, rdi
jne 0x14007b389
mov ecx, 0xfc0
call fcn.1401109bc
lea rdx, [rsp + 0x28]
mov qword [rdx], rax
mov rcx, rsi
call fcn.140144d40
mov rbx, qword [rsi + 8]
mov rdi, qword [rsi + 0x10]
mov r15, qword [rbx]
add rbx, 8
mov qword [rsi + 8], rbx
cmp rdi, qword [rsi + 0x18]
jne 0x14007b2a0
mov r14, qword [rsi]
mov rax, rbx
sub rax, r14
ja 0x14007b084
mov rax, rdi
sub rax, r14
mov rcx, rax
sar rcx, 2
test rax, rax
mov ebp, 1
cmovne rbp, rcx
mov rax, rbp
shr rax, 0x3d
jne 0x14007b44b
mov r12, rbp
shr r12, 2
lea rcx, [rbp*8]
call fcn.1401109bc
lea r9, [rax + r12*8]
lea r8, [rax + rbp*8]
mov r10, r9
sub rdi, rbx
je 0x14007b27d
lea r10, [r9 + rdi]
sar rdi, 3
shl rdi, 3
lea rbp, [rax + r12*8]
xor ecx, ecx
mov rdx, qword [rbx + rcx]
mov qword [rbp + rcx], rdx
add rcx, 8
cmp rdi, rcx
jne 0x14007b372
jmp 0x14007b27d
mov ecx, 0xfc0
call fcn.1401109bc
lea rdx, [rsp + 0x28]
mov qword [rdx], rax
mov rcx, rsi
call fcn.140144c00
jmp 0x14007b2a8
mov qword [rsp + 0x20], rax
mov rax, r14
sub rax, r13
jbe 0x14007b3d9
sar rax, 3
lea rcx, [rax + 1]
shr rcx, 0x3f
add rax, rcx
inc rax
shl rax, 2
and rax, 0xfffffffffffffff8
sub r14, rax
mov qword [rsp + 0x30], r14
jmp 0x14007b441
movabs rcx, 0x1fffffffffffffff
mov rdx, rax
sar rdx, 2
test rax, rax
mov ebp, 1
cmovne rbp, rdx
cmp rbp, rcx
ja 0x14007b44b
mov rbx, rbp
and rbx, 0xfffffffffffffffc
lea rcx, [rbp*8]
call fcn.1401109bc
lea r14, [rax + rbx*2]
lea r15, [rax + rbp*8]
mov rbx, rax
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x40], r15
test r13, r13
je 0x14007b43e
mov rcx, r13
call fcn.1401109f8
mov r12, qword [rsi + 8]
mov rdi, qword [rsi + 0x10]
mov r13, rbx
mov rax, qword [rsp + 0x20]
jmp 0x14007b16d
call fcn.140124830
int3