Function at 0x1400279a0
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 [0x140213038]
xor rax, rsp
mov qword [rsp + 0x50], rax
mov rax, qword [rcx + 0x20]
cmp rax, 0xaa
jb 0x140027a60
add rax, 0xffffffffffffff56
mov qword [rsi + 0x20], rax
mov rbp, qword [rsi + 8]
mov rbx, qword [rsi + 0x10]
mov r15, qword [rbp]
add rbp, 8
mov qword [rsi + 8], rbp
cmp rbx, qword [rsi + 0x18]
jne 0x140027c5e
mov r14, qword [rsi]
mov rax, rbp
sub rax, r14
jbe 0x140027b9b
sar rax, 3
lea rcx, [rax + 1]
shr rcx, 0x3f
add rax, rcx
inc rax
sar rax, 1
mov rdi, rax
neg rdi
shl rax, 3
mov r14, rbp
sub r14, rax
sub rbx, rbp
je 0x140027a45
mov rcx, r14
mov rdx, rbp
mov r8, rbx
call fcn.140103960
mov rbp, qword [rsi + 8]
add rbx, r14
mov qword [rsi + 0x10], rbx
lea rax, [rdi*8]
add rax, rbp
mov qword [rsi + 8], rax
jmp 0x140027c5e
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 0x140027c85
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 0x140027e39
mov rbx, r14
sar rbx, 3
lea rcx, [rbp*8]
call fcn.140100528
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.140100528
cmp rbx, rbp
je 0x140027d96
mov qword [r14], rax
lea rax, [r14 + 8]
mov qword [rsp + 0x38], rax
mov rdx, r12
cmp rdi, r12
je 0x140027b42
lea rbx, [rsp + 0x28]
add rdi, 0xfffffffffffffff8
mov rcx, rbx
mov rdx, rdi
call fcn.140138e90
cmp rdi, qword [rsi + 8]
jne 0x140027b12
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 0x140027b88
add rax, 0xfffffffffffffff8
shr rax, 3
not rax
lea rax, [r12 + rax*8]
mov qword [rsp + 0x38], rax
test rcx, rcx
je 0x140027c66
call fcn.140100564
jmp 0x140027c66
mov rax, rbx
sub rax, r14
mov rcx, rax
sar rcx, 2
test rax, rax
mov edi, 1
cmovne rdi, rcx
mov rax, rdi
shr rax, 0x3d
jne 0x140027e39
mov r12, rdi
shr r12, 2
lea rcx, [rdi*8]
call fcn.140100528
lea r10, [rax + r12*8]
lea r9, [rax + rdi*8]
mov rcx, rbx
sub rcx, rbp
lea r8, [r10 + rcx]
mov rdx, r10
test rcx, rcx
je 0x140027c3b
mov rdx, 0xffffffffffffffff
cmovns rdx, rcx
test rdx, rdx
mov r11d, 1
cmovle r11, rdx
mov rdi, rbp
sub rdi, rbx
cmp rcx, rdi
cmovg rdi, rcx
shr rdi, 3
imul rdi, r11
shl rdi, 3
lea rcx, [rax + r12*8]
xor ebx, ebx
mov rdx, qword [rbp + rbx]
mov qword [rcx + rbx], rdx
add rbx, 8
cmp rdi, rbx
jne 0x140027c26
mov rdx, r8
mov qword [rsi], rax
mov qword [rsi + 8], r10
mov qword [rsi + 0x10], rdx
mov qword [rsi + 0x18], r9
mov rbx, rdx
test r14, r14
je 0x140027c5e
mov rcx, r14
call fcn.140100564
mov rbx, qword [rsi + 0x10]
mov qword [rbx], r15
add qword [rsi + 0x10], 8
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.1401013e0
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 0x140027d77
mov ecx, 0xff0
call fcn.140100528
lea rdx, [rsp + 0x28]
mov qword [rdx], rax
mov rcx, rsi
call fcn.140138e90
mov rbp, qword [rsi + 8]
mov rbx, qword [rsi + 0x10]
mov r15, qword [rbp]
add rbp, 8
mov qword [rsi + 8], rbp
cmp rbx, qword [rsi + 0x18]
jne 0x140027c5e
mov r14, qword [rsi]
mov rax, rbp
sub rax, r14
ja 0x140027a09
mov rax, rbx
sub rax, r14
mov rcx, rax
sar rcx, 2
test rax, rax
mov edi, 1
cmovne rdi, rcx
mov rax, rdi
shr rax, 0x3d
jne 0x140027e39
mov r12, rdi
shr r12, 2
lea rcx, [rdi*8]
call fcn.140100528
lea r10, [rax + r12*8]
lea r9, [rax + rdi*8]
mov rcx, rbx
sub rcx, rbp
lea r8, [r10 + rcx]
mov rdx, r10
test rcx, rcx
je 0x140027c3b
mov rdx, 0xffffffffffffffff
cmovns rdx, rcx
test rdx, rdx
mov r11d, 1
cmovle r11, rdx
mov rdi, rbp
sub rdi, rbx
cmp rcx, rdi
cmovg rdi, rcx
shr rdi, 3
imul rdi, r11
shl rdi, 3
lea rcx, [rax + r12*8]
xor ebx, ebx
mov rdx, qword [rbp + rbx]
mov qword [rcx + rbx], rdx
add rbx, 8
cmp rdi, rbx
jne 0x140027d60
jmp 0x140027c38
mov ecx, 0xff0
call fcn.140100528
lea rdx, [rsp + 0x28]
mov qword [rdx], rax
mov rcx, rsi
call fcn.140138d20
jmp 0x140027c66
mov qword [rsp + 0x20], rax
mov rax, r14
sub rax, r13
jbe 0x140027dc7
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 0x140027e2f
movabs rcx, 0x1fffffffffffffff
mov rdx, rax
sar rdx, 2
test rax, rax
mov ebp, 1
cmovne rbp, rdx
cmp rbp, rcx
ja 0x140027e39
mov rbx, rbp
and rbx, 0xfffffffffffffffc
lea rcx, [rbp*8]
call fcn.140100528
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 0x140027e2c
mov rcx, r13
call fcn.140100564
mov r12, qword [rsi + 8]
mov rdi, qword [rsi + 0x10]
mov r13, rbx
mov rax, qword [rsp + 0x20]
jmp 0x140027af9
call fcn.1401143a0
int3