user: 请将这段汇编代码片段转换成等效的C代码:

```asm
<fill_table_d000>:
  endbr64
  lea    0x100(%rdi),%r8
  mov    %rdi,%rax
  pxor   %xmm7,%xmm7
  xor    %ecx,%ecx
  mov    %r8,%rsi
  mov    $0x1,%r9d
  pxor   %xmm13,%xmm13
  movdqa D58(%rip),%xmm15
  movdqa D26(%rip),%xmm14
  movdqa D37(%rip),%xmm8
L26:
  mov    %r9d,%edi
  movdqa D12(%rip),%xmm3
  shl    %cl,%edi
  movd   %edi,%xmm4
  lea    -0x1(%rdi),%edx
  pshufd $0x0,%xmm4,%xmm2
  movd   %edx,%xmm4
  punpcklbw %xmm4,%xmm4
  punpcklwd %xmm4,%xmm4
  pshufd $0x0,%xmm4,%xmm4
  nopw   0x0(%rax,%rax,1)
L27:
  movdqa %xmm3,%xmm0
  movdqa D22(%rip),%xmm1
  add    $0x10,%rax
  movdqa D29(%rip),%xmm6
  movdqa %xmm0,%xmm9
  movdqa %xmm0,%xmm5
  movdqa %xmm0,%xmm10
  paddd  %xmm14,%xmm9
  paddd  %xmm0,%xmm1
  punpcklwd %xmm9,%xmm5
  punpckhwd %xmm9,%xmm10
  paddd  %xmm0,%xmm6
  movdqa %xmm5,%xmm11
  punpcklwd %xmm10,%xmm5
  pand   %xmm2,%xmm0
  punpckhwd %xmm10,%xmm11
  movdqa %xmm1,%xmm10
  pand   %xmm2,%xmm9
  punpcklwd %xmm6,%xmm10
  punpcklwd %xmm11,%xmm5
  movdqa %xmm1,%xmm11
  punpckhwd %xmm6,%xmm11
  movdqa %xmm10,%xmm12
  pand   %xmm8,%xmm5
  pcmpeqd %xmm7,%xmm9
  pcmpeqd %xmm7,%xmm0
  punpckhwd %xmm11,%xmm12
  punpcklwd %xmm11,%xmm10
  pand   %xmm2,%xmm1
  pand   %xmm2,%xmm6
  punpcklwd %xmm12,%xmm10
  pcmpeqd %xmm7,%xmm6
  paddd  %xmm15,%xmm3
  pand   %xmm8,%xmm10
  pcmpeqd %xmm7,%xmm1
  packuswb %xmm10,%xmm5
  movdqa %xmm0,%xmm10
  punpcklwd %xmm9,%xmm0
  punpckhwd %xmm9,%xmm10
  movdqa %xmm0,%xmm9
  pand   %xmm4,%xmm5
  punpckhwd %xmm10,%xmm9
  punpcklwd %xmm10,%xmm0
  punpcklwd %xmm9,%xmm0
  movdqa %xmm1,%xmm9
  punpcklwd %xmm6,%xmm1
  punpckhwd %xmm6,%xmm9
  movdqa %xmm1,%xmm6
  pand   %xmm8,%xmm0
  punpckhwd %xmm9,%xmm6
  punpcklwd %xmm9,%xmm1
  punpcklwd %xmm6,%xmm1
  pand   %xmm8,%xmm1
  packuswb %xmm1,%xmm0
  movdqa %xmm13,%xmm1
  psubb  %xmm5,%xmm1
  pand   %xmm0,%xmm5
  pandn  %xmm1,%xmm0
  por    %xmm5,%xmm0
  movups %xmm0,-0x10(%rax)
  cmp    %rax,%rsi
  jne    L27
  add    $0x1,%ecx
  mov    %r8,%rax
  add    $0x100,%rsi
  cmp    $0x8,%ecx
  je     L10
  add    $0x100,%r8
  jmp    L26
L10:
  ret
```

tool_calls: name: disassemble_data
arguments: data_label: D58
type_infered: byte[16]
name: disassemble_data
arguments: data_label: D26
type_infered: byte[16]
name: disassemble_data
arguments: data_label: D37
type_infered: byte[16]
name: disassemble_data
arguments: data_label: D12
type_infered: byte[16]
name: disassemble_data
arguments: data_label: D22
type_infered: byte[16]
name: disassemble_data
arguments: data_label: D29
type_infered: byte[16]

tool: {"D58": [0x10,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x10,0x00,0x00,0x00]}

tool: {"D26": [0x04,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x04,0x00,0x00,0x00]}

tool: {"D37": [0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00]}

tool: {"D12": [0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x03,0x00,0x00,0x00]}

tool: {"D22": [0x08,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x08,0x00,0x00,0x00]}

tool: {"D29": [0x0c,0x00,0x00,0x00,0x0c,0x00,0x00,0x00,0x0c,0x00,0x00,0x00,0x0c,0x00,0x00,0x00]}

assistant: ```c
void fill_table_d000(unsigned char *p) {
  int bit, byte;
  for (bit = 0; bit < 8; bit++) {
    unsigned char bitpower = 1 << bit;
    unsigned char mask = bitpower - 1;
    for (byte = 0; byte < 256; byte++) {
      if (byte & bitpower)
        *p++ = -(byte & mask);
      else
        *p++ = (byte & mask);
    }
  }
}
```