Function at 0x140001591
Capabilities:
Encode data using base64

Disassembly:
push rbp
push rbx
sub rsp, 0x58
lea rbp, [rsp + 0x50]
mov qword [rbp + 0x20], rcx
mov qword [rbp + 0x28], rdx
mov rcx, qword [rbp + 0x20]
call fcn.1400bd990
mov dword [rbp - 4], 0
mov dword [rbp - 8], 0
mov rax, qword [rbp + 0x28]
mov qword [rbp - 0x10], rax
mov rax, qword [rbp - 0x10]
mov rcx, rax
call method.std::vector_unsigned_char__std::allocator_unsigned_char___.begin___const
mov qword [rbp - 0x20], rax
mov rax, qword [rbp - 0x10]
mov rcx, rax
call method.std::vector_unsigned_char__std::allocator_unsigned_char___.end___const
mov qword [rbp - 0x28], rax
lea rdx, [rbp - 0x28]
lea rax, [rbp - 0x20]
mov rcx, rax
call method.bool___gnu_cxx::operator__unsigned_char_const__std::vector_unsigned_char__std.allocator_unsigned_char________gnu_cxx::__normal_iterator_unsigned_char_const__std::vector_unsigned_char__std::allocator_unsigned_char______const____gnu_cxx::__normal
test al, al
je 0x1400016cc
lea rax, [rbp - 0x20]
mov rcx, rax
call method.__gnu_cxx::__normal_iterator_unsigned_char_const__std::vector_unsigned_char__std::allocator_unsigned_char_____.operator___const
movzx eax, byte [rax]
mov byte [rbp - 0x11], al
movzx edx, byte [rbp - 0x11]
mov eax, dword [rbp - 4]
lea ecx, [rax + 1]
mov dword [rbp - 4], ecx
cdqe
mov byte [rbp + rax - 0x14], dl
cmp dword [rbp - 4], 3
jne 0x1400016bb
movzx eax, byte [rbp - 0x14]
shr al, 2
mov byte [rbp - 0x18], al
movzx eax, byte [rbp - 0x14]
movzx eax, al
shl eax, 4
and eax, 0x30
mov edx, eax
movzx eax, byte [rbp - 0x13]
shr al, 4
add eax, edx
mov byte [rbp - 0x17], al
movzx eax, byte [rbp - 0x13]
movzx eax, al
shl eax, 2
and eax, 0x3c
mov edx, eax
movzx eax, byte [rbp - 0x12]
shr al, 6
add eax, edx
mov byte [rbp - 0x16], al
movzx eax, byte [rbp - 0x12]
and eax, 0x3f
mov byte [rbp - 0x15], al
mov dword [rbp - 4], 0
cmp dword [rbp - 4], 3
jg 0x1400016b4
mov eax, dword [rbp - 4]
cdqe
movzx eax, byte [rbp + rax - 0x18]
movzx eax, al
mov rdx, rax
lea rcx, [0x14011a060]
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.operator___unsigned_long_long__const
movzx eax, byte [rax]
movsx eax, al
mov edx, eax
mov rcx, qword [rbp + 0x20]
call fcn.1400be7b0
add dword [rbp - 4], 1
jmp 0x14000167b
mov dword [rbp - 4], 0
lea rax, [rbp - 0x20]
mov rcx, rax
call method.__gnu_cxx::__normal_iterator_unsigned_char_const__std::vector_unsigned_char__std::allocator_unsigned_char_____.operator__
jmp 0x1400015e3
cmp dword [rbp - 4], 0
je 0x1400017b8
mov eax, dword [rbp - 4]
mov dword [rbp - 8], eax
cmp dword [rbp - 8], 2
jg 0x1400016f2
mov eax, dword [rbp - 8]
cdqe
mov byte [rbp + rax - 0x14], 0
add dword [rbp - 8], 1
jmp 0x1400016dc
movzx eax, byte [rbp - 0x14]
shr al, 2
mov byte [rbp - 0x18], al
movzx eax, byte [rbp - 0x14]
movzx eax, al
shl eax, 4
and eax, 0x30
mov edx, eax
movzx eax, byte [rbp - 0x13]
shr al, 4
add eax, edx
mov byte [rbp - 0x17], al
movzx eax, byte [rbp - 0x13]
movzx eax, al
shl eax, 2
and eax, 0x3c
mov edx, eax
movzx eax, byte [rbp - 0x12]
shr al, 6
add eax, edx
mov byte [rbp - 0x16], al
movzx eax, byte [rbp - 0x12]
and eax, 0x3f
mov byte [rbp - 0x15], al
mov dword [rbp - 8], 0
mov eax, dword [rbp - 4]
cmp eax, dword [rbp - 8]
jl 0x14000177e
mov eax, dword [rbp - 8]
cdqe
movzx eax, byte [rbp + rax - 0x18]
movzx eax, al
mov rdx, rax
lea rcx, [0x14011a060]
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.operator___unsigned_long_long__const
movzx eax, byte [rax]
movsx eax, al
mov edx, eax
mov rcx, qword [rbp + 0x20]
call fcn.1400be7b0
add dword [rbp - 8], 1
jmp 0x140001743
mov eax, dword [rbp - 4]
lea edx, [rax + 1]
mov dword [rbp - 4], edx
cmp eax, 2
setle al
test al, al
je 0x1400017b8
mov edx, 0x3d
mov rcx, qword [rbp + 0x20]
call fcn.1400be7b0
jmp 0x14000177e
nop
mov rax, qword [rbp + 0x20]
add rsp, 0x58
pop rbx
pop rbp
ret