Function at 0x140104250
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
mov rbx, r9
mov dword [rsp + 0x2c], r8d
mov rbp, rdx
mov r13, rcx
cmp byte [r9 + 0x28], 0
jne 0x140104293
mov rcx, qword [rbx + 0x10]
mov rsi, qword [rbx + 0x20]
cmp rcx, qword [rbx + 0x18]
je 0x1401043e9
mov rax, qword [rbx + 8]
mov qword [rax + rcx*8], rsi
inc qword [rbx + 0x10]
mov rcx, rbx
call fcn.14003e7a0
xor esi, esi
test rax, rax
je 0x140104447
mov r12, rax
cmp rbp, r13
je 0x1401042f1
movsxd rdx, dword [rbp + 8]
mov rcx, r13
call fcn.14003e020
test eax, eax
je 0x140104447
movsxd r8, dword [rbp + 8]
test r8, r8
je 0x140104517
shl r8, 3
mov rcx, qword [r13]
mov rdx, qword [rbp]
call fcn.14009f630
mov eax, dword [rbp + 8]
mov dword [r13 + 8], eax
mov eax, dword [rbp + 0x10]
mov dword [r13 + 0x10], eax
mov rbp, r13
test rbp, rbp
je 0x140104447
movsxd rdx, dword [r13 + 8]
mov rcx, r12
call fcn.14003e020
test eax, eax
je 0x140104447
mov eax, dword [r13 + 8]
test eax, eax
je 0x140104479
mov qword [rsp + 0x40], rbx
mov ecx, eax
shl ecx, 6
mov dword [rsp + 0x28], ecx
xor r15d, r15d
mov ecx, dword [rsp + 0x2c]
mov r14d, ecx
mov ecx, r15d
shr r14d, cl
mov edx, 1
shl edx, cl
movsxd rsi, eax
mov rdi, qword [r12]
mov ebx, edx
shr ebx, 6
cmp rsi, rbx
jbe 0x140104480
mov rax, qword [r13]
cmp r15d, 5
jbe 0x140104499
mov r8, rsi
sub r8, rbx
je 0x14010437a
shl r8, 3
lea rdx, [rax + rbx*8]
mov rcx, rdi
call fcn.14009f630
test ebx, ebx
je 0x140104393
shl rbx, 3
lea rcx, [rdi + rsi*8]
sub rcx, rbx
xor edx, edx
mov r8, rbx
call fcn.14009fa40
movsxd rax, dword [r13 + 8]
test rax, rax
je 0x1401043d0
and r14d, 1
mov rcx, r14
neg rcx
mov rdx, qword [r13]
mov rbx, qword [r12]
dec r14
xor edi, edi
mov rsi, qword [rbx + rdi*8]
and rsi, rcx
mov rbp, qword [rdx + rdi*8]
and rbp, r14
or rbp, rsi
mov qword [rdx + rdi*8], rbp
inc rdi
cmp rdi, rax
jb 0x1401043b3
inc r15d
mov eax, dword [rsp + 0x28]
mov ecx, r15d
shr eax, cl
test eax, eax
je 0x14010443d
mov eax, dword [r13 + 8]
jmp 0x14010432b
lea rax, [rcx + rcx*2]
shr rax, 1
test rcx, rcx
mov edi, 0x20
cmovne rdi, rax
cmp rdi, rcx
jbe 0x14010450c
mov rax, rdi
shr rax, 0x3d
jne 0x14010450c
lea rdx, [rdi*8]
mov rcx, qword [rbx + 8]
call fcn.140043310
test rax, rax
je 0x14010450c
mov qword [rbx + 8], rax
mov qword [rbx + 0x18], rdi
mov rcx, qword [rbx + 0x10]
jmp 0x14010428b
mov esi, 1
mov rbx, qword [rsp + 0x40]
cmp byte [rbx + 0x28], 0
jne 0x140104466
mov rax, qword [rbx + 8]
mov rcx, qword [rbx + 0x10]
lea rdx, [rcx - 1]
mov qword [rbx + 0x10], rdx
mov rax, qword [rax + rcx*8 - 8]
mov qword [rbx + 0x20], rax
mov eax, esi
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov esi, 1
jmp 0x140104447
test eax, eax
je 0x140104393
shl rsi, 3
mov rcx, rdi
xor edx, edx
mov r8, rsi
jmp 0x14010438e
and edx, 0x3f
lea rbp, [rsi - 1]
mov ecx, edx
mov qword [rsp + 0x30], rcx
sub rbp, rbx
mov qword [rsp + 0x38], rbp
jbe 0x1401044f1
mov ebp, 0x40
sub ebp, edx
mov r11, rbx
not r11
add r11, rsi
lea rdx, [rax + rbx*8]
add rdx, 8
xor r9d, r9d
mov r8, qword [rdx + r9*8 - 8]
mov rcx, qword [rsp + 0x30]
shr r8, cl
mov r10, qword [rdx + r9*8]
mov ecx, ebp
shl r10, cl
or r10, r8
mov qword [rdi + r9*8], r10
inc r9
cmp r11, r9
jne 0x1401044cc
mov rax, qword [rax + rsi*8 - 8]
mov rcx, qword [rsp + 0x30]
shr rax, cl
mov rcx, qword [rsp + 0x38]
mov qword [rdi + rcx*8], rax
jmp 0x14010437a
mov word [rbx + 0x28], 0x101
jmp 0x140104293
xor eax, eax
jmp 0x1401042e3