Function at 0x140069f48
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], 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 rcx, rcx
je 0x14006a2ae
test r9, r9
je 0x14006a2ae
or rdi, 0xffffffffffffffff
inc rdi
cmp word [rcx + rdi*2], r13w
jne 0x140069f88
mov eax, edi
mov ecx, 0x80070216
cmp rdi, rax
je 0x140069fab
mov ebx, ecx
call fcn.14007ac40
mov edi, dword [rsp + 0x50]
jmp 0x140069fb5
xor ecx, ecx
call fcn.14007ace8
mov ebx, r13d
mov ecx, ebx
call fcn.14007ace8
test ebx, ebx
jns 0x140069fc7
mov ecx, ebx
jmp 0x14006a2b5
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 0x14006a034
cmp word [rdi], ax
jae 0x14006a2ae
movzx eax, word [rdi]
cmp byte [rax + rcx], 0x3f
jbe 0x14006a064
cmp word [rdi], 0x20
ja 0x14006a012
movzx eax, word [rdi]
movabs rcx, 0x100002600
bt rcx, rax
jb 0x14006a08f
test ebp, ebp
je 0x14006a2ae
mov eax, ebp
and eax, 3
je 0x14006a034
cmp word [rdi], 0x3d
jne 0x14006a2ae
cmp eax, 1
je 0x14006a2ae
mov ecx, ebp
mov ebx, r13d
shr ecx, 2
mov edi, 0x80070216
test ecx, ecx
je 0x14006a0a9
lea esi, [rcx + rcx*2]
mov eax, 0xaaaaaaab
mul esi
shr edx, 1
cmp edx, ecx
je 0x14006a0ac
mov ecx, edi
mov ebx, edi
call fcn.14007ac40
mov esi, dword [rsp + 0x50]
jmp 0x14006a0ac
lea eax, [rbp + 1]
cmp eax, ebp
jb 0x14006a072
mov ebp, eax
mov ebx, r13d
jmp 0x14006a080
mov eax, 0x80070216
mov ecx, eax
mov ebx, eax
call fcn.14007ac40
mov ecx, ebx
call fcn.14007ace8
test ebx, ebx
js 0x140069fc0
add rdi, 2
cmp rdi, rsi
jae 0x14006a034
lea rcx, str.________________________________________________456789:_________
mov eax, 0x100
jmp 0x140069fe7
mov esi, r13d
mov ecx, ebx
call fcn.14007ace8
test ebx, ebx
js 0x140069fc0
mov eax, ebp
and eax, 3
sub eax, 1
je 0x14006a2ae
sub eax, 1
je 0x14006a0f9
cmp eax, 1
jne 0x14006a11f
lea eax, [rsi + 1]
cmp eax, esi
jb 0x14006a0e1
mov esi, eax
mov ebx, r13d
jmp 0x14006a0ea
mov ecx, edi
mov ebx, edi
call fcn.14007ac40
mov ecx, ebx
call fcn.14007ace8
test ebx, ebx
js 0x140069fc0
lea eax, [rsi + 1]
cmp eax, esi
jb 0x14006a107
mov esi, eax
mov ebx, r13d
jmp 0x14006a110
mov ecx, edi
mov ebx, edi
call fcn.14007ac40
mov ecx, ebx
call fcn.14007ace8
test ebx, ebx
js 0x140069fc0
test r12, r12
jne 0x14006a12f
mov dword [r15], esi
mov ebx, r13d
jmp 0x14006a2ba
cmp dword [r15], esi
jae 0x14006a13e
mov ebx, 0x8007007a
jmp 0x140069fc0
mov rdi, r12
add rsi, r12
test ebp, ebp
je 0x14006a25c
mov edx, 4
mov ecx, ebp
cmp ebp, edx
mov eax, r13d
mov dword [rsp + 0x50], eax
mov r8d, r13d
cmova ecx, edx
test rcx, rcx
je 0x14006a1ab
mov rdx, r13
lea r9, str.________________________________________________456789:_________
mov r10d, 0x100
jmp 0x14006a187
movzx eax, ax
cmp byte [rax + r9], 0x3f
jbe 0x14006a191
add r14, 2
movzx eax, word [r14]
cmp r10w, ax
ja 0x14006a179
mov al, byte [r14]
inc r8d
mov byte [rsp + rdx + 0x50], al
add r14, 2
mov edx, r8d
cmp rdx, rcx
jb 0x14006a187
mov eax, dword [rsp + 0x50]
cmp rdi, rsi
jae 0x14006a255
movzx ecx, byte [rsp + 0x51]
lea r10, str.________________________________________________456789:_________
mov r9b, byte [rcx + r10]
movzx ecx, al
mov al, r9b
shr al, 4
mov dl, byte [rcx + r10]
shl dl, 2
or dl, al
mov byte [rdi], dl
inc rdi
cmp r8d, 2
jbe 0x14006a1fe
cmp rdi, rsi
jae 0x14006a255
movzx eax, byte [rsp + 0x52]
shl r9b, 4
mov cl, byte [rax + r10]
shr cl, 2
or cl, r9b
mov byte [rdi], cl
inc rdi
cmp r8d, 3
jbe 0x14006a223
cmp rdi, rsi
jae 0x14006a255
movzx eax, byte [rsp + 0x52]
mov cl, byte [rax + r10]
movzx eax, byte [rsp + 0x53]
shl cl, 6
or cl, byte [rax + r10]
mov byte [rdi], cl
inc rdi
mov eax, ebp
sub eax, r8d
cmp eax, ebp
ja 0x14006a233
mov ebp, eax
mov ebx, r13d
jmp 0x14006a241
mov eax, 0x80070216
mov ecx, eax
mov ebx, eax
call fcn.14007ac40
mov ecx, ebx
call fcn.14007ace8
test ebx, ebx
js 0x140069fc0
jmp 0x14006a144
mov ecx, 0x8000ffff
jmp 0x14006a2b3
sub rdi, r12
mov eax, edi
cmp rdi, rax
je 0x14006a276
mov eax, 0x80070216
mov ebx, eax
mov ecx, eax
call fcn.14007ac40
jmp 0x14006a29e
mov ebx, r13d
test rdi, rdi
jns 0x14006a28c
mov eax, 0x80070216
mov ecx, eax
mov ebx, eax
call fcn.14007ac40
mov ecx, ebx
call fcn.14007ace8
test ebx, ebx
jns 0x14006a29b
mov ecx, ebx
jmp 0x14006a26f
mov dword [r15], edi
mov ecx, ebx
call fcn.14007ace8
test ebx, ebx
jns 0x14006a2ba
jmp 0x140069fc0
mov ecx, 0x80070057
mov ebx, ecx
call fcn.14007ac40
mov ecx, ebx
call fcn.14007ace8
mov rbp, qword [rsp + 0x60]
mov eax, ebx
mov rbx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x68]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
ret