// File: /workspace/github_c_makefile_star2_O0/svpv[P]rpmset/./base64unpack-simd.h
// Function: unpack27x4c18
static inline bool unpack27x4c18(const char *s, uint32_t *v, unsigned *e)
{
    V32x4 x;
    if (!unpack24(s, &x)) return false;
    x = VSHUF8(x, V8x16_C(
	    0, 1,  2,  4,  4,  5,  6,  8,
	    8, 9, 10, 12, 13, 14, -1, -1));
#ifdef VSHRV64
    x = VSHRV64(x, 0, 1);
#else
    x = VBLEND16(x, VSHR64(x, 1), 0xf0);
#endif
    x = VSHLV32(x, 5, 2, 0, 17);
    VSTORE(v, VSHR32(x, 5));
    int32_t lo = base64dec2(s + 16);
    if (lo < 0) return false;
    v[3] |= lo;
    return (void) e, true;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x138, %rsp            # imm = 0x138
movq %rdi, 0x30(%rsp)
movq %rsi, 0x28(%rsp)
movq %rdx, 0x20(%rsp)
movq 0x30(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x1c590
testb $0x1, %al
jne 0x1210d
movb $0x0, 0x3f(%rsp)
jmp 0x124ee
vmovdqa 0x10(%rsp), %xmm1
movb $0x0, 0x6f(%rsp)
movb $0x1, 0x6e(%rsp)
movb $0x2, 0x6d(%rsp)
movb $0x4, 0x6c(%rsp)
movb $0x4, 0x6b(%rsp)
movb $0x5, 0x6a(%rsp)
movb $0x6, 0x69(%rsp)
movb $0x8, 0x68(%rsp)
movb $0x8, 0x67(%rsp)
movb $0x9, 0x66(%rsp)
movb $0xa, 0x65(%rsp)
movb $0xc, 0x64(%rsp)
movb $0xd, 0x63(%rsp)
movb $0xe, 0x62(%rsp)
movb $-0x1, 0x61(%rsp)
movb $-0x1, 0x60(%rsp)
movb 0x60(%rsp), %al
movb %al, 0xa(%rsp)
movb 0x61(%rsp), %r13b
movb 0x62(%rsp), %r12b
movb 0x63(%rsp), %r15b
movb 0x64(%rsp), %r14b
movb 0x65(%rsp), %bpl
movb 0x66(%rsp), %bl
movb 0x67(%rsp), %r11b
movb 0x68(%rsp), %r10b
movb 0x69(%rsp), %r9b
movb 0x6a(%rsp), %r8b
movb 0x6b(%rsp), %dil
movb 0x6c(%rsp), %sil
movb 0x6d(%rsp), %dl
movb 0x6e(%rsp), %cl
movb 0x6f(%rsp), %al
movb %al, 0xb(%rsp)
movb 0xa(%rsp), %al
movb %al, 0xef(%rsp)
movb 0xb(%rsp), %al
movb %r13b, 0xee(%rsp)
movb %r12b, 0xed(%rsp)
movb %r15b, 0xec(%rsp)
movb %r14b, 0xeb(%rsp)
movb %bpl, 0xea(%rsp)
movb %bl, 0xe9(%rsp)
movb %r11b, 0xe8(%rsp)
movb %r10b, 0xe7(%rsp)
movb %r9b, 0xe6(%rsp)
movb %r8b, 0xe5(%rsp)
movb %dil, 0xe4(%rsp)
movb %sil, 0xe3(%rsp)
movb %dl, 0xe2(%rsp)
movb %cl, 0xe1(%rsp)
movb %al, 0xe0(%rsp)
movzbl 0xe0(%rsp), %eax
vmovd %eax, %xmm0
movzbl 0xe1(%rsp), %eax
vpinsrb $0x1, %eax, %xmm0, %xmm0
movzbl 0xe2(%rsp), %eax
vpinsrb $0x2, %eax, %xmm0, %xmm0
movzbl 0xe3(%rsp), %eax
vpinsrb $0x3, %eax, %xmm0, %xmm0
movzbl 0xe4(%rsp), %eax
vpinsrb $0x4, %eax, %xmm0, %xmm0
movzbl 0xe5(%rsp), %eax
vpinsrb $0x5, %eax, %xmm0, %xmm0
movzbl 0xe6(%rsp), %eax
vpinsrb $0x6, %eax, %xmm0, %xmm0
movzbl 0xe7(%rsp), %eax
vpinsrb $0x7, %eax, %xmm0, %xmm0
movzbl 0xe8(%rsp), %eax
vpinsrb $0x8, %eax, %xmm0, %xmm0
movzbl 0xe9(%rsp), %eax
vpinsrb $0x9, %eax, %xmm0, %xmm0
movzbl 0xea(%rsp), %eax
vpinsrb $0xa, %eax, %xmm0, %xmm0
movzbl 0xeb(%rsp), %eax
vpinsrb $0xb, %eax, %xmm0, %xmm0
movzbl 0xec(%rsp), %eax
vpinsrb $0xc, %eax, %xmm0, %xmm0
movzbl 0xed(%rsp), %eax
vpinsrb $0xd, %eax, %xmm0, %xmm0
movzbl 0xee(%rsp), %eax
vpinsrb $0xe, %eax, %xmm0, %xmm0
movzbl 0xef(%rsp), %eax
vpinsrb $0xf, %eax, %xmm0, %xmm0
vmovdqa %xmm0, 0xd0(%rsp)
vmovdqa 0xd0(%rsp), %xmm0
vmovdqa %xmm1, 0x50(%rsp)
vmovdqa %xmm0, 0x40(%rsp)
vmovdqa 0x50(%rsp), %xmm0
vmovdqa 0x40(%rsp), %xmm1
vpshufb %xmm1, %xmm0, %xmm0
vmovdqa %xmm0, 0x10(%rsp)
vmovdqa 0x10(%rsp), %xmm0
vmovdqa %xmm0, 0x120(%rsp)
movl $0x1, 0x11c(%rsp)
vmovdqa 0x120(%rsp), %xmm1
vmovd 0x11c(%rsp), %xmm2
vpsrlq %xmm2, %xmm1, %xmm1
vpblendd $0xc, %xmm1, %xmm0, %xmm0 # xmm0 = xmm0[0,1],xmm1[2,3]
vmovdqa %xmm0, 0x10(%rsp)
vmovdqa 0x10(%rsp), %xmm1
movl $0x5, 0x9c(%rsp)
movl $0x2, 0x98(%rsp)
movl $0x0, 0x94(%rsp)
movl $0x11, 0x90(%rsp)
movl 0x90(%rsp), %esi
movl 0x94(%rsp), %edx
movl 0x98(%rsp), %ecx
movl 0x9c(%rsp), %eax
movl %esi, 0x118(%rsp)
movl %edx, 0x114(%rsp)
movl %ecx, 0x110(%rsp)
movl %eax, 0x10c(%rsp)
movl 0x110(%rsp), %edx
movl 0x114(%rsp), %ecx
movl 0x118(%rsp), %eax
vmovd 0x10c(%rsp), %xmm0
vpinsrd $0x1, %edx, %xmm0, %xmm0
vpinsrd $0x2, %ecx, %xmm0, %xmm0
vpinsrd $0x3, %eax, %xmm0, %xmm0
vmovdqa %xmm0, 0xf0(%rsp)
vmovdqa 0xf0(%rsp), %xmm0
vmovdqa %xmm1, 0x80(%rsp)
vmovdqa %xmm0, 0x70(%rsp)
vmovdqa 0x80(%rsp), %xmm0
vmovdqa 0x70(%rsp), %xmm1
vpsllvd %xmm1, %xmm0, %xmm0
vmovdqa %xmm0, 0x10(%rsp)
movq 0x28(%rsp), %rax
vmovdqa 0x10(%rsp), %xmm0
vmovdqa %xmm0, 0xc0(%rsp)
movl $0x5, 0xbc(%rsp)
vmovdqa 0xc0(%rsp), %xmm0
movl 0xbc(%rsp), %ecx
vmovd %ecx, %xmm1
vpsrld %xmm1, %xmm0, %xmm0
movq %rax, 0xb0(%rsp)
vmovdqa %xmm0, 0xa0(%rsp)
vmovdqa 0xa0(%rsp), %xmm0
movq 0xb0(%rsp), %rax
vmovdqu %xmm0, (%rax)
movq 0x30(%rsp), %rdi
addq $0x10, %rdi
callq 0x1c7a0
movl %eax, 0xc(%rsp)
cmpl $0x0, 0xc(%rsp)
jge 0x124da
movb $0x0, 0x3f(%rsp)
jmp 0x124ee
movl 0xc(%rsp), %ecx
movq 0x28(%rsp), %rax
orl 0xc(%rax), %ecx
movl %ecx, 0xc(%rax)
movb $0x1, 0x3f(%rsp)
movb 0x3f(%rsp), %al
andb $0x1, %al
addq $0x138, %rsp            # imm = 0x138
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
nopw %cs:(%rax,%rax)