user: What is the c source code of the assembly code below?

```asm
<internal_fiat_p384_from_bytes>:
  endbr64
  push   %r15
  push   %r14
  push   %r13
  push   %r12
  push   %rbp
  mov    %rdi,%rbp
  push   %rbx
  mov    %rsi,%rbx
  mov    $0x1,%esi
  mov    %ebx,%edi
  sub    $0x168,%rsp
  call   <_br2_load@plt>
  lea    0x1(%rbx),%edi
  mov    $0x1,%esi
  mov    %rax,0x8(%rsp)
  call   <_br2_load@plt>
  lea    0x2(%rbx),%edi
  mov    $0x1,%esi
  mov    %rax,0x10(%rsp)
  call   <_br2_load@plt>
  lea    0x3(%rbx),%edi
  mov    $0x1,%esi
  mov    %rax,0x18(%rsp)
  call   <_br2_load@plt>
  lea    0x4(%rbx),%edi
  mov    $0x1,%esi
  mov    %rax,0x20(%rsp)
  call   <_br2_load@plt>
  lea    0x5(%rbx),%edi
  mov    $0x1,%esi
  mov    %rax,0x28(%rsp)
  call   <_br2_load@plt>
  lea    0x6(%rbx),%edi
  mov    $0x1,%esi
  mov    %rax,0x30(%rsp)
  call   <_br2_load@plt>
  lea    0x7(%rbx),%edi
  mov    $0x1,%esi
  mov    %rax,0x38(%rsp)
  call   <_br2_load@plt>
  lea    0x8(%rbx),%edi
  mov    $0x1,%esi
  mov    %rax,0x40(%rsp)
  call   <_br2_load@plt>
  lea    0x9(%rbx),%edi
  mov    $0x1,%esi
  mov    %rax,0x48(%rsp)
  call   <_br2_load@plt>
  lea    0xa(%rbx),%edi
  mov    $0x1,%esi
  mov    %rax,0x50(%rsp)
  call   <_br2_load@plt>
  lea    0xb(%rbx),%edi
  mov    $0x1,%esi
  mov    %rax,0x58(%rsp)
  call   <_br2_load@plt>
  lea    0xc(%rbx),%edi
  mov    $0x1,%esi
  mov    %rax,0x60(%rsp)
  call   <_br2_load@plt>
  lea    0xd(%rbx),%edi
  mov    $0x1,%esi
  mov    %rax,0x68(%rsp)
  call   <_br2_load@plt>
  lea    0xe(%rbx),%edi
  mov    $0x1,%esi
  mov    %rax,0x70(%rsp)
  call   <_br2_load@plt>
  lea    0xf(%rbx),%edi
  mov    $0x1,%esi
  mov    %rax,0x78(%rsp)
  call   <_br2_load@plt>
  lea    0x10(%rbx),%edi
  mov    $0x1,%esi
  mov    %rax,0x80(%rsp)
  call   <_br2_load@plt>
  lea    0x11(%rbx),%edi
  mov    $0x1,%esi
  mov    %rax,0x88(%rsp)
  call   <_br2_load@plt>
  lea    0x12(%rbx),%edi
  mov    $0x1,%esi
  mov    %rax,0x90(%rsp)
  call   <_br2_load@plt>
  lea    0x13(%rbx),%edi
  mov    $0x1,%esi
  mov    %rax,0x98(%rsp)
  call   <_br2_load@plt>
  lea    0x14(%rbx),%edi
  mov    $0x1,%esi
  mov    %rax,0xa0(%rsp)
  call   <_br2_load@plt>
  lea    0x15(%rbx),%edi
  mov    $0x1,%esi
  mov    %rax,0xa8(%rsp)
  call   <_br2_load@plt>
  lea    0x16(%rbx),%edi
  mov    $0x1,%esi
  mov    %rax,0xb0(%rsp)
  call   <_br2_load@plt>
  lea    0x17(%rbx),%edi
  mov    $0x1,%esi
  mov    %rax,0xb8(%rsp)
  call   <_br2_load@plt>
  lea    0x18(%rbx),%edi
  mov    $0x1,%esi
  mov    %rax,0xc0(%rsp)
  call   <_br2_load@plt>
  lea    0x19(%rbx),%edi
  mov    $0x1,%esi
  mov    %rax,0xc8(%rsp)
  call   <_br2_load@plt>
  lea    0x1a(%rbx),%edi
  mov    $0x1,%esi
  mov    %rax,0xd0(%rsp)
  call   <_br2_load@plt>
  lea    0x1b(%rbx),%edi
  mov    $0x1,%esi
  mov    %rax,0xd8(%rsp)
  call   <_br2_load@plt>
  lea    0x1c(%rbx),%edi
  mov    $0x1,%esi
  mov    %rax,0xe0(%rsp)
  call   <_br2_load@plt>
  lea    0x1d(%rbx),%edi
  mov    $0x1,%esi
  mov    %rax,0xe8(%rsp)
  call   <_br2_load@plt>
  lea    0x1e(%rbx),%edi
  mov    $0x1,%esi
  mov    %rax,0xf0(%rsp)
  call   <_br2_load@plt>
  lea    0x1f(%rbx),%edi
  mov    $0x1,%esi
  mov    %rax,0xf8(%rsp)
  call   <_br2_load@plt>
  lea    0x20(%rbx),%edi
  mov    $0x1,%esi
  mov    %rax,0x100(%rsp)
  call   <_br2_load@plt>
  lea    0x21(%rbx),%edi
  mov    $0x1,%esi
  mov    %rax,0x108(%rsp)
  call   <_br2_load@plt>
  lea    0x22(%rbx),%edi
  mov    $0x1,%esi
  mov    %rax,0x110(%rsp)
  call   <_br2_load@plt>
  lea    0x23(%rbx),%edi
  mov    $0x1,%esi
  mov    %rax,0x118(%rsp)
  call   <_br2_load@plt>
  lea    0x24(%rbx),%edi
  mov    $0x1,%esi
  mov    %rax,0x120(%rsp)
  call   <_br2_load@plt>
  lea    0x25(%rbx),%edi
  mov    $0x1,%esi
  mov    %rax,0x128(%rsp)
  call   <_br2_load@plt>
  lea    0x26(%rbx),%edi
  mov    $0x1,%esi
  mov    %rax,0x130(%rsp)
  call   <_br2_load@plt>
  lea    0x27(%rbx),%edi
  mov    $0x1,%esi
  mov    %rax,0x138(%rsp)
  call   <_br2_load@plt>
  lea    0x28(%rbx),%edi
  mov    $0x1,%esi
  mov    %rax,0x140(%rsp)
  call   <_br2_load@plt>
  lea    0x29(%rbx),%edi
  mov    $0x1,%esi
  mov    %rax,0x148(%rsp)
  call   <_br2_load@plt>
  lea    0x2a(%rbx),%edi
  mov    $0x1,%esi
  mov    %rax,0x150(%rsp)
  call   <_br2_load@plt>
  lea    0x2b(%rbx),%edi
  mov    $0x1,%esi
  mov    %rax,0x158(%rsp)
  call   <_br2_load@plt>
  lea    0x2c(%rbx),%edi
  mov    $0x1,%esi
  mov    %rax,%r12
  call   <_br2_load@plt>
  lea    0x2d(%rbx),%edi
  mov    $0x1,%esi
  mov    %rax,%r13
  call   <_br2_load@plt>
  lea    0x2e(%rbx),%edi
  mov    $0x1,%esi
  mov    %rax,%r14
  call   <_br2_load@plt>
  lea    0x2f(%rbx),%edi
  mov    $0x1,%esi
  mov    %rax,%r15
  call   <_br2_load@plt>
  mov    0x80(%rsp),%r10
  mov    %ebp,%edi
  mov    0x78(%rsp),%rdx
  mov    0xc0(%rsp),%r9
  mov    0x100(%rsp),%r8
  shl    $0x30,%rdx
  shl    $0x38,%r10
  mov    0x140(%rsp),%rbx
  add    %rdx,%r10
  mov    0x70(%rsp),%rdx
  add    0x48(%rsp),%r10
  shl    $0x38,%r9
  shl    $0x28,%rdx
  add    %rdx,%r10
  mov    0x68(%rsp),%rdx
  shl    $0x20,%rdx
  add    %rdx,%r10
  mov    0x60(%rsp),%rdx
  shl    $0x18,%rdx
  add    %rdx,%r10
  mov    0x58(%rsp),%rdx
  shl    $0x10,%rdx
  add    %rdx,%r10
  mov    0x50(%rsp),%rdx
  shl    $0x8,%rdx
  add    %rdx,%r10
  mov    0xb8(%rsp),%rdx
  mov    %r10,0x58(%rsp)
  shl    $0x30,%rdx
  shl    $0x38,%r8
  add    %rdx,%r9
  mov    0xb0(%rsp),%rdx
  add    0x88(%rsp),%r9
  shl    $0x38,%rbx
  shl    $0x28,%rdx
  add    %rdx,%r9
  mov    0xa8(%rsp),%rdx
  shl    $0x20,%rdx
  add    %rdx,%r9
  mov    0xa0(%rsp),%rdx
  shl    $0x18,%rdx
  add    %rdx,%r9
  mov    0x98(%rsp),%rdx
  shl    $0x10,%rdx
  add    %rdx,%r9
  mov    0x90(%rsp),%rdx
  shl    $0x8,%rdx
  add    %rdx,%r9
  mov    0xf8(%rsp),%rdx
  mov    %r9,0x50(%rsp)
  shl    $0x30,%rdx
  add    %rdx,%r8
  mov    0xf0(%rsp),%rdx
  add    0xc8(%rsp),%r8
  shl    $0x28,%rdx
  add    %rdx,%r8
  mov    0xe8(%rsp),%rdx
  shl    $0x20,%rdx
  add    %rdx,%r8
  mov    0xe0(%rsp),%rdx
  shl    $0x18,%rdx
  add    %rdx,%r8
  mov    0xd8(%rsp),%rdx
  shl    $0x10,%rdx
  add    %rdx,%r8
  mov    0xd0(%rsp),%rdx
  shl    $0x8,%rdx
  add    %rdx,%r8
  mov    0x138(%rsp),%rdx
  mov    %r8,0x48(%rsp)
  shl    $0x30,%rdx
  add    %rdx,%rbx
  mov    0x130(%rsp),%rdx
  add    0x108(%rsp),%rbx
  shl    $0x28,%rdx
  add    %rdx,%rbx
  mov    0x128(%rsp),%rdx
  shl    $0x38,%rax
  shl    $0x30,%r15
  shl    $0x28,%r14
  shl    $0x20,%rdx
  add    %rax,%r15
  shl    $0x20,%r13
  add    %rdx,%rbx
  mov    0x120(%rsp),%rdx
  shl    $0x18,%r12
  add    0x148(%rsp),%r15
  add    %r15,%r14
  mov    0x40(%rsp),%rsi
  mov    0x18(%rsp),%rax
  mov    0x158(%rsp),%rcx
  add    %r14,%r13
  shl    $0x18,%rdx
  add    %r13,%r12
  shl    $0x38,%rsi
  add    %rdx,%rbx
  mov    0x118(%rsp),%rdx
  shl    $0x10,%rcx
  add    %rcx,%r12
  mov    0x150(%rsp),%rcx
  shl    $0x10,%rdx
  add    %rdx,%rbx
  mov    0x110(%rsp),%rdx
  shl    $0x8,%rcx
  add    %rcx,%r12
  mov    0x38(%rsp),%rcx
  shl    $0x8,%rdx
  add    %rdx,%rbx
  mov    $0x8,%edx
  shl    $0x30,%rcx
  add    %rcx,%rsi
  mov    0x30(%rsp),%rcx
  add    0x8(%rsp),%rsi
  shl    $0x28,%rcx
  add    %rcx,%rsi
  mov    0x28(%rsp),%rcx
  shl    $0x20,%rcx
  add    %rcx,%rsi
  mov    0x20(%rsp),%rcx
  shl    $0x18,%rcx
  add    %rcx,%rsi
  shl    $0x10,%rax
  add    %rax,%rsi
  mov    0x10(%rsp),%rax
  shl    $0x8,%rax
  add    %rax,%rsi
  call   <_br2_store@plt>
  mov    0x58(%rsp),%rsi
  lea    0x8(%rbp),%edi
  mov    $0x8,%edx
  call   <_br2_store@plt>
  mov    0x50(%rsp),%rsi
  lea    0x10(%rbp),%edi
  mov    $0x8,%edx
  call   <_br2_store@plt>
  mov    0x48(%rsp),%rsi
  lea    0x18(%rbp),%edi
  mov    $0x8,%edx
  call   <_br2_store@plt>
  lea    0x20(%rbp),%edi
  mov    %rbx,%rsi
  mov    $0x8,%edx
  call   <_br2_store@plt>
  lea    0x28(%rbp),%edi
  mov    %r12,%rsi
  mov    $0x8,%edx
  add    $0x168,%rsp
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  pop    %r15
  jmp    1060 <_br2_store@plt>
```

