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

```asm
<internal_fiat_p384_from_bytes>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x490,%rsp
  mov    %rdi,-0x488(%rbp)
  mov    %rsi,-0x490(%rbp)
  mov    -0x490(%rbp),%rax
  mov    $0x1,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x480(%rbp)
  mov    -0x490(%rbp),%rax
  add    $0x1,%eax
  mov    $0x1,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x478(%rbp)
  mov    -0x490(%rbp),%rax
  add    $0x2,%eax
  mov    $0x1,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x470(%rbp)
  mov    -0x490(%rbp),%rax
  add    $0x3,%eax
  mov    $0x1,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x468(%rbp)
  mov    -0x490(%rbp),%rax
  add    $0x4,%eax
  mov    $0x1,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x460(%rbp)
  mov    -0x490(%rbp),%rax
  add    $0x5,%eax
  mov    $0x1,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x458(%rbp)
  mov    -0x490(%rbp),%rax
  add    $0x6,%eax
  mov    $0x1,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x450(%rbp)
  mov    -0x490(%rbp),%rax
  add    $0x7,%eax
  mov    $0x1,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x448(%rbp)
  mov    -0x490(%rbp),%rax
  add    $0x8,%eax
  mov    $0x1,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x440(%rbp)
  mov    -0x490(%rbp),%rax
  add    $0x9,%eax
  mov    $0x1,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x438(%rbp)
  mov    -0x490(%rbp),%rax
  add    $0xa,%eax
  mov    $0x1,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x430(%rbp)
  mov    -0x490(%rbp),%rax
  add    $0xb,%eax
  mov    $0x1,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x428(%rbp)
  mov    -0x490(%rbp),%rax
  add    $0xc,%eax
  mov    $0x1,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x420(%rbp)
  mov    -0x490(%rbp),%rax
  add    $0xd,%eax
  mov    $0x1,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x418(%rbp)
  mov    -0x490(%rbp),%rax
  add    $0xe,%eax
  mov    $0x1,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x410(%rbp)
  mov    -0x490(%rbp),%rax
  add    $0xf,%eax
  mov    $0x1,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x408(%rbp)
  mov    -0x490(%rbp),%rax
  add    $0x10,%eax
  mov    $0x1,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x400(%rbp)
  mov    -0x490(%rbp),%rax
  add    $0x11,%eax
  mov    $0x1,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x3f8(%rbp)
  mov    -0x490(%rbp),%rax
  add    $0x12,%eax
  mov    $0x1,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x3f0(%rbp)
  mov    -0x490(%rbp),%rax
  add    $0x13,%eax
  mov    $0x1,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x3e8(%rbp)
  mov    -0x490(%rbp),%rax
  add    $0x14,%eax
  mov    $0x1,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x3e0(%rbp)
  mov    -0x490(%rbp),%rax
  add    $0x15,%eax
  mov    $0x1,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x3d8(%rbp)
  mov    -0x490(%rbp),%rax
  add    $0x16,%eax
  mov    $0x1,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x3d0(%rbp)
  mov    -0x490(%rbp),%rax
  add    $0x17,%eax
  mov    $0x1,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x3c8(%rbp)
  mov    -0x490(%rbp),%rax
  add    $0x18,%eax
  mov    $0x1,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x3c0(%rbp)
  mov    -0x490(%rbp),%rax
  add    $0x19,%eax
  mov    $0x1,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x3b8(%rbp)
  mov    -0x490(%rbp),%rax
  add    $0x1a,%eax
  mov    $0x1,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x3b0(%rbp)
  mov    -0x490(%rbp),%rax
  add    $0x1b,%eax
  mov    $0x1,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x3a8(%rbp)
  mov    -0x490(%rbp),%rax
  add    $0x1c,%eax
  mov    $0x1,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x3a0(%rbp)
  mov    -0x490(%rbp),%rax
  add    $0x1d,%eax
  mov    $0x1,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x398(%rbp)
  mov    -0x490(%rbp),%rax
  add    $0x1e,%eax
  mov    $0x1,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x390(%rbp)
  mov    -0x490(%rbp),%rax
  add    $0x1f,%eax
  mov    $0x1,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x388(%rbp)
  mov    -0x490(%rbp),%rax
  add    $0x20,%eax
  mov    $0x1,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x380(%rbp)
  mov    -0x490(%rbp),%rax
  add    $0x21,%eax
  mov    $0x1,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x378(%rbp)
  mov    -0x490(%rbp),%rax
  add    $0x22,%eax
  mov    $0x1,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x370(%rbp)
  mov    -0x490(%rbp),%rax
  add    $0x23,%eax
  mov    $0x1,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x368(%rbp)
  mov    -0x490(%rbp),%rax
  add    $0x24,%eax
  mov    $0x1,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x360(%rbp)
  mov    -0x490(%rbp),%rax
  add    $0x25,%eax
  mov    $0x1,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x358(%rbp)
  mov    -0x490(%rbp),%rax
  add    $0x26,%eax
  mov    $0x1,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x350(%rbp)
  mov    -0x490(%rbp),%rax
  add    $0x27,%eax
  mov    $0x1,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x348(%rbp)
  mov    -0x490(%rbp),%rax
  add    $0x28,%eax
  mov    $0x1,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x340(%rbp)
  mov    -0x490(%rbp),%rax
  add    $0x29,%eax
  mov    $0x1,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x338(%rbp)
  mov    -0x490(%rbp),%rax
  add    $0x2a,%eax
  mov    $0x1,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x330(%rbp)
  mov    -0x490(%rbp),%rax
  add    $0x2b,%eax
  mov    $0x1,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x328(%rbp)
  mov    -0x490(%rbp),%rax
  add    $0x2c,%eax
  mov    $0x1,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x320(%rbp)
  mov    -0x490(%rbp),%rax
  add    $0x2d,%eax
  mov    $0x1,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x318(%rbp)
  mov    -0x490(%rbp),%rax
  add    $0x2e,%eax
  mov    $0x1,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x310(%rbp)
  mov    -0x490(%rbp),%rax
  add    $0x2f,%eax
  mov    $0x1,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x308(%rbp)
  mov    -0x308(%rbp),%rax
  shl    $0x38,%rax
  mov    %rax,-0x300(%rbp)
  mov    -0x310(%rbp),%rax
  shl    $0x30,%rax
  mov    %rax,-0x2f8(%rbp)
  mov    -0x318(%rbp),%rax
  shl    $0x28,%rax
  mov    %rax,-0x2f0(%rbp)
  mov    -0x320(%rbp),%rax
  shl    $0x20,%rax
  mov    %rax,-0x2e8(%rbp)
  mov    -0x328(%rbp),%rax
  shl    $0x18,%rax
  mov    %rax,-0x2e0(%rbp)
  mov    -0x330(%rbp),%rax
  shl    $0x10,%rax
  mov    %rax,-0x2d8(%rbp)
  mov    -0x338(%rbp),%rax
  shl    $0x8,%rax
  mov    %rax,-0x2d0(%rbp)
  mov    -0x340(%rbp),%rax
  mov    %rax,-0x2c8(%rbp)
  mov    -0x348(%rbp),%rax
  shl    $0x38,%rax
  mov    %rax,-0x2c0(%rbp)
  mov    -0x350(%rbp),%rax
  shl    $0x30,%rax
  mov    %rax,-0x2b8(%rbp)
  mov    -0x358(%rbp),%rax
  shl    $0x28,%rax
  mov    %rax,-0x2b0(%rbp)
  mov    -0x360(%rbp),%rax
  shl    $0x20,%rax
  mov    %rax,-0x2a8(%rbp)
  mov    -0x368(%rbp),%rax
  shl    $0x18,%rax
  mov    %rax,-0x2a0(%rbp)
  mov    -0x370(%rbp),%rax
  shl    $0x10,%rax
  mov    %rax,-0x298(%rbp)
  mov    -0x378(%rbp),%rax
  shl    $0x8,%rax
  mov    %rax,-0x290(%rbp)
  mov    -0x380(%rbp),%rax
  mov    %rax,-0x288(%rbp)
  mov    -0x388(%rbp),%rax
  shl    $0x38,%rax
  mov    %rax,-0x280(%rbp)
  mov    -0x390(%rbp),%rax
  shl    $0x30,%rax
  mov    %rax,-0x278(%rbp)
  mov    -0x398(%rbp),%rax
  shl    $0x28,%rax
  mov    %rax,-0x270(%rbp)
  mov    -0x3a0(%rbp),%rax
  shl    $0x20,%rax
  mov    %rax,-0x268(%rbp)
  mov    -0x3a8(%rbp),%rax
  shl    $0x18,%rax
  mov    %rax,-0x260(%rbp)
  mov    -0x3b0(%rbp),%rax
  shl    $0x10,%rax
  mov    %rax,-0x258(%rbp)
  mov    -0x3b8(%rbp),%rax
  shl    $0x8,%rax
  mov    %rax,-0x250(%rbp)
  mov    -0x3c0(%rbp),%rax
  mov    %rax,-0x248(%rbp)
  mov    -0x3c8(%rbp),%rax
  shl    $0x38,%rax
  mov    %rax,-0x240(%rbp)
  mov    -0x3d0(%rbp),%rax
  shl    $0x30,%rax
  mov    %rax,-0x238(%rbp)
  mov    -0x3d8(%rbp),%rax
  shl    $0x28,%rax
  mov    %rax,-0x230(%rbp)
  mov    -0x3e0(%rbp),%rax
  shl    $0x20,%rax
  mov    %rax,-0x228(%rbp)
  mov    -0x3e8(%rbp),%rax
  shl    $0x18,%rax
  mov    %rax,-0x220(%rbp)
  mov    -0x3f0(%rbp),%rax
  shl    $0x10,%rax
  mov    %rax,-0x218(%rbp)
  mov    -0x3f8(%rbp),%rax
  shl    $0x8,%rax
  mov    %rax,-0x210(%rbp)
  mov    -0x400(%rbp),%rax
  mov    %rax,-0x208(%rbp)
  mov    -0x408(%rbp),%rax
  shl    $0x38,%rax
  mov    %rax,-0x200(%rbp)
  mov    -0x410(%rbp),%rax
  shl    $0x30,%rax
  mov    %rax,-0x1f8(%rbp)
  mov    -0x418(%rbp),%rax
  shl    $0x28,%rax
  mov    %rax,-0x1f0(%rbp)
  mov    -0x420(%rbp),%rax
  shl    $0x20,%rax
  mov    %rax,-0x1e8(%rbp)
  mov    -0x428(%rbp),%rax
  shl    $0x18,%rax
  mov    %rax,-0x1e0(%rbp)
  mov    -0x430(%rbp),%rax
  shl    $0x10,%rax
  mov    %rax,-0x1d8(%rbp)
  mov    -0x438(%rbp),%rax
  shl    $0x8,%rax
  mov    %rax,-0x1d0(%rbp)
  mov    -0x440(%rbp),%rax
  mov    %rax,-0x1c8(%rbp)
  mov    -0x448(%rbp),%rax
  shl    $0x38,%rax
  mov    %rax,-0x1c0(%rbp)
  mov    -0x450(%rbp),%rax
  shl    $0x30,%rax
  mov    %rax,-0x1b8(%rbp)
  mov    -0x458(%rbp),%rax
  shl    $0x28,%rax
  mov    %rax,-0x1b0(%rbp)
  mov    -0x460(%rbp),%rax
  shl    $0x20,%rax
  mov    %rax,-0x1a8(%rbp)
  mov    -0x468(%rbp),%rax
  shl    $0x18,%rax
  mov    %rax,-0x1a0(%rbp)
  mov    -0x470(%rbp),%rax
  shl    $0x10,%rax
  mov    %rax,-0x198(%rbp)
  mov    -0x478(%rbp),%rax
  shl    $0x8,%rax
  mov    %rax,-0x190(%rbp)
  mov    -0x480(%rbp),%rax
  mov    %rax,-0x188(%rbp)
  mov    -0x190(%rbp),%rdx
  mov    -0x188(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x180(%rbp)
  mov    -0x198(%rbp),%rdx
  mov    -0x180(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x178(%rbp)
  mov    -0x1a0(%rbp),%rdx
  mov    -0x178(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x170(%rbp)
  mov    -0x1a8(%rbp),%rdx
  mov    -0x170(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x168(%rbp)
  mov    -0x1b0(%rbp),%rdx
  mov    -0x168(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x160(%rbp)
  mov    -0x1b8(%rbp),%rdx
  mov    -0x160(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x158(%rbp)
  mov    -0x1c0(%rbp),%rdx
  mov    -0x158(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x150(%rbp)
  mov    -0x1d0(%rbp),%rdx
  mov    -0x1c8(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x148(%rbp)
  mov    -0x1d8(%rbp),%rdx
  mov    -0x148(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x140(%rbp)
  mov    -0x1e0(%rbp),%rdx
  mov    -0x140(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x138(%rbp)
  mov    -0x1e8(%rbp),%rdx
  mov    -0x138(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x130(%rbp)
  mov    -0x1f0(%rbp),%rdx
  mov    -0x130(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x128(%rbp)
  mov    -0x1f8(%rbp),%rdx
  mov    -0x128(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x120(%rbp)
  mov    -0x200(%rbp),%rdx
  mov    -0x120(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x118(%rbp)
  mov    -0x210(%rbp),%rdx
  mov    -0x208(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x110(%rbp)
  mov    -0x218(%rbp),%rdx
  mov    -0x110(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x108(%rbp)
  mov    -0x220(%rbp),%rdx
  mov    -0x108(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x100(%rbp)
  mov    -0x228(%rbp),%rdx
  mov    -0x100(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0xf8(%rbp)
  mov    -0x230(%rbp),%rdx
  mov    -0xf8(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0xf0(%rbp)
  mov    -0x238(%rbp),%rdx
  mov    -0xf0(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0xe8(%rbp)
  mov    -0x240(%rbp),%rdx
  mov    -0xe8(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0xe0(%rbp)
  mov    -0x250(%rbp),%rdx
  mov    -0x248(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0xd8(%rbp)
  mov    -0x258(%rbp),%rdx
  mov    -0xd8(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0xd0(%rbp)
  mov    -0x260(%rbp),%rdx
  mov    -0xd0(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0xc8(%rbp)
  mov    -0x268(%rbp),%rdx
  mov    -0xc8(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0xc0(%rbp)
  mov    -0x270(%rbp),%rdx
  mov    -0xc0(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0xb8(%rbp)
  mov    -0x278(%rbp),%rdx
  mov    -0xb8(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0xb0(%rbp)
  mov    -0x280(%rbp),%rdx
  mov    -0xb0(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0xa8(%rbp)
  mov    -0x290(%rbp),%rdx
  mov    -0x288(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0xa0(%rbp)
  mov    -0x298(%rbp),%rdx
  mov    -0xa0(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x98(%rbp)
  mov    -0x2a0(%rbp),%rdx
  mov    -0x98(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x90(%rbp)
  mov    -0x2a8(%rbp),%rdx
  mov    -0x90(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x88(%rbp)
  mov    -0x2b0(%rbp),%rdx
  mov    -0x88(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x80(%rbp)
  mov    -0x2b8(%rbp),%rdx
  mov    -0x80(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x78(%rbp)
  mov    -0x2c0(%rbp),%rdx
  mov    -0x78(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x70(%rbp)
  mov    -0x2d0(%rbp),%rdx
  mov    -0x2c8(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x68(%rbp)
  mov    -0x2d8(%rbp),%rdx
  mov    -0x68(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x60(%rbp)
  mov    -0x2e0(%rbp),%rdx
  mov    -0x60(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x58(%rbp)
  mov    -0x2e8(%rbp),%rdx
  mov    -0x58(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x50(%rbp)
  mov    -0x2f0(%rbp),%rdx
  mov    -0x50(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x48(%rbp)
  mov    -0x2f8(%rbp),%rdx
  mov    -0x48(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x40(%rbp)
  mov    -0x300(%rbp),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x38(%rbp)
  mov    -0x150(%rbp),%rax
  mov    %rax,-0x30(%rbp)
  mov    -0x118(%rbp),%rax
  mov    %rax,-0x28(%rbp)
  mov    -0xe0(%rbp),%rax
  mov    %rax,-0x20(%rbp)
  mov    -0xa8(%rbp),%rax
  mov    %rax,-0x18(%rbp)
  mov    -0x70(%rbp),%rax
  mov    %rax,-0x10(%rbp)
  mov    -0x38(%rbp),%rax
  mov    %rax,-0x8(%rbp)
  mov    -0x488(%rbp),%rax
  mov    %eax,%ecx
  mov    -0x30(%rbp),%rax
  mov    $0x8,%edx
  mov    %rax,%rsi
  mov    %ecx,%edi
  call   <_br2_store@plt>
  mov    -0x488(%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    -0x488(%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    -0x488(%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    -0x488(%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    -0x488(%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_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;
}
```