user: Please show me the C implementation that matches the assembly code listed below:

```asm
<pdf_buf_pack_1>:
  endbr64
  mov    %rdi,%rcx
  mov    %rsi,%rdi
  test   %rdx,%rdx
  je     L38
  lea    -0x1(%rdx),%rax
  mov    %rax,%r9
  shr    $0x3,%r9
  lea    0x1(%r9),%rdx
  mov    %rdx,%rsi
  lea    (%rdi,%rdx,4),%r8
  shl    $0x5,%rsi
  add    %rcx,%rsi
  cmp    %rsi,%rdi
  setae  %sil
  cmp    %r8,%rcx
  setae  %r8b
  or     %r8b,%sil
  je     L5
  cmp    $0x7,%rax
  jbe    L5
  cmp    $0x17,%rax
  jbe    L46
  mov    %rdx,%r8
  mov    %rdi,%rsi
  pxor   %xmm2,%xmm2
  mov    %rcx,%rax
  shr    $0x2,%r8
  shl    $0x4,%r8
  add    %rdi,%r8
  nopl   0x0(%rax,%rax,1)
L71:
  movups %xmm2,(%rsi)
  movdqu (%rax),%xmm1
  movdqu 0x10(%rax),%xmm5
  add    $0x10,%rsi
  movdqu 0x20(%rax),%xmm7
  movdqu 0x40(%rax),%xmm3
  sub    $0xffffffffffffff80,%rax
  movdqa %xmm1,%xmm4
  shufps $0xdd,%xmm5,%xmm1
  movdqu -0x30(%rax),%xmm6
  movdqu -0x20(%rax),%xmm0
  shufps $0x88,%xmm5,%xmm4
  movdqu -0x50(%rax),%xmm5
  movdqa %xmm7,%xmm9
  movdqu -0x10(%rax),%xmm11
  movdqa %xmm4,%xmm8
  shufps $0x88,%xmm5,%xmm9
  shufps $0xdd,%xmm5,%xmm7
  movdqa %xmm3,%xmm5
  shufps $0x88,%xmm9,%xmm8
  shufps $0x88,%xmm6,%xmm5
  shufps $0xdd,%xmm6,%xmm3
  shufps $0xdd,%xmm9,%xmm4
  movdqa %xmm0,%xmm6
  movdqa %xmm5,%xmm9
  shufps $0x88,%xmm11,%xmm6
  shufps $0xdd,%xmm6,%xmm5
  shufps $0xdd,%xmm11,%xmm0
  shufps $0x88,%xmm6,%xmm9
  movdqa %xmm1,%xmm6
  shufps $0xdd,%xmm7,%xmm1
  shufps $0x88,%xmm7,%xmm6
  movdqa %xmm3,%xmm7
  shufps $0xdd,%xmm0,%xmm3
  movdqa %xmm6,%xmm10
  shufps $0x88,%xmm0,%xmm7
  movdqa %xmm8,%xmm0
  shufps $0x88,%xmm7,%xmm10
  shufps $0xdd,%xmm7,%xmm6
  shufps $0x88,%xmm9,%xmm0
  pslld  $0x1,%xmm0
  shufps $0xdd,%xmm9,%xmm8
  paddd  %xmm10,%xmm0
  movdqa %xmm4,%xmm10
  shufps $0xdd,%xmm5,%xmm4
  pslld  $0x1,%xmm0
  shufps $0x88,%xmm5,%xmm10
  paddd  %xmm10,%xmm0
  movdqa %xmm1,%xmm10
  shufps $0xdd,%xmm3,%xmm1
  pslld  $0x1,%xmm0
  shufps $0x88,%xmm3,%xmm10
  paddd  %xmm10,%xmm0
  pslld  $0x1,%xmm0
  paddd  %xmm8,%xmm0
  pslld  $0x1,%xmm0
  paddd  %xmm6,%xmm0
  pslld  $0x1,%xmm0
  paddd  %xmm4,%xmm0
  pslld  $0x1,%xmm0
  paddd  %xmm1,%xmm0
  movups %xmm0,-0x10(%rsi)
  cmp    %r8,%rsi
  jne    L71
  mov    %rdx,%rax
  and    $0xfffffffffffffffc,%rax
  lea    0x0(,%rax,8),%rsi
  cmp    %rax,%rdx
  je     L87
L68:
  sub    %rax,%rdx
  cmp    %rax,%r9
  je     L6
  mov    %rax,%r9
  lea    (%rdi,%rax,4),%r8
  shl    $0x5,%r9
  movq   $0x0,(%r8)
  add    %rcx,%r9
  movq   (%r9),%xmm1
  movq   0x8(%r9),%xmm8
  movq   0x10(%r9),%xmm4
  movq   0x18(%r9),%xmm5
  movq   0x20(%r9),%xmm2
  movdqa %xmm1,%xmm3
  movq   0x28(%r9),%xmm6
  punpckldq %xmm8,%xmm1
  movq   0x30(%r9),%xmm0
  punpckldq %xmm8,%xmm3
  movdqa %xmm4,%xmm8
  movq   0x38(%r9),%xmm7
  punpckldq %xmm5,%xmm8
  punpckldq %xmm5,%xmm4
  movdqa %xmm2,%xmm5
  punpckldq %xmm6,%xmm5
  punpckldq %xmm6,%xmm2
  movdqa %xmm0,%xmm6
  punpckldq %xmm7,%xmm6
  punpckldq %xmm7,%xmm0
  movdqa %xmm3,%xmm7
  punpckldq %xmm8,%xmm7
  pshufd $0xe,%xmm1,%xmm1
  punpckldq %xmm8,%xmm3
  movdqa %xmm5,%xmm8
  pshufd $0xe,%xmm4,%xmm4
  pshufd $0xe,%xmm2,%xmm2
  punpckldq %xmm6,%xmm8
  punpckldq %xmm6,%xmm5
  movdqa %xmm1,%xmm6
  pshufd $0xe,%xmm0,%xmm0
  punpckldq %xmm4,%xmm6
  punpckldq %xmm4,%xmm1
  movdqa %xmm2,%xmm4
  punpckldq %xmm0,%xmm2
  movdqa %xmm6,%xmm9
  punpckldq %xmm0,%xmm4
  movdqa %xmm7,%xmm0
  pshufd $0xe,%xmm3,%xmm3
  punpckldq %xmm8,%xmm0
  punpckldq %xmm4,%xmm9
  pshufd $0xe,%xmm5,%xmm5
  pslld  $0x1,%xmm0
  pshufd $0xe,%xmm1,%xmm1
  pshufd $0xe,%xmm2,%xmm2
  paddd  %xmm9,%xmm0
  movdqa %xmm3,%xmm9
  punpckldq %xmm8,%xmm7
  punpckldq %xmm5,%xmm9
  pshufd $0xe,%xmm7,%xmm7
  punpckldq %xmm4,%xmm6
  pshufd $0xe,%xmm6,%xmm6
  punpckldq %xmm5,%xmm3
  pslld  $0x1,%xmm0
  pshufd $0xe,%xmm3,%xmm3
  paddd  %xmm9,%xmm0
  movdqa %xmm1,%xmm9
  punpckldq %xmm2,%xmm1
  punpckldq %xmm2,%xmm9
  pshufd $0xe,%xmm1,%xmm1
  pslld  $0x1,%xmm0
  paddd  %xmm9,%xmm0
  pslld  $0x1,%xmm0
  paddd  %xmm7,%xmm0
  pslld  $0x1,%xmm0
  paddd  %xmm6,%xmm0
  pslld  $0x1,%xmm0
  paddd  %xmm3,%xmm0
  pslld  $0x1,%xmm0
  paddd  %xmm1,%xmm0
  movq   %xmm0,(%r8)
  mov    %rdx,%r8
  and    $0xfffffffffffffffe,%r8
  lea    (%rsi,%r8,8),%rsi
  add    %r8,%rax
  cmp    %r8,%rdx
  je     L38
L6:
  lea    (%rdi,%rax,4),%rdx
  movl   $0x0,(%rdx)
  mov    (%rcx,%rsi,4),%eax
  add    %eax,%eax
  mov    %eax,(%rdx)
  add    0x4(%rcx,%rsi,4),%eax
  add    %eax,%eax
  mov    %eax,(%rdx)
  add    0x8(%rcx,%rsi,4),%eax
  add    %eax,%eax
  mov    %eax,(%rdx)
  add    0xc(%rcx,%rsi,4),%eax
  add    %eax,%eax
  mov    %eax,(%rdx)
  add    0x10(%rcx,%rsi,4),%eax
  add    %eax,%eax
  mov    %eax,(%rdx)
  add    0x14(%rcx,%rsi,4),%eax
  add    %eax,%eax
  mov    %eax,(%rdx)
  add    0x18(%rcx,%rsi,4),%eax
  add    %eax,%eax
  mov    %eax,(%rdx)
  add    0x1c(%rcx,%rsi,4),%eax
  mov    %eax,(%rdx)
  ret
L5:
  mov    %rdi,%rdx
  lea    0x4(%rdi,%r9,4),%rsi
  nop
L79:
  movl   $0x0,(%rdx)
  mov    (%rcx),%eax
  add    $0x4,%rdx
  add    $0x20,%rcx
  add    %eax,%eax
  mov    %eax,-0x4(%rdx)
  add    -0x1c(%rcx),%eax
  add    %eax,%eax
  mov    %eax,-0x4(%rdx)
  add    -0x18(%rcx),%eax
  add    %eax,%eax
  mov    %eax,-0x4(%rdx)
  add    -0x14(%rcx),%eax
  add    %eax,%eax
  mov    %eax,-0x4(%rdx)
  add    -0x10(%rcx),%eax
  add    %eax,%eax
  mov    %eax,-0x4(%rdx)
  add    -0xc(%rcx),%eax
  add    %eax,%eax
  mov    %eax,-0x4(%rdx)
  add    -0x8(%rcx),%eax
  add    %eax,%eax
  mov    %eax,-0x4(%rdx)
  add    -0x4(%rcx),%eax
  mov    %eax,-0x4(%rdx)
  cmp    %rsi,%rdx
  jne    L79
L38:
  ret
L87:
  ret
L46:
  xor    %eax,%eax
  xor    %esi,%esi
  jmp    L68
```

assistant: ```c
extern void pdf_buf_pack_1(uint8_t *in, uint8_t *out, size_t in_len) {
  size_t i;
  size_t j = 0;
  for (i = 0; i < in_len; j++) {
    uint8_t k;
    out[j] = 0;
    for (k = 0; k < 8; k++) {
      out[j] <<= 1;
      out[j] += in[i++];
    }
  }
}
```