Function at 0x100401706
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]
add rax, 1
mov rcx, rax
call sub.cygwin1.dll_malloc
mov qword [rbp - 0x20], rax
cmp qword [rbp - 0x20], 0
jne 0x10040176c
mov eax, 0
jmp 0x10040192c
mov qword [rbp - 8], 0
mov qword [rbp - 0x10], 0
jmp 0x1004018d1
mov rax, qword [rbp - 8]
cmp rax, qword [rbp + 0x18]
jae 0x1004017a6
mov rax, qword [rbp - 8]
lea rdx, [rax + 1]
mov qword [rbp - 8], rdx
mov rdx, qword [rbp + 0x10]
add rax, rdx
movzx eax, byte [rax]
movzx eax, al
jmp 0x1004017ab
mov eax, 0
mov dword [rbp - 0x24], eax
mov rax, qword [rbp - 8]
cmp rax, qword [rbp + 0x18]
jae 0x1004017d3
mov rax, qword [rbp - 8]
lea rdx, [rax + 1]
mov qword [rbp - 8], rdx
mov rdx, qword [rbp + 0x10]
add rax, rdx
movzx eax, byte [rax]
movzx eax, al
jmp 0x1004017d8
mov eax, 0
mov dword [rbp - 0x28], eax
mov rax, qword [rbp - 8]
cmp rax, qword [rbp + 0x18]
jae 0x100401800
mov rax, qword [rbp - 8]
lea rdx, [rax + 1]
mov qword [rbp - 8], rdx
mov rdx, qword [rbp + 0x10]
add rax, rdx
movzx eax, byte [rax]
movzx eax, al
jmp 0x100401805
mov eax, 0
mov dword [rbp - 0x2c], eax
mov eax, dword [rbp - 0x24]
shl eax, 0x10
mov edx, eax
mov eax, dword [rbp - 0x28]
shl eax, 8
add edx, eax
mov eax, dword [rbp - 0x2c]
add eax, edx
mov dword [rbp - 0x30], eax
mov eax, dword [rbp - 0x30]
shr eax, 0x12
and eax, 0x3f
mov ecx, eax
mov rax, qword [rbp - 0x10]
lea rdx, [rax + 1]
mov qword [rbp - 0x10], rdx
mov rdx, qword [rbp - 0x20]
add rdx, rax
mov ecx, ecx
lea rax, section..rdata
movzx eax, byte [rcx + rax]
mov byte [rdx], al
mov eax, dword [rbp - 0x30]
shr eax, 0xc
and eax, 0x3f
mov ecx, eax
mov rax, qword [rbp - 0x10]
lea rdx, [rax + 1]
mov qword [rbp - 0x10], rdx
mov rdx, qword [rbp - 0x20]
add rdx, rax
mov ecx, ecx
lea rax, section..rdata
movzx eax, byte [rcx + rax]
mov byte [rdx], al
mov eax, dword [rbp - 0x30]
shr eax, 6
and eax, 0x3f
mov ecx, eax
mov rax, qword [rbp - 0x10]
lea rdx, [rax + 1]
mov qword [rbp - 0x10], rdx
mov rdx, qword [rbp - 0x20]
add rdx, rax
mov ecx, ecx
lea rax, section..rdata
movzx eax, byte [rcx + rax]
mov byte [rdx], al
mov eax, dword [rbp - 0x30]
and eax, 0x3f
mov ecx, eax
mov rax, qword [rbp - 0x10]
lea rdx, [rax + 1]
mov qword [rbp - 0x10], rdx
mov rdx, qword [rbp - 0x20]
add rdx, rax
mov ecx, ecx
lea rax, section..rdata
movzx eax, byte [rcx + rax]
mov byte [rdx], al
mov rax, qword [rbp - 8]
cmp rax, qword [rbp + 0x18]
jb 0x100401781
mov qword [rbp - 0x18], 0
jmp 0x100401907
mov rax, qword [rbp + 0x20]
mov rax, qword [rax]
sub rax, qword [rbp - 0x18]
lea rdx, [rax - 1]
mov rax, qword [rbp - 0x20]
add rax, rdx
mov byte [rax], 0x3d
add qword [rbp - 0x18], 1
mov rax, qword [rbp + 0x20]
mov rax, qword [rax]
and eax, 3
cmp qword [rbp - 0x18], rax
jb 0x1004018e9
mov rax, qword [rbp + 0x20]
mov rdx, qword [rax]
mov rax, qword [rbp - 0x20]
add rax, rdx
mov byte [rax], 0
mov rax, qword [rbp - 0x20]
add rsp, 0x50
pop rbp
ret