Function at 0x1400695c4
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], r8
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
xor r14d, r14d
mov r13, r9
mov esi, edx
mov r12, rcx
test r9, r9
je 0x1400696a6
or rdi, 0xffffffffffffffff
inc rdi
cmp word [rcx + rdi*2], r14w
jne 0x1400695f5
mov ebp, edi
mov r15d, 0x80070216
cmp rdi, rbp
je 0x140069616
mov ecx, r15d
call fcn.14007ab24
jmp 0x14006961d
xor ecx, ecx
call fcn.14007ab44
mov rax, rdi
sub rax, rbp
neg rax
sbb ebx, ebx
and ebx, r15d
mov ecx, ebx
call fcn.14007ab44
cmp rdi, rbp
je 0x14006963b
mov ecx, ebx
jmp 0x1400696ad
cmp edi, esi
lea rcx, str.________________________________________________456789:_________
mov ebp, r14d
mov eax, 0x100
cmovb esi, edi
lea r15, [r12 + rsi*2]
mov rsi, r12
cmp r12, r15
jae 0x14006971a
mov r14d, ebp
cmp word [rsi], ax
jae 0x1400696a6
movzx eax, word [rsi]
cmp byte [rax + rcx], 0x3f
jbe 0x1400696d0
cmp word [rsi], 0x20
ja 0x140069689
movzx eax, word [rsi]
movabs rcx, 0x100002600
bt rcx, rax
jb 0x140069700
xor r15d, r15d
test ebp, ebp
je 0x1400696a6
mov eax, ebp
and eax, 3
je 0x14006971d
cmp word [rsi], 0x3d
jne 0x1400696a6
cmp eax, 1
jne 0x14006971d
mov ecx, 0x80070057
mov ebx, ecx
call fcn.14007ab24
mov ecx, ebx
call fcn.14007ab44
mov eax, ebx
mov rbx, qword [rsp + 0x60]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea edi, [rbp + 1]
cmp edi, ebp
jb 0x1400696db
mov ebp, edi
jmp 0x1400696e5
mov ecx, 0x80070216
call fcn.14007ab24
cmp edi, r14d
sbb ebx, ebx
and ebx, 0x80070216
mov ecx, ebx
call fcn.14007ab44
cmp edi, r14d
jb 0x140069637
add rsi, 2
cmp rsi, r15
jae 0x14006971a
lea rcx, str.________________________________________________456789:_________
mov eax, 0x100
jmp 0x14006965f
xor r15d, r15d
mov ecx, ebp
mov ebx, r15d
shr ecx, 2
test ecx, ecx
je 0x14006974d
lea esi, [rcx + rcx*2]
mov eax, 0xaaaaaaab
mul esi
shr edx, 1
cmp edx, ecx
je 0x140069750
mov eax, 0x80070216
mov ecx, eax
mov ebx, eax
call fcn.14007ab24
mov esi, dword [rsp + 0x78]
jmp 0x140069750
mov esi, r15d
mov ecx, ebx
mov r14d, esi
call fcn.14007ab44
test ebx, ebx
js 0x140069637
mov eax, ebp
and eax, 3
sub eax, 1
je 0x1400696a6
sub eax, 1
je 0x1400697aa
cmp eax, 1
jne 0x1400697dd
lea edi, [rsi + 1]
cmp edi, esi
jb 0x140069785
mov esi, edi
jmp 0x14006978f
mov ecx, 0x80070216
call fcn.14007ab24
cmp edi, r14d
sbb ebx, ebx
and ebx, 0x80070216
mov ecx, ebx
call fcn.14007ab44
cmp edi, r14d
jb 0x140069637
lea edi, [rsi + 1]
mov r14d, esi
cmp edi, esi
jb 0x1400697b8
mov esi, edi
jmp 0x1400697c2
mov ecx, 0x80070216
call fcn.14007ab24
cmp edi, r14d
sbb ebx, ebx
and ebx, 0x80070216
mov ecx, ebx
call fcn.14007ab44
cmp edi, r14d
jb 0x140069637
mov rax, qword [rsp + 0x70]
test rax, rax
jne 0x1400697f3
mov dword [r13], esi
mov ebx, r15d
jmp 0x1400696b2
cmp dword [r13], esi
jae 0x140069803
mov ebx, 0x8007007a
jmp 0x140069637
mov r14d, esi
mov rdi, rax
add r14, rax
test ebp, ebp
je 0x14006992e
xor ecx, ecx
mov r8d, ebp
mov eax, 4
mov dword [rsp + 0x78], ecx
xor edx, edx
mov r15d, ebp
cmp ebp, eax
cmova r8d, eax
test r8, r8
je 0x140069873
lea r9, str.________________________________________________456789:_________
mov r10d, 0x100
jmp 0x14006984f
movzx eax, ax
cmp byte [rax + r9], 0x3f
jbe 0x14006985a
add r12, 2
movzx eax, word [r12]
cmp r10w, ax
ja 0x140069841
mov al, byte [r12]
inc edx
mov byte [rsp + rcx + 0x78], al
add r12, 2
mov ecx, edx
cmp rcx, r8
jb 0x14006984f
mov ecx, dword [rsp + 0x78]
cmp rdi, r14
jae 0x140069948
movzx eax, byte [rsp + 0x79]
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 0x1400698c9
cmp rdi, r14
jae 0x140069948
movzx eax, byte [rsp + 0x7a]
shl r8b, 4
mov cl, byte [rax + r9]
shr cl, 2
or cl, r8b
mov byte [rdi], cl
inc rdi
cmp edx, 3
jbe 0x1400698ed
cmp rdi, r14
jae 0x140069948
movzx eax, byte [rsp + 0x7a]
mov cl, byte [rax + r9]
movzx eax, byte [rsp + 0x7b]
shl cl, 6
or cl, byte [rax + r9]
mov byte [rdi], cl
inc rdi
mov esi, ebp
sub esi, edx
cmp esi, ebp
ja 0x1400698f9
mov ebp, esi
jmp 0x140069903
mov ecx, 0x80070216
call fcn.14007ab24
cmp r15d, esi
sbb ebx, ebx
and ebx, 0x80070216
mov ecx, ebx
call fcn.14007ab44
cmp esi, r15d
ja 0x140069637
xor r15d, r15d
test ebp, ebp
jne 0x140069814
mov rax, qword [rsp + 0x70]
sub rdi, rax
mov eax, edi
cmp rdi, rax
je 0x140069952
mov eax, 0x80070216
mov ebx, eax
mov ecx, eax
call fcn.14007ab24
jmp 0x140069981
mov ecx, 0x8000ffff
jmp 0x1400696ab
test rdi, rdi
jns 0x140069961
mov ecx, 0x80070216
call fcn.14007ab24
test rdi, rdi
mov ebx, 0x80070216
cmovns ebx, r15d
mov ecx, ebx
call fcn.14007ab44
test rdi, rdi
jns 0x14006997d
mov ecx, ebx
jmp 0x140069941
mov dword [r13], edi
mov ecx, ebx
call fcn.14007ab44
test ebx, ebx
jns 0x1400696b2
jmp 0x140069637