Function at 0x7fffb6d89394
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
xor r13d, r13d
mov r15, r9
mov r12, r8
mov esi, edx
mov r14, rcx
test r9, r9
je 0x7fffb6d896ea
or rdi, 0xffffffffffffffff
inc rdi
cmp word [rcx + rdi*2], r13w
jne 0x7fffb6d893cb
mov eax, edi
mov ecx, 0x80070216
cmp rdi, rax
je 0x7fffb6d893ee
mov ebx, ecx
call fcn.7fffb6d8b038
mov edi, dword [rsp + 0x68]
jmp 0x7fffb6d893f8
xor ecx, ecx
call fcn.7fffb6d8b1d8
mov ebx, r13d
mov ecx, ebx
call fcn.7fffb6d8b1d8
test ebx, ebx
jns 0x7fffb6d8940a
mov ecx, ebx
jmp 0x7fffb6d896f1
cmp edi, esi
lea rcx, str.________________________________________________456789:_________
mov ebp, r13d
mov eax, 0x100
cmovb esi, edi
mov rdi, r14
lea rsi, [r14 + rsi*2]
cmp r14, rsi
jae 0x7fffb6d89477
cmp word [rdi], ax
jae 0x7fffb6d896ea
movzx eax, word [rdi]
cmp byte [rax + rcx], 0x3f
jbe 0x7fffb6d894a7
cmp word [rdi], 0x20
ja 0x7fffb6d89455
movzx eax, word [rdi]
movabs rcx, 0x100002600
bt rcx, rax
jb 0x7fffb6d894d2
test ebp, ebp
je 0x7fffb6d896ea
mov eax, ebp
and eax, 3
je 0x7fffb6d89477
cmp word [rdi], 0x3d
jne 0x7fffb6d896ea
cmp eax, 1
je 0x7fffb6d896ea
mov ecx, ebp
mov ebx, r13d
shr ecx, 2
mov edi, 0x80070216
test ecx, ecx
je 0x7fffb6d894ec
lea esi, [rcx + rcx*2]
mov eax, 0xaaaaaaab
mul esi
shr edx, 1
cmp edx, ecx
je 0x7fffb6d894ef
mov ecx, edi
mov ebx, edi
call fcn.7fffb6d8b038
mov esi, dword [rsp + 0x68]
jmp 0x7fffb6d894ef
lea eax, [rbp + 1]
cmp eax, ebp
jb 0x7fffb6d894b5
mov ebp, eax
mov ebx, r13d
jmp 0x7fffb6d894c3
mov eax, 0x80070216
mov ecx, eax
mov ebx, eax
call fcn.7fffb6d8b038
mov ecx, ebx
call fcn.7fffb6d8b1d8
test ebx, ebx
js 0x7fffb6d89403
add rdi, 2
cmp rdi, rsi
jae 0x7fffb6d89477
lea rcx, str.________________________________________________456789:_________
mov eax, 0x100
jmp 0x7fffb6d8942a
mov esi, r13d
mov ecx, ebx
call fcn.7fffb6d8b1d8
test ebx, ebx
js 0x7fffb6d89403
mov eax, ebp
and eax, 3
sub eax, 1
je 0x7fffb6d896ea
sub eax, 1
je 0x7fffb6d8953c
cmp eax, 1
jne 0x7fffb6d89562
lea eax, [rsi + 1]
cmp eax, esi
jb 0x7fffb6d89524
mov esi, eax
mov ebx, r13d
jmp 0x7fffb6d8952d
mov ecx, edi
mov ebx, edi
call fcn.7fffb6d8b038
mov ecx, ebx
call fcn.7fffb6d8b1d8
test ebx, ebx
js 0x7fffb6d89403
lea eax, [rsi + 1]
cmp eax, esi
jb 0x7fffb6d8954a
mov esi, eax
mov ebx, r13d
jmp 0x7fffb6d89553
mov ecx, edi
mov ebx, edi
call fcn.7fffb6d8b038
mov ecx, ebx
call fcn.7fffb6d8b1d8
test ebx, ebx
js 0x7fffb6d89403
test r12, r12
jne 0x7fffb6d89572
mov dword [r15], esi
mov ebx, r13d
jmp 0x7fffb6d896f6
cmp dword [r15], esi
jae 0x7fffb6d89581
mov ebx, 0x8007007a
jmp 0x7fffb6d89403
mov rdi, r12
add rsi, r12
test ebp, ebp
je 0x7fffb6d89698
xor ecx, ecx
mov r8d, ebp
mov eax, 4
mov dword [rsp + 0x68], ecx
cmp ebp, eax
mov edx, r13d
cmova r8d, eax
test r8, r8
je 0x7fffb6d895ea
lea r9, str.________________________________________________456789:_________
mov r10d, 0x100
jmp 0x7fffb6d895c8
movzx eax, ax
cmp byte [rax + r9], 0x3f
jbe 0x7fffb6d895d2
add r14, 2
movzx eax, word [r14]
cmp r10w, ax
ja 0x7fffb6d895ba
mov al, byte [r14]
inc edx
mov byte [rsp + rcx + 0x68], al
add r14, 2
mov ecx, edx
cmp rcx, r8
jb 0x7fffb6d895c8
mov ecx, dword [rsp + 0x68]
cmp rdi, rsi
jae 0x7fffb6d89691
movzx eax, byte [rsp + 0x69]
lea r9, str.________________________________________________456789:_________
mov r8b, byte [rax + r9]
movzx eax, cl
mov cl, byte [rax + r9]
mov al, r8b
shr al, 4
shl cl, 2
or cl, al
mov byte [rdi], cl
inc rdi
cmp edx, 2
jbe 0x7fffb6d8963c
cmp rdi, rsi
jae 0x7fffb6d89691
movzx eax, byte [rsp + 0x6a]
shl r8b, 4
mov cl, byte [rax + r9]
shr cl, 2
or cl, r8b
mov byte [rdi], cl
inc rdi
cmp edx, 3
jbe 0x7fffb6d89660
cmp rdi, rsi
jae 0x7fffb6d89691
movzx eax, byte [rsp + 0x6a]
mov cl, byte [rax + r9]
movzx eax, byte [rsp + 0x6b]
shl cl, 6
or cl, byte [rax + r9]
mov byte [rdi], cl
inc rdi
mov eax, ebp
sub eax, edx
cmp eax, ebp
ja 0x7fffb6d8966f
mov ebp, eax
mov ebx, r13d
jmp 0x7fffb6d8967d
mov eax, 0x80070216
mov ecx, eax
mov ebx, eax
call fcn.7fffb6d8b038
mov ecx, ebx
call fcn.7fffb6d8b1d8
test ebx, ebx
js 0x7fffb6d89403
jmp 0x7fffb6d89587
mov ecx, 0x8000ffff
jmp 0x7fffb6d896ef
sub rdi, r12
mov eax, edi
cmp rdi, rax
je 0x7fffb6d896b2
mov eax, 0x80070216
mov ebx, eax
mov ecx, eax
call fcn.7fffb6d8b038
jmp 0x7fffb6d896da
mov ebx, r13d
test rdi, rdi
jns 0x7fffb6d896c8
mov eax, 0x80070216
mov ecx, eax
mov ebx, eax
call fcn.7fffb6d8b038
mov ecx, ebx
call fcn.7fffb6d8b1d8
test ebx, ebx
jns 0x7fffb6d896d7
mov ecx, ebx
jmp 0x7fffb6d896ab
mov dword [r15], edi
mov ecx, ebx
call fcn.7fffb6d8b1d8
test ebx, ebx
jns 0x7fffb6d896f6
jmp 0x7fffb6d89403
mov ecx, 0x80070057
mov ebx, ecx
call fcn.7fffb6d8b038
mov ecx, ebx
call fcn.7fffb6d8b1d8
mov rbp, qword [rsp + 0x58]
mov eax, ebx
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x60]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
ret