Function at 0x140007ad0
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov rax, qword [0x1401f2100]
xor rax, rsp
mov qword [rsp + 0x38], rax
mov r14, rdx
mov r15, rcx
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x30], rdx
xor r12d, r12d
mov r13, qword [rdx + 0x18]
lea rcx, [r13 + 2]
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 1
shl rdx, 2
xor r8d, r8d
mov rcx, r15
call fcn.140010fd0
lea rbx, [r15 + 8]
cmp qword [r15 + 0x20], 0xf
jbe 0x140007b40
mov rbx, qword [rbx]
mov rbp, r12
lea rax, [r13 - 2]
lea rsi, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
test rax, rax
je 0x140007c28
mov r12d, 2
lea r15, [r13 - 2]
mov rdx, rbp
mov rcx, r14
call fcn.140010e70
movzx eax, byte [rax]
shr rax, 2
movzx eax, byte [rax + rsi]
mov byte [rbx], al
lea rdx, [r12 - 1]
mov rcx, r14
call fcn.140010e70
movzx edi, byte [rax]
mov rdx, rbp
mov rcx, r14
call fcn.140010e70
mov r8d, edi
shr r8, 4
movsx rcx, byte [rax]
and ecx, 3
shl rcx, 4
or r8, rcx
lea rdi, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
movzx eax, byte [r8 + rdi]
mov byte [rbx + 1], al
lea rdx, [r12 - 1]
mov rcx, r14
call fcn.140010e70
movzx edi, byte [rax]
mov rdx, r12
mov rcx, r14
call fcn.140010e70
and edi, 0xf
shl rdi, 2
movzx eax, byte [rax]
shr rax, 6
or rdi, rax
lea rsi, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
movzx eax, byte [rdi + rsi]
mov byte [rbx + 2], al
mov rdx, r12
mov rcx, r14
call fcn.140010e70
movsx rax, byte [rax]
and eax, 0x3f
movzx eax, byte [rax + rsi]
mov byte [rbx + 3], al
add rbx, 4
add rbp, 3
add r12, 3
cmp rbp, r15
jb 0x140007b61
mov r15, qword [rsp + 0x28]
xor r12d, r12d
cmp rbp, r13
jae 0x140007cc7
mov rdx, rbp
mov rcx, r14
call fcn.140010e70
movzx eax, byte [rax]
shr rax, 2
movzx eax, byte [rax + rsi]
mov byte [rbx], al
lea rax, [r13 - 1]
mov rcx, r14
cmp rbp, rax
jne 0x140007c72
mov rdx, rbp
call fcn.140010e70
movsx rax, byte [rax]
and eax, 3
add rax, rax
movzx eax, byte [rsi + rax*8]
mov byte [rbx + 1], al
mov al, 0x3d
jmp 0x140007cc0
lea rdx, [rbp + 1]
call fcn.140010e70
movzx edi, byte [rax]
mov rdx, rbp
mov rcx, r14
call fcn.140010e70
movsx rcx, byte [rax]
and ecx, 3
shl rcx, 4
shr rdi, 4
or rcx, rdi
lea rdi, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
movzx eax, byte [rcx + rdi]
mov byte [rbx + 1], al
lea rdx, [rbp + 1]
mov rcx, r14
call fcn.140010e70
movsx rcx, byte [rax]
and ecx, 0xf
movzx eax, byte [rdi + rcx*4]
mov byte [rbx + 2], al
mov byte [rbx + 3], 0x3d
mov rcx, r14
call fcn.140001d30
mov r8, qword [r14 + 0x20]
cmp r8, 0xf
jbe 0x140007ce8
inc r8
mov rdx, qword [r14 + 8]
mov rcx, r14
call fcn.140004010
mov qword [r14 + 0x18], r12
mov qword [r14 + 0x20], 0xf
mov byte [r14 + 8], 0
mov rcx, qword [r14]
mov qword [r14], r12
mov edx, 0x10
call fcn.1400a77c0
mov rax, r15
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.1400a7220
mov rbx, qword [rsp + 0x90]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret