Function at 0x14000d890
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x40
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x28], rax
xor eax, eax
mov rcx, 0xffffffffffffffff
mov rdi, qword [rsp + 0x50]
repne scasw ax, word [rdi]
not rcx
dec rcx
mov rax, rcx
shl rax, 1
mov dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x24]
lea eax, [rax*4 + 2]
xor edx, edx
mov ecx, 3
div ecx
cmp eax, 0x20
jbe 0x14000d8f7
lea rcx, [0x140002d30]
call qword [0x140030960]
xor al, al
jmp 0x14000dbcc
mov rdi, qword [rsp + 0x58]
xor eax, eax
mov ecx, 0x20
rep stosb byte [rdi], al
cmp dword [rsp + 0x24], 3
jb 0x14000da26
mov rax, qword [rsp + 0x28]
movzx eax, byte [rax]
mov dword [rsp + 0x20], eax
mov rax, qword [rsp + 0x28]
inc rax
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x20]
shl eax, 8
mov rcx, qword [rsp + 0x28]
movzx ecx, byte [rcx]
or eax, ecx
mov dword [rsp + 0x20], eax
mov rax, qword [rsp + 0x28]
inc rax
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x20]
shl eax, 8
mov rcx, qword [rsp + 0x28]
movzx ecx, byte [rcx]
or eax, ecx
mov dword [rsp + 0x20], eax
mov rax, qword [rsp + 0x28]
inc rax
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x20]
shr eax, 0x12
and eax, 0x3f
mov eax, eax
lea rcx, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
mov rdx, qword [rsp + 0x58]
movzx eax, byte [rcx + rax]
mov byte [rdx], al
mov rax, qword [rsp + 0x58]
inc rax
mov qword [rsp + 0x58], rax
mov eax, dword [rsp + 0x20]
shr eax, 0xc
and eax, 0x3f
mov eax, eax
lea rcx, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
mov rdx, qword [rsp + 0x58]
movzx eax, byte [rcx + rax]
mov byte [rdx], al
mov rax, qword [rsp + 0x58]
inc rax
mov qword [rsp + 0x58], rax
mov eax, dword [rsp + 0x20]
shr eax, 6
and eax, 0x3f
mov eax, eax
lea rcx, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
mov rdx, qword [rsp + 0x58]
movzx eax, byte [rcx + rax]
mov byte [rdx], al
mov rax, qword [rsp + 0x58]
inc rax
mov qword [rsp + 0x58], rax
mov eax, dword [rsp + 0x20]
and eax, 0x3f
mov eax, eax
lea rcx, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
mov rdx, qword [rsp + 0x58]
movzx eax, byte [rcx + rax]
mov byte [rdx], al
mov rax, qword [rsp + 0x58]
inc rax
mov qword [rsp + 0x58], rax
mov eax, dword [rsp + 0x24]
sub eax, 3
mov dword [rsp + 0x24], eax
jmp 0x14000d905
mov eax, dword [rsp + 0x24]
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 1
je 0x14000db26
cmp dword [rsp + 0x30], 2
je 0x14000da45
jmp 0x14000dbca
mov rax, qword [rsp + 0x28]
movzx eax, byte [rax]
mov dword [rsp + 0x20], eax
mov rax, qword [rsp + 0x28]
inc rax
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x20]
shl eax, 8
mov rcx, qword [rsp + 0x28]
movzx ecx, byte [rcx]
or eax, ecx
mov dword [rsp + 0x20], eax
mov rax, qword [rsp + 0x28]
inc rax
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x20]
shl eax, 8
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
shr eax, 0x12
and eax, 0x3f
mov eax, eax
lea rcx, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
mov rdx, qword [rsp + 0x58]
movzx eax, byte [rcx + rax]
mov byte [rdx], al
mov rax, qword [rsp + 0x58]
inc rax
mov qword [rsp + 0x58], rax
mov eax, dword [rsp + 0x20]
shr eax, 0xc
and eax, 0x3f
mov eax, eax
lea rcx, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
mov rdx, qword [rsp + 0x58]
movzx eax, byte [rcx + rax]
mov byte [rdx], al
mov rax, qword [rsp + 0x58]
inc rax
mov qword [rsp + 0x58], rax
mov eax, dword [rsp + 0x20]
shr eax, 6
and eax, 0x3f
mov eax, eax
lea rcx, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
mov rdx, qword [rsp + 0x58]
movzx eax, byte [rcx + rax]
mov byte [rdx], al
mov rax, qword [rsp + 0x58]
inc rax
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x58]
mov byte [rax], 0x3d
mov rax, qword [rsp + 0x58]
inc rax
mov qword [rsp + 0x58], rax
jmp 0x14000dbca
mov rax, qword [rsp + 0x28]
movzx eax, byte [rax]
mov dword [rsp + 0x20], eax
mov rax, qword [rsp + 0x28]
inc rax
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x20]
shl eax, 0x10
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
shr eax, 0x12
and eax, 0x3f
mov eax, eax
lea rcx, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
mov rdx, qword [rsp + 0x58]
movzx eax, byte [rcx + rax]
mov byte [rdx], al
mov rax, qword [rsp + 0x58]
inc rax
mov qword [rsp + 0x58], rax
mov eax, dword [rsp + 0x20]
shr eax, 0xc
and eax, 0x3f
mov eax, eax
lea rcx, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
mov rdx, qword [rsp + 0x58]
movzx eax, byte [rcx + rax]
mov byte [rdx], al
mov rax, qword [rsp + 0x58]
inc rax
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x58]
mov byte [rax], 0x3d
mov rax, qword [rsp + 0x58]
inc rax
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x58]
mov byte [rax], 0x3d
mov rax, qword [rsp + 0x58]
inc rax
mov qword [rsp + 0x58], rax
mov al, 1
add rsp, 0x40
pop rdi
ret