Function at 0x1400275a0
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 [0x1402cf018]
xor rax, rsp
mov qword [rsp + 0x50], rax
mov rax, qword [rcx + 0x20]
cmp rax, 0xaa
jb 0x140027658
add rax, 0xffffffffffffff56
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 0x140027824
mov r14, qword [rsi]
mov rax, rbx
sub rax, r14
jbe 0x140027793
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 0x140027644
mov rcx, r14
mov rdx, rbx
mov r8, rdi
call fcn.140145a10
mov rbx, qword [rsi + 8]
add rdi, r14
mov qword [rsi + 0x10], rdi
lea rax, [rbx + rbp*8]
mov qword [rsi + 8], rax
jmp 0x140027824
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 0x14002784b
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 0x1400279cf
mov rbx, r14
sar rbx, 3
lea rcx, [rbp*8]
call fcn.140142708
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, 0xff0
call fcn.140142708
cmp rbx, rbp
je 0x14002792c
mov qword [r14], rax
lea rax, [r14 + 8]
mov qword [rsp + 0x38], rax
mov rdx, r12
cmp rdi, r12
je 0x14002773a
lea rbx, [rsp + 0x28]
add rdi, 0xfffffffffffffff8
mov rcx, rbx
mov rdx, rdi
call fcn.140176540
cmp rdi, qword [rsi + 8]
jne 0x14002770a
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 0x140027780
add rax, 0xfffffffffffffff8
shr rax, 3
not rax
lea rax, [r12 + rax*8]
mov qword [rsp + 0x38], rax
test rcx, rcx
je 0x14002782c
call fcn.140142744
jmp 0x14002782c
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 0x1400279cf
mov r12, rbp
shr r12, 2
lea rcx, [rbp*8]
call fcn.140142708
lea r9, [rax + r12*8]
lea r8, [rax + rbp*8]
mov r10, r9
sub rdi, rbx
je 0x140027801
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 0x1400277ef
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 0x140027824
mov rcx, r14
call fcn.140142744
mov rdi, qword [rsi + 0x10]
mov qword [rdi], r15
add qword [rsi + 0x10], 8
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.140143020
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 0x14002790d
mov ecx, 0xff0
call fcn.140142708
lea rdx, [rsp + 0x28]
mov qword [rdx], rax
mov rcx, rsi
call fcn.140176540
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 0x140027824
mov r14, qword [rsi]
mov rax, rbx
sub rax, r14
ja 0x140027608
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 0x1400279cf
mov r12, rbp
shr r12, 2
lea rcx, [rbp*8]
call fcn.140142708
lea r9, [rax + r12*8]
lea r8, [rax + rbp*8]
mov r10, r9
sub rdi, rbx
je 0x140027801
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 0x1400278f6
jmp 0x140027801
mov ecx, 0xff0
call fcn.140142708
lea rdx, [rsp + 0x28]
mov qword [rdx], rax
mov rcx, rsi
call fcn.140176400
jmp 0x14002782c
mov qword [rsp + 0x20], rax
mov rax, r14
sub rax, r13
jbe 0x14002795d
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 0x1400279c5
movabs rcx, 0x1fffffffffffffff
mov rdx, rax
sar rdx, 2
test rax, rax
mov ebp, 1
cmovne rbp, rdx
cmp rbp, rcx
ja 0x1400279cf
mov rbx, rbp
and rbx, 0xfffffffffffffffc
lea rcx, [rbp*8]
call fcn.140142708
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 0x1400279c2
mov rcx, r13
call fcn.140142744
mov r12, qword [rsi + 8]
mov rdi, qword [rsi + 0x10]
mov r13, rbx
mov rax, qword [rsp + 0x20]
jmp 0x1400276f1
call fcn.1401564d0
int3