Function at 0x1400028b0
Capabilities:
Encode data using base64

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0x90
mov qword [rbp - 0x21], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x14007a0d0]
xor rax, rsp
mov qword [rbp + 0x2f], rax
mov r15d, r8d
mov r14, rdx
mov rbx, rcx
mov qword [rbp - 0x19], rcx
xor eax, eax
mov dword [rbp - 0x31], eax
mov qword [rcx + 0x18], 0xf
mov qword [rcx + 0x10], rax
cmp qword [rcx + 0x18], 0x10
jb 0x140002913
mov rax, qword [rcx]
jmp 0x140002916
mov rax, rbx
mov byte [rax], 0
mov dword [rbp - 0x31], 1
lea rdx, [0x1400571e0]
lea rcx, [rbp + 0xf]
call fcn.14000ba10
mov rdi, rax
mov qword [rbp + 7], 0xf
xor r9d, r9d
mov qword [rbp - 1], r9
mov byte [rbp - 0x11], r9b
cmp qword [rax + 0x18], 0x10
jae 0x140002968
mov r8, qword [rax + 0x10]
add r8, 1
je 0x140002972
mov rdx, rax
lea rcx, [rbp - 0x11]
call fcn.1400347f0
xor r9d, r9d
jmp 0x140002972
mov rax, qword [rax]
mov qword [rbp - 0x11], rax
mov qword [rdi], r9
mov rax, qword [rdi + 0x10]
mov qword [rbp - 1], rax
mov rax, qword [rdi + 0x18]
mov qword [rbp + 7], rax
mov qword [rdi + 0x18], 0xf
mov qword [rdi + 0x10], r9
cmp qword [rdi + 0x18], 0x10
jb 0x140002998
mov rdi, qword [rdi]
mov byte [rdi], 0
mov rax, qword [rbp + 0x27]
cmp rax, 0x10
jb 0x1400029f4
inc rax
mov rcx, qword [rbp + 0xf]
cmp rax, 0x1000
jb 0x1400029ec
test cl, 0x1f
je 0x1400029bf
call fcn.1400378b8
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x1400029ce
call fcn.1400378b8
int3
sub rcx, rax
cmp rcx, 8
jae 0x1400029dd
call fcn.1400378b8
int3
cmp rcx, 0x27
jbe 0x1400029e9
call fcn.1400378b8
int3
mov rcx, rax
call fcn.140033508
xor r9d, r9d
mov qword [rbp + 0x27], 0xf
mov qword [rbp + 0x1f], r9
mov byte [rbp + 0xf], 0
mov esi, r9d
test r15d, r15d
je 0x140002d81
mov rcx, r9
nop dword [rax]
nop word [rax + rax]
dec r15d
movzx eax, byte [r14]
mov byte [rbp + rcx - 0x39], al
inc esi
inc rcx
inc r14
mov qword [rbp - 0x29], r14
movzx edx, byte [rbp - 0x37]
movzx r12d, byte [rbp - 0x38]
movzx r13d, byte [rbp - 0x39]
cmp rcx, 3
jne 0x140002b4d
movzx eax, r13b
shr al, 2
mov byte [rbp - 0x35], al
movzx ecx, r13b
and cl, 3
shl cl, 4
movzx eax, r12b
shr al, 4
add cl, al
mov byte [rbp - 0x34], cl
movzx ecx, r12b
and cl, 0xf
shl cl, 2
movzx eax, dl
shr al, 6
add cl, al
mov byte [rbp - 0x33], cl
movzx eax, dl
and al, 0x3f
mov byte [rbp - 0x32], al
mov rsi, r9
nop
movzx ecx, byte [rbp + rsi - 0x35]
lea rax, [rbp - 0x11]
cmp qword [rbp + 7], 0x10
cmovae rax, qword [rbp - 0x11]
movzx r14d, byte [rcx + rax]
mov rax, qword [rbx + 0x10]
not rax
cmp rax, 1
jbe 0x140002b64
mov rax, qword [rbx + 0x10]
lea rdi, [rax + 1]
cmp rdi, 0xfffffffffffffffe
ja 0x140002b57
cmp qword [rbx + 0x18], rdi
jae 0x140002ae4
mov r8, rax
mov rdx, rdi
mov rcx, rbx
call fcn.140028840
xor r9d, r9d
jmp 0x140002aff
test rdi, rdi
jne 0x140002b04
mov qword [rbx + 0x10], r9
cmp qword [rbx + 0x18], 0x10
jb 0x140002af9
mov rax, qword [rbx]
jmp 0x140002afc
mov rax, rbx
mov byte [rax], 0
test rdi, rdi
je 0x140002b32
mov rcx, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 0x10
jb 0x140002b14
mov rax, qword [rbx]
jmp 0x140002b17
mov rax, rbx
mov byte [rcx + rax], r14b
mov qword [rbx + 0x10], rdi
cmp qword [rbx + 0x18], 0x10
jb 0x140002b2b
mov rax, qword [rbx]
jmp 0x140002b2e
mov rax, rbx
mov byte [rdi + rax], 0
inc rsi
cmp rsi, 4
jl 0x140002a90
mov esi, r9d
mov rcx, r9
mov r14, qword [rbp - 0x29]
movzx edx, byte [rbp - 0x37]
test r15d, r15d
je 0x140002b71
jmp 0x140002a20
lea rcx, str.string_too_long
call fcn.140031e28
int3
lea rcx, str.string_too_long
call fcn.140031e28
int3
test esi, esi
je 0x140002d81
movsxd rax, esi
cmp rax, 3
jge 0x140002ba8
jae 0x140002ba2
mov byte [rbp + rax - 0x39], 0
inc rax
cmp rax, 3
jl 0x140002b82
movzx edx, byte [rbp - 0x37]
movzx r12d, byte [rbp - 0x38]
movzx r13d, byte [rbp - 0x39]
jmp 0x140002ba8
call fcn.1400336cc
int3
movzx eax, r13b
shr al, 2
mov byte [rbp - 0x35], al
and r13b, 3
shl r13b, 4
movzx eax, r12b
shr al, 4
add r13b, al
mov byte [rbp - 0x34], r13b
and r12b, 0xf
shl r12b, 2
movzx eax, dl
shr al, 6
add r12b, al
mov byte [rbp - 0x33], r12b
and dl, 0x3f
mov byte [rbp - 0x32], dl
mov r14d, r9d
lea r13d, [rsi + 1]
test r13d, r13d
jle 0x140002cc8
lea r15, [rbp - 0x35]
nop word [rax + rax]
movzx ecx, byte [r15]
lea rax, [rbp - 0x11]
cmp qword [rbp + 7], 0x10
cmovae rax, qword [rbp - 0x11]
movzx r12d, byte [rcx + rax]
mov rax, qword [rbx + 0x10]
not rax
cmp rax, 1
jbe 0x140002cbb
mov rax, qword [rbx + 0x10]
lea rdi, [rax + 1]
cmp rdi, 0xfffffffffffffffe
ja 0x140002cae
cmp qword [rbx + 0x18], rdi
jae 0x140002c4f
mov r8, rax
mov rdx, rdi
mov rcx, rbx
call fcn.140028840
xor r9d, r9d
jmp 0x140002c6a
test rdi, rdi
jne 0x140002c6f
mov qword [rbx + 0x10], r9
cmp qword [rbx + 0x18], 0x10
jb 0x140002c64
mov rax, qword [rbx]
jmp 0x140002c67
mov rax, rbx
mov byte [rax], 0
test rdi, rdi
je 0x140002c9d
mov rcx, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 0x10
jb 0x140002c7f
mov rax, qword [rbx]
jmp 0x140002c82
mov rax, rbx
mov byte [rcx + rax], r12b
mov qword [rbx + 0x10], rdi
cmp qword [rbx + 0x18], 0x10
jb 0x140002c96
mov rax, qword [rbx]
jmp 0x140002c99
mov rax, rbx
mov byte [rdi + rax], 0
inc r14d
inc r15
cmp r14d, r13d
jl 0x140002c00
jmp 0x140002cc8
lea rcx, str.string_too_long
call fcn.140031e28
int3
lea rcx, str.string_too_long
call fcn.140031e28
int3
cmp esi, 3
jge 0x140002d81
inc esi
mov rax, qword [rbx + 0x10]
not rax
cmp rax, 1
jbe 0x140002d74
mov rax, qword [rbx + 0x10]
lea rdi, [rax + 1]
cmp rdi, 0xfffffffffffffffe
ja 0x140002d67
cmp qword [rbx + 0x18], rdi
jae 0x140002d08
mov r8, rax
mov rdx, rdi
mov rcx, rbx
call fcn.140028840
jmp 0x140002d23
test rdi, rdi
jne 0x140002d28
mov qword [rbx + 0x10], r9
cmp qword [rbx + 0x18], 0x10
jb 0x140002d1d
mov rax, qword [rbx]
jmp 0x140002d20
mov rax, rbx
mov byte [rax], 0
test rdi, rdi
je 0x140002d56
mov rcx, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 0x10
jb 0x140002d38
mov rax, qword [rbx]
jmp 0x140002d3b
mov rax, rbx
mov byte [rax + rcx], 0x3d
mov qword [rbx + 0x10], rdi
cmp qword [rbx + 0x18], 0x10
jb 0x140002d4f
mov rax, qword [rbx]
jmp 0x140002d52
mov rax, rbx
mov byte [rdi + rax], 0
cmp esi, 3
mov r9d, 0
jl 0x140002cd1
jmp 0x140002d81
lea rcx, str.string_too_long
call fcn.140031e28
int3
lea rcx, str.string_too_long
call fcn.140031e28
nop
mov rax, qword [rbp + 7]
cmp rax, 0x10
jb 0x140002ddc
inc rax
mov rcx, qword [rbp - 0x11]
cmp rax, 0x1000
jb 0x140002dd7
test cl, 0x1f
je 0x140002da5
call fcn.1400378b8
int3
mov rax, qword [rbp - 0x11]
mov rcx, qword [rax - 8]
cmp rcx, rax
jb 0x140002db8
call fcn.1400378b8
int3
mov rax, qword [rbp - 0x11]
sub rax, rcx
cmp rax, 8
jae 0x140002dcb
call fcn.1400378b8
int3
cmp rax, 0x27
jbe 0x140002dd7
call fcn.1400378b8
int3
call fcn.140033508
mov rax, rbx
mov rcx, qword [rbp + 0x2f]
xor rcx, rsp
call fcn.1400335a0
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret