user: 请将以下的汇编代码转换成C语言代码：

```asm
<audit_test>:
  endbr64
  sub    $0x38,%rsp
  mov    %edi,0x1c(%rsp)
  mov    %esi,0x18(%rsp)
  mov    %edx,0x14(%rsp)
  mov    %ecx,0x10(%rsp)
  mov    %r8d,0xc(%rsp)
  mov    %r9d,0x8(%rsp)
  mov    %fs:0x28,%rax
  mov    %rax,0x28(%rsp)
  xor    %eax,%eax
  mov    $0x100,%edi
  call   <_mm_set1_epi32@plt>
  mov    %eax,0x24(%rsp)
  lea    0x1c(%rsp),%rsi
  lea    0x24(%rsp),%rdi
  mov    $0x4,%edx
  call   <memcmp@plt>
  test   %rax,%rax
  jne    L52
L15:
  mov    $0x101,%edi
  call   <_mm_set1_epi32@plt>
  mov    %eax,0x24(%rsp)
  lea    0x18(%rsp),%rsi
  lea    0x24(%rsp),%rdi
  mov    $0x4,%edx
  call   <memcmp@plt>
  test   %rax,%rax
  jne    L154
L130:
  mov    $0x102,%edi
  call   <_mm_set1_epi32@plt>
  mov    %eax,0x24(%rsp)
  lea    0x14(%rsp),%rsi
  lea    0x24(%rsp),%rdi
  mov    $0x4,%edx
  call   <memcmp@plt>
  test   %rax,%rax
  jne    L27
L121:
  mov    $0x103,%edi
  call   <_mm_set1_epi32@plt>
  mov    %eax,0x24(%rsp)
  lea    0x10(%rsp),%rsi
  lea    0x24(%rsp),%rdi
  mov    $0x4,%edx
  call   <memcmp@plt>
  test   %rax,%rax
  jne    L65
L53:
  mov    $0x104,%edi
  call   <_mm_set1_epi32@plt>
  mov    %eax,0x24(%rsp)
  lea    0xc(%rsp),%rsi
  lea    0x24(%rsp),%rdi
  mov    $0x4,%edx
  call   <memcmp@plt>
  test   %rax,%rax
  jne    L107
L82:
  mov    $0x105,%edi
  call   <_mm_set1_epi32@plt>
  mov    %eax,0x24(%rsp)
  lea    0x8(%rsp),%rsi
  lea    0x24(%rsp),%rdi
  mov    $0x4,%edx
  call   <memcmp@plt>
  test   %rax,%rax
  jne    L35
L77:
  mov    $0x106,%edi
  call   <_mm_set1_epi32@plt>
  mov    %eax,0x24(%rsp)
  lea    0x24(%rsp),%rdi
  mov    $0x4,%edx
  lea    0x40(%rsp),%rsi
  call   <memcmp@plt>
  test   %rax,%rax
  jne    L26
L80:
  mov    $0x107,%edi
  call   <_mm_set1_epi32@plt>
  mov    %eax,0x24(%rsp)
  lea    0x48(%rsp),%rsi
  lea    0x24(%rsp),%rdi
  mov    $0x4,%edx
  call   <memcmp@plt>
  test   %rax,%rax
  jne    L20
L10:
  mov    $0x0,%eax
  call   <_mm_setzero_si128@plt>
  mov    0x28(%rsp),%rdx
  sub    %fs:0x28,%rdx
  jne    L132
  add    $0x38,%rsp
  ret
L52:
  mov    $0x0,%eax
  call   <abort@plt>
  jmp    L15
L154:
  mov    $0x0,%eax
  call   <abort@plt>
  jmp    L130
L27:
  mov    $0x0,%eax
  call   <abort@plt>
  jmp    L121
L65:
  mov    $0x0,%eax
  call   <abort@plt>
  jmp    L53
L107:
  mov    $0x0,%eax
  call   <abort@plt>
  jmp    L82
L35:
  mov    $0x0,%eax
  call   <abort@plt>
  jmp    L77
L26:
  mov    $0x0,%eax
  call   <abort@plt>
  jmp    L80
L20:
  mov    $0x0,%eax
  call   <abort@plt>
  jmp    L10
L132:
  call   <__stack_chk_fail@plt>
```

assistant: ```c
__m128i audit_test(__m128i x0, __m128i x1, __m128i x2, __m128i x3, __m128i x4, __m128i x5, __m128i x6, __m128i x7) {
  __m128i xmm;
  xmm = _mm_set1_epi32(0x100);
  if (memcmp(&xmm, &x0, sizeof(xmm)))
    abort();
  xmm = _mm_set1_epi32(0x101);
  if (memcmp(&xmm, &x1, sizeof(xmm)))
    abort();
  xmm = _mm_set1_epi32(0x102);
  if (memcmp(&xmm, &x2, sizeof(xmm)))
    abort();
  xmm = _mm_set1_epi32(0x103);
  if (memcmp(&xmm, &x3, sizeof(xmm)))
    abort();
  xmm = _mm_set1_epi32(0x104);
  if (memcmp(&xmm, &x4, sizeof(xmm)))
    abort();
  xmm = _mm_set1_epi32(0x105);
  if (memcmp(&xmm, &x5, sizeof(xmm)))
    abort();
  xmm = _mm_set1_epi32(0x106);
  if (memcmp(&xmm, &x6, sizeof(xmm)))
    abort();
  xmm = _mm_set1_epi32(0x107);
  if (memcmp(&xmm, &x7, sizeof(xmm)))
    abort();
  return _mm_setzero_si128();
}
```