user: 请显示与下面列出的汇编代码相匹配的C语言实现:

```asm
<test>:
  endbr64
  mov    %edi,%edx
  mov    %rsi,%rcx
  cmp    $0x4,%edi
  jg     L9
  mov    (%rsi),%eax
  mov    $0x4,%esi
  mov    $0x5,%edi
  sub    %edx,%esi
  sub    %edx,%edi
  cmp    $0x2,%esi
  jbe    L1
  movd   %edx,%xmm3
  mov    %edi,%esi
  movd   %eax,%xmm0
  xor    %eax,%eax
  pshufd $0x0,%xmm3,%xmm2
  shr    $0x2,%esi
  paddd  D8(%rip),%xmm2
  movdqa D38(%rip),%xmm11
  movdqa D98(%rip),%xmm7
  movdqa D10(%rip),%xmm6
  movdqa D76(%rip),%xmm5
  movdqa D80(%rip),%xmm4
  movdqa D96(%rip),%xmm10
  movdqa D11(%rip),%xmm3
  movdqa D40(%rip),%xmm9
  movdqa D79(%rip),%xmm8
  nopl   0x0(%rax,%rax,1)
L7:
  movdqa %xmm2,%xmm1
  add    $0x1,%eax
  paddd  %xmm11,%xmm2
  movdqa %xmm1,%xmm12
  paddd  %xmm1,%xmm0
  pand   %xmm10,%xmm12
  paddd  %xmm12,%xmm0
  movdqa %xmm1,%xmm12
  pand   %xmm9,%xmm12
  paddd  %xmm0,%xmm12
  movdqa %xmm1,%xmm0
  pand   %xmm8,%xmm0
  paddd  %xmm12,%xmm0
  movdqa %xmm1,%xmm12
  pand   %xmm7,%xmm12
  paddd  %xmm0,%xmm12
  movdqa %xmm1,%xmm0
  pand   %xmm6,%xmm0
  paddd  %xmm12,%xmm0
  movdqa %xmm1,%xmm12
  pand   %xmm5,%xmm12
  paddd  %xmm0,%xmm12
  movdqa %xmm1,%xmm0
  pand   %xmm3,%xmm1
  pand   %xmm4,%xmm0
  paddd  %xmm12,%xmm0
  paddd  %xmm1,%xmm0
  cmp    %eax,%esi
  jne    L7
  movdqa %xmm0,%xmm1
  mov    %edi,%esi
  psrldq $0x8,%xmm1
  and    $0xfffffffc,%esi
  paddd  %xmm1,%xmm0
  add    %esi,%edx
  movdqa %xmm0,%xmm1
  psrldq $0x4,%xmm1
  paddd  %xmm1,%xmm0
  movd   %xmm0,%eax
  cmp    %esi,%edi
  je     L18
L1:
  mov    %edx,%esi
  add    %edx,%eax
  and    $0xfffffffe,%esi
  add    %esi,%eax
  mov    %edx,%esi
  and    $0xfffffffd,%esi
  add    %esi,%eax
  mov    %edx,%esi
  and    $0xfffffffc,%esi
  add    %esi,%eax
  mov    %edx,%esi
  and    $0xfffffffb,%esi
  add    %esi,%eax
  mov    %edx,%esi
  and    $0xfffffffa,%esi
  add    %esi,%eax
  mov    %edx,%esi
  and    $0xfffffff9,%esi
  add    %esi,%eax
  mov    %edx,%esi
  and    $0xfffffff8,%esi
  add    %esi,%eax
  mov    %edx,%esi
  and    $0xfffffff7,%esi
  add    %esi,%eax
  lea    0x1(%rdx),%esi
  cmp    $0x4,%edx
  je     L18
  mov    %esi,%edi
  add    %esi,%eax
  and    $0xfffffffe,%edi
  add    %edi,%eax
  mov    %esi,%edi
  and    $0xfffffffd,%edi
  add    %edi,%eax
  mov    %esi,%edi
  and    $0xfffffffc,%edi
  add    %edi,%eax
  mov    %esi,%edi
  and    $0xfffffffb,%edi
  add    %edi,%eax
  mov    %esi,%edi
  and    $0xfffffffa,%edi
  add    %edi,%eax
  mov    %esi,%edi
  and    $0xfffffff9,%edi
  add    %edi,%eax
  mov    %esi,%edi
  and    $0xfffffff7,%esi
  and    $0xfffffff8,%edi
  add    %edi,%eax
  add    %esi,%eax
  lea    0x2(%rdx),%esi
  cmp    $0x3,%edx
  je     L18
  mov    %esi,%edx
  add    %esi,%eax
  and    $0xfffffffe,%edx
  add    %edx,%eax
  mov    %esi,%edx
  and    $0xfffffffd,%edx
  add    %edx,%eax
  mov    %esi,%edx
  and    $0xfffffffc,%edx
  add    %edx,%eax
  mov    %esi,%edx
  and    $0xfffffffb,%edx
  add    %edx,%eax
  mov    %esi,%edx
  and    $0xfffffffa,%edx
  add    %edx,%eax
  mov    %esi,%edx
  and    $0xfffffff9,%edx
  add    %edx,%eax
  mov    %esi,%edx
  and    $0xfffffff7,%esi
  and    $0xfffffff8,%edx
  add    %edx,%eax
  add    %esi,%eax
L18:
  mov    %eax,(%rcx)
L9:
  ret
```

