Function at 0x140009750
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 0x18], r8
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
sub rsp, 0x28
mov dword [rsp + 0xc], 0
cmp dword [rsp + 0x38], 3
jl 0x1400098df
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x30]
movzx eax, byte [rcx + rax]
sar eax, 2
movzx eax, al
lea rcx, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
mov edx, 1
imul rdx, rdx, 0
mov r8, qword [rsp + 0x40]
movzx eax, byte [rcx + rax]
mov byte [r8 + rdx], al
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x30]
movzx eax, byte [rcx + rax]
shl eax, 4
mov ecx, 1
imul rcx, rcx, 1
mov rdx, qword [rsp + 0x30]
movzx ecx, byte [rdx + rcx]
sar ecx, 4
or eax, ecx
and eax, 0x3f
movzx eax, al
lea rcx, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
mov edx, 1
imul rdx, rdx, 1
mov r8, qword [rsp + 0x40]
movzx eax, byte [rcx + rax]
mov byte [r8 + rdx], al
mov eax, 1
imul rax, rax, 1
mov rcx, qword [rsp + 0x30]
movzx eax, byte [rcx + rax]
and eax, 0xf
shl eax, 2
mov ecx, 1
imul rcx, rcx, 2
mov rdx, qword [rsp + 0x30]
movzx ecx, byte [rdx + rcx]
sar ecx, 6
or eax, ecx
movzx eax, al
lea rcx, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
mov edx, 1
imul rdx, rdx, 2
mov r8, qword [rsp + 0x40]
movzx eax, byte [rcx + rax]
mov byte [r8 + rdx], al
mov eax, 1
imul rax, rax, 2
mov rcx, qword [rsp + 0x30]
movzx eax, byte [rcx + rax]
and eax, 0x3f
movzx eax, al
lea rcx, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
mov edx, 1
imul rdx, rdx, 3
mov r8, qword [rsp + 0x40]
movzx eax, byte [rcx + rax]
mov byte [r8 + rdx], al
mov rax, qword [rsp + 0x40]
add rax, 4
mov qword [rsp + 0x40], rax
mov eax, dword [rsp + 0x38]
sub eax, 3
mov dword [rsp + 0x38], eax
mov rax, qword [rsp + 0x30]
add rax, 3
mov qword [rsp + 0x30], rax
mov eax, dword [rsp + 0xc]
add eax, 4
mov dword [rsp + 0xc], eax
cmp dword [rsp + 0xc], 0x48
jge 0x1400098bd
cmp dword [rsp + 0x38], 0
jg 0x1400098da
mov rax, qword [rsp + 0x40]
mov byte [rax], 0xa
mov rax, qword [rsp + 0x40]
inc rax
mov qword [rsp + 0x40], rax
mov dword [rsp + 0xc], 0
jmp 0x14000976a
cmp dword [rsp + 0x38], 0
jle 0x1400099f2
mov eax, dword [rsp + 0x38]
inc eax
mov byte [rsp], al
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax]
mov dword [rsp + 8], eax
mov rax, qword [rsp + 0x30]
inc rax
mov qword [rsp + 0x30], rax
mov dword [rsp + 4], 1
jmp 0x140009920
mov eax, dword [rsp + 4]
inc eax
mov dword [rsp + 4], eax
cmp dword [rsp + 4], 3
jge 0x14000995f
mov eax, dword [rsp + 8]
shl eax, 8
mov dword [rsp + 8], eax
mov eax, dword [rsp + 0x38]
cmp dword [rsp + 4], eax
jge 0x14000995d
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax]
mov ecx, dword [rsp + 8]
or ecx, eax
mov eax, ecx
mov dword [rsp + 8], eax
mov rax, qword [rsp + 0x30]
inc rax
mov qword [rsp + 0x30], rax
jmp 0x140009916
mov dword [rsp + 4], 3
jmp 0x140009973
mov eax, dword [rsp + 4]
dec eax
mov dword [rsp + 4], eax
cmp dword [rsp + 4], 0
jl 0x1400099cf
movsx eax, byte [rsp]
cmp dword [rsp + 4], eax
jge 0x14000999f
mov eax, dword [rsp + 8]
and eax, 0x3f
movzx eax, al
lea rcx, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
movsx eax, byte [rcx + rax]
mov dword [rsp + 0x10], eax
jmp 0x1400099a7
mov dword [rsp + 0x10], 0x3d
movzx eax, byte [rsp + 0x10]
mov byte [rsp + 1], al
mov eax, dword [rsp + 8]
shr eax, 6
mov dword [rsp + 8], eax
movsxd rax, dword [rsp + 4]
mov rcx, qword [rsp + 0x40]
movzx edx, byte [rsp + 1]
mov byte [rcx + rax], dl
jmp 0x140009969
mov rax, qword [rsp + 0x40]
add rax, 4
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov byte [rax], 0xa
mov rax, qword [rsp + 0x40]
inc rax
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
mov rax, qword [rsp + 0x40]
add rsp, 0x28
ret