Function at 0x772800
Capabilities:
Encode data using base64

Disassembly:
push r13
push rdi
push rsi
push rbx
mov r10, rcx
mov r11, rdx
xor ecx, ecx
xor r9, r9
mov ebx, 1
mov edx, r8d
mov eax, 0x55555556
imul edx
mov esi, edx
shr esi, 0x1f
add esi, edx
mov eax, ebx
cmp eax, esi
jg 0x772906
sub esi, ebx
add esi, 1
movsxd rax, ecx
movsxd rdx, r9d
lea rbx, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
movzx rdi, byte [r10 + rax]
shr edi, 2
mov edi, edi
movzx rbx, byte [rbx + rdi]
mov byte [r11 + rdx], bl
mov edx, ecx
add edx, 1
movsxd rdx, edx
mov ebx, r9d
add ebx, 1
movsxd rbx, ebx
lea rdi, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
movzx rax, byte [r10 + rax]
and al, 3
movzx rax, al
shl eax, 4
movzx r13, byte [r10 + rdx]
shr r13d, 4
add eax, r13d
mov eax, eax
movzx rax, byte [rdi + rax]
mov byte [r11 + rbx], al
mov eax, ecx
add eax, 2
movsxd rax, eax
mov ebx, r9d
add ebx, 2
movsxd rbx, ebx
lea rdi, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
movzx rdx, byte [r10 + rdx]
and dl, 0xf
movzx rdx, dl
shl edx, 2
movzx r13, byte [r10 + rax]
shr r13d, 6
add edx, r13d
mov edx, edx
movzx rdx, byte [rdi + rdx]
mov byte [r11 + rbx], dl
mov edx, r9d
add edx, 3
movsxd rdx, edx
lea rbx, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
movzx rax, byte [r10 + rax]
and al, 0x3f
movzx rax, al
movzx rax, byte [rbx + rax]
mov byte [r11 + rdx], al
add r9d, 4
add ecx, 3
sub esi, 1
test esi, esi
jne 0x772835
nop
mov edx, r8d
mov ebx, edx
mov eax, 0x55555556
imul edx
mov eax, edx
shr eax, 0x1f
add eax, edx
lea rax, [rax + rax*2]
sub ebx, eax
mov eax, ebx
sub eax, 1
test eax, eax
je 0x772936
sub eax, 1
test eax, eax
jne 0x772a2e
jmp 0x77299f
movsxd rcx, ecx
movsxd rax, r9d
lea rdx, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
movzx rbx, byte [r10 + rcx]
shr ebx, 2
mov ebx, ebx
movzx rdx, byte [rdx + rbx]
mov byte [r11 + rax], dl
mov eax, r9d
add eax, 1
movsxd rax, eax
lea rdx, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
movzx rcx, byte [r10 + rcx]
and cl, 3
movzx rcx, cl
shl ecx, 4
mov ecx, ecx
movzx rcx, byte [rdx + rcx]
mov byte [r11 + rax], cl
mov eax, r9d
add eax, 2
movsxd rax, eax
mov byte [r11 + rax], 0x3d
add r9d, 3
movsxd r9, r9d
mov byte [r11 + r9], 0x3d
jmp 0x772a2e
movsxd rax, ecx
movsxd rdx, r9d
lea rbx, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
movzx rsi, byte [r10 + rax]
shr esi, 2
mov esi, esi
movzx rbx, byte [rbx + rsi]
mov byte [r11 + rdx], bl
add ecx, 1
movsxd rcx, ecx
mov edx, r9d
add edx, 1
movsxd rdx, edx
lea rbx, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
movzx rax, byte [r10 + rax]
and al, 3
movzx rax, al
shl eax, 4
movzx rsi, byte [r10 + rcx]
shr esi, 4
add eax, esi
mov eax, eax
movzx rax, byte [rbx + rax]
mov byte [r11 + rdx], al
mov eax, r9d
add eax, 2
movsxd rax, eax
lea rdx, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
movzx rcx, byte [r10 + rcx]
and cl, 0xf
movzx rcx, cl
shl ecx, 2
mov ecx, ecx
movzx rcx, byte [rdx + rcx]
mov byte [r11 + rax], cl
add r9d, 3
movsxd r9, r9d
mov byte [r11 + r9], 0x3d
add r8d, 2
mov eax, 0x55555556
imul r8d
mov eax, edx
shr eax, 0x1f
add eax, edx
shl eax, 2
pop rbx
pop rsi
pop rdi
pop r13
ret