Function at 0x14002d650
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
test r8, r8
je 0x14002d867
inc rdx
mov eax, 4
mov r9d, 0xff
nop
movzx ebx, byte [rdx - 1]
mov r11d, ebx
shl r11d, 0x10
cmp r8, 2
jbe 0x14002d86e
movzx edi, byte [rdx]
shl edi, 8
movzx r10d, byte [rdx + 1]
mov esi, r10d
or esi, edi
or edi, r11d
mov r11d, ebx
shr r11b, 2
cmp r11b, 0x3e
mov r14d, 0
cmove r14, r9
and r14b, 4
xor r14b, 0x2f
lea ebp, [r11 - 4]
cmp bl, 0xf8
mov r15d, 0
cmovb r15, r9
xor bpl, r14b
and bpl, r15b
xor bpl, r14b
lea r14d, [r11 + 0x47]
cmp bl, 0xd0
mov r15d, 0
cmovb r15, r9
xor r14b, bpl
and r14b, r15b
xor r14b, bpl
add r11b, 0x41
cmp bl, 0x68
mov ebx, 0
cmovb rbx, r9
xor r11b, r14b
and r11b, bl
xor r11b, r14b
mov byte [rcx + rax - 4], r11b
shr edi, 0xc
and dil, 0x3f
cmp dil, 0x3e
mov r11d, 0
cmove r11, r9
mov ebx, 0
cmovb rbx, r9
and r11b, 4
xor r11b, 0x2f
lea ebp, [rdi - 4]
xor bpl, r11b
and bpl, bl
xor bpl, r11b
lea r11d, [rdi + 0x47]
cmp dil, 0x34
mov ebx, 0
cmovb rbx, r9
xor r11b, bpl
and r11b, bl
xor r11b, bpl
cmp dil, 0x1a
mov ebx, 0
cmovb rbx, r9
add edi, 0x41
xor dil, r11b
and dil, bl
xor dil, r11b
mov byte [rcx + rax - 3], dil
shr esi, 6
and sil, 0x3f
cmp sil, 0x3e
mov r11d, 0
cmove r11, r9
mov edi, 0
cmovb rdi, r9
and r11b, 4
xor r11b, 0x2f
lea ebx, [rsi - 4]
xor bl, r11b
and bl, dil
xor bl, r11b
lea r11d, [rsi + 0x47]
cmp sil, 0x34
mov edi, 0
cmovb rdi, r9
xor r11b, bl
and r11b, dil
xor r11b, bl
cmp sil, 0x1a
mov edi, 0
cmovb rdi, r9
add esi, 0x41
xor sil, r11b
and sil, dil
xor sil, r11b
mov byte [rcx + rax - 2], sil
and r10b, 0x3f
cmp r10b, 0x3e
mov r11d, 0
cmove r11, r9
mov esi, 0
cmovb rsi, r9
and r11b, 4
xor r11b, 0x2f
lea edi, [r10 - 4]
xor dil, r11b
and dil, sil
xor dil, r11b
lea r11d, [r10 + 0x47]
cmp r10b, 0x34
mov esi, 0
cmovb rsi, r9
xor r11b, dil
and r11b, sil
xor r11b, dil
lea esi, [r10 + 0x41]
cmp r10b, 0x1a
mov r10d, 0
cmovb r10, r9
xor sil, r11b
and sil, r10b
xor sil, r11b
mov byte [rcx + rax - 1], sil
add rax, 4
add rdx, 3
add r8, 0xfffffffffffffffd
jne 0x14002d670
add rcx, rax
add rcx, 0xfffffffffffffffc
add rax, 0xfffffffffffffffc
jmp 0x14002d9d7
xor eax, eax
jmp 0x14002d9d7
jne 0x14002d879
movzx edx, byte [rdx]
shl edx, 8
or r11d, edx
mov r10d, r11d
shr r10d, 0x12
xor r9d, r9d
cmp r10d, 0x3e
mov edx, 0xff
mov esi, 0
cmove rsi, rdx
and sil, 4
xor sil, 0x2f
lea edi, [r10 - 4]
cmp r10b, 0x3e
mov ebx, 0
cmovb rbx, rdx
xor dil, sil
and dil, bl
xor dil, sil
lea esi, [r10 + 0x47]
cmp r10b, 0x34
mov ebx, 0
cmovb rbx, rdx
xor sil, dil
and sil, bl
xor sil, dil
cmp r10b, 0x1a
mov edi, 0
cmovb rdi, rdx
lea ebx, [r10 + 0x41]
xor bl, sil
and bl, dil
xor bl, sil
mov r10d, r11d
shr r10d, 0xc
and r10b, 0x3f
cmp r10b, 0x3e
mov esi, 0
cmove rsi, rdx
mov byte [rcx + rax - 4], bl
mov edi, 0
cmovb rdi, rdx
and sil, 4
xor sil, 0x2f
lea ebx, [r10 - 4]
xor bl, sil
and bl, dil
xor bl, sil
cmp r10b, 0x34
mov esi, 0
cmovb rsi, rdx
lea edi, [r10 + 0x47]
xor dil, bl
and dil, sil
xor dil, bl
cmp r10b, 0x1a
cmovb r9, rdx
add r10d, 0x41
xor r10b, dil
and r10b, r9b
xor r10b, dil
mov byte [rcx + rax - 3], r10b
mov r10b, 0x3d
cmp r8, 1
je 0x14002d9ca
shr r11d, 6
and r11b, 0x3f
xor r8d, r8d
cmp r11b, 0x3e
mov r9d, 0
cmove r9, rdx
mov r10d, 0
cmovb r10, rdx
and r9b, 4
xor r9b, 0x2f
lea esi, [r11 - 4]
xor sil, r9b
and sil, r10b
xor sil, r9b
lea r9d, [r11 + 0x47]
cmp r11b, 0x34
mov r10d, 0
cmovb r10, rdx
xor r9b, sil
and r9b, r10b
xor r9b, sil
lea r10d, [r11 + 0x41]
cmp r11b, 0x1a
cmovb r8, rdx
xor r10b, r9b
and r10b, r8b
xor r10b, r9b
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 r14
pop r15
ret