Function at 0x140001744
Capabilities:
Encode data using base64

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x50
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x18], rdx
mov qword [rbp + 0x20], r8
mov rax, qword [rbp + 0x18]
add rax, 2
movabs rdx, 0xaaaaaaaaaaaaaaab
mul rdx
mov rax, rdx
shr rax, 1
lea rdx, [rax*4]
mov rax, qword [rbp + 0x20]
mov qword [rax], rdx
mov rax, qword [rbp + 0x20]
mov rax, qword [rax]
mov rcx, rax
call sym.malloc
mov qword [rbp - 0x18], rax
cmp qword [rbp - 0x18], 0
jne 0x1400017a6
mov eax, 0
jmp 0x140001982
mov dword [rbp - 4], 0
mov dword [rbp - 8], 0
jmp 0x14000190c
mov eax, dword [rbp - 4]
cdqe
cmp rax, qword [rbp + 0x18]
jae 0x1400017df
mov eax, dword [rbp - 4]
lea edx, [rax + 1]
mov dword [rbp - 4], edx
movsxd rdx, eax
mov rax, qword [rbp + 0x10]
add rax, rdx
movzx eax, byte [rax]
movzx eax, al
jmp 0x1400017e4
mov eax, 0
mov dword [rbp - 0x1c], eax
mov eax, dword [rbp - 4]
cdqe
cmp rax, qword [rbp + 0x18]
jae 0x14000180d
mov eax, dword [rbp - 4]
lea edx, [rax + 1]
mov dword [rbp - 4], edx
movsxd rdx, eax
mov rax, qword [rbp + 0x10]
add rax, rdx
movzx eax, byte [rax]
movzx eax, al
jmp 0x140001812
mov eax, 0
mov dword [rbp - 0x20], eax
mov eax, dword [rbp - 4]
cdqe
cmp rax, qword [rbp + 0x18]
jae 0x14000183b
mov eax, dword [rbp - 4]
lea edx, [rax + 1]
mov dword [rbp - 4], edx
movsxd rdx, eax
mov rax, qword [rbp + 0x10]
add rax, rdx
movzx eax, byte [rax]
movzx eax, al
jmp 0x140001840
mov eax, 0
mov dword [rbp - 0x24], eax
mov eax, dword [rbp - 0x1c]
shl eax, 0x10
mov edx, eax
mov eax, dword [rbp - 0x20]
shl eax, 8
add edx, eax
mov eax, dword [rbp - 0x24]
add eax, edx
mov dword [rbp - 0x28], eax
mov eax, dword [rbp - 0x28]
shr eax, 0x12
and eax, 0x3f
mov ecx, eax
mov eax, dword [rbp - 8]
lea edx, [rax + 1]
mov dword [rbp - 8], edx
movsxd rdx, eax
mov rax, qword [rbp - 0x18]
add rdx, rax
mov ecx, ecx
lea rax, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
movzx eax, byte [rcx + rax]
mov byte [rdx], al
mov eax, dword [rbp - 0x28]
shr eax, 0xc
and eax, 0x3f
mov ecx, eax
mov eax, dword [rbp - 8]
lea edx, [rax + 1]
mov dword [rbp - 8], edx
movsxd rdx, eax
mov rax, qword [rbp - 0x18]
add rdx, rax
mov ecx, ecx
lea rax, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
movzx eax, byte [rcx + rax]
mov byte [rdx], al
mov eax, dword [rbp - 0x28]
shr eax, 6
and eax, 0x3f
mov ecx, eax
mov eax, dword [rbp - 8]
lea edx, [rax + 1]
mov dword [rbp - 8], edx
movsxd rdx, eax
mov rax, qword [rbp - 0x18]
add rdx, rax
mov ecx, ecx
lea rax, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
movzx eax, byte [rcx + rax]
mov byte [rdx], al
mov eax, dword [rbp - 0x28]
and eax, 0x3f
mov ecx, eax
mov eax, dword [rbp - 8]
lea edx, [rax + 1]
mov dword [rbp - 8], edx
movsxd rdx, eax
mov rax, qword [rbp - 0x18]
add rdx, rax
mov ecx, ecx
lea rax, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
movzx eax, byte [rcx + rax]
mov byte [rdx], al
mov eax, dword [rbp - 4]
cdqe
cmp rax, qword [rbp + 0x18]
jb 0x1400017b9
mov dword [rbp - 0xc], 0
jmp 0x140001945
mov rax, qword [rbp + 0x20]
mov rdx, qword [rax]
mov eax, dword [rbp - 0xc]
cdqe
sub rdx, rax
sub rdx, 1
mov rax, qword [rbp - 0x18]
add rax, rdx
mov byte [rax], 0x3d
add dword [rbp - 0xc], 1
mov rcx, qword [rbp + 0x18]
movabs rdx, 0xaaaaaaaaaaaaaaab
mov rax, rcx
mul rdx
shr rdx, 1
mov rax, rdx
add rax, rax
add rax, rdx
sub rcx, rax
mov rdx, rcx
shl rdx, 2
lea rax, [0x140013060]
mov eax, dword [rdx + rax]
cmp dword [rbp - 0xc], eax
jl 0x140001924
mov rax, qword [rbp - 0x18]
add rsp, 0x50
pop rbp
ret