user: Demonstrate the C code that generates the assembly output below:

```asm
<memcpy32_8>:
  endbr64
  lea    -0x1(%rdx),%r10d
  mov    %rsi,%rcx
  mov    %r10d,%esi
  test   %edx,%edx
  je     L69
  mov    %edx,%edx
  mov    %rdx,%rax
  lea    (%rdi,%rdx,4),%r8
  shl    $0x4,%rax
  lea    -0x4(%rcx,%rax,1),%rax
  cmp    %rax,%rdi
  setae  %al
  cmp    %r8,%rcx
  setae  %r8b
  or     %r8b,%al
  je     L51
  cmp    $0x1,%r10d
  jbe    L51
  cmp    $0x3,%r10d
  jbe    L42
  shr    $0x2,%esi
  movdqa D7(%rip),%xmm4
  mov    %rcx,%rax
  mov    %rdi,%rdx
  sub    $0x1,%esi
  shl    $0x6,%rsi
  lea    0x40(%rcx,%rsi,1),%rsi
  nop
L67:
  movdqu (%rax),%xmm0
  movdqu 0x20(%rax),%xmm2
  add    $0x40,%rax
  add    $0x10,%rdx
  movdqu -0x30(%rax),%xmm6
  movdqu -0x10(%rax),%xmm7
  movdqa %xmm0,%xmm1
  movdqa %xmm2,%xmm3
  shufps $0x88,%xmm6,%xmm1
  shufps $0xdd,%xmm7,%xmm2
  shufps $0xdd,%xmm6,%xmm0
  shufps $0x88,%xmm2,%xmm0
  movdqa %xmm1,%xmm2
  psrad  $0x5,%xmm0
  shufps $0x88,%xmm7,%xmm3
  shufps $0xdd,%xmm3,%xmm1
  pslld  $0x3,%xmm0
  shufps $0x88,%xmm3,%xmm2
  psrad  $0x5,%xmm2
  pand   %xmm4,%xmm1
  paddd  %xmm2,%xmm0
  paddd  %xmm1,%xmm0
  movups %xmm0,-0x10(%rdx)
  cmp    %rax,%rsi
  jne    L67
  mov    %r10d,%r8d
  mov    %r10d,%esi
  and    $0xfffffffc,%r8d
  mov    %r8d,%edx
  sub    %r8d,%esi
  lea    (%rdi,%rdx,4),%r9
  shl    $0x4,%rdx
  add    %rcx,%rdx
L49:
  mov    %r10d,%eax
  sub    %r8d,%eax
  cmp    $0x1,%eax
  jbe    L20
  mov    %r8,%r10
  and    $0xfffffffe,%eax
  shl    $0x4,%r10
  sub    %eax,%esi
  add    %r10,%rcx
  movq   (%rcx),%xmm0
  movq   0x8(%rcx),%xmm5
  movq   0x10(%rcx),%xmm2
  movq   0x18(%rcx),%xmm4
  mov    %eax,%ecx
  movdqa %xmm0,%xmm1
  punpckldq %xmm5,%xmm0
  lea    (%r9,%rcx,4),%r9
  shl    $0x4,%rcx
  movdqa %xmm2,%xmm3
  punpckldq %xmm4,%xmm2
  punpckldq %xmm5,%xmm1
  add    %rcx,%rdx
  pshufd $0xe,%xmm2,%xmm2
  pshufd $0xe,%xmm0,%xmm0
  punpckldq %xmm4,%xmm3
  punpckldq %xmm2,%xmm0
  movdqa %xmm1,%xmm2
  punpckldq %xmm3,%xmm1
  psrad  $0x5,%xmm0
  punpckldq %xmm3,%xmm2
  pshufd $0xe,%xmm1,%xmm1
  psrad  $0x5,%xmm2
  pslld  $0x3,%xmm0
  paddd  %xmm2,%xmm0
  movq   D7(%rip),%xmm2
  pand   %xmm2,%xmm1
  paddd  %xmm1,%xmm0
  movq   %xmm0,(%rdi,%r8,4)
L20:
  mov    0x4(%rdx),%ecx
  mov    (%rdx),%eax
  sar    $0x5,%ecx
  sar    $0x5,%eax
  lea    (%rax,%rcx,8),%eax
  mov    0x8(%rdx),%ecx
  and    $0xffffffc0,%ecx
  add    %ecx,%eax
  mov    %eax,(%r9)
  test   %esi,%esi
  je     L69
  mov    0x14(%rdx),%ecx
  mov    0x10(%rdx),%eax
  mov    0x18(%rdx),%edx
  sar    $0x5,%ecx
  sar    $0x5,%eax
  lea    (%rax,%rcx,8),%eax
  and    $0xffffffc0,%edx
  add    %edx,%eax
  mov    %eax,0x4(%r9)
  ret
  nopl   0x0(%rax)
L51:
  shl    $0x4,%rdx
  add    %rcx,%rdx
  nopw   0x0(%rax,%rax,1)
L83:
  mov    0x4(%rcx),%esi
  mov    (%rcx),%eax
  add    $0x10,%rcx
  add    $0x4,%rdi
  sar    $0x5,%esi
  sar    $0x5,%eax
  lea    (%rax,%rsi,8),%eax
  mov    -0x8(%rcx),%esi
  and    $0xffffffc0,%esi
  add    %esi,%eax
  mov    %eax,-0x4(%rdi)
  cmp    %rdx,%rcx
  jne    L83
L69:
  ret
L42:
  mov    %rcx,%rdx
  mov    %rdi,%r9
  xor    %r8d,%r8d
  jmp    L49
```

tool_calls: name: extract_symbolic_data
arguments: tag: D7
type_guessed: byte[16]

tool: {"D7": [0xc0,0xff,0xff,0xff,0xc0,0xff,0xff,0xff,0xc0,0xff,0xff,0xff,0xc0,0xff,0xff,0xff]}

assistant: ```c
void memcpy32_8(uint8_t *dst, const uint8_t *src, int count) {
  while (count--) {
    dst[0] = ((src[0] >> 5)) + ((src[1] >> 5) << 3) + ((src[2] >> 6) << 6);
    dst += 1;
    src += 4;
  }
}
```