Function at 0x140001320
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x170
xor ecx, ecx
call fcn.140026d30
lea rsi, [0x140048479]
mov r8d, 4
mov rbx, rax
lea rax, [rsp + 0x20]
mov r11d, 3
xor r10d, r10d
xor r9d, r9d
sub r8, rax
sub r11, rsi
lea rdi, [0x140000000]
nop word [rax + rax]
lea rax, [r8 + r9]
lea rcx, [rsp + rax + 0x20]
cmp rcx, 0x64
ja 0x1400014f2
movzx eax, byte [r10 + rdi + 0x48479]
movzx ecx, byte [r10 + rdi + 0x48478]
add r10, 3
shl ecx, 8
add r9, 4
or ecx, eax
movzx eax, byte [r10 + rdi + 0x48477]
shl ecx, 8
or ecx, eax
mov eax, ecx
mov edx, ecx
shr rax, 0x12
and edx, 0x3f
and eax, 0x3f
movzx eax, byte [rax + rdi + 0x3f2a0]
mov byte [rsp + r9 + 0x1c], al
mov eax, ecx
shr rax, 0xc
and eax, 0x3f
movzx eax, byte [rax + rdi + 0x3f2a0]
mov byte [rsp + r9 + 0x1d], al
mov eax, ecx
shr rax, 6
and eax, 0x3f
movzx eax, byte [rax + rdi + 0x3f2a0]
mov byte [rsp + r9 + 0x1e], al
movzx eax, byte [rdx + rdi + 0x3f2a0]
mov byte [rsp + r9 + 0x1f], al
lea rax, [r11 + r10]
add rax, rsi
cmp rax, 5
jbe 0x140001370
lea rax, [r10 + 2]
cmp rax, 5
ja 0x14000148d
lea r8, [r9 + 4]
cmp r8, 0x64
ja 0x14000148d
movzx eax, byte [r10 + rdi + 0x48478]
movzx ecx, byte [r10 + rdi + 0x48479]
mov byte [rsp + r9 + 0x23], 0x3d
shl eax, 8
or ecx, eax
shl ecx, 8
mov eax, ecx
mov edx, ecx
shr rax, 0x12
shr rdx, 6
and eax, 0x3f
movzx eax, byte [rax + rdi + 0x3f2a0]
mov byte [rsp + r9 + 0x20], al
mov eax, ecx
shr rax, 0xc
and eax, 0x3f
and edx, 0x3f
movzx eax, byte [rax + rdi + 0x3f2a0]
mov byte [rsp + r9 + 0x21], al
movzx eax, byte [rdx + rdi + 0x3f2a0]
mov byte [rsp + r9 + 0x22], al
jmp 0x1400014ef
lea rax, [r10 + 1]
cmp rax, 5
ja 0x1400014f2
lea r8, [r9 + 4]
cmp r8, 0x64
ja 0x1400014f2
movzx eax, byte [r10 + rdi + 0x48478]
movzx ecx, byte [r10 + rdi + 0x48479]
mov word [rsp + r9 + 0x22], 0x3d3d
shl eax, 8
or ecx, eax
shl ecx, 8
mov eax, ecx
mov edx, ecx
shr rax, 0x12
shr rdx, 0xc
and eax, 0x3f
and edx, 0x3f
movzx eax, byte [rax + rdi + 0x3f2a0]
mov byte [rsp + r9 + 0x20], al
movzx eax, byte [rdx + rdi + 0x3f2a0]
mov byte [rsp + r9 + 0x21], al
mov r9, r8
lea r8, [rsp + 0x20]
lea rcx, [rsp + 0x90]
mov edx, 0x64
call fcn.1400011a0
cmp rax, 5
je 0x140001559
lea rax, [rsp + 0x90]
mov edx, dword [rax]
cmp edx, dword [rdi + 0x48478]
jne 0x140001531
movzx edx, byte [rax + 4]
cmp dl, byte [rdi + 0x4847c]
jne 0x140001531
xor eax, eax
jmp 0x140001536
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x140001559
call fcn.1400269ec
lea rdx, str.base64:_selftest_failed_n
lea rcx, [rax + 0x60]
call fcn.140026c00
mov eax, 1
jmp 0x140001619
xor esi, esi
nop dword [rax + rax]
imul ebx, ebx, 0x343fd
mov eax, 0x51eb851f
add ebx, 0x269ec3
mov ecx, ebx
shr ecx, 0x10
and ecx, 0x7fff
mul ecx
shr edx, 4
imul edx, edx, 0x32
sub ecx, edx
xor edx, edx
mov edi, ecx
test ecx, ecx
je 0x1400015b3
lea rcx, [rsp + 0x20]
imul ebx, ebx, 0x343fd
inc edx
inc rcx
add ebx, 0x269ec3
mov eax, ebx
shr eax, 0x10
mov byte [rcx - 1], al
mov eax, edx
cmp rax, rdi
jb 0x140001593
lea r8, [rsp + 0x20]
lea rcx, [rsp + 0x90]
mov r9, rdi
mov edx, 0x64
call section..text
lea r8, [rsp + 0x90]
lea rcx, [rsp + 0x100]
mov r9, rax
mov edx, 0x64
call fcn.1400011a0
cmp rax, rdi
je 0x14000160c
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x100]
mov r8, rdi
call fcn.1400369a0
test eax, eax
jne 0x14000153a
inc esi
cmp esi, 0x64
jb 0x140001560
xor eax, eax
lea r11, [rsp + 0x170]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rsp, r11
pop rdi
ret