assistant: ```c
void internal_fiat_p384_from_bytes(uintptr_t out0, uintptr_t in0) {
  uintptr_t x47, x46, x45, x44, x43, x42, x41, x40, x39, x38, x37, x36, x35, x34, x33, x32, x31, x30, x29, x28, x27, x26, x25, x24, x23, x22, x21, x20, x19, x18, x17, x16, x15, x14, x13, x12, x11, x10, x9, x8, x7, x6, x5, x4, x3, x2, x1, x0, x94, x95, x93, x96, x92, x97, x91, x98, x90, x99, x89, x100, x88, x101, x86, x87, x85, x103, x84, x104, x83, x105, x82, x106, x81, x107, x80, x108, x78, x79, x77, x110, x76, x111, x75, x112, x74, x113, x73, x114, x72, x115, x70, x71, x69, x117, x68, x118, x67, x119, x66, x120, x65, x121, x64, x122, x62, x63, x61, x124, x60, x125, x59, x126, x58, x127, x57, x128, x56, x129, x54, x55, x53, x131, x52, x132, x51, x133, x50, x134, x49, x135, x48, x136, x102, x109, x116, x123, x130, x137, x138, x139, x140, x141, x142, x143;
  x0 = _br2_load((in0) + ((uintptr_t)0ULL), 1);
  x1 = _br2_load((in0) + ((uintptr_t)1ULL), 1);
  x2 = _br2_load((in0) + ((uintptr_t)2ULL), 1);
  x3 = _br2_load((in0) + ((uintptr_t)3ULL), 1);
  x4 = _br2_load((in0) + ((uintptr_t)4ULL), 1);
  x5 = _br2_load((in0) + ((uintptr_t)5ULL), 1);
  x6 = _br2_load((in0) + ((uintptr_t)6ULL), 1);
  x7 = _br2_load((in0) + ((uintptr_t)7ULL), 1);
  x8 = _br2_load((in0) + ((uintptr_t)8ULL), 1);
  x9 = _br2_load((in0) + ((uintptr_t)9ULL), 1);
  x10 = _br2_load((in0) + ((uintptr_t)10ULL), 1);
  x11 = _br2_load((in0) + ((uintptr_t)11ULL), 1);
  x12 = _br2_load((in0) + ((uintptr_t)12ULL), 1);
  x13 = _br2_load((in0) + ((uintptr_t)13ULL), 1);
  x14 = _br2_load((in0) + ((uintptr_t)14ULL), 1);
  x15 = _br2_load((in0) + ((uintptr_t)15ULL), 1);
  x16 = _br2_load((in0) + ((uintptr_t)16ULL), 1);
  x17 = _br2_load((in0) + ((uintptr_t)17ULL), 1);
  x18 = _br2_load((in0) + ((uintptr_t)18ULL), 1);
  x19 = _br2_load((in0) + ((uintptr_t)19ULL), 1);
  x20 = _br2_load((in0) + ((uintptr_t)20ULL), 1);
  x21 = _br2_load((in0) + ((uintptr_t)21ULL), 1);
  x22 = _br2_load((in0) + ((uintptr_t)22ULL), 1);
  x23 = _br2_load((in0) + ((uintptr_t)23ULL), 1);
  x24 = _br2_load((in0) + ((uintptr_t)24ULL), 1);
  x25 = _br2_load((in0) + ((uintptr_t)25ULL), 1);
  x26 = _br2_load((in0) + ((uintptr_t)26ULL), 1);
  x27 = _br2_load((in0) + ((uintptr_t)27ULL), 1);
  x28 = _br2_load((in0) + ((uintptr_t)28ULL), 1);
  x29 = _br2_load((in0) + ((uintptr_t)29ULL), 1);
  x30 = _br2_load((in0) + ((uintptr_t)30ULL), 1);
  x31 = _br2_load((in0) + ((uintptr_t)31ULL), 1);
  x32 = _br2_load((in0) + ((uintptr_t)32ULL), 1);
  x33 = _br2_load((in0) + ((uintptr_t)33ULL), 1);
  x34 = _br2_load((in0) + ((uintptr_t)34ULL), 1);
  x35 = _br2_load((in0) + ((uintptr_t)35ULL), 1);
  x36 = _br2_load((in0) + ((uintptr_t)36ULL), 1);
  x37 = _br2_load((in0) + ((uintptr_t)37ULL), 1);
  x38 = _br2_load((in0) + ((uintptr_t)38ULL), 1);
  x39 = _br2_load((in0) + ((uintptr_t)39ULL), 1);
  x40 = _br2_load((in0) + ((uintptr_t)40ULL), 1);
  x41 = _br2_load((in0) + ((uintptr_t)41ULL), 1);
  x42 = _br2_load((in0) + ((uintptr_t)42ULL), 1);
  x43 = _br2_load((in0) + ((uintptr_t)43ULL), 1);
  x44 = _br2_load((in0) + ((uintptr_t)44ULL), 1);
  x45 = _br2_load((in0) + ((uintptr_t)45ULL), 1);
  x46 = _br2_load((in0) + ((uintptr_t)46ULL), 1);
  x47 = _br2_load((in0) + ((uintptr_t)47ULL), 1);
  x48 = (x47) << ((uintptr_t)56ULL);
  x49 = (x46) << ((uintptr_t)48ULL);
  x50 = (x45) << ((uintptr_t)40ULL);
  x51 = (x44) << ((uintptr_t)32ULL);
  x52 = (x43) << ((uintptr_t)24ULL);
  x53 = (x42) << ((uintptr_t)16ULL);
  x54 = (x41) << ((uintptr_t)8ULL);
  x55 = x40;
  x56 = (x39) << ((uintptr_t)56ULL);
  x57 = (x38) << ((uintptr_t)48ULL);
  x58 = (x37) << ((uintptr_t)40ULL);
  x59 = (x36) << ((uintptr_t)32ULL);
  x60 = (x35) << ((uintptr_t)24ULL);
  x61 = (x34) << ((uintptr_t)16ULL);
  x62 = (x33) << ((uintptr_t)8ULL);
  x63 = x32;
  x64 = (x31) << ((uintptr_t)56ULL);
  x65 = (x30) << ((uintptr_t)48ULL);
  x66 = (x29) << ((uintptr_t)40ULL);
  x67 = (x28) << ((uintptr_t)32ULL);
  x68 = (x27) << ((uintptr_t)24ULL);
  x69 = (x26) << ((uintptr_t)16ULL);
  x70 = (x25) << ((uintptr_t)8ULL);
  x71 = x24;
  x72 = (x23) << ((uintptr_t)56ULL);
  x73 = (x22) << ((uintptr_t)48ULL);
  x74 = (x21) << ((uintptr_t)40ULL);
  x75 = (x20) << ((uintptr_t)32ULL);
  x76 = (x19) << ((uintptr_t)24ULL);
  x77 = (x18) << ((uintptr_t)16ULL);
  x78 = (x17) << ((uintptr_t)8ULL);
  x79 = x16;
  x80 = (x15) << ((uintptr_t)56ULL);
  x81 = (x14) << ((uintptr_t)48ULL);
  x82 = (x13) << ((uintptr_t)40ULL);
  x83 = (x12) << ((uintptr_t)32ULL);
  x84 = (x11) << ((uintptr_t)24ULL);
  x85 = (x10) << ((uintptr_t)16ULL);
  x86 = (x9) << ((uintptr_t)8ULL);
  x87 = x8;
  x88 = (x7) << ((uintptr_t)56ULL);
  x89 = (x6) << ((uintptr_t)48ULL);
  x90 = (x5) << ((uintptr_t)40ULL);
  x91 = (x4) << ((uintptr_t)32ULL);
  x92 = (x3) << ((uintptr_t)24ULL);
  x93 = (x2) << ((uintptr_t)16ULL);
  x94 = (x1) << ((uintptr_t)8ULL);
  x95 = x0;
  x96 = (x94) + (x95);
  x97 = (x93) + (x96);
  x98 = (x92) + (x97);
  x99 = (x91) + (x98);
  x100 = (x90) + (x99);
  x101 = (x89) + (x100);
  x102 = (x88) + (x101);
  x103 = (x86) + (x87);
  x104 = (x85) + (x103);
  x105 = (x84) + (x104);
  x106 = (x83) + (x105);
  x107 = (x82) + (x106);
  x108 = (x81) + (x107);
  x109 = (x80) + (x108);
  x110 = (x78) + (x79);
  x111 = (x77) + (x110);
  x112 = (x76) + (x111);
  x113 = (x75) + (x112);
  x114 = (x74) + (x113);
  x115 = (x73) + (x114);
  x116 = (x72) + (x115);
  x117 = (x70) + (x71);
  x118 = (x69) + (x117);
  x119 = (x68) + (x118);
  x120 = (x67) + (x119);
  x121 = (x66) + (x120);
  x122 = (x65) + (x121);
  x123 = (x64) + (x122);
  x124 = (x62) + (x63);
  x125 = (x61) + (x124);
  x126 = (x60) + (x125);
  x127 = (x59) + (x126);
  x128 = (x58) + (x127);
  x129 = (x57) + (x128);
  x130 = (x56) + (x129);
  x131 = (x54) + (x55);
  x132 = (x53) + (x131);
  x133 = (x52) + (x132);
  x134 = (x51) + (x133);
  x135 = (x50) + (x134);
  x136 = (x49) + (x135);
  x137 = (x48) + (x136);
  x138 = x102;
  x139 = x109;
  x140 = x116;
  x141 = x123;
  x142 = x130;
  x143 = x137;
  _br2_store((out0) + ((uintptr_t)0ULL), x138, sizeof(uintptr_t));
  _br2_store((out0) + ((uintptr_t)8ULL), x139, sizeof(uintptr_t));
  _br2_store((out0) + ((uintptr_t)16ULL), x140, sizeof(uintptr_t));
  _br2_store((out0) + ((uintptr_t)24ULL), x141, sizeof(uintptr_t));
  _br2_store((out0) + ((uintptr_t)32ULL), x142, sizeof(uintptr_t));
  _br2_store((out0) + ((uintptr_t)40ULL), x143, sizeof(uintptr_t));
  return;
}
```