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

```asm
<internal_fiat_p256_opp>:
  endbr64
  push   %r15
  push   %r14
  push   %r13
  push   %r12
  push   %rbp
  mov    %rsi,%rbp
  mov    $0x8,%esi
  push   %rbx
  mov    %rdi,%rbx
  mov    %ebp,%edi
  sub    $0x28,%rsp
  call   <_br2_load@plt>
  lea    0x4(%rbp),%edi
  mov    $0x8,%esi
  mov    %rax,0x18(%rsp)
  call   <_br2_load@plt>
  lea    0x8(%rbp),%edi
  mov    $0x8,%esi
  mov    %rax,%r15
  call   <_br2_load@plt>
  lea    0xc(%rbp),%edi
  mov    $0x8,%esi
  neg    %r15
  mov    %rax,%r14
  call   <_br2_load@plt>
  lea    0x10(%rbp),%edi
  mov    $0x8,%esi
  mov    %rax,%r13
  call   <_br2_load@plt>
  lea    0x14(%rbp),%edi
  mov    $0x8,%esi
  mov    %rax,%r12
  call   <_br2_load@plt>
  lea    0x18(%rbp),%edi
  mov    $0x8,%esi
  mov    %rax,0x8(%rsp)
  call   <_br2_load@plt>
  lea    0x1c(%rbp),%edi
  mov    $0x8,%esi
  mov    %rax,0x10(%rsp)
  call   <_br2_load@plt>
  mov    0x18(%rsp),%rdx
  xor    %ecx,%ecx
  mov    %r15,%r10
  mov    0x8(%rsp),%r8
  mov    0x10(%rsp),%rsi
  mov    %rdx,%r11
  neg    %r11
  setne  %cl
  sub    %rcx,%r10
  setb   %cl
  neg    %r14
  cmp    $0x1,%r15
  movzbl %cl,%ecx
  mov    %r14,%r9
  sbb    $0xffffffffffffffff,%rcx
  sub    %rcx,%r9
  setb   %cl
  neg    %r13
  cmp    $0x1,%r14
  movzbl %cl,%ecx
  mov    %r13,%rdi
  sbb    $0xffffffffffffffff,%rcx
  sub    %rcx,%rdi
  setb   %cl
  neg    %r12
  cmp    $0x1,%r13
  movzbl %cl,%ecx
  mov    %r12,%r13
  sbb    $0xffffffffffffffff,%rcx
  sub    %rcx,%r13
  setb   %cl
  neg    %r8
  cmp    $0x1,%r12
  movzbl %cl,%ecx
  mov    %r8,%r14
  sbb    $0xffffffffffffffff,%rcx
  sub    %rcx,%r14
  setb   %cl
  neg    %rsi
  cmp    $0x1,%r8
  movzbl %cl,%ecx
  mov    %rsi,%r15
  sbb    $0xffffffffffffffff,%rcx
  sub    %rcx,%r15
  setb   %cl
  neg    %rax
  cmp    $0x1,%rsi
  movzbl %cl,%ecx
  mov    %rax,%rsi
  sbb    $0xffffffffffffffff,%rcx
  sub    %rcx,%rsi
  setb   %cl
  cmp    $0x1,%rax
  movzbl %cl,%ecx
  mov    %ecx,%eax
  sbb    $0xffffffff,%eax
  xor    %ecx,%ecx
  test   %eax,%eax
  setne  %cl
  xor    %r12d,%r12d
  mov    %rcx,%rax
  neg    %rax
  mov    %rax,%r8
  sub    %rdx,%r8
  cmp    %r8,%r11
  seta   %r12b
  xor    %ebp,%ebp
  add    %r10,%r12
  setb   %bpl
  sub    %rcx,%r12
  cmp    %rax,%r12
  adc    $0x0,%rbp
  xor    %edx,%edx
  add    %r9,%rbp
  setb   %dl
  sub    %rcx,%rbp
  xor    %r9d,%r9d
  cmp    %rbp,%rax
  seta   %r9b
  add    %rdx,%r9
  add    %rdi,%r9
  mov    %ebx,%edi
  setb   %dl
  mov    %r9,0x10(%rsp)
  movzbl %dl,%edx
  add    %rdx,%r13
  setb   %dl
  movzbl %dl,%edx
  add    %rdx,%r14
  setb   %dl
  xor    %r10d,%r10d
  movzbl %dl,%edx
  add    %r15,%rdx
  setb   %r10b
  and    $0x1,%eax
  add    %rdx,%rax
  mov    $0x8,%edx
  adc    $0x0,%r10
  sub    %rcx,%rsi
  mov    %rax,%r15
  add    %rsi,%r10
  mov    %r8,%rsi
  mov    %r10,0x8(%rsp)
  call   <_br2_store@plt>
  lea    0x4(%rbx),%edi
  mov    %r12,%rsi
  mov    $0x8,%edx
  call   <_br2_store@plt>
  lea    0x8(%rbx),%edi
  mov    %rbp,%rsi
  mov    $0x8,%edx
  call   <_br2_store@plt>
  mov    0x10(%rsp),%rsi
  lea    0xc(%rbx),%edi
  mov    $0x8,%edx
  call   <_br2_store@plt>
  lea    0x10(%rbx),%edi
  mov    %r13,%rsi
  mov    $0x8,%edx
  call   <_br2_store@plt>
  lea    0x14(%rbx),%edi
  mov    %r14,%rsi
  mov    $0x8,%edx
  call   <_br2_store@plt>
  lea    0x18(%rbx),%edi
  mov    %r15,%rsi
  mov    $0x8,%edx
  call   <_br2_store@plt>
  mov    0x8(%rsp),%rsi
  add    $0x28,%rsp
  lea    0x1c(%rbx),%edi
  mov    $0x8,%edx
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  pop    %r15
  jmp    1060 <_br2_store@plt>
```

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;
}
```