tool_calls: name: unpack_data
arguments: data_tag: D8
type_infered: byte[16]
name: unpack_data
arguments: data_tag: D38
type_infered: byte[16]
name: unpack_data
arguments: data_tag: D98
type_infered: byte[16]
name: unpack_data
arguments: data_tag: D10
type_infered: byte[16]
name: unpack_data
arguments: data_tag: D76
type_infered: byte[16]
name: unpack_data
arguments: data_tag: D80
type_infered: byte[16]
name: unpack_data
arguments: data_tag: D96
type_infered: byte[16]
name: unpack_data
arguments: data_tag: D11
type_infered: byte[16]
name: unpack_data
arguments: data_tag: D40
type_infered: byte[16]
name: unpack_data
arguments: data_tag: D79
type_infered: byte[16]

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

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

tool: {"D98": [0xfb,0xff,0xff,0xff,0xfb,0xff,0xff,0xff,0xfb,0xff,0xff,0xff,0xfb,0xff,0xff,0xff]}

tool: {"D10": [0xfa,0xff,0xff,0xff,0xfa,0xff,0xff,0xff,0xfa,0xff,0xff,0xff,0xfa,0xff,0xff,0xff]}

tool: {"D76": [0xf9,0xff,0xff,0xff,0xf9,0xff,0xff,0xff,0xf9,0xff,0xff,0xff,0xf9,0xff,0xff,0xff]}

tool: {"D80": [0xf8,0xff,0xff,0xff,0xf8,0xff,0xff,0xff,0xf8,0xff,0xff,0xff,0xf8,0xff,0xff,0xff]}

tool: {"D96": [0xfe,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xfe,0xff,0xff,0xff]}

tool: {"D11": [0xf7,0xff,0xff,0xff,0xf7,0xff,0xff,0xff,0xf7,0xff,0xff,0xff,0xf7,0xff,0xff,0xff]}

tool: {"D40": [0xfd,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xfd,0xff,0xff,0xff]}

tool: {"D79": [0xfc,0xff,0xff,0xff,0xfc,0xff,0xff,0xff,0xfc,0xff,0xff,0xff,0xfc,0xff,0xff,0xff]}

assistant: ```c
void test(int a, int *i) {
  for (; a < 5; ++a) {
    int b = 0;
    int c = 0;
    for (; b != -11; b--)
      for (int d = 0; d == 0; d++) {
        *i += c & a;
        c = b;
      }
  }
}
```