user: Converte this assembly snippet into its equivalent C code:

```asm
<mayor4>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  mov    %edi,-0x14(%rbp)
  mov    %esi,-0x18(%rbp)
  mov    %edx,-0x1c(%rbp)
  mov    %ecx,-0x20(%rbp)
  mov    %r8d,-0x24(%rbp)
  mov    -0x14(%rbp),%eax
  cmp    -0x18(%rbp),%eax
  je     L130
  mov    -0x14(%rbp),%eax
  cmp    -0x1c(%rbp),%eax
  je     L130
  mov    -0x14(%rbp),%eax
  cmp    -0x20(%rbp),%eax
  je     L130
  mov    -0x14(%rbp),%eax
  cmp    -0x24(%rbp),%eax
  je     L130
  mov    -0x18(%rbp),%eax
  cmp    -0x1c(%rbp),%eax
  je     L130
  mov    -0x18(%rbp),%eax
  cmp    -0x20(%rbp),%eax
  je     L130
  mov    -0x18(%rbp),%eax
  cmp    -0x24(%rbp),%eax
  je     L130
  mov    -0x1c(%rbp),%eax
  cmp    -0x20(%rbp),%eax
  je     L130
  mov    -0x1c(%rbp),%eax
  cmp    -0x24(%rbp),%eax
  je     L130
  mov    -0x20(%rbp),%eax
  cmp    -0x24(%rbp),%eax
  je     L130
  mov    $0x1,%eax
  jmp    L127
L130:
  mov    $0x0,%eax
L127:
  test   %eax,%eax
  jne    L138
  mov    $0xffffffff,%eax
  jmp    L160
L138:
  movl   $0x0,-0x4(%rbp)
  mov    -0x20(%rbp),%edx
  mov    -0x1c(%rbp),%eax
  cmp    %eax,%edx
  cmovl  %eax,%edx
  mov    -0x18(%rbp),%ecx
  mov    -0x14(%rbp),%eax
  cmp    %eax,%ecx
  cmovge %ecx,%eax
  cmp    %eax,%edx
  cmovge %edx,%eax
  cmp    %eax,-0x24(%rbp)
  jle    L131
  mov    -0x20(%rbp),%edx
  mov    -0x1c(%rbp),%eax
  cmp    %eax,%edx
  cmovl  %eax,%edx
  mov    -0x18(%rbp),%ecx
  mov    -0x14(%rbp),%eax
  cmp    %eax,%ecx
  cmovge %ecx,%eax
  cmp    %eax,%edx
  cmovge %edx,%eax
  mov    %eax,-0x4(%rbp)
L131:
  mov    -0x24(%rbp),%edx
  mov    -0x1c(%rbp),%eax
  cmp    %eax,%edx
  cmovl  %eax,%edx
  mov    -0x18(%rbp),%ecx
  mov    -0x14(%rbp),%eax
  cmp    %eax,%ecx
  cmovge %ecx,%eax
  cmp    %eax,%edx
  cmovge %edx,%eax
  cmp    %eax,-0x20(%rbp)
  jle    L167
  mov    -0x24(%rbp),%edx
  mov    -0x1c(%rbp),%eax
  cmp    %eax,%edx
  cmovl  %eax,%edx
  mov    -0x18(%rbp),%ecx
  mov    -0x14(%rbp),%eax
  cmp    %eax,%ecx
  cmovge %ecx,%eax
  cmp    %eax,%edx
  cmovge %edx,%eax
  mov    %eax,-0x4(%rbp)
L167:
  mov    -0x20(%rbp),%edx
  mov    -0x24(%rbp),%eax
  cmp    %eax,%edx
  cmovl  %eax,%edx
  mov    -0x18(%rbp),%ecx
  mov    -0x14(%rbp),%eax
  cmp    %eax,%ecx
  cmovge %ecx,%eax
  cmp    %eax,%edx
  cmovge %edx,%eax
  cmp    %eax,-0x1c(%rbp)
  jle    L24
  mov    -0x20(%rbp),%edx
  mov    -0x24(%rbp),%eax
  cmp    %eax,%edx
  cmovl  %eax,%edx
  mov    -0x18(%rbp),%ecx
  mov    -0x14(%rbp),%eax
  cmp    %eax,%ecx
  cmovge %ecx,%eax
  cmp    %eax,%edx
  cmovge %edx,%eax
  mov    %eax,-0x4(%rbp)
L24:
  mov    -0x20(%rbp),%edx
  mov    -0x1c(%rbp),%eax
  cmp    %eax,%edx
  cmovl  %eax,%edx
  mov    -0x24(%rbp),%ecx
  mov    -0x14(%rbp),%eax
  cmp    %eax,%ecx
  cmovge %ecx,%eax
  cmp    %eax,%edx
  cmovge %edx,%eax
  cmp    %eax,-0x18(%rbp)
  jle    L105
  mov    -0x20(%rbp),%edx
  mov    -0x1c(%rbp),%eax
  cmp    %eax,%edx
  cmovl  %eax,%edx
  mov    -0x24(%rbp),%ecx
  mov    -0x14(%rbp),%eax
  cmp    %eax,%ecx
  cmovge %ecx,%eax
  cmp    %eax,%edx
  cmovge %edx,%eax
  mov    %eax,-0x4(%rbp)
L105:
  mov    -0x20(%rbp),%edx
  mov    -0x1c(%rbp),%eax
  cmp    %eax,%edx
  cmovl  %eax,%edx
  mov    -0x18(%rbp),%ecx
  mov    -0x24(%rbp),%eax
  cmp    %eax,%ecx
  cmovge %ecx,%eax
  cmp    %eax,%edx
  cmovge %edx,%eax
  cmp    %eax,-0x14(%rbp)
  jle    L145
  mov    -0x20(%rbp),%edx
  mov    -0x1c(%rbp),%eax
  cmp    %eax,%edx
  cmovl  %eax,%edx
  mov    -0x18(%rbp),%ecx
  mov    -0x24(%rbp),%eax
  cmp    %eax,%ecx
  cmovge %ecx,%eax
  cmp    %eax,%edx
  cmovge %edx,%eax
  mov    %eax,-0x4(%rbp)
L145:
  mov    -0x4(%rbp),%eax
L160:
  pop    %rbp
  ret
```

