Function at 0x180077700
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov r9, r8
mov r14, rdx
mov rbx, rcx
xor r10d, r10d
mov dword [rsp + 0x20], r10d
xorps xmm0, xmm0
movups xmmword [rcx], xmm0
lea rdi, [rcx + 0x10]
lea r15, [rcx + 0x18]
mov qword [rdi], r10
mov qword [r15], 7
mov word [rcx], r10w
mov dword [rsp + 0x20], 1
cmp r8, 3
mov r8, qword [str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
jb 0x18007791b
movabs rax, 0xaaaaaaaaaaaaaaab
mul r9
mov r12, rdx
shr r12, 1
imul rax, r12, 0xfffffffffffffffd
add r9, rax
mov qword [rsp + 0x80], r9
nop dword [rax]
nop word [rax + rax]
movzx ecx, byte [r14]
movzx ebp, byte [r14 + 1]
movzx esi, cl
and sil, 3
shl sil, 4
movzx eax, bpl
shr al, 4
or sil, al
movzx r13d, byte [r14 + 2]
and bpl, 0xf
shl bpl, 2
movzx eax, r13b
shr al, 6
or bpl, al
and r13b, 0x3f
shr rcx, 2
movsx r9d, byte [rcx + r8]
mov rcx, qword [rdi]
mov rdx, qword [r15]
cmp rcx, rdx
jae 0x1800777fd
lea rax, [rcx + 1]
mov qword [rdi], rax
mov rax, rbx
cmp rdx, 7
jbe 0x1800777f0
mov rax, qword [rbx]
mov word [rax + rcx*2], r9w
mov word [rax + rcx*2 + 2], r10w
jmp 0x180077816
xor r8d, r8d
lea edx, [r8 + 1]
mov rcx, rbx
call fcn.180019dd0
mov r8, qword [str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
xor r10d, r10d
movzx eax, sil
movsx r9d, byte [rax + r8]
mov rcx, qword [rdi]
mov rdx, qword [r15]
cmp rcx, rdx
jae 0x18007784a
lea rax, [rcx + 1]
mov qword [rdi], rax
mov rax, rbx
cmp rdx, 7
jbe 0x18007783d
mov rax, qword [rbx]
mov word [rax + rcx*2], r9w
mov word [rax + rcx*2 + 2], r10w
jmp 0x180077863
xor r8d, r8d
lea edx, [r8 + 1]
mov rcx, rbx
call fcn.180019dd0
mov r8, qword [str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
xor r10d, r10d
movzx eax, bpl
movsx r9d, byte [rax + r8]
mov rcx, qword [rdi]
mov rdx, qword [r15]
cmp rcx, rdx
jae 0x180077897
lea rax, [rcx + 1]
mov qword [rdi], rax
mov rax, rbx
cmp rdx, 7
jbe 0x18007788a
mov rax, qword [rbx]
mov word [rax + rcx*2], r9w
mov word [rax + rcx*2 + 2], r10w
jmp 0x1800778b0
xor r8d, r8d
lea edx, [r8 + 1]
mov rcx, rbx
call fcn.180019dd0
mov r8, qword [str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
xor r10d, r10d
movzx eax, r13b
movsx r9d, byte [rax + r8]
mov rcx, qword [rdi]
mov rdx, qword [r15]
cmp rcx, rdx
jae 0x1800778e4
lea rax, [rcx + 1]
mov qword [rdi], rax
mov rax, rbx
cmp rdx, 7
jbe 0x1800778d7
mov rax, qword [rbx]
mov word [rax + rcx*2], r9w
mov word [rax + rcx*2 + 2], r10w
jmp 0x1800778fd
xor r8d, r8d
lea edx, [r8 + 1]
mov rcx, rbx
call fcn.180019dd0
mov r8, qword [str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
xor r10d, r10d
add r14, 3
sub r12, 1
jne 0x180077790
lea rdi, [rbx + 0x10]
lea r15, [rbx + 0x18]
mov r9, qword [rsp + 0x80]
sub r9, 1
je 0x180077a7d
cmp r9, 1
jne 0x180077b91
movzx ecx, byte [r14]
movzx r12d, byte [r14 + 1]
movzx ebp, cl
and bpl, 3
shl bpl, 4
movzx eax, r12b
shr al, 4
or bpl, al
and r12b, 0xf
shl r12b, 2
shr rcx, 2
movsx r9d, byte [rcx + r8]
mov rcx, qword [rdi]
mov rdx, qword [r15]
cmp rcx, rdx
jae 0x180077991
lea rax, [rcx + 1]
mov qword [rdi], rax
mov rax, rbx
cmp rdx, 7
jbe 0x18007797c
mov rax, qword [rbx]
mov word [rax + rcx*2], r9w
mov word [rax + rcx*2 + 2], r10w
lea rsi, [rbx + 0x10]
lea r14, [rbx + 0x18]
jmp 0x1800779b0
xor r8d, r8d
lea edx, [r8 + 1]
mov rcx, rbx
call fcn.180019dd0
mov rsi, rdi
mov r14, r15
mov r8, qword [str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
xor r10d, r10d
movzx eax, bpl
movsx r9d, byte [rax + r8]
mov rcx, qword [rdi]
mov rdx, qword [r15]
cmp rcx, rdx
jae 0x1800779ec
lea rax, [rcx + 1]
mov qword [rdi], rax
mov rax, rbx
cmp rdx, 7
jbe 0x1800779df
mov rax, qword [rbx]
lea rsi, [rbx + 0x10]
lea r14, [rbx + 0x18]
mov word [rax + rcx*2], r9w
mov word [rax + rcx*2 + 2], r10w
jmp 0x180077a05
xor r8d, r8d
lea edx, [r8 + 1]
mov rcx, rbx
call fcn.180019dd0
mov r8, qword [str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
xor r10d, r10d
movzx eax, r12b
movsx r9d, byte [rax + r8]
mov rcx, qword [rsi]
mov rdx, qword [r14]
cmp rcx, rdx
jae 0x180077a39
lea rax, [rcx + 1]
mov qword [rsi], rax
mov rax, rbx
cmp rdx, 7
jbe 0x180077a2c
mov rax, qword [rbx]
mov word [rax + rcx*2], r9w
mov word [rax + rcx*2 + 2], r10w
jmp 0x180077a48
xor r8d, r8d
lea edx, [r8 + 1]
mov rcx, rbx
call fcn.180019dd0
mov rcx, qword [rsi]
mov rdx, qword [r14]
cmp rcx, rdx
jae 0x180077a72
lea rax, [rcx + 1]
mov qword [rsi], rax
mov rax, rbx
cmp rdx, 7
jbe 0x180077a66
mov rax, qword [rbx]
mov dword [rax + rcx*2], 0x3d
jmp 0x180077b91
mov r9d, 0x3d
jmp 0x180077b82
movzx eax, byte [r14]
movzx ebp, al
and bpl, 3
shl bpl, 4
shr rax, 2
movsx r9d, byte [rax + r8]
mov rcx, qword [rdi]
mov rdx, qword [r15]
cmp rcx, rdx
jae 0x180077ac8
lea rax, [rcx + 1]
mov qword [rdi], rax
mov rax, rbx
cmp rdx, 7
jbe 0x180077ab3
mov rax, qword [rbx]
mov word [rax + rcx*2], r9w
mov word [rax + rcx*2 + 2], r10w
lea rsi, [rbx + 0x10]
lea r14, [rbx + 0x18]
jmp 0x180077ae7
xor r8d, r8d
lea edx, [r8 + 1]
mov rcx, rbx
call fcn.180019dd0
mov rsi, rdi
mov r14, r15
mov r8, qword [str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
xor r10d, r10d
movzx eax, bpl
movsx r9d, byte [rax + r8]
mov rcx, qword [rdi]
mov rdx, qword [r15]
cmp rcx, rdx
jae 0x180077b23
lea rax, [rcx + 1]
mov qword [rdi], rax
mov rax, rbx
cmp rdx, 7
jbe 0x180077b16
mov rax, qword [rbx]
lea rsi, [rbx + 0x10]
lea r14, [rbx + 0x18]
mov word [rax + rcx*2], r9w
mov word [rax + rcx*2 + 2], r10w
jmp 0x180077b32
xor r8d, r8d
lea edx, [r8 + 1]
mov rcx, rbx
call fcn.180019dd0
mov rcx, qword [rsi]
mov rdx, qword [r14]
cmp rcx, rdx
jae 0x180077b5a
lea rax, [rcx + 1]
mov qword [rsi], rax
mov rax, rbx
cmp rdx, 7
jbe 0x180077b50
mov rax, qword [rbx]
mov edi, 0x3d
mov dword [rax + rcx*2], edi
jmp 0x180077b70
mov edi, 0x3d
mov r9d, edi
xor r8d, r8d
lea edx, [rdi - 0x3c]
mov rcx, rbx
call fcn.180019dd0
mov rcx, qword [rsi]
mov rdx, qword [r14]
cmp rcx, rdx
jb 0x180077a53
mov r9d, edi
xor r8d, r8d
lea edx, [r8 + 1]
mov rcx, rbx
call fcn.180019dd0
mov rax, rbx
mov rbx, qword [rsp + 0x78]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret