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

```asm
<internal_fiat_p256_opp>:
  endbr64
  push   %r15
  push   %r14
  push   %r13
  push   %r12
  push   %rbp
  push   %rbx
  sub    $0x28,%rsp
  mov    %rdi,%rbx
  mov    %rsi,%rbp
  mov    $0x8,%esi
  mov    %ebp,%edi
  call   <_br2_load@plt>
  mov    %rax,%r14
  lea    0x4(%rbp),%edi
  mov    $0x8,%esi
  call   <_br2_load@plt>
  mov    %rax,%r15
  lea    0x8(%rbp),%edi
  mov    $0x8,%esi
  call   <_br2_load@plt>
  mov    %rax,%r13
  lea    0xc(%rbp),%edi
  mov    $0x8,%esi
  call   <_br2_load@plt>
  mov    %rax,%r12
  lea    0x10(%rbp),%edi
  mov    $0x8,%esi
  call   <_br2_load@plt>
  mov    %rax,0x8(%rsp)
  lea    0x14(%rbp),%edi
  mov    $0x8,%esi
  call   <_br2_load@plt>
  mov    %rax,0x10(%rsp)
  lea    0x18(%rbp),%edi
  mov    $0x8,%esi
  call   <_br2_load@plt>
  mov    %rax,0x18(%rsp)
  lea    0x1c(%rbp),%edi
  mov    $0x8,%esi
  call   <_br2_load@plt>
  mov    %r15,%rcx
  neg    %rcx
  mov    %r14,%r15
  neg    %r15
  setne  %dl
  movzbl %dl,%edx
  mov    %rcx,%rbp
  sub    %rdx,%rbp
  neg    %r13
  test   %rcx,%rcx
  setne  %dl
  movzbl %dl,%edx
  cmp    %rbp,%rcx
  adc    $0x0,%edx
  movslq %edx,%rdx
  mov    %r13,%r11
  sub    %rdx,%r11
  neg    %r12
  test   %r13,%r13
  setne  %dl
  movzbl %dl,%edx
  cmp    %r11,%r13
  adc    $0x0,%edx
  movslq %edx,%rdx
  mov    %r12,%r9
  sub    %rdx,%r9
  mov    0x8(%rsp),%rsi
  neg    %rsi
  test   %r12,%r12
  setne  %dl
  movzbl %dl,%edx
  cmp    %r9,%r12
  adc    $0x0,%edx
  movslq %edx,%rdx
  mov    %rsi,%r8
  sub    %rdx,%r8
  mov    0x10(%rsp),%rcx
  neg    %rcx
  test   %rsi,%rsi
  setne  %dl
  movzbl %dl,%edx
  cmp    %r8,%rsi
  adc    $0x0,%edx
  movslq %edx,%rdx
  mov    %rcx,%rdi
  sub    %rdx,%rdi
  mov    0x18(%rsp),%r10
  neg    %r10
  test   %rcx,%rcx
  setne  %dl
  movzbl %dl,%edx
  cmp    %rdi,%rcx
  adc    $0x0,%edx
  movslq %edx,%rdx
  mov    %r10,%rsi
  sub    %rdx,%rsi
  neg    %rax
  test   %r10,%r10
  setne  %cl
  movzbl %cl,%ecx
  cmp    %rsi,%r10
  adc    $0x0,%ecx
  movslq %ecx,%rcx
  mov    %rax,%rdx
  sub    %rcx,%rdx
  test   %rax,%rax
  setne  %cl
  movzbl %cl,%ecx
  cmp    %rdx,%rax
  mov    %ecx,%eax
  adc    $0x0,%eax
  test   %eax,%eax
  setne  %cl
  movzbl %cl,%ecx
  mov    %rcx,%rax
  neg    %rax
  mov    %rax,%r10
  sub    %r14,%r10
  cmp    %r10,%r15
  seta   %r12b
  movzbl %r12b,%r12d
  add    %rbp,%r12
  mov    %r12,%r15
  sub    %rcx,%r15
  cmp    %r12,%rbp
  seta   %bpl
  movzbl %bpl,%ebp
  cmp    %rax,%r15
  adc    $0x0,%ebp
  movslq %ebp,%rbp
  add    %r11,%rbp
  mov    %rbp,%r14
  sub    %rcx,%r14
  cmp    %rbp,%r11
  seta   %bpl
  movzbl %bpl,%ebp
  cmp    %r14,%rax
  seta   %r11b
  movzbl %r11b,%r11d
  add    %r11d,%ebp
  movslq %ebp,%rbp
  add    %r9,%rbp
  mov    %r8,%r13
  adc    $0x0,%r13
  cmp    %r13,%r8
  seta   %r12b
  movzbl %r12b,%r12d
  add    %rdi,%r12
  mov    %rsi,%rdi
  adc    $0x0,%rdi
  and    $0x1,%eax
  cmp    %rdi,%rsi
  seta   %sil
  movzbl %sil,%esi
  add    %rdi,%rax
  mov    %rax,0x8(%rsp)
  mov    %esi,%eax
  adc    $0x0,%eax
  cltq
  sub    %rcx,%rdx
  lea    (%rax,%rdx,1),%rcx
  mov    %rcx,0x10(%rsp)
  mov    $0x8,%edx
  mov    %r10,%rsi
  mov    %ebx,%edi
  call   <_br2_store@plt>
  lea    0x4(%rbx),%edi
  mov    $0x8,%edx
  mov    %r15,%rsi
  call   <_br2_store@plt>
  lea    0x8(%rbx),%edi
  mov    $0x8,%edx
  mov    %r14,%rsi
  call   <_br2_store@plt>
  lea    0xc(%rbx),%edi
  mov    $0x8,%edx
  mov    %rbp,%rsi
  call   <_br2_store@plt>
  lea    0x10(%rbx),%edi
  mov    $0x8,%edx
  mov    %r13,%rsi
  call   <_br2_store@plt>
  lea    0x14(%rbx),%edi
  mov    $0x8,%edx
  mov    %r12,%rsi
  call   <_br2_store@plt>
  lea    0x18(%rbx),%edi
  mov    $0x8,%edx
  mov    0x8(%rsp),%rsi
  call   <_br2_store@plt>
  lea    0x1c(%rbx),%edi
  mov    $0x8,%edx
  mov    0x10(%rsp),%rsi
  call   <_br2_store@plt>
  add    $0x28,%rsp
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  pop    %r15
  ret
```

