user: Please show me the C implementation that matches the assembly code listed below:

```asm
<internal_fiat_25519_sub>:
  endbr64
  push   %r15
  push   %r14
  push   %r13
  push   %r12
  push   %rbp
  push   %rbx
  sub    $0x88,%rsp
  mov    %rdi,%r15
  mov    %rsi,%rbp
  mov    %rdx,%rbx
  mov    $0x8,%esi
  mov    %ebp,%edi
  call   <_br2_load@plt>
  mov    %rax,0x8(%rsp)
  lea    0x4(%rbp),%edi
  mov    $0x8,%esi
  call   <_br2_load@plt>
  mov    %rax,%r14
  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,0x10(%rsp)
  lea    0x14(%rbp),%edi
  mov    $0x8,%esi
  call   <_br2_load@plt>
  mov    %rax,0x18(%rsp)
  lea    0x18(%rbp),%edi
  mov    $0x8,%esi
  call   <_br2_load@plt>
  mov    %rax,0x20(%rsp)
  lea    0x1c(%rbp),%edi
  mov    $0x8,%esi
  call   <_br2_load@plt>
  mov    %rax,0x28(%rsp)
  lea    0x20(%rbp),%edi
  mov    $0x8,%esi
  call   <_br2_load@plt>
  mov    %rax,0x30(%rsp)
  lea    0x24(%rbp),%edi
  mov    $0x8,%esi
  call   <_br2_load@plt>
  mov    %rax,0x38(%rsp)
  mov    $0x8,%esi
  mov    %ebx,%edi
  call   <_br2_load@plt>
  mov    %rax,0x40(%rsp)
  lea    0x4(%rbx),%edi
  mov    $0x8,%esi
  call   <_br2_load@plt>
  mov    %rax,0x48(%rsp)
  lea    0x8(%rbx),%edi
  mov    $0x8,%esi
  call   <_br2_load@plt>
  mov    %rax,0x50(%rsp)
  lea    0xc(%rbx),%edi
  mov    $0x8,%esi
  call   <_br2_load@plt>
  mov    %rax,0x58(%rsp)
  lea    0x10(%rbx),%edi
  mov    $0x8,%esi
  call   <_br2_load@plt>
  mov    %rax,0x60(%rsp)
  lea    0x14(%rbx),%edi
  mov    $0x8,%esi
  call   <_br2_load@plt>
  mov    %rax,0x68(%rsp)
  lea    0x18(%rbx),%edi
  mov    $0x8,%esi
  call   <_br2_load@plt>
  mov    %rax,0x70(%rsp)
  lea    0x1c(%rbx),%edi
  mov    $0x8,%esi
  call   <_br2_load@plt>
  mov    %rax,%rbp
  lea    0x20(%rbx),%edi
  mov    $0x8,%esi
  call   <_br2_load@plt>
  mov    %rax,0x78(%rsp)
  lea    0x24(%rbx),%edi
  mov    $0x8,%esi
  call   <_br2_load@plt>
  add    $0x3fffffe,%r14
  sub    0x48(%rsp),%r14
  mov    %r14,0x48(%rsp)
  add    $0x7fffffe,%r13
  sub    0x50(%rsp),%r13
  mov    %r13,0x50(%rsp)
  add    $0x3fffffe,%r12
  sub    0x58(%rsp),%r12
  mov    %r12,0x58(%rsp)
  mov    0x10(%rsp),%rdx
  add    $0x7fffffe,%rdx
  sub    0x60(%rsp),%rdx
  mov    %rdx,0x10(%rsp)
  mov    0x18(%rsp),%rcx
  add    $0x3fffffe,%rcx
  mov    %rcx,%r14
  sub    0x68(%rsp),%r14
  mov    0x20(%rsp),%rcx
  add    $0x7fffffe,%rcx
  mov    %rcx,%r13
  sub    0x70(%rsp),%r13
  mov    0x28(%rsp),%rcx
  add    $0x3fffffe,%rcx
  mov    %rcx,%r12
  sub    %rbp,%r12
  mov    0x30(%rsp),%rbp
  add    $0x7fffffe,%rbp
  sub    0x78(%rsp),%rbp
  mov    0x38(%rsp),%rbx
  add    $0x3fffffe,%rbx
  sub    %rax,%rbx
  mov    0x8(%rsp),%rcx
  add    $0x7ffffda,%rcx
  mov    %rcx,%rsi
  sub    0x40(%rsp),%rsi
  mov    $0x8,%edx
  mov    %r15d,%edi
  call   <_br2_store@plt>
  lea    0x4(%r15),%edi
  mov    $0x8,%edx
  mov    0x48(%rsp),%rsi
  call   <_br2_store@plt>
  lea    0x8(%r15),%edi
  mov    $0x8,%edx
  mov    0x50(%rsp),%rsi
  call   <_br2_store@plt>
  lea    0xc(%r15),%edi
  mov    $0x8,%edx
  mov    0x58(%rsp),%rsi
  call   <_br2_store@plt>
  lea    0x10(%r15),%edi
  mov    $0x8,%edx
  mov    0x10(%rsp),%rsi
  call   <_br2_store@plt>
  lea    0x14(%r15),%edi
  mov    $0x8,%edx
  mov    %r14,%rsi
  call   <_br2_store@plt>
  lea    0x18(%r15),%edi
  mov    $0x8,%edx
  mov    %r13,%rsi
  call   <_br2_store@plt>
  lea    0x1c(%r15),%edi
  mov    $0x8,%edx
  mov    %r12,%rsi
  call   <_br2_store@plt>
  lea    0x20(%r15),%edi
  mov    $0x8,%edx
  mov    %rbp,%rsi
  call   <_br2_store@plt>
  lea    0x24(%r15),%edi
  mov    $0x8,%edx
  mov    %rbx,%rsi
  call   <_br2_store@plt>
  add    $0x88,%rsp
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  pop    %r15
  ret
```

