Function at 0x1800018a0
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x10
xor edx, edx
lea r9, [rcx + 2]
mov r11, r8
mov eax, edx
mov r8d, 2
mov r10d, edx
mov r12d, r8d
lea ebx, [rdx + 3]
lea edi, [rdx + 1]
nop dword [rax]
movzx edx, byte [r9 - 2]
mov ecx, eax
inc eax
mov esi, r10d
mov r14d, ebx
mov r15d, r8d
mov dword [rbp + rcx*4 - 0x10], edx
mov r13d, edi
cmp eax, 3
jne 0x18000199c
mov rax, qword [rbp - 0x10]
lea r14, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
mov edx, dword [rbp - 0xc]
mov r15d, 1
shr rax, 2
and eax, 0x3f
mov ecx, r10d
add r10d, 4
movzx eax, byte [rax + r14]
mov byte [rcx + r11], al
mov ecx, edx
mov eax, dword [rbp - 0x10]
and edx, 0xf
and eax, 3
shr ecx, 4
shl eax, 4
and ecx, 0xf
add eax, ecx
mov ecx, edi
add edi, 4
movzx eax, byte [rax + r14]
mov byte [rcx + r11], al
mov eax, dword [rbp - 8]
shr eax, 6
and eax, 3
mov ecx, r8d
add r8d, 4
lea eax, [rax + rdx*4]
movzx eax, byte [rax + r14]
mov byte [rcx + r11], al
mov rax, qword [rbp - 8]
and eax, 0x3f
mov ecx, ebx
add ebx, 4
movzx eax, byte [rax + r14]
mov byte [rcx + r11], al
movzx eax, byte [r9 - 1]
movzx ecx, byte [r9]
mov dword [rbp - 0x10], eax
lea eax, [r15 + 1]
mov dword [rbp + r15*4 - 0x10], ecx
jmp 0x180001c1f
movzx edx, byte [r9 - 1]
mov rdi, r13
mov dword [rbp + rax*4 - 0x10], edx
mov r8, r15
inc eax
mov rbx, r14
mov r10, rsi
cmp eax, 3
jne 0x180001aea
mov rax, qword [rbp - 0x10]
lea r8, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
mov edx, dword [rbp - 0xc]
lea r10d, [rsi + 4]
shr rax, 2
lea edi, [r13 + 4]
and eax, 0x3f
lea ebx, [r14 + 4]
mov ecx, edx
and edx, 0xf
shr ecx, 4
and ecx, 0xf
movzx eax, byte [rax + r8]
mov byte [rsi + r11], al
mov eax, dword [rbp - 0x10]
and eax, 3
shl eax, 4
add ecx, eax
movzx eax, byte [rcx + r8]
mov byte [r13 + r11], al
mov eax, dword [rbp - 8]
shr eax, 6
and eax, 3
lea eax, [rax + rdx*4]
movzx eax, byte [rax + r8]
mov byte [r15 + r11], al
mov rax, qword [rbp - 8]
and eax, 0x3f
movzx eax, byte [rax + r8]
lea r8d, [r15 + 4]
mov byte [r14 + r11], al
mov r15d, 1
movzx eax, byte [r9]
movzx ecx, byte [r9 + 1]
mov dword [rbp - 0x10], eax
mov dword [rbp + r15*4 - 0x10], ecx
lea eax, [r15 + 1]
movzx edx, byte [r9 + 2]
lea r14, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
mov dword [rbp + rax*4 - 0x10], edx
inc eax
cmp eax, 3
jne 0x180001b87
mov rax, qword [rbp - 0x10]
mov esi, dword [rbp - 0xc]
shr rax, 2
and eax, 0x3f
mov ecx, r10d
add r10d, 4
movzx eax, byte [rax + r14]
mov byte [rcx + r11], al
mov ecx, esi
mov eax, dword [rbp - 0x10]
and eax, 3
shr ecx, 4
shl eax, 4
and ecx, 0xf
add eax, ecx
mov ecx, edi
add edi, 4
movzx eax, byte [rax + r14]
mov byte [rcx + r11], al
mov eax, esi
mov ecx, dword [rbp - 8]
and eax, 0xf
shr ecx, 6
and ecx, 3
lea eax, [rcx + rax*4]
mov ecx, r8d
movzx eax, byte [rax + r14]
add r8d, 4
mov byte [rcx + r11], al
mov rax, qword [rbp - 8]
and eax, 0x3f
mov ecx, ebx
add ebx, 4
movzx eax, byte [rax + r14]
mov byte [rcx + r11], al
movzx eax, byte [r9 + 3]
mov dword [rbp - 0x10], eax
mov eax, r15d
jmp 0x180001cc1
movzx edx, byte [r9]
lea r14, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
mov dword [rbp + rax*4 - 0x10], edx
inc eax
cmp eax, 3
jne 0x180001c19
mov rax, qword [rbp - 0x10]
add r10d, 4
mov edx, dword [rbp - 0xc]
add edi, 4
shr rax, 2
mov ecx, edx
and eax, 0x3f
shr ecx, 4
and ecx, 0xf
and edx, 0xf
add r8d, 4
movzx eax, byte [rax + r14]
mov byte [rsi + r11], al
mov eax, dword [rbp - 0x10]
and eax, 3
shl eax, 4
add ecx, eax
movzx eax, byte [rcx + r14]
mov byte [r13 + r11], al
mov eax, dword [rbp - 8]
shr eax, 6
and eax, 3
lea eax, [rax + rdx*4]
mov edx, 1
movzx eax, byte [rax + r14]
mov byte [r15 + r11], al
mov rax, qword [rbp - 8]
and eax, 0x3f
movzx eax, byte [rax + r14]
mov byte [rbx + r11], al
add ebx, 4
movzx eax, byte [r9 + 1]
movzx ecx, byte [r9 + 2]
mov dword [rbp - 0x10], eax
lea eax, [rdx + 1]
mov dword [rbp + rdx*4 - 0x10], ecx
movzx edx, byte [r9 + 3]
mov dword [rbp + rax*4 - 0x10], edx
inc eax
cmp eax, 3
jne 0x180001cbe
mov esi, dword [rbp - 0xc]
mov rax, qword [rbp - 0x10]
shr rax, 2
and eax, 0x3f
mov ecx, r10d
add r10d, 4
movzx eax, byte [rax + r14]
mov byte [rcx + r11], al
mov ecx, esi
mov eax, dword [rbp - 0x10]
and eax, 3
shr ecx, 4
shl eax, 4
and ecx, 0xf
add eax, ecx
mov ecx, edi
add edi, 4
movzx eax, byte [rax + r14]
mov byte [rcx + r11], al
mov eax, esi
mov ecx, dword [rbp - 8]
and eax, 0xf
shr ecx, 6
and ecx, 3
lea eax, [rcx + rax*4]
mov ecx, r8d
movzx eax, byte [rax + r14]
add r8d, 4
mov byte [rcx + r11], al
mov rax, qword [rbp - 8]
and eax, 0x3f
mov ecx, ebx
movzx eax, byte [rax + r14]
mov byte [rcx + r11], al
xor ecx, ecx
mov eax, ecx
add ebx, 4
jmp 0x180001cc3
mov r15d, 1
movzx edx, byte [r9 + 1]
mov dword [rbp + rax*4 - 0x10], edx
inc eax
cmp eax, 3
jne 0x180001a4a
mov rax, qword [rbp - 0x10]
mov edx, dword [rbp - 0xc]
shr rax, 2
and eax, 0x3f
mov ecx, r10d
add r10d, 4
movzx eax, byte [rax + r14]
mov byte [rcx + r11], al
mov ecx, edx
mov eax, dword [rbp - 0x10]
and edx, 0xf
and eax, 3
shr ecx, 4
shl eax, 4
and ecx, 0xf
add eax, ecx
mov ecx, edi
add edi, 4
movzx eax, byte [rax + r14]
mov byte [rcx + r11], al
mov eax, dword [rbp - 8]
shr eax, 6
and eax, 3
mov ecx, r8d
add r8d, 4
lea eax, [rax + rdx*4]
movzx eax, byte [rax + r14]
mov byte [rcx + r11], al
mov rax, qword [rbp - 8]
and eax, 0x3f
mov ecx, ebx
add ebx, 4
movzx eax, byte [rax + r14]
mov byte [rcx + r11], al
movzx eax, byte [r9 + 2]
movzx ecx, byte [r9 + 3]
mov dword [rbp - 0x10], eax
mov eax, r15d
mov dword [rbp + rax*4 - 0x10], ecx
lea eax, [r15 + 1]
mov esi, dword [rbp - 0xc]
xor ecx, ecx
add r9, 6
sub r12, 1
jne 0x1800018e0
test eax, eax
je 0x180001d42
mov edx, r10d
cmp eax, 1
cmove esi, ecx
mov r8d, esi
mov dword [rbp - 0xc], esi
mov rcx, qword [rbp - 0x10]
shr rcx, 2
and ecx, 0x3f
shr r8d, 4
and r8d, 0xf
movzx ecx, byte [rcx + r14]
mov byte [rdx + r11], cl
lea edx, [r10 + 1]
mov ecx, dword [rbp - 0x10]
and ecx, 3
shl ecx, 4
add r8d, ecx
movzx ecx, byte [r8 + r14]
mov byte [rdx + r11], cl
lea edx, [r10 + 2]
cmp eax, 2
jne 0x180001d2f
and esi, 0xf
shl esi, 2
movzx ecx, byte [rsi + r14]
jmp 0x180001d31
mov cl, 0x3d
mov byte [rdx + r11], cl
lea ecx, [r10 + 3]
mov byte [rcx + r11], 0x3d
add r10d, 4
mov rbx, qword [rsp + 0x40]
mov eax, r10d
mov rsi, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x50]
mov ecx, r10d
mov byte [rcx + r11], 0
add rsp, 0x10
pop r15
pop r14
pop r13
pop r12
pop rbp
ret