user: 这段汇编代码用C语言表示是什么样的:

```asm
<internal_fiat_p521_selectznz>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x1d0,%rsp
  mov    %rdi,-0x1b8(%rbp)
  mov    %rsi,-0x1c0(%rbp)
  mov    %rdx,-0x1c8(%rbp)
  mov    %rcx,-0x1d0(%rbp)
  mov    -0x1c8(%rbp),%rax
  mov    $0x8,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x1b0(%rbp)
  mov    -0x1c8(%rbp),%rax
  add    $0x8,%eax
  mov    $0x8,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x1a8(%rbp)
  mov    -0x1c8(%rbp),%rax
  add    $0x10,%eax
  mov    $0x8,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x1a0(%rbp)
  mov    -0x1c8(%rbp),%rax
  add    $0x18,%eax
  mov    $0x8,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x198(%rbp)
  mov    -0x1c8(%rbp),%rax
  add    $0x20,%eax
  mov    $0x8,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x190(%rbp)
  mov    -0x1c8(%rbp),%rax
  add    $0x28,%eax
  mov    $0x8,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x188(%rbp)
  mov    -0x1c8(%rbp),%rax
  add    $0x30,%eax
  mov    $0x8,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x180(%rbp)
  mov    -0x1c8(%rbp),%rax
  add    $0x38,%eax
  mov    $0x8,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x178(%rbp)
  mov    -0x1c8(%rbp),%rax
  add    $0x40,%eax
  mov    $0x8,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x170(%rbp)
  mov    -0x1d0(%rbp),%rax
  mov    $0x8,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x168(%rbp)
  mov    -0x1d0(%rbp),%rax
  add    $0x8,%eax
  mov    $0x8,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x160(%rbp)
  mov    -0x1d0(%rbp),%rax
  add    $0x10,%eax
  mov    $0x8,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x158(%rbp)
  mov    -0x1d0(%rbp),%rax
  add    $0x18,%eax
  mov    $0x8,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x150(%rbp)
  mov    -0x1d0(%rbp),%rax
  add    $0x20,%eax
  mov    $0x8,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x148(%rbp)
  mov    -0x1d0(%rbp),%rax
  add    $0x28,%eax
  mov    $0x8,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x140(%rbp)
  mov    -0x1d0(%rbp),%rax
  add    $0x30,%eax
  mov    $0x8,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x138(%rbp)
  mov    -0x1d0(%rbp),%rax
  add    $0x38,%eax
  mov    $0x8,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x130(%rbp)
  mov    -0x1d0(%rbp),%rax
  add    $0x40,%eax
  mov    $0x8,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x128(%rbp)
  cmpq   $0x0,-0x1c0(%rbp)
  jne    L131
  mov    $0x0,%eax
  jmp    L83
L131:
  mov    $0xffffffffffffffff,%rax
L83:
  mov    %rax,-0x120(%rbp)
  mov    -0x120(%rbp),%rax
  not    %rax
  mov    %rax,-0x118(%rbp)
  mov    -0x168(%rbp),%rax
  and    -0x120(%rbp),%rax
  mov    %rax,%rdx
  mov    -0x1b0(%rbp),%rax
  and    -0x118(%rbp),%rax
  or     %rdx,%rax
  mov    %rax,-0x110(%rbp)
  cmpq   $0x0,-0x1c0(%rbp)
  jne    L69
  mov    $0x0,%eax
  jmp    L175
L69:
  mov    $0xffffffffffffffff,%rax
L175:
  mov    %rax,-0x108(%rbp)
  mov    -0x108(%rbp),%rax
  not    %rax
  mov    %rax,-0x100(%rbp)
  mov    -0x160(%rbp),%rax
  and    -0x108(%rbp),%rax
  mov    %rax,%rdx
  mov    -0x1a8(%rbp),%rax
  and    -0x100(%rbp),%rax
  or     %rdx,%rax
  mov    %rax,-0xf8(%rbp)
  cmpq   $0x0,-0x1c0(%rbp)
  jne    L116
  mov    $0x0,%eax
  jmp    L100
L116:
  mov    $0xffffffffffffffff,%rax
L100:
  mov    %rax,-0xf0(%rbp)
  mov    -0xf0(%rbp),%rax
  not    %rax
  mov    %rax,-0xe8(%rbp)
  mov    -0x158(%rbp),%rax
  and    -0xf0(%rbp),%rax
  mov    %rax,%rdx
  mov    -0x1a0(%rbp),%rax
  and    -0xe8(%rbp),%rax
  or     %rdx,%rax
  mov    %rax,-0xe0(%rbp)
  cmpq   $0x0,-0x1c0(%rbp)
  jne    L42
  mov    $0x0,%eax
  jmp    L9
L42:
  mov    $0xffffffffffffffff,%rax
L9:
  mov    %rax,-0xd8(%rbp)
  mov    -0xd8(%rbp),%rax
  not    %rax
  mov    %rax,-0xd0(%rbp)
  mov    -0x150(%rbp),%rax
  and    -0xd8(%rbp),%rax
  mov    %rax,%rdx
  mov    -0x198(%rbp),%rax
  and    -0xd0(%rbp),%rax
  or     %rdx,%rax
  mov    %rax,-0xc8(%rbp)
  cmpq   $0x0,-0x1c0(%rbp)
  jne    L45
  mov    $0x0,%eax
  jmp    L163
L45:
  mov    $0xffffffffffffffff,%rax
L163:
  mov    %rax,-0xc0(%rbp)
  mov    -0xc0(%rbp),%rax
  not    %rax
  mov    %rax,-0xb8(%rbp)
  mov    -0x148(%rbp),%rax
  and    -0xc0(%rbp),%rax
  mov    %rax,%rdx
  mov    -0x190(%rbp),%rax
  and    -0xb8(%rbp),%rax
  or     %rdx,%rax
  mov    %rax,-0xb0(%rbp)
  cmpq   $0x0,-0x1c0(%rbp)
  jne    L43
  mov    $0x0,%eax
  jmp    L11
L43:
  mov    $0xffffffffffffffff,%rax
L11:
  mov    %rax,-0xa8(%rbp)
  mov    -0xa8(%rbp),%rax
  not    %rax
  mov    %rax,-0xa0(%rbp)
  mov    -0x140(%rbp),%rax
  and    -0xa8(%rbp),%rax
  mov    %rax,%rdx
  mov    -0x188(%rbp),%rax
  and    -0xa0(%rbp),%rax
  or     %rdx,%rax
  mov    %rax,-0x98(%rbp)
  cmpq   $0x0,-0x1c0(%rbp)
  jne    L162
  mov    $0x0,%eax
  jmp    L7
L162:
  mov    $0xffffffffffffffff,%rax
L7:
  mov    %rax,-0x90(%rbp)
  mov    -0x90(%rbp),%rax
  not    %rax
  mov    %rax,-0x88(%rbp)
  mov    -0x138(%rbp),%rax
  and    -0x90(%rbp),%rax
  mov    %rax,%rdx
  mov    -0x180(%rbp),%rax
  and    -0x88(%rbp),%rax
  or     %rdx,%rax
  mov    %rax,-0x80(%rbp)
  cmpq   $0x0,-0x1c0(%rbp)
  jne    L96
  mov    $0x0,%eax
  jmp    L81
L96:
  mov    $0xffffffffffffffff,%rax
L81:
  mov    %rax,-0x78(%rbp)
  mov    -0x78(%rbp),%rax
  not    %rax
  mov    %rax,-0x70(%rbp)
  mov    -0x130(%rbp),%rax
  and    -0x78(%rbp),%rax
  mov    %rax,%rdx
  mov    -0x178(%rbp),%rax
  and    -0x70(%rbp),%rax
  or     %rdx,%rax
  mov    %rax,-0x68(%rbp)
  cmpq   $0x0,-0x1c0(%rbp)
  jne    L97
  mov    $0x0,%eax
  jmp    L21
L97:
  mov    $0xffffffffffffffff,%rax
L21:
  mov    %rax,-0x60(%rbp)
  mov    -0x60(%rbp),%rax
  not    %rax
  mov    %rax,-0x58(%rbp)
  mov    -0x128(%rbp),%rax
  and    -0x60(%rbp),%rax
  mov    %rax,%rdx
  mov    -0x170(%rbp),%rax
  and    -0x58(%rbp),%rax
  or     %rdx,%rax
  mov    %rax,-0x50(%rbp)
  mov    -0x110(%rbp),%rax
  mov    %rax,-0x48(%rbp)
  mov    -0xf8(%rbp),%rax
  mov    %rax,-0x40(%rbp)
  mov    -0xe0(%rbp),%rax
  mov    %rax,-0x38(%rbp)
  mov    -0xc8(%rbp),%rax
  mov    %rax,-0x30(%rbp)
  mov    -0xb0(%rbp),%rax
  mov    %rax,-0x28(%rbp)
  mov    -0x98(%rbp),%rax
  mov    %rax,-0x20(%rbp)
  mov    -0x80(%rbp),%rax
  mov    %rax,-0x18(%rbp)
  mov    -0x68(%rbp),%rax
  mov    %rax,-0x10(%rbp)
  mov    -0x50(%rbp),%rax
  mov    %rax,-0x8(%rbp)
  mov    -0x1b8(%rbp),%rax
  mov    %eax,%ecx
  mov    -0x48(%rbp),%rax
  mov    $0x8,%edx
  mov    %rax,%rsi
  mov    %ecx,%edi
  call   <_br2_store@plt>
  mov    -0x1b8(%rbp),%rax
  add    $0x8,%eax
  mov    %eax,%ecx
  mov    -0x40(%rbp),%rax
  mov    $0x8,%edx
  mov    %rax,%rsi
  mov    %ecx,%edi
  call   <_br2_store@plt>
  mov    -0x1b8(%rbp),%rax
  add    $0x10,%eax
  mov    %eax,%ecx
  mov    -0x38(%rbp),%rax
  mov    $0x8,%edx
  mov    %rax,%rsi
  mov    %ecx,%edi
  call   <_br2_store@plt>
  mov    -0x1b8(%rbp),%rax
  add    $0x18,%eax
  mov    %eax,%ecx
  mov    -0x30(%rbp),%rax
  mov    $0x8,%edx
  mov    %rax,%rsi
  mov    %ecx,%edi
  call   <_br2_store@plt>
  mov    -0x1b8(%rbp),%rax
  add    $0x20,%eax
  mov    %eax,%ecx
  mov    -0x28(%rbp),%rax
  mov    $0x8,%edx
  mov    %rax,%rsi
  mov    %ecx,%edi
  call   <_br2_store@plt>
  mov    -0x1b8(%rbp),%rax
  add    $0x28,%eax
  mov    %eax,%ecx
  mov    -0x20(%rbp),%rax
  mov    $0x8,%edx
  mov    %rax,%rsi
  mov    %ecx,%edi
  call   <_br2_store@plt>
  mov    -0x1b8(%rbp),%rax
  add    $0x30,%eax
  mov    %eax,%ecx
  mov    -0x18(%rbp),%rax
  mov    $0x8,%edx
  mov    %rax,%rsi
  mov    %ecx,%edi
  call   <_br2_store@plt>
  mov    -0x1b8(%rbp),%rax
  add    $0x38,%eax
  mov    %eax,%ecx
  mov    -0x10(%rbp),%rax
  mov    $0x8,%edx
  mov    %rax,%rsi
  mov    %ecx,%edi
  call   <_br2_store@plt>
  mov    -0x1b8(%rbp),%rax
  add    $0x40,%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_p521_selectznz(uintptr_t out0, uintptr_t in0, uintptr_t in1, uintptr_t in2) {
  uintptr_t x9, x18, x0, x19, x10, x21, x1, x22, x11, x24, x2, x25, x12, x27, x3, x28, x13, x30, x4, x31, x14, x33, x5, x34, x15, x36, x6, x37, x16, x39, x7, x40, x17, x42, x8, x43, x20, x23, x26, x29, x32, x35, x38, x41, x44, x45, x46, x47, x48, x49, x50, x51, x52, x53;
  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((in1) + ((uintptr_t)48ULL), sizeof(uintptr_t));
  x7 = _br2_load((in1) + ((uintptr_t)56ULL), sizeof(uintptr_t));
  x8 = _br2_load((in1) + ((uintptr_t)64ULL), sizeof(uintptr_t));
  x9 = _br2_load((in2) + ((uintptr_t)0ULL), sizeof(uintptr_t));
  x10 = _br2_load((in2) + ((uintptr_t)8ULL), sizeof(uintptr_t));
  x11 = _br2_load((in2) + ((uintptr_t)16ULL), sizeof(uintptr_t));
  x12 = _br2_load((in2) + ((uintptr_t)24ULL), sizeof(uintptr_t));
  x13 = _br2_load((in2) + ((uintptr_t)32ULL), sizeof(uintptr_t));
  x14 = _br2_load((in2) + ((uintptr_t)40ULL), sizeof(uintptr_t));
  x15 = _br2_load((in2) + ((uintptr_t)48ULL), sizeof(uintptr_t));
  x16 = _br2_load((in2) + ((uintptr_t)56ULL), sizeof(uintptr_t));
  x17 = _br2_load((in2) + ((uintptr_t)64ULL), sizeof(uintptr_t));
  x18 = ((uintptr_t)-1ULL) + ((in0) == ((uintptr_t)0ULL));
  x19 = (x18) ^ ((uintptr_t)18446744073709551615ULL);
  x20 = ((x9) & (x18)) | ((x0) & (x19));
  x21 = ((uintptr_t)-1ULL) + ((in0) == ((uintptr_t)0ULL));
  x22 = (x21) ^ ((uintptr_t)18446744073709551615ULL);
  x23 = ((x10) & (x21)) | ((x1) & (x22));
  x24 = ((uintptr_t)-1ULL) + ((in0) == ((uintptr_t)0ULL));
  x25 = (x24) ^ ((uintptr_t)18446744073709551615ULL);
  x26 = ((x11) & (x24)) | ((x2) & (x25));
  x27 = ((uintptr_t)-1ULL) + ((in0) == ((uintptr_t)0ULL));
  x28 = (x27) ^ ((uintptr_t)18446744073709551615ULL);
  x29 = ((x12) & (x27)) | ((x3) & (x28));
  x30 = ((uintptr_t)-1ULL) + ((in0) == ((uintptr_t)0ULL));
  x31 = (x30) ^ ((uintptr_t)18446744073709551615ULL);
  x32 = ((x13) & (x30)) | ((x4) & (x31));
  x33 = ((uintptr_t)-1ULL) + ((in0) == ((uintptr_t)0ULL));
  x34 = (x33) ^ ((uintptr_t)18446744073709551615ULL);
  x35 = ((x14) & (x33)) | ((x5) & (x34));
  x36 = ((uintptr_t)-1ULL) + ((in0) == ((uintptr_t)0ULL));
  x37 = (x36) ^ ((uintptr_t)18446744073709551615ULL);
  x38 = ((x15) & (x36)) | ((x6) & (x37));
  x39 = ((uintptr_t)-1ULL) + ((in0) == ((uintptr_t)0ULL));
  x40 = (x39) ^ ((uintptr_t)18446744073709551615ULL);
  x41 = ((x16) & (x39)) | ((x7) & (x40));
  x42 = ((uintptr_t)-1ULL) + ((in0) == ((uintptr_t)0ULL));
  x43 = (x42) ^ ((uintptr_t)18446744073709551615ULL);
  x44 = ((x17) & (x42)) | ((x8) & (x43));
  x45 = x20;
  x46 = x23;
  x47 = x26;
  x48 = x29;
  x49 = x32;
  x50 = x35;
  x51 = x38;
  x52 = x41;
  x53 = x44;
  _br2_store((out0) + ((uintptr_t)0ULL), x45, sizeof(uintptr_t));
  _br2_store((out0) + ((uintptr_t)8ULL), x46, sizeof(uintptr_t));
  _br2_store((out0) + ((uintptr_t)16ULL), x47, sizeof(uintptr_t));
  _br2_store((out0) + ((uintptr_t)24ULL), x48, sizeof(uintptr_t));
  _br2_store((out0) + ((uintptr_t)32ULL), x49, sizeof(uintptr_t));
  _br2_store((out0) + ((uintptr_t)40ULL), x50, sizeof(uintptr_t));
  _br2_store((out0) + ((uintptr_t)48ULL), x51, sizeof(uintptr_t));
  _br2_store((out0) + ((uintptr_t)56ULL), x52, sizeof(uintptr_t));
  _br2_store((out0) + ((uintptr_t)64ULL), x53, sizeof(uintptr_t));
  return;
}
```