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

```asm
<tar_chksm>:
  endbr64
  movdqu (%rdi),%xmm1
  pxor   %xmm3,%xmm3
  pxor   %xmm2,%xmm2
  movzbl 0x90(%rdi),%edx
  movzbl 0x93(%rdi),%r8d
  lea    0x9c(%rdi),%r9
  movdqa %xmm1,%xmm4
  punpckhbw %xmm3,%xmm1
  punpcklbw %xmm3,%xmm4
  movdqa %xmm1,%xmm5
  movdqa %xmm1,%xmm6
  movdqa %xmm4,%xmm0
  pxor   %xmm1,%xmm1
  punpckhwd %xmm2,%xmm4
  punpcklwd %xmm2,%xmm0
  punpcklwd %xmm2,%xmm5
  punpckhwd %xmm2,%xmm6
  movdqa %xmm0,%xmm7
  punpckhdq %xmm1,%xmm0
  punpckldq %xmm1,%xmm7
  paddq  %xmm7,%xmm0
  movdqa %xmm4,%xmm7
  punpckhdq %xmm1,%xmm4
  punpckldq %xmm1,%xmm7
  paddq  %xmm7,%xmm0
  paddq  %xmm4,%xmm0
  movdqa %xmm5,%xmm4
  punpckhdq %xmm1,%xmm5
  punpckldq %xmm1,%xmm4
  paddq  %xmm4,%xmm0
  movdqa %xmm6,%xmm4
  punpckldq %xmm1,%xmm4
  paddq  %xmm5,%xmm0
  movdqu 0x10(%rdi),%xmm5
  paddq  %xmm4,%xmm0
  movdqa %xmm6,%xmm4
  punpckhdq %xmm1,%xmm4
  paddq  %xmm4,%xmm0
  movdqa %xmm5,%xmm4
  punpckhbw %xmm3,%xmm5
  punpcklbw %xmm3,%xmm4
  movdqa %xmm5,%xmm7
  punpckhwd %xmm2,%xmm5
  movdqa %xmm4,%xmm6
  punpckhwd %xmm2,%xmm4
  punpcklwd %xmm2,%xmm7
  punpcklwd %xmm2,%xmm6
  movdqa %xmm6,%xmm8
  punpckhdq %xmm1,%xmm6
  punpckldq %xmm1,%xmm8
  paddq  %xmm8,%xmm0
  paddq  %xmm6,%xmm0
  movdqa %xmm4,%xmm6
  punpckhdq %xmm1,%xmm4
  punpckldq %xmm1,%xmm6
  paddq  %xmm6,%xmm0
  paddq  %xmm4,%xmm0
  movdqa %xmm7,%xmm4
  punpckldq %xmm1,%xmm4
  paddq  %xmm4,%xmm0
  movdqa %xmm7,%xmm4
  punpckhdq %xmm1,%xmm4
  paddq  %xmm4,%xmm0
  movdqa %xmm5,%xmm4
  punpckhdq %xmm1,%xmm5
  punpckldq %xmm1,%xmm4
  paddq  %xmm4,%xmm0
  paddq  %xmm5,%xmm0
  movdqu 0x20(%rdi),%xmm5
  movdqa %xmm5,%xmm4
  punpckhbw %xmm3,%xmm5
  punpcklbw %xmm3,%xmm4
  movdqa %xmm5,%xmm7
  punpckhwd %xmm2,%xmm5
  movdqa %xmm4,%xmm6
  punpckhwd %xmm2,%xmm4
  punpcklwd %xmm2,%xmm7
  punpcklwd %xmm2,%xmm6
  movdqa %xmm6,%xmm8
  punpckhdq %xmm1,%xmm6
  punpckldq %xmm1,%xmm8
  paddq  %xmm8,%xmm0
  paddq  %xmm6,%xmm0
  movdqa %xmm4,%xmm6
  punpckhdq %xmm1,%xmm4
  punpckldq %xmm1,%xmm6
  paddq  %xmm6,%xmm0
  paddq  %xmm4,%xmm0
  movdqa %xmm7,%xmm4
  punpckldq %xmm1,%xmm4
  paddq  %xmm4,%xmm0
  movdqa %xmm7,%xmm4
  punpckhdq %xmm1,%xmm4
  paddq  %xmm4,%xmm0
  movdqa %xmm5,%xmm4
  punpckhdq %xmm1,%xmm5
  punpckldq %xmm1,%xmm4
  paddq  %xmm4,%xmm0
  paddq  %xmm5,%xmm0
  movdqu 0x30(%rdi),%xmm5
  movdqa %xmm5,%xmm4
  punpckhbw %xmm3,%xmm5
  punpcklbw %xmm3,%xmm4
  movdqa %xmm5,%xmm7
  punpckhwd %xmm2,%xmm5
  movdqa %xmm4,%xmm6
  punpckhwd %xmm2,%xmm4
  punpcklwd %xmm2,%xmm7
  punpcklwd %xmm2,%xmm6
  movdqa %xmm6,%xmm8
  punpckhdq %xmm1,%xmm6
  punpckldq %xmm1,%xmm8
  paddq  %xmm8,%xmm0
  paddq  %xmm6,%xmm0
  movdqa %xmm4,%xmm6
  punpckhdq %xmm1,%xmm4
  punpckldq %xmm1,%xmm6
  paddq  %xmm6,%xmm0
  paddq  %xmm4,%xmm0
  movdqa %xmm7,%xmm4
  punpckldq %xmm1,%xmm4
  paddq  %xmm4,%xmm0
  movdqa %xmm7,%xmm4
  punpckhdq %xmm1,%xmm4
  paddq  %xmm4,%xmm0
  movdqa %xmm5,%xmm4
  punpckhdq %xmm1,%xmm5
  punpckldq %xmm1,%xmm4
  paddq  %xmm4,%xmm0
  paddq  %xmm5,%xmm0
  movdqu 0x40(%rdi),%xmm5
  movdqa %xmm5,%xmm4
  punpckhbw %xmm3,%xmm5
  punpcklbw %xmm3,%xmm4
  movdqa %xmm5,%xmm7
  punpckhwd %xmm2,%xmm5
  movdqa %xmm4,%xmm6
  punpckhwd %xmm2,%xmm4
  punpcklwd %xmm2,%xmm7
  punpcklwd %xmm2,%xmm6
  movdqa %xmm6,%xmm8
  punpckhdq %xmm1,%xmm6
  punpckldq %xmm1,%xmm8
  paddq  %xmm8,%xmm0
  paddq  %xmm6,%xmm0
  movdqa %xmm4,%xmm6
  punpckhdq %xmm1,%xmm4
  punpckldq %xmm1,%xmm6
  paddq  %xmm6,%xmm0
  paddq  %xmm4,%xmm0
  movdqa %xmm7,%xmm4
  punpckldq %xmm1,%xmm4
  paddq  %xmm4,%xmm0
  movdqa %xmm7,%xmm4
  punpckhdq %xmm1,%xmm4
  paddq  %xmm4,%xmm0
  movdqa %xmm5,%xmm4
  punpckhdq %xmm1,%xmm5
  punpckldq %xmm1,%xmm4
  paddq  %xmm4,%xmm0
  paddq  %xmm5,%xmm0
  movdqu 0x50(%rdi),%xmm5
  movdqa %xmm5,%xmm4
  punpckhbw %xmm3,%xmm5
  punpcklbw %xmm3,%xmm4
  movdqa %xmm5,%xmm7
  punpckhwd %xmm2,%xmm5
  movdqa %xmm4,%xmm6
  punpckhwd %xmm2,%xmm4
  punpcklwd %xmm2,%xmm7
  punpcklwd %xmm2,%xmm6
  movdqa %xmm6,%xmm8
  punpckhdq %xmm1,%xmm6
  punpckldq %xmm1,%xmm8
  paddq  %xmm8,%xmm0
  paddq  %xmm6,%xmm0
  movdqa %xmm4,%xmm6
  punpckhdq %xmm1,%xmm4
  punpckldq %xmm1,%xmm6
  paddq  %xmm6,%xmm0
  paddq  %xmm4,%xmm0
  movdqa %xmm7,%xmm4
  punpckldq %xmm1,%xmm4
  paddq  %xmm4,%xmm0
  movdqa %xmm7,%xmm4
  punpckhdq %xmm1,%xmm4
  paddq  %xmm4,%xmm0
  movdqa %xmm5,%xmm4
  punpckhdq %xmm1,%xmm5
  punpckldq %xmm1,%xmm4
  paddq  %xmm4,%xmm0
  paddq  %xmm5,%xmm0
  movdqu 0x60(%rdi),%xmm5
  movdqa %xmm5,%xmm4
  punpckhbw %xmm3,%xmm5
  punpcklbw %xmm3,%xmm4
  movdqa %xmm5,%xmm7
  punpckhwd %xmm2,%xmm5
  movdqa %xmm4,%xmm6
  punpckhwd %xmm2,%xmm4
  punpcklwd %xmm2,%xmm7
  punpcklwd %xmm2,%xmm6
  movdqa %xmm6,%xmm8
  punpckhdq %xmm1,%xmm6
  punpckldq %xmm1,%xmm8
  paddq  %xmm8,%xmm0
  paddq  %xmm6,%xmm0
  movdqa %xmm4,%xmm6
  punpckhdq %xmm1,%xmm4
  punpckldq %xmm1,%xmm6
  paddq  %xmm6,%xmm0
  paddq  %xmm4,%xmm0
  movdqa %xmm7,%xmm4
  punpckldq %xmm1,%xmm4
  paddq  %xmm4,%xmm0
  movdqa %xmm7,%xmm4
  punpckhdq %xmm1,%xmm4
  paddq  %xmm4,%xmm0
  movdqa %xmm5,%xmm4
  punpckhdq %xmm1,%xmm5
  punpckldq %xmm1,%xmm4
  paddq  %xmm4,%xmm0
  paddq  %xmm5,%xmm0
  movdqu 0x70(%rdi),%xmm5
  movdqa %xmm5,%xmm4
  punpckhbw %xmm3,%xmm5
  punpcklbw %xmm3,%xmm4
  movdqa %xmm5,%xmm7
  punpckhwd %xmm2,%xmm5
  movdqa %xmm4,%xmm6
  punpckhwd %xmm2,%xmm4
  punpcklwd %xmm2,%xmm7
  punpcklwd %xmm2,%xmm6
  movdqa %xmm6,%xmm8
  punpckhdq %xmm1,%xmm6
  punpckldq %xmm1,%xmm8
  paddq  %xmm8,%xmm0
  paddq  %xmm6,%xmm0
  movdqa %xmm4,%xmm6
  punpckhdq %xmm1,%xmm4
  punpckldq %xmm1,%xmm6
  paddq  %xmm6,%xmm0
  paddq  %xmm4,%xmm0
  movdqa %xmm7,%xmm4
  punpckldq %xmm1,%xmm4
  paddq  %xmm4,%xmm0
  movdqa %xmm7,%xmm4
  punpckhdq %xmm1,%xmm4
  paddq  %xmm4,%xmm0
  movdqa %xmm5,%xmm4
  punpckhdq %xmm1,%xmm5
  punpckldq %xmm1,%xmm4
  paddq  %xmm4,%xmm0
  paddq  %xmm5,%xmm0
  movdqu 0x80(%rdi),%xmm5
  movdqa %xmm5,%xmm4
  punpckhbw %xmm3,%xmm5
  punpcklbw %xmm3,%xmm4
  movdqa %xmm4,%xmm6
  movdqa %xmm4,%xmm3
  movdqa %xmm5,%xmm4
  punpcklwd %xmm2,%xmm6
  punpckhwd %xmm2,%xmm3
  punpcklwd %xmm2,%xmm4
  punpckhwd %xmm2,%xmm5
  movdqa %xmm6,%xmm2
  punpckhdq %xmm1,%xmm6
  punpckldq %xmm1,%xmm2
  paddq  %xmm2,%xmm0
  movdqa %xmm3,%xmm2
  punpckhdq %xmm1,%xmm3
  punpckldq %xmm1,%xmm2
  paddq  %xmm6,%xmm0
  paddq  %xmm2,%xmm0
  movdqa %xmm4,%xmm2
  punpckldq %xmm1,%xmm2
  paddq  %xmm3,%xmm0
  paddq  %xmm2,%xmm0
  movdqa %xmm4,%xmm2
  punpckhdq %xmm1,%xmm2
  paddq  %xmm2,%xmm0
  movdqa %xmm5,%xmm2
  punpckhdq %xmm1,%xmm5
  punpckldq %xmm1,%xmm2
  paddq  %xmm2,%xmm0
  paddq  %xmm5,%xmm0
  movdqa %xmm0,%xmm1
  psrldq $0x8,%xmm1
  paddq  %xmm1,%xmm0
  movq   %xmm0,%rax
  lea    0x100(%rax,%rdx,1),%rax
  movzbl 0x91(%rdi),%edx
  add    %rax,%rdx
  movzbl 0x92(%rdi),%eax
  add    %rdx,%rax
  add    %rax,%r8
  movslq %esi,%rax
  lea    (%rdi,%rax,1),%rdx
  cmp    %rdx,%r9
  jae    L21
  lea    -0x9c(%rax),%rcx
  sub    $0x9d,%rax
  cmp    $0xe,%rax
  jbe    L62
  pxor   %xmm0,%xmm0
  pxor   %xmm5,%xmm5
  pxor   %xmm4,%xmm4
  mov    %rcx,%rax
  and    $0xfffffffffffffff0,%rax
  pxor   %xmm3,%xmm3
  add    %rdi,%rax
  nopl   0x0(%rax,%rax,1)
L112:
  movdqu 0x9c(%rdi),%xmm1
  add    $0x10,%rdi
  movdqa %xmm1,%xmm2
  punpckhbw %xmm5,%xmm1
  punpcklbw %xmm5,%xmm2
  movdqa %xmm1,%xmm6
  punpckhwd %xmm4,%xmm1
  movdqa %xmm2,%xmm7
  punpckhwd %xmm4,%xmm2
  punpcklwd %xmm4,%xmm6
  punpcklwd %xmm4,%xmm7
  movdqa %xmm7,%xmm8
  punpckhdq %xmm3,%xmm7
  punpckldq %xmm3,%xmm8
  paddq  %xmm8,%xmm0
  paddq  %xmm7,%xmm0
  movdqa %xmm2,%xmm7
  punpckhdq %xmm3,%xmm2
  punpckldq %xmm3,%xmm7
  paddq  %xmm7,%xmm0
  paddq  %xmm2,%xmm0
  movdqa %xmm6,%xmm2
  punpckhdq %xmm3,%xmm6
  punpckldq %xmm3,%xmm2
  paddq  %xmm2,%xmm0
  movdqa %xmm1,%xmm2
  punpckhdq %xmm3,%xmm1
  paddq  %xmm6,%xmm0
  punpckldq %xmm3,%xmm2
  paddq  %xmm2,%xmm0
  paddq  %xmm1,%xmm0
  cmp    %rax,%rdi
  jne    L112
  movdqa %xmm0,%xmm1
  psrldq $0x8,%xmm1
  paddq  %xmm1,%xmm0
  movq   %xmm0,%rax
  add    %rax,%r8
  mov    %rcx,%rax
  and    $0xfffffffffffffff0,%rax
  add    %rax,%r9
  cmp    %rax,%rcx
  je     L21
L62:
  movzbl (%r9),%eax
  add    %rax,%r8
  lea    0x1(%r9),%rax
  cmp    %rax,%rdx
  jbe    L21
  movzbl 0x1(%r9),%eax
  add    %rax,%r8
  lea    0x2(%r9),%rax
  cmp    %rax,%rdx
  jbe    L21
  movzbl 0x2(%r9),%eax
  add    %rax,%r8
  lea    0x3(%r9),%rax
  cmp    %rax,%rdx
  jbe    L21
  movzbl 0x3(%r9),%eax
  add    %rax,%r8
  lea    0x4(%r9),%rax
  cmp    %rax,%rdx
  jbe    L21
  movzbl 0x4(%r9),%eax
  add    %rax,%r8
  lea    0x5(%r9),%rax
  cmp    %rax,%rdx
  jbe    L21
  movzbl 0x5(%r9),%eax
  add    %rax,%r8
  lea    0x6(%r9),%rax
  cmp    %rax,%rdx
  jbe    L21
  movzbl 0x6(%r9),%eax
  add    %rax,%r8
  lea    0x7(%r9),%rax
  cmp    %rax,%rdx
  jbe    L21
  movzbl 0x7(%r9),%eax
  add    %rax,%r8
  lea    0x8(%r9),%rax
  cmp    %rax,%rdx
  jbe    L21
  movzbl 0x8(%r9),%eax
  add    %rax,%r8
  lea    0x9(%r9),%rax
  cmp    %rax,%rdx
  jbe    L21
  movzbl 0x9(%r9),%eax
  add    %rax,%r8
  lea    0xa(%r9),%rax
  cmp    %rax,%rdx
  jbe    L21
  movzbl 0xa(%r9),%eax
  add    %rax,%r8
  lea    0xb(%r9),%rax
  cmp    %rax,%rdx
  jbe    L21
  movzbl 0xb(%r9),%eax
  add    %rax,%r8
  lea    0xc(%r9),%rax
  cmp    %rax,%rdx
  jbe    L21
  movzbl 0xc(%r9),%eax
  add    %rax,%r8
  lea    0xd(%r9),%rax
  cmp    %rax,%rdx
  jbe    L21
  movzbl 0xd(%r9),%eax
  add    %rax,%r8
  lea    0xe(%r9),%rax
  cmp    %rax,%rdx
  jbe    L21
  movzbl 0xe(%r9),%eax
  add    %rax,%r8
L21:
  mov    %r8,%rax
  ret
```

assistant: ```c
u_long tar_chksm(char *blk, int len) {
  char *stop;
  char *pt;
  u_long chksm = 256L;
  pt = blk;
  stop = blk + 148;
  while (pt < stop)
    chksm += (u_long)(*pt++ & 0xff);
  pt += 8;
  stop = blk + len;
  while (pt < stop)
    chksm += (u_long)(*pt++ & 0xff);
  return (chksm);
}
```