// File: /workspace/github_c_makefile_star2_O0/svpv[P]rpmset/./base64unpack-simd.h
// Function: unpack20x4c14e4
static inline bool unpack20x4c14e4(const char *s, uint32_t *v, unsigned *e)
{
    V32x4 x;
    if (!unpack6(s - 2, &x)) return false;
    *e = VEXTR16(x, 1) & Mask(4);
    x = glue24(glue12(x));
    x = VSHUF8(x, V8x16_C(
	    -1, 2,  4,  5, -1,  5,  6,  8,
	    -1, 9, 10, 12, -1, 12, 13, 14));
#if VSHLV32_COST >= 2
    x = VBLEND16(x, VSHL32(x, 4), 0x33);
#else
    x = VSHLV32(x, 4, 0, 4, 0);
#endif
    VSTORE(v, VSHR32(x, 12));
    return true;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x178, %rsp            # imm = 0x178
movq %rdi, 0x30(%rsp)
movq %rsi, 0x28(%rsp)
movq %rdx, 0x20(%rsp)
movq 0x30(%rsp), %rdi
addq $-0x2, %rdi
leaq 0x10(%rsp), %rsi
callq 0x1bbd0
testb $0x1, %al
jne 0xf3f1
movb $0x0, 0x3f(%rsp)
jmp 0xf874
vmovdqa 0x10(%rsp), %xmm0
vpextrw $0x1, %xmm0, %ecx
andl $0xf, %ecx
movq 0x20(%rsp), %rax
movl %ecx, (%rax)
vmovdqa 0x10(%rsp), %xmm1
movl $0x40014001, 0x8c(%rsp) # imm = 0x40014001
movl 0x8c(%rsp), %eax
movl %eax, 0x12c(%rsp)
movl %eax, 0x128(%rsp)
movl %eax, 0x124(%rsp)
movl %eax, 0x120(%rsp)
movl 0x124(%rsp), %edx
movl 0x128(%rsp), %ecx
movl 0x12c(%rsp), %eax
vmovd 0x120(%rsp), %xmm0
vpinsrd $0x1, %edx, %xmm0, %xmm0
vpinsrd $0x2, %ecx, %xmm0, %xmm0
vpinsrd $0x3, %eax, %xmm0, %xmm0
vmovdqa %xmm0, 0x110(%rsp)
vmovdqa 0x110(%rsp), %xmm0
vmovdqa %xmm1, 0x70(%rsp)
vmovdqa %xmm0, 0x60(%rsp)
vmovdqa 0x70(%rsp), %xmm0
vmovdqa 0x60(%rsp), %xmm1
vpmaddubsw %xmm1, %xmm0, %xmm1
movl $0x10000001, 0x88(%rsp) # imm = 0x10000001
movl 0x88(%rsp), %eax
movl %eax, 0x158(%rsp)
movl %eax, 0x154(%rsp)
movl %eax, 0x150(%rsp)
movl %eax, 0x14c(%rsp)
movl 0x150(%rsp), %edx
movl 0x154(%rsp), %ecx
movl 0x158(%rsp), %eax
vmovd 0x14c(%rsp), %xmm0
vpinsrd $0x1, %edx, %xmm0, %xmm0
vpinsrd $0x2, %ecx, %xmm0, %xmm0
vpinsrd $0x3, %eax, %xmm0, %xmm0
vmovdqa %xmm0, 0x130(%rsp)
vmovdqa 0x130(%rsp), %xmm0
vmovdqa %xmm1, 0x50(%rsp)
vmovdqa %xmm0, 0x40(%rsp)
vmovdqa 0x50(%rsp), %xmm0
vmovdqa 0x40(%rsp), %xmm1
vpmaddwd %xmm1, %xmm0, %xmm0
vmovdqa %xmm0, 0x10(%rsp)
vmovdqa 0x10(%rsp), %xmm1
movb $-0x1, 0xbf(%rsp)
movb $0x2, 0xbe(%rsp)
movb $0x4, 0xbd(%rsp)
movb $0x5, 0xbc(%rsp)
movb $-0x1, 0xbb(%rsp)
movb $0x5, 0xba(%rsp)
movb $0x6, 0xb9(%rsp)
movb $0x8, 0xb8(%rsp)
movb $-0x1, 0xb7(%rsp)
movb $0x9, 0xb6(%rsp)
movb $0xa, 0xb5(%rsp)
movb $0xc, 0xb4(%rsp)
movb $-0x1, 0xb3(%rsp)
movb $0xc, 0xb2(%rsp)
movb $0xd, 0xb1(%rsp)
movb $0xe, 0xb0(%rsp)
movb 0xb0(%rsp), %al
movb %al, 0xe(%rsp)
movb 0xb1(%rsp), %r13b
movb 0xb2(%rsp), %r12b
movb 0xb3(%rsp), %r15b
movb 0xb4(%rsp), %r14b
movb 0xb5(%rsp), %bpl
movb 0xb6(%rsp), %bl
movb 0xb7(%rsp), %r11b
movb 0xb8(%rsp), %r10b
movb 0xb9(%rsp), %r9b
movb 0xba(%rsp), %r8b
movb 0xbb(%rsp), %dil
movb 0xbc(%rsp), %sil
movb 0xbd(%rsp), %dl
movb 0xbe(%rsp), %cl
movb 0xbf(%rsp), %al
movb %al, 0xf(%rsp)
movb 0xe(%rsp), %al
movb %al, 0x10f(%rsp)
movb 0xf(%rsp), %al
movb %r13b, 0x10e(%rsp)
movb %r12b, 0x10d(%rsp)
movb %r15b, 0x10c(%rsp)
movb %r14b, 0x10b(%rsp)
movb %bpl, 0x10a(%rsp)
movb %bl, 0x109(%rsp)
movb %r11b, 0x108(%rsp)
movb %r10b, 0x107(%rsp)
movb %r9b, 0x106(%rsp)
movb %r8b, 0x105(%rsp)
movb %dil, 0x104(%rsp)
movb %sil, 0x103(%rsp)
movb %dl, 0x102(%rsp)
movb %cl, 0x101(%rsp)
movb %al, 0x100(%rsp)
movzbl 0x100(%rsp), %eax
vmovd %eax, %xmm0
movzbl 0x101(%rsp), %eax
vpinsrb $0x1, %eax, %xmm0, %xmm0
movzbl 0x102(%rsp), %eax
vpinsrb $0x2, %eax, %xmm0, %xmm0
movzbl 0x103(%rsp), %eax
vpinsrb $0x3, %eax, %xmm0, %xmm0
movzbl 0x104(%rsp), %eax
vpinsrb $0x4, %eax, %xmm0, %xmm0
movzbl 0x105(%rsp), %eax
vpinsrb $0x5, %eax, %xmm0, %xmm0
movzbl 0x106(%rsp), %eax
vpinsrb $0x6, %eax, %xmm0, %xmm0
movzbl 0x107(%rsp), %eax
vpinsrb $0x7, %eax, %xmm0, %xmm0
movzbl 0x108(%rsp), %eax
vpinsrb $0x8, %eax, %xmm0, %xmm0
movzbl 0x109(%rsp), %eax
vpinsrb $0x9, %eax, %xmm0, %xmm0
movzbl 0x10a(%rsp), %eax
vpinsrb $0xa, %eax, %xmm0, %xmm0
movzbl 0x10b(%rsp), %eax
vpinsrb $0xb, %eax, %xmm0, %xmm0
movzbl 0x10c(%rsp), %eax
vpinsrb $0xc, %eax, %xmm0, %xmm0
movzbl 0x10d(%rsp), %eax
vpinsrb $0xd, %eax, %xmm0, %xmm0
movzbl 0x10e(%rsp), %eax
vpinsrb $0xe, %eax, %xmm0, %xmm0
movzbl 0x10f(%rsp), %eax
vpinsrb $0xf, %eax, %xmm0, %xmm0
vmovdqa %xmm0, 0xf0(%rsp)
vmovdqa 0xf0(%rsp), %xmm0
vmovdqa %xmm1, 0xa0(%rsp)
vmovdqa %xmm0, 0x90(%rsp)
vmovdqa 0xa0(%rsp), %xmm0
vmovdqa 0x90(%rsp), %xmm1
vpshufb %xmm1, %xmm0, %xmm0
vmovdqa %xmm0, 0x10(%rsp)
vmovdqa 0x10(%rsp), %xmm1
vmovdqa %xmm1, 0x160(%rsp)
movl $0x4, 0x15c(%rsp)
vmovdqa 0x160(%rsp), %xmm0
vmovd 0x15c(%rsp), %xmm2
vpslld %xmm2, %xmm0, %xmm0
vpblendd $0xa, %xmm1, %xmm0, %xmm0 # xmm0 = xmm0[0],xmm1[1],xmm0[2],xmm1[3]
vmovdqa %xmm0, 0x10(%rsp)
movq 0x28(%rsp), %rax
vmovdqa 0x10(%rsp), %xmm0
vmovdqa %xmm0, 0xe0(%rsp)
movl $0xc, 0xdc(%rsp)
vmovdqa 0xe0(%rsp), %xmm0
movl 0xdc(%rsp), %ecx
vmovd %ecx, %xmm1
vpsrld %xmm1, %xmm0, %xmm0
movq %rax, 0xd0(%rsp)
vmovdqa %xmm0, 0xc0(%rsp)
vmovdqa 0xc0(%rsp), %xmm0
movq 0xd0(%rsp), %rax
vmovdqu %xmm0, (%rax)
movb $0x1, 0x3f(%rsp)
movb 0x3f(%rsp), %al
andb $0x1, %al
addq $0x178, %rsp            # imm = 0x178
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
nopl (%rax)