assistant: ```c
void internal_fiat_25519_sub(uintptr_t out0, uintptr_t in0, uintptr_t in1) {
  uintptr_t x0, x10, x1, x11, x2, x12, x3, x13, x4, x14, x5, x15, x6, x16, x7, x17, x8, x18, x9, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39;
  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 = _br2_load((in0) + ((uintptr_t)32ULL), sizeof(uintptr_t));
  x9 = _br2_load((in0) + ((uintptr_t)36ULL), sizeof(uintptr_t));
  x10 = _br2_load((in1) + ((uintptr_t)0ULL), sizeof(uintptr_t));
  x11 = _br2_load((in1) + ((uintptr_t)4ULL), sizeof(uintptr_t));
  x12 = _br2_load((in1) + ((uintptr_t)8ULL), sizeof(uintptr_t));
  x13 = _br2_load((in1) + ((uintptr_t)12ULL), sizeof(uintptr_t));
  x14 = _br2_load((in1) + ((uintptr_t)16ULL), sizeof(uintptr_t));
  x15 = _br2_load((in1) + ((uintptr_t)20ULL), sizeof(uintptr_t));
  x16 = _br2_load((in1) + ((uintptr_t)24ULL), sizeof(uintptr_t));
  x17 = _br2_load((in1) + ((uintptr_t)28ULL), sizeof(uintptr_t));
  x18 = _br2_load((in1) + ((uintptr_t)32ULL), sizeof(uintptr_t));
  x19 = _br2_load((in1) + ((uintptr_t)36ULL), sizeof(uintptr_t));
  x20 = (((uintptr_t)134217690ULL) + (x0)) - (x10);
  x21 = (((uintptr_t)67108862ULL) + (x1)) - (x11);
  x22 = (((uintptr_t)134217726ULL) + (x2)) - (x12);
  x23 = (((uintptr_t)67108862ULL) + (x3)) - (x13);
  x24 = (((uintptr_t)134217726ULL) + (x4)) - (x14);
  x25 = (((uintptr_t)67108862ULL) + (x5)) - (x15);
  x26 = (((uintptr_t)134217726ULL) + (x6)) - (x16);
  x27 = (((uintptr_t)67108862ULL) + (x7)) - (x17);
  x28 = (((uintptr_t)134217726ULL) + (x8)) - (x18);
  x29 = (((uintptr_t)67108862ULL) + (x9)) - (x19);
  x30 = x20;
  x31 = x21;
  x32 = x22;
  x33 = x23;
  x34 = x24;
  x35 = x25;
  x36 = x26;
  x37 = x27;
  x38 = x28;
  x39 = x29;
  _br2_store((out0) + ((uintptr_t)0ULL), x30, sizeof(uintptr_t));
  _br2_store((out0) + ((uintptr_t)4ULL), x31, sizeof(uintptr_t));
  _br2_store((out0) + ((uintptr_t)8ULL), x32, sizeof(uintptr_t));
  _br2_store((out0) + ((uintptr_t)12ULL), x33, sizeof(uintptr_t));
  _br2_store((out0) + ((uintptr_t)16ULL), x34, sizeof(uintptr_t));
  _br2_store((out0) + ((uintptr_t)20ULL), x35, sizeof(uintptr_t));
  _br2_store((out0) + ((uintptr_t)24ULL), x36, sizeof(uintptr_t));
  _br2_store((out0) + ((uintptr_t)28ULL), x37, sizeof(uintptr_t));
  _br2_store((out0) + ((uintptr_t)32ULL), x38, sizeof(uintptr_t));
  _br2_store((out0) + ((uintptr_t)36ULL), x39, sizeof(uintptr_t));
  return;
}
```