Function at 0x14002d490
Capabilities:
Encode data using base64

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