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

```asm
<internal_fiat_poly1305_selectznz>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x110,%rsp
  mov    %rdi,-0xf8(%rbp)
  mov    %rsi,-0x100(%rbp)
  mov    %rdx,-0x108(%rbp)
  mov    %rcx,-0x110(%rbp)
  mov    -0x108(%rbp),%rax
  mov    $0x8,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0xf0(%rbp)
  mov    -0x108(%rbp),%rax
  add    $0x4,%eax
  mov    $0x8,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0xe8(%rbp)
  mov    -0x108(%rbp),%rax
  add    $0x8,%eax
  mov    $0x8,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0xe0(%rbp)
  mov    -0x108(%rbp),%rax
  add    $0xc,%eax
  mov    $0x8,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0xd8(%rbp)
  mov    -0x108(%rbp),%rax
  add    $0x10,%eax
  mov    $0x8,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0xd0(%rbp)
  mov    -0x110(%rbp),%rax
  mov    $0x8,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0xc8(%rbp)
  mov    -0x110(%rbp),%rax
  add    $0x4,%eax
  mov    $0x8,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0xc0(%rbp)
  mov    -0x110(%rbp),%rax
  add    $0x8,%eax
  mov    $0x8,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0xb8(%rbp)
  mov    -0x110(%rbp),%rax
  add    $0xc,%eax
  mov    $0x8,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0xb0(%rbp)
  mov    -0x110(%rbp),%rax
  add    $0x10,%eax
  mov    $0x8,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0xa8(%rbp)
  cmpq   $0x0,-0x100(%rbp)
  jne    L68
  mov    $0x0,%eax
  jmp    L63
L68:
  mov    $0xffffffffffffffff,%rax
L63:
  mov    %rax,-0xa0(%rbp)
  mov    $0xffffffff,%eax
  xor    -0xa0(%rbp),%rax
  mov    %rax,-0x98(%rbp)
  mov    -0xc8(%rbp),%rax
  and    -0xa0(%rbp),%rax
  mov    %rax,%rdx
  mov    -0xf0(%rbp),%rax
  and    -0x98(%rbp),%rax
  or     %rdx,%rax
  mov    %rax,-0x90(%rbp)
  cmpq   $0x0,-0x100(%rbp)
  jne    L99
  mov    $0x0,%eax
  jmp    L3
L99:
  mov    $0xffffffffffffffff,%rax
L3:
  mov    %rax,-0x88(%rbp)
  mov    $0xffffffff,%eax
  xor    -0x88(%rbp),%rax
  mov    %rax,-0x80(%rbp)
  mov    -0xc0(%rbp),%rax
  and    -0x88(%rbp),%rax
  mov    %rax,%rdx
  mov    -0xe8(%rbp),%rax
  and    -0x80(%rbp),%rax
  or     %rdx,%rax
  mov    %rax,-0x78(%rbp)
  cmpq   $0x0,-0x100(%rbp)
  jne    L4
  mov    $0x0,%eax
  jmp    L82
L4:
  mov    $0xffffffffffffffff,%rax
L82:
  mov    %rax,-0x70(%rbp)
  mov    $0xffffffff,%eax
  xor    -0x70(%rbp),%rax
  mov    %rax,-0x68(%rbp)
  mov    -0xb8(%rbp),%rax
  and    -0x70(%rbp),%rax
  mov    %rax,%rdx
  mov    -0xe0(%rbp),%rax
  and    -0x68(%rbp),%rax
  or     %rdx,%rax
  mov    %rax,-0x60(%rbp)
  cmpq   $0x0,-0x100(%rbp)
  jne    L24
  mov    $0x0,%eax
  jmp    L69
L24:
  mov    $0xffffffffffffffff,%rax
L69:
  mov    %rax,-0x58(%rbp)
  mov    $0xffffffff,%eax
  xor    -0x58(%rbp),%rax
  mov    %rax,-0x50(%rbp)
  mov    -0xb0(%rbp),%rax
  and    -0x58(%rbp),%rax
  mov    %rax,%rdx
  mov    -0xd8(%rbp),%rax
  and    -0x50(%rbp),%rax
  or     %rdx,%rax
  mov    %rax,-0x48(%rbp)
  cmpq   $0x0,-0x100(%rbp)
  jne    L81
  mov    $0x0,%eax
  jmp    L12
L81:
  mov    $0xffffffffffffffff,%rax
L12:
  mov    %rax,-0x40(%rbp)
  mov    $0xffffffff,%eax
  xor    -0x40(%rbp),%rax
  mov    %rax,-0x38(%rbp)
  mov    -0xa8(%rbp),%rax
  and    -0x40(%rbp),%rax
  mov    %rax,%rdx
  mov    -0xd0(%rbp),%rax
  and    -0x38(%rbp),%rax
  or     %rdx,%rax
  mov    %rax,-0x30(%rbp)
  mov    -0x90(%rbp),%rax
  mov    %rax,-0x28(%rbp)
  mov    -0x78(%rbp),%rax
  mov    %rax,-0x20(%rbp)
  mov    -0x60(%rbp),%rax
  mov    %rax,-0x18(%rbp)
  mov    -0x48(%rbp),%rax
  mov    %rax,-0x10(%rbp)
  mov    -0x30(%rbp),%rax
  mov    %rax,-0x8(%rbp)
  mov    -0xf8(%rbp),%rax
  mov    %eax,%ecx
  mov    -0x28(%rbp),%rax
  mov    $0x8,%edx
  mov    %rax,%rsi
  mov    %ecx,%edi
  call   <_br2_store@plt>
  mov    -0xf8(%rbp),%rax
  add    $0x4,%eax
  mov    %eax,%ecx
  mov    -0x20(%rbp),%rax
  mov    $0x8,%edx
  mov    %rax,%rsi
  mov    %ecx,%edi
  call   <_br2_store@plt>
  mov    -0xf8(%rbp),%rax
  add    $0x8,%eax
  mov    %eax,%ecx
  mov    -0x18(%rbp),%rax
  mov    $0x8,%edx
  mov    %rax,%rsi
  mov    %ecx,%edi
  call   <_br2_store@plt>
  mov    -0xf8(%rbp),%rax
  add    $0xc,%eax
  mov    %eax,%ecx
  mov    -0x10(%rbp),%rax
  mov    $0x8,%edx
  mov    %rax,%rsi
  mov    %ecx,%edi
  call   <_br2_store@plt>
  mov    -0xf8(%rbp),%rax
  add    $0x10,%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_poly1305_selectznz(uintptr_t out0, uintptr_t in0, uintptr_t in1, uintptr_t in2) {
  uintptr_t x5, x10, x0, x11, x6, x13, x1, x14, x7, x16, x2, x17, x8, x19, x3, x20, x9, x22, x4, x23, x12, x15, x18, x21, x24, x25, x26, x27, x28, x29;
  x0 = _br2_load((in1) + ((uintptr_t)0ULL), sizeof(uintptr_t));
  x1 = _br2_load((in1) + ((uintptr_t)4ULL), sizeof(uintptr_t));
  x2 = _br2_load((in1) + ((uintptr_t)8ULL), sizeof(uintptr_t));
  x3 = _br2_load((in1) + ((uintptr_t)12ULL), sizeof(uintptr_t));
  x4 = _br2_load((in1) + ((uintptr_t)16ULL), sizeof(uintptr_t));
  x5 = _br2_load((in2) + ((uintptr_t)0ULL), sizeof(uintptr_t));
  x6 = _br2_load((in2) + ((uintptr_t)4ULL), sizeof(uintptr_t));
  x7 = _br2_load((in2) + ((uintptr_t)8ULL), sizeof(uintptr_t));
  x8 = _br2_load((in2) + ((uintptr_t)12ULL), sizeof(uintptr_t));
  x9 = _br2_load((in2) + ((uintptr_t)16ULL), sizeof(uintptr_t));
  x10 = ((uintptr_t)-1ULL) + ((in0) == ((uintptr_t)0ULL));
  x11 = (x10) ^ ((uintptr_t)4294967295ULL);
  x12 = ((x5) & (x10)) | ((x0) & (x11));
  x13 = ((uintptr_t)-1ULL) + ((in0) == ((uintptr_t)0ULL));
  x14 = (x13) ^ ((uintptr_t)4294967295ULL);
  x15 = ((x6) & (x13)) | ((x1) & (x14));
  x16 = ((uintptr_t)-1ULL) + ((in0) == ((uintptr_t)0ULL));
  x17 = (x16) ^ ((uintptr_t)4294967295ULL);
  x18 = ((x7) & (x16)) | ((x2) & (x17));
  x19 = ((uintptr_t)-1ULL) + ((in0) == ((uintptr_t)0ULL));
  x20 = (x19) ^ ((uintptr_t)4294967295ULL);
  x21 = ((x8) & (x19)) | ((x3) & (x20));
  x22 = ((uintptr_t)-1ULL) + ((in0) == ((uintptr_t)0ULL));
  x23 = (x22) ^ ((uintptr_t)4294967295ULL);
  x24 = ((x9) & (x22)) | ((x4) & (x23));
  x25 = x12;
  x26 = x15;
  x27 = x18;
  x28 = x21;
  x29 = x24;
  _br2_store((out0) + ((uintptr_t)0ULL), x25, sizeof(uintptr_t));
  _br2_store((out0) + ((uintptr_t)4ULL), x26, sizeof(uintptr_t));
  _br2_store((out0) + ((uintptr_t)8ULL), x27, sizeof(uintptr_t));
  _br2_store((out0) + ((uintptr_t)12ULL), x28, sizeof(uintptr_t));
  _br2_store((out0) + ((uintptr_t)16ULL), x29, sizeof(uintptr_t));
  return;
}
```