assistant: ```c
void internal_fiat_p256_opp(uintptr_t out0, uintptr_t in0) {
  uintptr_t x0, x1, x2, x9, x3, x11, x4, x13, x5, x15, x6, x17, x7, x19, x21, x8, x25, x10, x27, x12, x14, x16, x18, x32, x20, x22, x23, x24, x26, x28, x29, x30, x31, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42;
  x0 = _br2_load((in0) + ((uintptr_t)0ULL), sizeof(uintptr_t));
  x1 = _br2_load((in0) + ((uintptr_t)4ULL), sizeof(uintptr_t));
  x2 = _br2_load((in0) + ((uintptr_t)8ULL), sizeof(uintptr_t));
  x3 = _br2_load((in0) + ((uintptr_t)12ULL), sizeof(uintptr_t));
  x4 = _br2_load((in0) + ((uintptr_t)16ULL), sizeof(uintptr_t));
  x5 = _br2_load((in0) + ((uintptr_t)20ULL), sizeof(uintptr_t));
  x6 = _br2_load((in0) + ((uintptr_t)24ULL), sizeof(uintptr_t));
  x7 = _br2_load((in0) + ((uintptr_t)28ULL), sizeof(uintptr_t));
  x8 = ((uintptr_t)0ULL) - (x0);
  x9 = ((uintptr_t)0ULL) - (x1);
  x10 = (x9) - (((uintptr_t)0ULL) < (x8));
  x11 = ((uintptr_t)0ULL) - (x2);
  x12 = (x11) - ((((uintptr_t)0ULL) < (x9)) + ((x9) < (x10)));
  x13 = ((uintptr_t)0ULL) - (x3);
  x14 = (x13) - ((((uintptr_t)0ULL) < (x11)) + ((x11) < (x12)));
  x15 = ((uintptr_t)0ULL) - (x4);
  x16 = (x15) - ((((uintptr_t)0ULL) < (x13)) + ((x13) < (x14)));
  x17 = ((uintptr_t)0ULL) - (x5);
  x18 = (x17) - ((((uintptr_t)0ULL) < (x15)) + ((x15) < (x16)));
  x19 = ((uintptr_t)0ULL) - (x6);
  x20 = (x19) - ((((uintptr_t)0ULL) < (x17)) + ((x17) < (x18)));
  x21 = ((uintptr_t)0ULL) - (x7);
  x22 = (x21) - ((((uintptr_t)0ULL) < (x19)) + ((x19) < (x20)));
  x23 = ((uintptr_t)-1ULL) + (((((uintptr_t)0ULL) < (x21)) + ((x21) < (x22))) == ((uintptr_t)0ULL));
  x24 = (x8) + (x23);
  x25 = ((x24) < (x8)) + (x10);
  x26 = (x25) + (x23);
  x27 = (((x25) < (x10)) + ((x26) < (x23))) + (x12);
  x28 = (x27) + (x23);
  x29 = (((x27) < (x12)) + ((x28) < (x23))) + (x14);
  x30 = ((x29) < (x14)) + (x16);
  x31 = ((x30) < (x16)) + (x18);
  x32 = ((x31) < (x18)) + (x20);
  x33 = (x32) + ((x23) & ((uintptr_t)1ULL));
  x34 = ((((x32) < (x20)) + ((x33) < ((x23) & ((uintptr_t)1ULL)))) + (x22)) + (x23);
  x35 = x24;
  x36 = x26;
  x37 = x28;
  x38 = x29;
  x39 = x30;
  x40 = x31;
  x41 = x33;
  x42 = x34;
  _br2_store((out0) + ((uintptr_t)0ULL), x35, sizeof(uintptr_t));
  _br2_store((out0) + ((uintptr_t)4ULL), x36, sizeof(uintptr_t));
  _br2_store((out0) + ((uintptr_t)8ULL), x37, sizeof(uintptr_t));
  _br2_store((out0) + ((uintptr_t)12ULL), x38, sizeof(uintptr_t));
  _br2_store((out0) + ((uintptr_t)16ULL), x39, sizeof(uintptr_t));
  _br2_store((out0) + ((uintptr_t)20ULL), x40, sizeof(uintptr_t));
  _br2_store((out0) + ((uintptr_t)24ULL), x41, sizeof(uintptr_t));
  _br2_store((out0) + ((uintptr_t)28ULL), x42, sizeof(uintptr_t));
  return;
}
```