// File: /workspace/github_c_makefile_star2_O2/svpv[P]rpmset/./base64unpack-scalar.h
// Function: unpack10x18c30
static inline bool unpack10x18c30(const char *s, uint32_t *v, unsigned *e)
{
    int32_t x0, x1, x2, x3;
    x0 = base64dec2(s + 0) | base64dec2(s + 2) << 12;
    if (x0 < 0) return false;
    x1 = base64dec2(s + 4) | base64dec2(s + 6) << 12;
    if (x1 < 0) return false;
    x2 = base64dec2(s + 8) | base64dec2(s + 10) << 12;
    if (x2 < 0) return false;
    x3 = base64dec2(s + 12) | base64dec2(s + 14) << 12;
    if (x3 < 0) return false;
    v[ 0] = (x0 & Mask(10));
    v[ 1] = (x1 & Mask(10));
    v[ 2] = (x2 & Mask(10));
    v[ 3] = (x3 & Mask(10));
    v[ 4] = (x0 & Mask(20)) >> 10;
    v[ 5] = (x1 & Mask(20)) >> 10;
    v[ 6] = (x2 & Mask(20)) >> 10;
    v[ 7] = (x3 & Mask(20)) >> 10;
    int64_t y;
    y = base64wdec3(s + 16) | base64wdec3(s + 19) << 18;
    if (y < 0) return false;
    v[16] = (y & Mask(10));
    v[17] = (y & Mask(20)) >> 10;
    y = x0 >> 20 | y >> 20 << 4;
    v[ 8] = (y & Mask(10));
    v[12] = (y >> 10);
    y =  base64wdec2(s + 22) | base64wdec2(s + 24) << 12
      | (base64wdec2(s + 26) | base64wdec2(s + 28) << 12) << 24;
    if (y < 0) return false;
    y = x1 >> 20 | y << 4;
    v[ 9] = (y & Mask(10));
    v[13] = (y & Mask(20)) >> 10;
    y = x2 >> 20 | y >> 20 << 4;
    v[10] = (y & Mask(10));
    v[14] = (y & Mask(20)) >> 10;
    y = x3 >> 20 | y >> 20 << 4;
    v[11] = (y & Mask(10));
    v[15] = (y >> 10);
    return (void) e, true;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movzbl (%rdi), %eax
movzbl 0x1(%rdi), %ecx
leaq 0x6ed2(%rip), %r12      # 0x9050
movsbl (%rax,%r12), %edx
movswl 0x100(%r12,%rcx,2), %eax
orl %edx, %eax
movzbl 0x2(%rdi), %ecx
movzbl 0x3(%rdi), %edx
movsbl (%rcx,%r12), %ecx
movswl 0x100(%r12,%rdx,2), %ebx
orl %ecx, %ebx
shll $0xc, %ebx
orl %eax, %ebx
js 0x240b
movq %rdi, %r14
movzbl 0x4(%rdi), %ecx
movzbl 0x5(%rdi), %edx
movsbl (%rcx,%r12), %edi
movswl 0x100(%r12,%rdx,2), %ecx
orl %edi, %ecx
movzbl 0x6(%r14), %edx
movzbl 0x7(%r14), %edi
movsbl (%rdx,%r12), %edx
movswl 0x100(%r12,%rdi,2), %ebp
orl %edx, %ebp
shll $0xc, %ebp
orl %ecx, %ebp
js 0x240b
movzbl 0x8(%r14), %edx
movzbl 0x9(%r14), %r8d
movsbl (%rdx,%r12), %edi
movswl 0x100(%r12,%r8,2), %edx
orl %edi, %edx
movzbl 0xa(%r14), %r8d
movzbl 0xb(%r14), %edi
movsbl (%r8,%r12), %r8d
movswl 0x100(%r12,%rdi,2), %r13d
orl %r8d, %r13d
shll $0xc, %r13d
orl %edx, %r13d
js 0x240b
movzbl 0xc(%r14), %r8d
movzbl 0xd(%r14), %edi
movsbl (%r8,%r12), %r8d
movswl 0x100(%r12,%rdi,2), %r9d
orl %r8d, %r9d
movzbl 0xe(%r14), %edi
movzbl 0xf(%r14), %r8d
movsbl (%rdi,%r12), %edi
movswl 0x100(%r12,%r8,2), %r8d
orl %edi, %r8d
shll $0xc, %r8d
orl %r9d, %r8d
js 0x240b
movl $0x3ff, %edi            # imm = 0x3FF
andl %edi, %eax
movl %eax, (%rsi)
andl %edi, %ecx
movl %ecx, 0x4(%rsi)
andl %edi, %edx
movl %edx, 0x8(%rsi)
andl %edi, %r9d
movl %r9d, 0xc(%rsi)
movl %r8d, 0xc(%rsp)
movd %r8d, %xmm0
movd %r13d, %xmm1
punpckldq %xmm0, %xmm1    # xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]
movd %ebp, %xmm0
movd %ebx, %xmm2
punpckldq %xmm0, %xmm2    # xmm2 = xmm2[0],xmm0[0],xmm2[1],xmm0[1]
punpcklqdq %xmm1, %xmm2    # xmm2 = xmm2[0],xmm1[0]
psrld $0xa, %xmm2
pand 0x7c90(%rip), %xmm2     # 0x9f50
movdqu %xmm2, 0x10(%rsi)
leaq 0x10(%r14), %rdi
movq %rsi, 0x10(%rsp)
callq 0x8976
movq %rax, %r15
leaq 0x13(%r14), %rdi
callq 0x8976
shlq $0x12, %rax
orq %r15, %rax
js 0x240b
movl $0x3ff, %edx            # imm = 0x3FF
andl %edx, %r15d
movq 0x10(%rsp), %rdi
movl %r15d, 0x40(%rdi)
movl %eax, %ecx
shrl $0xa, %ecx
andl %edx, %ecx
movl %ecx, 0x44(%rdi)
shrl $0x14, %ebx
shrq $0x10, %rax
movabsq $0x7ffffffffff0, %rcx   # imm = 0x7FFFFFFFFFF0
andq %rax, %rcx
orq %rbx, %rcx
andl %ecx, %edx
movl %edx, 0x20(%rdi)
shrq $0xa, %rcx
movl %ecx, 0x30(%rdi)
movzbl 0x16(%r14), %eax
movzbl 0x17(%r14), %ecx
movsbq (%rax,%r12), %rax
movswq 0x100(%r12,%rcx,2), %rcx
orq %rax, %rcx
movzbl 0x18(%r14), %eax
movzbl 0x19(%r14), %edx
movsbq (%rax,%r12), %rax
movswq 0x100(%r12,%rdx,2), %rdx
orq %rax, %rdx
shlq $0xc, %rdx
orq %rcx, %rdx
movzbl 0x1a(%r14), %eax
movzbl 0x1b(%r14), %ecx
movsbq (%rax,%r12), %rsi
movswq 0x100(%r12,%rcx,2), %rax
orq %rsi, %rax
movzbl 0x1c(%r14), %ecx
movzbl 0x1d(%r14), %esi
movsbl (%rcx,%r12), %ecx
movswl 0x100(%r12,%rsi,2), %esi
orl %ecx, %esi
shlq $0x24, %rsi
shlq $0x18, %rax
orq %rdx, %rax
orq %rsi, %rax
js 0x240b
shrl $0x14, %ebp
movl %eax, %edx
shll $0x4, %edx
orl %ebp, %edx
movl $0x3ff, %ecx            # imm = 0x3FF
movl %edx, %esi
andl %ecx, %esi
movl %esi, 0x24(%rdi)
shrl $0xa, %edx
andl %ecx, %edx
movl %edx, 0x34(%rdi)
shrl $0x14, %r13d
movq %rax, %rdx
shrq $0xc, %rdx
andl $-0x10, %edx
orl %r13d, %edx
movl %edx, %esi
andl %ecx, %esi
movl %esi, 0x28(%rdi)
shrl $0xa, %edx
andl %ecx, %edx
movl %edx, 0x38(%rdi)
movl 0xc(%rsp), %edx
shrl $0x14, %edx
shrq $0x1c, %rax
andl $0x7ffffff0, %eax       # imm = 0x7FFFFFF0
orl %edx, %eax
andl %eax, %ecx
movl %ecx, 0x2c(%rdi)
shrl $0xa, %eax
movl %eax, 0x3c(%rdi)
movb $0x1, %al
jmp 0x240d
xorl %eax, %eax
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq