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

```asm
<internal_fiat_p384_selectznz>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x140,%rsp
  mov    %rdi,-0x128(%rbp)
  mov    %rsi,-0x130(%rbp)
  mov    %rdx,-0x138(%rbp)
  mov    %rcx,-0x140(%rbp)
  mov    -0x138(%rbp),%rax
  mov    $0x8,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x120(%rbp)
  mov    -0x138(%rbp),%rax
  add    $0x8,%eax
  mov    $0x8,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x118(%rbp)
  mov    -0x138(%rbp),%rax
  add    $0x10,%eax
  mov    $0x8,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x110(%rbp)
  mov    -0x138(%rbp),%rax
  add    $0x18,%eax
  mov    $0x8,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x108(%rbp)
  mov    -0x138(%rbp),%rax
  add    $0x20,%eax
  mov    $0x8,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x100(%rbp)
  mov    -0x138(%rbp),%rax
  add    $0x28,%eax
  mov    $0x8,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0xf8(%rbp)
  mov    -0x140(%rbp),%rax
  mov    $0x8,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0xf0(%rbp)
  mov    -0x140(%rbp),%rax
  add    $0x8,%eax
  mov    $0x8,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0xe8(%rbp)
  mov    -0x140(%rbp),%rax
  add    $0x10,%eax
  mov    $0x8,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0xe0(%rbp)
  mov    -0x140(%rbp),%rax
  add    $0x18,%eax
  mov    $0x8,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0xd8(%rbp)
  mov    -0x140(%rbp),%rax
  add    $0x20,%eax
  mov    $0x8,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0xd0(%rbp)
  mov    -0x140(%rbp),%rax
  add    $0x28,%eax
  mov    $0x8,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0xc8(%rbp)
  cmpq   $0x0,-0x130(%rbp)
  jne    L84
  mov    $0x0,%eax
  jmp    L105
L84:
  mov    $0xffffffffffffffff,%rax
L105:
  mov    %rax,-0xc0(%rbp)
  mov    -0xc0(%rbp),%rax
  not    %rax
  mov    %rax,-0xb8(%rbp)
  mov    -0xf0(%rbp),%rax
  and    -0xc0(%rbp),%rax
  mov    %rax,%rdx
  mov    -0x120(%rbp),%rax
  and    -0xb8(%rbp),%rax
  or     %rdx,%rax
  mov    %rax,-0xb0(%rbp)
  cmpq   $0x0,-0x130(%rbp)
  jne    L58
  mov    $0x0,%eax
  jmp    L51
L58:
  mov    $0xffffffffffffffff,%rax
L51:
  mov    %rax,-0xa8(%rbp)
  mov    -0xa8(%rbp),%rax
  not    %rax
  mov    %rax,-0xa0(%rbp)
  mov    -0xe8(%rbp),%rax
  and    -0xa8(%rbp),%rax
  mov    %rax,%rdx
  mov    -0x118(%rbp),%rax
  and    -0xa0(%rbp),%rax
  or     %rdx,%rax
  mov    %rax,-0x98(%rbp)
  cmpq   $0x0,-0x130(%rbp)
  jne    L76
  mov    $0x0,%eax
  jmp    L111
L76:
  mov    $0xffffffffffffffff,%rax
L111:
  mov    %rax,-0x90(%rbp)
  mov    -0x90(%rbp),%rax
  not    %rax
  mov    %rax,-0x88(%rbp)
  mov    -0xe0(%rbp),%rax
  and    -0x90(%rbp),%rax
  mov    %rax,%rdx
  mov    -0x110(%rbp),%rax
  and    -0x88(%rbp),%rax
  or     %rdx,%rax
  mov    %rax,-0x80(%rbp)
  cmpq   $0x0,-0x130(%rbp)
  jne    L46
  mov    $0x0,%eax
  jmp    L118
L46:
  mov    $0xffffffffffffffff,%rax
L118:
  mov    %rax,-0x78(%rbp)
  mov    -0x78(%rbp),%rax
  not    %rax
  mov    %rax,-0x70(%rbp)
  mov    -0xd8(%rbp),%rax
  and    -0x78(%rbp),%rax
  mov    %rax,%rdx
  mov    -0x108(%rbp),%rax
  and    -0x70(%rbp),%rax
  or     %rdx,%rax
  mov    %rax,-0x68(%rbp)
  cmpq   $0x0,-0x130(%rbp)
  jne    L79
  mov    $0x0,%eax
  jmp    L56
L79:
  mov    $0xffffffffffffffff,%rax
L56:
  mov    %rax,-0x60(%rbp)
  mov    -0x60(%rbp),%rax
  not    %rax
  mov    %rax,-0x58(%rbp)
  mov    -0xd0(%rbp),%rax
  and    -0x60(%rbp),%rax
  mov    %rax,%rdx
  mov    -0x100(%rbp),%rax
  and    -0x58(%rbp),%rax
  or     %rdx,%rax
  mov    %rax,-0x50(%rbp)
  cmpq   $0x0,-0x130(%rbp)
  jne    L106
  mov    $0x0,%eax
  jmp    L68
L106:
  mov    $0xffffffffffffffff,%rax
L68:
  mov    %rax,-0x48(%rbp)
  mov    -0x48(%rbp),%rax
  not    %rax
  mov    %rax,-0x40(%rbp)
  mov    -0xc8(%rbp),%rax
  and    -0x48(%rbp),%rax
  mov    %rax,%rdx
  mov    -0xf8(%rbp),%rax
  and    -0x40(%rbp),%rax
  or     %rdx,%rax
  mov    %rax,-0x38(%rbp)
  mov    -0xb0(%rbp),%rax
  mov    %rax,-0x30(%rbp)
  mov    -0x98(%rbp),%rax
  mov    %rax,-0x28(%rbp)
  mov    -0x80(%rbp),%rax
  mov    %rax,-0x20(%rbp)
  mov    -0x68(%rbp),%rax
  mov    %rax,-0x18(%rbp)
  mov    -0x50(%rbp),%rax
  mov    %rax,-0x10(%rbp)
  mov    -0x38(%rbp),%rax
  mov    %rax,-0x8(%rbp)
  mov    -0x128(%rbp),%rax
  mov    %eax,%ecx
  mov    -0x30(%rbp),%rax
  mov    $0x8,%edx
  mov    %rax,%rsi
  mov    %ecx,%edi
  call   <_br2_store@plt>
  mov    -0x128(%rbp),%rax
  add    $0x8,%eax
  mov    %eax,%ecx
  mov    -0x28(%rbp),%rax
  mov    $0x8,%edx
  mov    %rax,%rsi
  mov    %ecx,%edi
  call   <_br2_store@plt>
  mov    -0x128(%rbp),%rax
  add    $0x10,%eax
  mov    %eax,%ecx
  mov    -0x20(%rbp),%rax
  mov    $0x8,%edx
  mov    %rax,%rsi
  mov    %ecx,%edi
  call   <_br2_store@plt>
  mov    -0x128(%rbp),%rax
  add    $0x18,%eax
  mov    %eax,%ecx
  mov    -0x18(%rbp),%rax
  mov    $0x8,%edx
  mov    %rax,%rsi
  mov    %ecx,%edi
  call   <_br2_store@plt>
  mov    -0x128(%rbp),%rax
  add    $0x20,%eax
  mov    %eax,%ecx
  mov    -0x10(%rbp),%rax
  mov    $0x8,%edx
  mov    %rax,%rsi
  mov    %ecx,%edi
  call   <_br2_store@plt>
  mov    -0x128(%rbp),%rax
  add    $0x28,%eax
  mov    %eax,%ecx
  mov    -0x8(%rbp),%rax
  mov    $0x8,%edx
  mov    %rax,%rsi
  mov    %ecx,%edi
  call   <_br2_store@plt>
  nop
  leave
  ret
```

assistant: ```c
void internal_fiat_p384_selectznz(uintptr_t out0, uintptr_t in0, uintptr_t in1, uintptr_t in2) {
  uintptr_t x6, x12, x0, x13, x7, x15, x1, x16, x8, x18, x2, x19, x9, x21, x3, x22, x10, x24, x4, x25, x11, x27, x5, x28, x14, x17, x20, x23, x26, x29, x30, x31, x32, x33, x34, x35;
  x0 = _br2_load((in1) + ((uintptr_t)0ULL), sizeof(uintptr_t));
  x1 = _br2_load((in1) + ((uintptr_t)8ULL), sizeof(uintptr_t));
  x2 = _br2_load((in1) + ((uintptr_t)16ULL), sizeof(uintptr_t));
  x3 = _br2_load((in1) + ((uintptr_t)24ULL), sizeof(uintptr_t));
  x4 = _br2_load((in1) + ((uintptr_t)32ULL), sizeof(uintptr_t));
  x5 = _br2_load((in1) + ((uintptr_t)40ULL), sizeof(uintptr_t));
  x6 = _br2_load((in2) + ((uintptr_t)0ULL), sizeof(uintptr_t));
  x7 = _br2_load((in2) + ((uintptr_t)8ULL), sizeof(uintptr_t));
  x8 = _br2_load((in2) + ((uintptr_t)16ULL), sizeof(uintptr_t));
  x9 = _br2_load((in2) + ((uintptr_t)24ULL), sizeof(uintptr_t));
  x10 = _br2_load((in2) + ((uintptr_t)32ULL), sizeof(uintptr_t));
  x11 = _br2_load((in2) + ((uintptr_t)40ULL), sizeof(uintptr_t));
  x12 = ((uintptr_t)-1ULL) + ((in0) == ((uintptr_t)0ULL));
  x13 = (x12) ^ ((uintptr_t)18446744073709551615ULL);
  x14 = ((x6) & (x12)) | ((x0) & (x13));
  x15 = ((uintptr_t)-1ULL) + ((in0) == ((uintptr_t)0ULL));
  x16 = (x15) ^ ((uintptr_t)18446744073709551615ULL);
  x17 = ((x7) & (x15)) | ((x1) & (x16));
  x18 = ((uintptr_t)-1ULL) + ((in0) == ((uintptr_t)0ULL));
  x19 = (x18) ^ ((uintptr_t)18446744073709551615ULL);
  x20 = ((x8) & (x18)) | ((x2) & (x19));
  x21 = ((uintptr_t)-1ULL) + ((in0) == ((uintptr_t)0ULL));
  x22 = (x21) ^ ((uintptr_t)18446744073709551615ULL);
  x23 = ((x9) & (x21)) | ((x3) & (x22));
  x24 = ((uintptr_t)-1ULL) + ((in0) == ((uintptr_t)0ULL));
  x25 = (x24) ^ ((uintptr_t)18446744073709551615ULL);
  x26 = ((x10) & (x24)) | ((x4) & (x25));
  x27 = ((uintptr_t)-1ULL) + ((in0) == ((uintptr_t)0ULL));
  x28 = (x27) ^ ((uintptr_t)18446744073709551615ULL);
  x29 = ((x11) & (x27)) | ((x5) & (x28));
  x30 = x14;
  x31 = x17;
  x32 = x20;
  x33 = x23;
  x34 = x26;
  x35 = x29;
  _br2_store((out0) + ((uintptr_t)0ULL), x30, sizeof(uintptr_t));
  _br2_store((out0) + ((uintptr_t)8ULL), x31, sizeof(uintptr_t));
  _br2_store((out0) + ((uintptr_t)16ULL), x32, sizeof(uintptr_t));
  _br2_store((out0) + ((uintptr_t)24ULL), x33, sizeof(uintptr_t));
  _br2_store((out0) + ((uintptr_t)32ULL), x34, sizeof(uintptr_t));
  _br2_store((out0) + ((uintptr_t)40ULL), x35, sizeof(uintptr_t));
  return;
}
```