Function at 0x140139450
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
test r8, r8
je 0x1401396fc
inc rdx
mov eax, 4
mov r10d, 0xff
nop word cs:[rax + rax]
movzx edi, byte [rdx - 1]
mov r9d, edi
shl r9d, 0x10
cmp r8, 2
jbe 0x140139703
movzx esi, byte [rdx]
shl esi, 8
or r9d, esi
movzx r11d, byte [rdx + 1]
or esi, r11d
mov rbx, rdi
shr rbx, 2
cmp bl, 0x3e
mov r14d, 0
cmove r14, r10
mov r15, r14
and r15d, 0x2b
not r14
and r14d, 0x2f
or r14d, r15d
lea ebp, [rbx - 4]
cmp dil, 0xf8
mov r15d, 0
cmovb r15, r10
mov r12, r15
movzx ebp, bpl
and ebp, r12d
not r15
and r15d, r14d
or r15d, ebp
mov ebp, ebx
add ebp, 0x47
cmp dil, 0xd0
mov r14d, 0
cmovb r14, r10
mov r12, r14
and r12d, ebp
not r14
and r14d, r15d
or r14d, r12d
cmp dil, 0x68
mov edi, 0
cmovb rdi, r10
add ebx, 0x41
mov r15, rdi
movzx ebx, bl
and ebx, r15d
not rdi
and edi, r14d
or edi, ebx
mov byte [rcx + rax - 4], dil
shr r9d, 0xc
and r9b, 0x3f
cmp r9b, 0x3e
mov ebx, 0
cmove rbx, r10
mov edi, 0
cmovb rdi, r10
mov r14, rbx
not rbx
and r14d, 0x2b
and ebx, 0x2f
or ebx, r14d
lea ebp, [r9 - 4]
mov r14, rdi
movzx ebp, bpl
and r14d, ebp
not rdi
and edi, ebx
or edi, r14d
lea ebp, [r9 + 0x47]
cmp r9b, 0x34
mov ebx, 0
cmovb rbx, r10
mov r14, rbx
movzx ebp, bpl
and r14d, ebp
not rbx
and ebx, edi
or ebx, r14d
cmp r9b, 0x1a
mov edi, 0
cmovb rdi, r10
add r9d, 0x41
mov r14, rdi
movzx r9d, r9b
and r14d, r9d
not rdi
and edi, ebx
or edi, r14d
mov byte [rcx + rax - 3], dil
shr esi, 6
and sil, 0x3f
cmp sil, 0x3e
mov edi, 0
cmove rdi, r10
mov r9d, 0
cmovb r9, r10
mov rbx, rdi
not rdi
and ebx, 0x2b
and edi, 0x2f
or edi, ebx
lea ebx, [rsi - 4]
mov r14, r9
movzx ebx, bl
and r14d, ebx
not r9
and r9d, edi
or r9d, r14d
lea ebx, [rsi + 0x47]
cmp sil, 0x34
mov edi, 0
cmovb rdi, r10
mov r14, rdi
movzx ebx, bl
and r14d, ebx
not rdi
and edi, r9d
or edi, r14d
cmp sil, 0x1a
mov r9d, 0
cmovb r9, r10
add esi, 0x41
mov rbx, r9
movzx esi, sil
and ebx, esi
not r9
and r9d, edi
or r9d, ebx
mov byte [rcx + rax - 2], r9b
and r11d, 0x3f
cmp r11b, 0x3e
mov esi, 0
cmove rsi, r10
mov r9d, 0
cmovb r9, r10
mov rdi, rsi
not rsi
and edi, 0x2b
and esi, 0x2f
or esi, edi
lea edi, [r11 - 4]
mov rbx, r9
movzx edi, dil
and edi, ebx
not r9
and r9d, esi
or r9d, edi
mov edi, r11d
add edi, 0x47
cmp r11b, 0x34
mov esi, 0
cmovb rsi, r10
mov rbx, rsi
and ebx, edi
not rsi
and esi, r9d
or esi, ebx
lea r9d, [r11 + 0x41]
cmp r11b, 0x1a
mov r11d, 0
cmovb r11, r10
mov rdi, r11
movzx r9d, r9b
and r9d, edi
not r11
and r11d, esi
or r11d, r9d
mov byte [rcx + rax - 1], r11b
add rax, 4
add rdx, 3
add r8, 0xfffffffffffffffd
jne 0x140139480
add rcx, rax
add rcx, 0xfffffffffffffffc
add rax, 0xfffffffffffffffc
jmp 0x1401398cf
xor eax, eax
jmp 0x1401398cf
jne 0x140139711
movzx edx, byte [rdx]
shl edx, 8
or edx, r9d
mov r9d, edx
mov r11d, r9d
shr r11d, 0x12
xor r10d, r10d
cmp r11b, 0x3e
mov edx, 0xff
mov edi, 0
cmove rdi, rdx
mov esi, 0
cmovb rsi, rdx
mov rbx, rdi
not rdi
and ebx, 0x2b
and edi, 0x2f
or edi, ebx
lea ebx, [r11 - 4]
mov r14, rsi
movzx ebx, bl
and ebx, r14d
not rsi
and esi, edi
or esi, ebx
lea ebx, [r11 + 0x47]
cmp r11b, 0x34
mov edi, 0
cmovb rdi, rdx
mov r14, rdi
movzx ebx, bl
and ebx, r14d
not rdi
and edi, esi
or edi, ebx
cmp r11b, 0x1a
mov esi, 0
cmovb rsi, rdx
add r11d, 0x41
mov rbx, rsi
movzx r11d, r11b
and r11d, ebx
not rsi
and esi, edi
or esi, r11d
mov r11d, r9d
shr r11d, 0xc
and r11b, 0x3f
cmp r11b, 0x3e
mov edi, 0
cmove rdi, rdx
mov byte [rcx + rax - 4], sil
mov esi, 0
cmovb rsi, rdx
mov rbx, rdi
not rdi
and ebx, 0x2b
and edi, 0x2f
or edi, ebx
lea ebx, [r11 - 4]
mov r14, rsi
movzx ebx, bl
and ebx, r14d
not rsi
and esi, edi
or esi, ebx
cmp r11b, 0x34
mov edi, 0
cmovb rdi, rdx
lea ebx, [r11 + 0x47]
mov r14, rdi
movzx ebx, bl
and ebx, r14d
not rdi
and edi, esi
or edi, ebx
cmp r11b, 0x1a
cmovb r10, rdx
add r11d, 0x41
mov rsi, r10
movzx r11d, r11b
and r11d, esi
not r10
and r10d, edi
or r10d, r11d
mov byte [rcx + rax - 3], r10b
mov r10b, 0x3d
cmp r8, 1
je 0x1401398c2
shr r9d, 6
and r9b, 0x3f
xor r10d, r10d
cmp r9b, 0x3e
mov r11d, 0
cmove r11, rdx
mov r8d, 0
cmovb r8, rdx
mov rsi, r11
not r11
and esi, 0x2b
and r11d, 0x2f
or r11d, esi
lea esi, [r9 - 4]
mov rdi, r8
movzx esi, sil
and esi, edi
not r8
and r8d, r11d
or r8d, esi
lea esi, [r9 + 0x47]
cmp r9b, 0x34
mov r11d, 0
cmovb r11, rdx
mov rdi, r11
movzx esi, sil
and esi, edi
not r11
and r11d, r8d
or r11d, esi
lea r8d, [r9 + 0x41]
cmp r9b, 0x1a
cmovb r10, rdx
mov rdx, r10
movzx r8d, r8b
and r8d, edx
not r10
and r10d, r11d
or r10d, r8d
mov byte [rcx + rax - 2], r10b
mov byte [rcx + rax - 1], 0x3d
add rcx, rax
mov byte [rcx], 0
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret