Function at 0x1401e09a0
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
cmp dword [r8], 0
jle 0x1401e09c1
xor eax, eax
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rax, [rcx + 0x16]
cmp byte [rcx + 0x16], 0
jle 0x1401e09f0
mov r9d, dword [rcx + 0x18]
mov r8d, dword [rcx + 0x1c]
add dword [rcx + 0x20], r9d
cmp byte [rcx + 0x17], 0
je 0x1401e09e1
add dword [rcx + 0x24], r8d
add dword [rcx + 0x28], r8d
mov r8d, dword [rcx + 0x10]
test r8d, r8d
jg 0x1401e0a0e
jmp 0x1401e0a1f
mov r8d, dword [rcx + 0x10]
je 0x1401e0a06
test r8d, r8d
jle 0x1401e0a06
inc dword [rcx + 8]
mov byte [rcx + 0x16], 1
mov al, 1
jmp 0x1401e09b4
mov byte [rax], 1
test r8d, r8d
jle 0x1401e0a1f
cmp r8d, 1
jne 0x1401e0ace
mov dword [rcx + 0x10], 0
movsxd rdi, dword [rcx + 8]
mov r8d, dword [rcx + 0xc]
cmp edi, r8d
jge 0x1401e0b4c
mov r9, qword [rcx]
lea r10, [rdi + 1]
mov dword [rcx + 8], r10d
movzx esi, word [r9 + rdi*2]
cmp esi, 0xfff
ja 0x1401e0b0e
mov byte [rcx + 0x17], 0
lea r11d, [rsi + 1]
mov dword [rcx + 0x18], r11d
cmp r10d, r8d
jge 0x1401e0adc
movzx esi, word [r9 + rdi*2 + 2]
mov bl, 1
cmp esi, 0xfff
ja 0x1401e0aef
movsxd rbx, r8d
lea r15, [r9 + r10*2]
add r15, 2
mov r12d, edi
mov r13d, 2
sub r13d, r8d
add r13, r12
xor r14d, r14d
nop
lea ebp, [r12 + r14]
add ebp, 2
mov dword [rcx + 8], ebp
add r11d, esi
inc r11d
mov dword [rcx + 0x18], r11d
mov ebp, r13d
add ebp, r14d
je 0x1401e0ae0
movzx esi, word [r15 + r14*2]
inc r14
cmp esi, 0xfff
jbe 0x1401e0a90
add r10, r14
cmp r10, rbx
setl bl
lea r10d, [rdi + r14]
inc r10d
jmp 0x1401e0aef
dec r8d
mov dword [rcx + 0x10], r8d
mov al, 1
jmp 0x1401e09b4
xor ebx, ebx
jmp 0x1401e0aef
add r10, r14
inc r10
cmp r10, rbx
setl bl
mov r10d, r8d
mov dword [rcx + 0x1c], r11d
test dl, dl
je 0x1401e0d6c
add dword [rcx + 0x20], r11d
add dword [rcx + 0x28], r11d
test bl, bl
je 0x1401e0b4c
inc r10d
mov dword [rcx + 8], r10d
mov byte [rcx + 0x17], 1
cmp esi, 0x6fff
ja 0x1401e0b5e
mov edx, esi
shr edx, 0xc
mov r11d, esi
shr r11d, 9
and r11d, 7
and esi, 0x1ff
lea edi, [rsi + 1]
cmp byte [rcx + 0x15], 0
je 0x1401e0b8a
imul edx, edi
mov dword [rcx + 0x18], edx
imul r11d, edi
mov dword [rcx + 0x1c], r11d
jmp 0x1401e0c41
mov word [rax + 8], 0
mov qword [rax], 0
jmp 0x1401e09b2
mov r11d, esi
shr r11d, 6
mov edx, r11d
and edx, 0x3f
cmp edx, 0x3d
jb 0x1401e0bd6
movsxd rax, r10d
jne 0x1401e0ba3
lea r10d, [rax + 1]
mov dword [rcx + 8], r10d
movzx edx, word [r9 + rax*2]
and edx, 0x7fff
jmp 0x1401e0bd6
mov dword [rcx + 0x18], edx
mov dword [rcx + 0x1c], r11d
mov al, 1
test esi, esi
je 0x1401e09b4
mov dword [rcx + 0x10], edi
jmp 0x1401e09b4
and r11d, 1
shl r11d, 0x1e
movzx r10d, word [r9 + rax*2]
and r10d, 0x7fff
shl r10d, 0xf
or r10d, r11d
movzx edx, word [r9 + rax*2 + 2]
and edx, 0x7fff
or edx, r10d
add eax, 2
mov dword [rcx + 8], eax
mov r10d, eax
mov dword [rcx + 0x18], edx
mov r11d, esi
and r11d, 0x3f
cmp r11d, 0x3d
jb 0x1401e0c33
movsxd rax, r10d
jne 0x1401e0c01
lea r10d, [rax + 1]
mov dword [rcx + 8], r10d
movzx r11d, word [r9 + rax*2]
and r11d, 0x7fff
jmp 0x1401e0c33
and esi, 1
shl esi, 0x1e
movzx r10d, word [r9 + rax*2]
and r10d, 0x7fff
shl r10d, 0xf
or r10d, esi
movzx r11d, word [r9 + rax*2 + 2]
and r11d, 0x7fff
or r11d, r10d
add eax, 2
mov dword [rcx + 8], eax
mov r10d, eax
mov dword [rcx + 0x1c], r11d
cmp byte [rcx + 0x15], 0
je 0x1401e0d6c
mov al, 1
cmp r10d, r8d
jl 0x1401e0c88
jmp 0x1401e09b4
mov r10d, esi
and r10d, 0x1ff
inc r10d
mov ebx, esi
shr ebx, 0xc
imul ebx, r10d
add edx, ebx
mov dword [rcx + 0x18], edx
shr esi, 9
and esi, 7
imul esi, r10d
mov r10d, esi
add r11d, r10d
mov dword [rcx + 0x1c], r11d
mov r10d, edi
cmp edi, r8d
jge 0x1401e09b4
movsxd rsi, r10d
movzx esi, word [r9 + rsi*2]
cmp esi, 0x1000
jb 0x1401e09b4
lea edi, [r10 + 1]
mov dword [rcx + 8], edi
cmp esi, 0x6fff
jbe 0x1401e0c4d
mov ebp, esi
shr ebp, 6
mov ebx, ebp
and ebx, 0x3f
cmp ebx, 0x3d
jb 0x1401e0d07
movsxd rdi, edi
jne 0x1401e0cd4
add r10d, 2
mov dword [rcx + 8], r10d
movzx ebx, word [r9 + rdi*2]
and ebx, 0x7fff
jmp 0x1401e0d04
and ebp, 1
shl ebp, 0x1e
movzx r14d, word [r9 + rdi*2]
and r14d, 0x7fff
shl r14d, 0xf
or r14d, ebp
movzx ebx, word [r9 + rdi*2 + 2]
and ebx, 0x7fff
or ebx, r14d
add r10d, 3
mov dword [rcx + 8], r10d
mov edi, r10d
add edx, ebx
mov dword [rcx + 0x18], edx
mov r10d, esi
and r10d, 0x3f
cmp r10d, 0x3d
jb 0x1401e0c75
movsxd rbx, edi
jne 0x1401e0d39
lea edi, [rbx + 1]
mov dword [rcx + 8], edi
movzx r10d, word [r9 + rbx*2]
and r10d, 0x7fff
jmp 0x1401e0c75
and esi, 1
shl esi, 0x1e
movzx edi, word [r9 + rbx*2]
and edi, 0x7fff
shl edi, 0xf
or edi, esi
movzx r10d, word [r9 + rbx*2 + 2]
and r10d, 0x7fff
or r10d, edi
add ebx, 2
mov dword [rcx + 8], ebx
mov edi, ebx
jmp 0x1401e0c75
mov al, 1
jmp 0x1401e09b4