Function at 0x140001520
Capabilities:
Encode data using base64

Disassembly:
push rbp
sub rsp, 0x90
lea rbp, [rsp + 0x80]
mov qword [rbp + 8], 0xfffffffffffffffe
mov qword [rbp - 0x50], rcx
mov rax, rcx
mov qword [rbp - 0x48], rax
mov qword [rbp], rcx
mov dword [rbp - 4], r8d
mov qword [rbp - 0x10], rdx
mov qword [rbp - 0x18], 0
mov eax, dword [rbp - 4]
mov qword [rbp - 0x20], rax
mov rax, qword [rbp - 0x20]
mov ecx, 3
xor edx, edx
div rcx
cmp rdx, 0
je 0x140001593
mov rax, qword [rbp - 0x20]
add rax, 1
mov qword [rbp - 0x20], rax
mov rax, qword [rbp - 0x18]
add rax, 1
mov qword [rbp - 0x18], rax
jmp 0x14000155e
mov rcx, qword [rbp - 0x50]
mov rax, qword [rbp - 0x20]
shl rax, 2
movabs rdx, 0xaaaaaaaaaaaaaaab
mul rdx
shr rdx, 1
mov qword [rbp - 0x20], rdx
mov byte [rbp - 0x21], 0
call fcn.140004b80
mov rcx, qword [rbp - 0x50]
mov rdx, qword [rbp - 0x20]
call fcn.1400074c0
jmp 0x1400015ce
mov dword [rbp - 0x28], 0
mov eax, dword [rbp - 0x28]
mov rcx, qword [rbp - 0x20]
shr rcx, 2
cmp rax, rcx
jae 0x14000175a
imul eax, dword [rbp - 0x28], 3
mov eax, eax
mov qword [rbp - 0x30], rax
mov rax, qword [rbp - 0x30]
mov ecx, dword [rbp - 4]
cmp rax, rcx
jae 0x140001617
mov rax, qword [rbp - 0x10]
mov rcx, qword [rbp - 0x30]
movzx eax, byte [rax + rcx]
mov dword [rbp - 0x54], eax
jmp 0x140001621
xor eax, eax
mov dword [rbp - 0x54], eax
jmp 0x140001621
mov eax, dword [rbp - 0x54]
mov byte [rbp - 0x33], al
mov rax, qword [rbp - 0x30]
add rax, 1
mov ecx, dword [rbp - 4]
cmp rax, rcx
jae 0x140001650
mov rax, qword [rbp - 0x10]
mov rcx, qword [rbp - 0x30]
movzx eax, byte [rax + rcx + 1]
mov dword [rbp - 0x58], eax
jmp 0x14000165a
xor eax, eax
mov dword [rbp - 0x58], eax
jmp 0x14000165a
mov eax, dword [rbp - 0x58]
mov byte [rbp - 0x32], al
mov rax, qword [rbp - 0x30]
add rax, 2
mov ecx, dword [rbp - 4]
cmp rax, rcx
jae 0x140001689
mov rax, qword [rbp - 0x10]
mov rcx, qword [rbp - 0x30]
movzx eax, byte [rax + rcx + 2]
mov dword [rbp - 0x5c], eax
jmp 0x140001693
xor eax, eax
mov dword [rbp - 0x5c], eax
jmp 0x140001693
mov rcx, qword [rbp - 0x50]
mov eax, dword [rbp - 0x5c]
mov byte [rbp - 0x31], al
movzx eax, byte [rbp - 0x33]
shr eax, 2
mov byte [rbp - 0x37], al
movzx eax, byte [rbp - 0x33]
and eax, 3
shl eax, 4
movzx edx, byte [rbp - 0x32]
shr edx, 4
or eax, edx
mov byte [rbp - 0x36], al
movzx eax, byte [rbp - 0x32]
and eax, 0xf
movzx r8d, byte [rbp - 0x31]
shr r8d, 6
mov edx, eax
mov eax, r8d
lea eax, [rax + rdx*4]
mov byte [rbp - 0x35], al
mov al, byte [rbp - 0x31]
and al, 0x3f
mov byte [rbp - 0x34], al
movzx eax, byte [rbp - 0x37]
lea rdx, [0x14005b830]
mov dl, byte [rax + rdx]
call fcn.140007590
jmp 0x1400016f8
mov rcx, qword [rbp - 0x50]
movzx eax, byte [rbp - 0x36]
lea rdx, [0x14005b830]
mov dl, byte [rax + rdx]
call fcn.140007590
jmp 0x140001714
mov rcx, qword [rbp - 0x50]
movzx eax, byte [rbp - 0x35]
lea rdx, [0x14005b830]
mov dl, byte [rax + rdx]
call fcn.140007590
jmp 0x140001730
mov rcx, qword [rbp - 0x50]
movzx eax, byte [rbp - 0x34]
lea rdx, [0x14005b830]
mov dl, byte [rax + rdx]
call fcn.140007590
jmp 0x14000174c
mov eax, dword [rbp - 0x28]
add eax, 1
mov dword [rbp - 0x28], eax
jmp 0x1400015d5
mov qword [rbp - 0x40], 0
mov rax, qword [rbp - 0x40]
cmp rax, qword [rbp - 0x18]
jae 0x140001799
mov rcx, qword [rbp - 0x50]
mov rdx, qword [rbp - 0x20]
sub rdx, qword [rbp - 0x40]
sub rdx, 1
call fcn.140004f30
mov byte [rax], 0x3d
mov rax, qword [rbp - 0x40]
add rax, 1
mov qword [rbp - 0x40], rax
jmp 0x140001762
mov byte [rbp - 0x21], 1
test byte [rbp - 0x21], 1
jne 0x1400017b0
mov rcx, qword [rbp - 0x50]
call fcn.140004f90
mov rax, qword [rbp - 0x48]
add rsp, 0x90
pop rbp
ret