assistant: ```c
int mayor4(int a, int b, int c, int d, int e) {
  int mayorde4;
  if (!((a) == (b) || (a) == (c) || (a) == (d) || (a) == (e) || (b) == (c) || (b) == (d) || (b) == (e) || (c) == (d) || (c) == (e) || (d) == (e)) == 0)
    return -1;
  mayorde4 = 0;
  if (((((a) > (b) ? (a) : (b))) > (((c) > (d) ? (c) : (d))) ? (((a) > (b) ? (a) : (b))) : (((c) > (d) ? (c) : (d)))) < e)
    mayorde4 = ((((a) > (b) ? (a) : (b))) > (((c) > (d) ? (c) : (d))) ? (((a) > (b) ? (a) : (b))) : (((c) > (d) ? (c) : (d))));
  if (((((a) > (b) ? (a) : (b))) > (((c) > (e) ? (c) : (e))) ? (((a) > (b) ? (a) : (b))) : (((c) > (e) ? (c) : (e)))) < d)
    mayorde4 = ((((a) > (b) ? (a) : (b))) > (((c) > (e) ? (c) : (e))) ? (((a) > (b) ? (a) : (b))) : (((c) > (e) ? (c) : (e))));
  if (((((a) > (b) ? (a) : (b))) > (((e) > (d) ? (e) : (d))) ? (((a) > (b) ? (a) : (b))) : (((e) > (d) ? (e) : (d)))) < c)
    mayorde4 = ((((a) > (b) ? (a) : (b))) > (((e) > (d) ? (e) : (d))) ? (((a) > (b) ? (a) : (b))) : (((e) > (d) ? (e) : (d))));
  if (((((a) > (e) ? (a) : (e))) > (((c) > (d) ? (c) : (d))) ? (((a) > (e) ? (a) : (e))) : (((c) > (d) ? (c) : (d)))) < b)
    mayorde4 = ((((a) > (e) ? (a) : (e))) > (((c) > (d) ? (c) : (d))) ? (((a) > (e) ? (a) : (e))) : (((c) > (d) ? (c) : (d))));
  if (((((e) > (b) ? (e) : (b))) > (((c) > (d) ? (c) : (d))) ? (((e) > (b) ? (e) : (b))) : (((c) > (d) ? (c) : (d)))) < a)
    mayorde4 = ((((e) > (b) ? (e) : (b))) > (((c) > (d) ? (c) : (d))) ? (((e) > (b) ? (e) : (b))) : (((c) > (d) ? (c) : (d))));
  return mayorde4;
}
```