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

```asm
<ieee_p_1242562249_sub_4501204497521157593_1035706684>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0xb0,%rsp
  mov    %rdi,-0x88(%rbp)
  mov    %rsi,-0x90(%rbp)
  mov    %rdx,-0x98(%rbp)
  mov    %rcx,-0xa0(%rbp)
  mov    %r8,-0xa8(%rbp)
  mov    %fs:0x28,%rax
  mov    %rax,-0x8(%rbp)
  xor    %eax,%eax
  lea    -0x30(%rbp),%rax
  add    $0x4,%rax
  mov    %rax,-0x70(%rbp)
  cmpq   $0x0,-0x90(%rbp)
  setne  %al
  mov    %al,-0x7f(%rbp)
  cmpb   $0x1,-0x7f(%rbp)
  je     L57
  nop
L107:
  lea    -0x30(%rbp),%rax
  add    $0xc,%rax
  mov    %rax,-0x68(%rbp)
  mov    -0x68(%rbp),%rax
  mov    -0x98(%rbp),%rdx
  mov    %rdx,(%rax)
  lea    -0x30(%rbp),%rax
  add    $0x14,%rax
  mov    %rax,-0x60(%rbp)
  cmpq   $0x0,-0xa0(%rbp)
  setne  %al
  mov    %al,-0x7e(%rbp)
  cmpb   $0x1,-0x7e(%rbp)
  je     L38
  nop
L45:
  lea    -0x30(%rbp),%rax
  add    $0x1c,%rax
  mov    %rax,-0x58(%rbp)
  mov    -0x58(%rbp),%rax
  mov    -0xa8(%rbp),%rdx
  mov    %rdx,(%rax)
  mov    -0x98(%rbp),%rax
  add    $0xc,%rax
  mov    %rax,-0x50(%rbp)
  mov    -0x50(%rbp),%rax
  mov    (%rax),%eax
  mov    %eax,-0x78(%rbp)
  mov    -0xa8(%rbp),%rax
  add    $0xc,%rax
  mov    %rax,-0x48(%rbp)
  mov    -0x48(%rbp),%rax
  mov    (%rax),%eax
  mov    %eax,-0x74(%rbp)
  movb   $0x1,-0x80(%rbp)
  mov    -0x78(%rbp),%eax
  cmp    -0x74(%rbp),%eax
  je     L63
  nop
  jmp    L31
L10:
  nop
L31:
  movb   $0x0,-0x80(%rbp)
  jmp    L93
L7:
  nop
L93:
  movzbl -0x80(%rbp),%eax
  mov    %al,-0x7d(%rbp)
  movzbl -0x7d(%rbp),%eax
  mov    -0x8(%rbp),%rdx
  sub    %fs:0x28,%rdx
  je     L6
  jmp    L115
L57:
  nop
  mov    -0x70(%rbp),%rax
  mov    -0x90(%rbp),%rdx
  mov    %rdx,(%rax)
  jmp    L107
L38:
  nop
  mov    -0x60(%rbp),%rax
  mov    -0xa0(%rbp),%rdx
  mov    %rdx,(%rax)
  jmp    L45
L63:
  nop
  movl   $0x0,-0x7c(%rbp)
L12:
  mov    -0x7c(%rbp),%eax
  cmp    -0x78(%rbp),%eax
  jae    L7
  nop
  mov    -0x7c(%rbp),%edx
  mov    -0x90(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x40(%rbp)
  mov    -0x7c(%rbp),%edx
  mov    -0xa0(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x38(%rbp)
  mov    -0x40(%rbp),%rax
  movzbl (%rax),%edx
  mov    -0x38(%rbp),%rax
  movzbl (%rax),%eax
  cmp    %al,%dl
  jne    L10
  nop
  addl   $0x1,-0x7c(%rbp)
  jmp    L12
L115:
  call   <__stack_chk_fail@plt>
L6:
  leave
  ret
```

assistant: ```c
unsigned char ieee_p_1242562249_sub_4501204497521157593_1035706684(char *t1, char *t2, char *t3, char *t4, char *t5) {
  char t7[40];
  unsigned char t0;
  char *t8;
  unsigned char t9;
  char *t10;
  char *t11;
  unsigned char t12;
  char *t13;
  char *t14;
  unsigned int t15;
  char *t16;
  unsigned int t17;
  unsigned char t18;
  unsigned int t19;
  char *t20;
  char *t21;
LAB0:
  t8 = (t7 + 4U);
  t9 = (t2 != 0);
  if (t9 == 1)
    goto LAB3;
LAB2:
  t10 = (t7 + 12U);
  *((char **)t10) = t3;
  t11 = (t7 + 20U);
  t12 = (t4 != 0);
  if (t12 == 1)
    goto LAB5;
LAB4:
  t13 = (t7 + 28U);
  *((char **)t13) = t5;
  t14 = (t3 + 12U);
  t15 = *((unsigned int *)t14);
  t15 = (t15 * 1U);
  t16 = (t5 + 12U);
  t17 = *((unsigned int *)t16);
  t17 = (t17 * 1U);
  t18 = 1;
  if (t15 == t17)
    goto LAB6;
LAB7:
  t18 = 0;
LAB8:
  t0 = t18;
LAB1:
  return t0;
LAB3:
  *((char **)t8) = t2;
  goto LAB2;
LAB5:
  *((char **)t11) = t4;
  goto LAB4;
LAB6:
  t19 = 0;
LAB9:
  if (t19 < t15)
    goto LAB10;
  else
    goto LAB8;
LAB10:
  t20 = (t2 + t19);
  t21 = (t4 + t19);
  if (*((unsigned char *)t20) != *((unsigned char *)t21))
    goto LAB7;
LAB11:
  t19 = (t19 + 1);
  goto LAB9;
LAB12:;
}
```