Function at 0x14002d390
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
test r8, r8
je 0x14002d644
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 0x14002d64b
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 rbx, 0x3e
mov r15d, 0
cmove r15, r10
mov r14, r15
and r14d, 0x2b
not r15
and r15d, 0x2f
or r15d, r14d
lea ebp, [rbx - 4]
cmp dil, 0xf8
mov r14d, 0
cmovb r14, r10
mov r12, r14
movzx ebp, bpl
and ebp, r12d
not r14
and r14d, r15d
or r14d, ebp
mov ebp, ebx
add ebp, 0x47
cmp dil, 0xd0
mov r15d, 0
cmovb r15, r10
add ebx, 0x41
mov r12, r15
and r12d, ebp
not r15
and r15d, r14d
or r15d, r12d
cmp dil, 0x68
mov edi, 0
cmovb rdi, r10
mov r14, rdi
movzx ebx, bl
and ebx, r14d
not rdi
and edi, r15d
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
lea edi, [r9 + 0x41]
cmp r9b, 0x1a
mov r9d, 0
cmovb r9, r10
mov r14, r9
movzx edi, dil
and r14d, edi
not r9
and r9d, ebx
or r9d, r14d
mov byte [rcx + rax - 3], r9b
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
lea r9d, [rsi + 0x41]
cmp sil, 0x1a
mov esi, 0
cmovb rsi, r10
mov rbx, rsi
movzx r9d, r9b
and ebx, r9d
not rsi
and esi, edi
or esi, ebx
mov byte [rcx + rax - 2], sil
and r11d, 0x3f
cmp r11, 0x3e
mov r9d, 0
cmove r9, r10
mov rsi, r9
and esi, 0x2b
not r9
and r9d, 0x2f
or r9d, esi
lea edi, [r11 - 4]
cmp r11b, 0x3e
mov esi, 0
cmovb rsi, r10
mov rbx, rsi
movzx edi, dil
and edi, ebx
not rsi
and esi, r9d
or esi, edi
mov edi, r11d
add edi, 0x47
cmp r11b, 0x34
mov r9d, 0
cmovb r9, r10
mov rbx, r9
and ebx, edi
not r9
and r9d, esi
or r9d, ebx
lea esi, [r11 + 0x41]
cmp r11b, 0x1a
mov r11d, 0
cmovb r11, r10
mov rdi, r11
movzx esi, sil
and esi, edi
not r11
and r11d, r9d
or r11d, esi
mov byte [rcx + rax - 1], r11b
add rax, 4
add rdx, 3
add r8, 0xfffffffffffffffd
jne 0x14002d3c0
add rcx, rax
add rcx, 0xfffffffffffffffc
add rax, 0xfffffffffffffffc
jmp 0x14002d81b
xor eax, eax
jmp 0x14002d81b
jne 0x14002d659
movzx edx, byte [rdx]
shl edx, 8
or edx, r9d
mov r9d, edx
mov r11d, r9d
shr r11d, 0x12
xor r10d, r10d
cmp r11d, 0x3e
mov edx, 0xff
mov edi, 0
cmove rdi, rdx
mov rsi, rdi
and esi, 0x2b
not rdi
and edi, 0x2f
or edi, esi
lea ebx, [r11 - 4]
cmp r11b, 0x3e
mov esi, 0
cmovb rsi, rdx
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 0x14002d80e
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