user: What would the C source look like for the assembly code provided here?

```asm
<ieee_p_2592010699_sub_7991387870887201249_503743352>:
  endbr64
  cmpl   $0x1,0xc(%rdx)
  mov    %rsi,%r10
  mov    0x8(%rdx),%r8d
  mov    0x4(%rdx),%r9d
  mov    (%rdx),%esi
  je     L67
  mov    %r9d,%r11d
  mov    %esi,%eax
  imul   %r8d,%r11d
  imul   %r8d,%eax
  cmp    %eax,%r11d
  jl     L3
  mov    0x490(%rdi),%rdi
  movzbl (%r10),%eax
  movzbl 0x24(%rdi,%rax,1),%eax
  cmp    %esi,%r9d
  je     L15
  push   %rbp
  add    %r8d,%esi
  push   %rbx
  mov    %r8d,%ebx
  mov    %esi,%ecx
  imul   %r8d,%ebx
  imul   %r8d,%ecx
  mov    %ebx,%ebp
  sub    %ecx,%ebp
  jmp    L1
  nopw   0x0(%rax,%rax,1)
L10:
  lea    0x0(%rbp,%rcx,1),%edx
  lea    (%rax,%rax,8),%eax
  add    %ebx,%ecx
  movzbl (%r10,%rdx,1),%edx
  add    %eax,%edx
  movzbl (%rdi,%rdx,1),%eax
  cmp    %esi,%r9d
  je     L64
  add    %r8d,%esi
L1:
  cmp    %r11d,%ecx
  jle    L10
L64:
  pop    %rbx
  pop    %rbp
  ret
  nopl   0x0(%rax)
L67:
  cmp    %esi,%r9d
  jl     L63
  cmp    $0xffffffff,%r8d
  cmovne %esi,%r9d
L44:
  sub    %esi,%r9d
  imul   %r8d,%r9d
  movzbl (%r10,%r9,1),%eax
  ret
L63:
  cmp    $0x1,%r8d
  cmove  %esi,%r9d
  jmp    L44
L3:
  mov    $0x4,%eax
  ret
L15:
  ret
```

assistant: ```c
unsigned char ieee_p_2592010699_sub_7991387870887201249_503743352(char *t1, char *t2, char *t3) {
  char t4[128];
  char t5[24];
  char t9[8];
  unsigned char t0;
  char *t6;
  char *t7;
  char *t8;
  char *t10;
  char *t11;
  char *t12;
  unsigned char t13;
  char *t14;
  char *t15;
  unsigned int t16;
  unsigned char t17;
  int t18;
  char *t19;
  int t20;
  char *t21;
  int t22;
  char *t23;
  int t24;
  char *t25;
  int t26;
  char *t27;
  int t28;
  int t29;
  unsigned int t30;
  unsigned int t31;
  unsigned int t32;
  char *t33;
  unsigned char t34;
  int t35;
  int t36;
  int t37;
  int t38;
  unsigned int t39;
  int t40;
  unsigned int t41;
  unsigned int t42;
  unsigned int t43;
  unsigned int t44;
LAB0:
  t6 = (t4 + 4U);
  t7 = (t1 + 3216);
  t8 = (t6 + 88U);
  *((char **)t8) = t7;
  t10 = (t6 + 56U);
  *((char **)t10) = t9;
  *((unsigned char *)t9) = (unsigned char)4;
  t11 = (t6 + 80U);
  *((unsigned int *)t11) = 1U;
  t12 = (t5 + 4U);
  t13 = (t2 != 0);
  if (t13 == 1)
    goto LAB3;
LAB2:
  t14 = (t5 + 12U);
  *((char **)t14) = t3;
  t15 = (t3 + 12U);
  t16 = *((unsigned int *)t15);
  t17 = (t16 == 1);
  if (t17 != 0)
    goto LAB4;
LAB6:
  t7 = (t3 + 8U);
  t18 = *((int *)t7);
  t8 = (t3 + 4U);
  t20 = *((int *)t8);
  t10 = (t3 + 0U);
  t22 = *((int *)t10);
  t24 = t22;
  t26 = t20;
LAB15:
  t28 = (t26 * t18);
  t29 = (t24 * t18);
  if (t29 <= t28)
    goto LAB16;
LAB18:
LAB5:
  t7 = (t6 + 56U);
  t8 = *((char **)t7);
  t13 = *((unsigned char *)t8);
  t0 = t13;
LAB1:
  return t0;
LAB3:
  *((char **)t12) = t2;
  goto LAB2;
LAB4:
  t19 = (t3 + 0U);
  t20 = *((int *)t19);
  t21 = (t3 + 4U);
  t22 = *((int *)t21);
  t23 = (t3 + 8U);
  t24 = *((int *)t23);
  if (t20 > t22)
    goto LAB7;
LAB8:
  if (t24 == -1)
    goto LAB12;
LAB13:
  t18 = t20;
LAB9:
  t25 = (t3 + 0U);
  t26 = *((int *)t25);
  t27 = (t3 + 8U);
  t28 = *((int *)t27);
  t29 = (t18 - t26);
  t30 = (t29 * t28);
  t31 = (1U * t30);
  t32 = (0 + t31);
  t33 = (t2 + t32);
  t34 = *((unsigned char *)t33);
  t0 = t34;
  goto LAB1;
LAB7:
  if (t24 == 1)
    goto LAB10;
LAB11:
  t18 = t22;
  goto LAB9;
LAB10:
  t18 = t20;
  goto LAB9;
LAB12:
  t18 = t22;
  goto LAB9;
LAB14:
  goto LAB5;
LAB16:
  t11 = (t1 + 1168U);
  t15 = *((char **)t11);
  t11 = (t6 + 56U);
  t19 = *((char **)t11);
  t13 = *((unsigned char *)t19);
  t35 = (t13 - 0);
  t16 = (t35 * 1);
  t30 = (t16 * 9U);
  t11 = (t3 + 0U);
  t36 = *((int *)t11);
  t21 = (t3 + 8U);
  t37 = *((int *)t21);
  t38 = (t24 - t36);
  t31 = (t38 * t37);
  t32 = (1U * t31);
  t39 = (0 + t32);
  t23 = (t2 + t39);
  t17 = *((unsigned char *)t23);
  t40 = (t17 - 0);
  t41 = (t40 * 1);
  t42 = (t30 + t41);
  t43 = (1U * t42);
  t44 = (0 + t43);
  t25 = (t15 + t44);
  t34 = *((unsigned char *)t25);
  t27 = (t6 + 56U);
  t33 = *((char **)t27);
  t27 = (t33 + 0);
  *((unsigned char *)t27) = t34;
LAB17:
  if (t24 == t26)
    goto LAB18;
LAB19:
  t20 = (t24 + t18);
  t24 = t20;
  goto LAB15;
LAB20:;
}
```