user: Demonstrate the C code that generates the assembly output below:

```asm
<IniGyr>:
  endbr64
  sub    $0x8,%rsp
  mov    $0x3,%esi
  mov    $0x110,%edi
  call   <RegWriteA@plt>
  mov    $0x10,%esi
  mov    $0x107,%edi
  call   <RegWriteA@plt>
  xor    %esi,%esi
  mov    $0x117,%edi
  call   <RegWriteA@plt>
  xor    %esi,%esi
  mov    $0x11c,%edi
  call   <RegWriteA@plt>
  xor    %esi,%esi
  mov    $0x11b,%edi
  call   <RegWriteA@plt>
  xor    %esi,%esi
  mov    $0x118,%edi
  call   <RegWriteA@plt>
  mov    $0x12,%esi
  mov    $0x119,%edi
  call   <RegWriteA@plt>
  mov    $0x6,%esi
  mov    $0x116,%edi
  call   <RegWriteA@plt>
  mov    $0x3dcccccd,%esi
  mov    $0x1028,%edi
  call   <RamWrite32A@plt>
  mov    $0x3dcccccd,%esi
  mov    $0x1128,%edi
  call   <RamWrite32A@plt>
  mov    $0x3ecccccd,%esi
  mov    $0x1029,%edi
  call   <RamWrite32A@plt>
  mov    $0x3ecccccd,%esi
  mov    $0x1129,%edi
  call   <RamWrite32A@plt>
  mov    $0x3ecccccd,%esi
  mov    $0x102a,%edi
  call   <RamWrite32A@plt>
  mov    $0x3ecccccd,%esi
  mov    $0x112a,%edi
  call   <RamWrite32A@plt>
  mov    $0x40000000,%esi
  mov    $0x112b,%edi
  call   <RamWrite32A@plt>
  mov    $0x40000000,%esi
  mov    $0x102b,%edi
  call   <RamWrite32A@plt>
  mov    $0x40000000,%esi
  mov    $0x102c,%edi
  call   <RamWrite32A@plt>
  mov    $0x40000000,%esi
  mov    $0x112c,%edi
  call   <RamWrite32A@plt>
  mov    $0x12,%esi
  mov    $0x130,%edi
  call   <RegWriteA@plt>
  mov    $0x9,%esi
  mov    $0x131,%edi
  call   <RegWriteA@plt>
  xor    %esi,%esi
  mov    $0x1226,%edi
  call   <RamWrite32A@plt>
  xor    %esi,%esi
  mov    $0x109d,%edi
  call   <RamWrite32A@plt>
  xor    %esi,%esi
  mov    $0x109e,%edi
  call   <RamWrite32A@plt>
  mov    $0x3f800000,%esi
  mov    $0x104f,%edi
  call   <RamWrite32A@plt>
  mov    $0x3fc00000,%esi
  mov    $0x105f,%edi
  call   <RamWrite32A@plt>
  mov    $0x3ca3d70a,%esi
  mov    $0x106f,%edi
  call   <RamWrite32A@plt>
  mov    $0x3e4ccccd,%esi
  mov    $0x107f,%edi
  call   <RamWrite32A@plt>
  mov    $0x3dcccccd,%esi
  mov    $0x108f,%edi
  call   <RamWrite32A@plt>
  mov    $0x3f000000,%esi
  mov    $0x109f,%edi
  call   <RamWrite32A@plt>
  mov    $0x3c23d70a,%esi
  mov    $0x10af,%edi
  call   <RamWrite32A@plt>
  mov    $0x3ca3d70a,%esi
  mov    $0x10bf,%edi
  call   <RamWrite32A@plt>
  xor    %esi,%esi
  mov    $0x119d,%edi
  call   <RamWrite32A@plt>
  xor    %esi,%esi
  mov    $0x119e,%edi
  call   <RamWrite32A@plt>
  mov    $0x3f800000,%esi
  mov    $0x114f,%edi
  call   <RamWrite32A@plt>
  mov    $0x3fc00000,%esi
  mov    $0x115f,%edi
  call   <RamWrite32A@plt>
  mov    $0x3ca3d70a,%esi
  mov    $0x116f,%edi
  call   <RamWrite32A@plt>
  mov    $0x3e4ccccd,%esi
  mov    $0x117f,%edi
  call   <RamWrite32A@plt>
  mov    $0x3dcccccd,%esi
  mov    $0x118f,%edi
  call   <RamWrite32A@plt>
  mov    $0x3f000000,%esi
  mov    $0x119f,%edi
  call   <RamWrite32A@plt>
  mov    $0x3c23d70a,%esi
  mov    $0x11af,%edi
  call   <RamWrite32A@plt>
  mov    $0x3ca3d70a,%esi
  mov    $0x11bf,%edi
  call   <RamWrite32A@plt>
  xor    %esi,%esi
  mov    $0x133,%edi
  call   <RegWriteA@plt>
  xor    %esi,%esi
  mov    $0x140,%edi
  call   <RegWriteA@plt>
  xor    %esi,%esi
  mov    $0x141,%edi
  call   <RegWriteA@plt>
  xor    %esi,%esi
  mov    $0x142,%edi
  call   <RegWriteA@plt>
  xor    %esi,%esi
  mov    $0x143,%edi
  call   <RegWriteA@plt>
  mov    $0x1,%esi
  mov    $0x144,%edi
  call   <RegWriteA@plt>
  xor    %esi,%esi
  mov    $0x145,%edi
  call   <RegWriteA@plt>
  xor    %esi,%esi
  mov    $0x146,%edi
  call   <RegWriteA@plt>
  mov    $0x7,%esi
  mov    $0x147,%edi
  call   <RegWriteA@plt>
  xor    %esi,%esi
  mov    $0x148,%edi
  call   <RegWriteA@plt>
  xor    %esi,%esi
  mov    $0x149,%edi
  call   <RegWriteA@plt>
  mov    $0x11,%esi
  mov    $0x14a,%edi
  call   <RegWriteA@plt>
  xor    %esi,%esi
  mov    $0x14b,%edi
  call   <RegWriteA@plt>
  xor    %esi,%esi
  mov    $0x14c,%edi
  call   <RegWriteA@plt>
  xor    %esi,%esi
  mov    $0x14d,%edi
  call   <RegWriteA@plt>
  mov    $0x1,%esi
  mov    $0x14e,%edi
  call   <RegWriteA@plt>
  xor    %esi,%esi
  mov    $0x14f,%edi
  call   <RegWriteA@plt>
  xor    %esi,%esi
  mov    $0x150,%edi
  call   <RegWriteA@plt>
  xor    %esi,%esi
  mov    $0x151,%edi
  call   <RegWriteA@plt>
  mov    $0x44,%esi
  mov    $0x152,%edi
  call   <RegWriteA@plt>
  mov    $0x4,%esi
  mov    $0x153,%edi
  call   <RegWriteA@plt>
  xor    %esi,%esi
  mov    $0x15b,%edi
  call   <RegWriteA@plt>
  xor    %esi,%esi
  mov    $0x15c,%edi
  call   <RegWriteA@plt>
  xor    %esi,%esi
  mov    $0x15d,%edi
  call   <RegWriteA@plt>
  mov    $0x3,%esi
  mov    $0x15e,%edi
  call   <RegWriteA@plt>
  mov    $0x11,%esi
  mov    $0x132,%edi
  call   <RegWriteA@plt>
  xor    %edi,%edi
  call   <IniPtMovMod@plt>
  xor    %esi,%esi
  mov    $0x15f,%edi
  call   <RegWriteA@plt>
  mov    $0x1,%esi
  mov    $0x13c,%edi
  call   <RegWriteA@plt>
  xor    %esi,%esi
  mov    $0x13d,%edi
  call   <RegWriteA@plt>
  mov    $0x2,%esi
  mov    $0x13e,%edi
  call   <RegWriteA@plt>
  mov    $0x7,%esi
  mov    $0x13f,%edi
  call   <RegWriteA@plt>
  xor    %esi,%esi
  mov    $0x15a,%edi
  call   <RegWriteA@plt>
  mov    $0x3a031280,%esi
  mov    $0x10ae,%edi
  call   <RamWrite32A@plt>
  mov    $0x3a031280,%esi
  mov    $0x11ae,%edi
  call   <RamWrite32A@plt>
  xor    %esi,%esi
  mov    $0x1094,%edi
  call   <RamWrite32A@plt>
  mov    $0x3f800000,%esi
  mov    $0x1095,%edi
  call   <RamWrite32A@plt>
  mov    $0xbd4ccccd,%esi
  mov    $0x1096,%edi
  call   <RamWrite32A@plt>
  mov    $0x38d1b717,%esi
  mov    $0x1097,%edi
  call   <RamWrite32A@plt>
  xor    %esi,%esi
  mov    $0x1194,%edi
  call   <RamWrite32A@plt>
  mov    $0x3f800000,%esi
  mov    $0x1195,%edi
  call   <RamWrite32A@plt>
  mov    $0xbd4ccccd,%esi
  mov    $0x1196,%edi
  call   <RamWrite32A@plt>
  mov    $0x38d1b717,%esi
  mov    $0x1197,%edi
  call   <RamWrite32A@plt>
  mov    $0xa,%esi
  mov    $0x120,%edi
  call   <RegWriteA@plt>
  mov    $0x5d,%esi
  mov    $0x123,%edi
  call   <RegWriteA@plt>
  mov    $0x50,%esi
  mov    $0x121,%edi
  call   <RegWriteA@plt>
  mov    $0x5,%esi
  mov    $0x122,%edi
  call   <RegWriteA@plt>
  mov    $0xb,%esi
  mov    $0x128,%edi
  call   <RegWriteA@plt>
  mov    $0x108,%edi
  xor    %esi,%esi
  call   <RegWriteA@plt>
  mov    $0x1,%edi
  add    $0x8,%rsp
  jmp    10b0 <AutoGainControlSw@plt>
```

assistant: ```c
void IniGyr(void) {
  RegWriteA(0x0110, 0x03);
  RegWriteA(0x0107, 0x10);
  RegWriteA(0x0117, 0x00);
  RegWriteA(0x011C, 0x00);
  RegWriteA(0x011B, 0x00);
  RegWriteA(0x0118, 0x00);
  RegWriteA(0x0119, 0x12);
  RegWriteA(0x0116, 0x06);
  RamWrite32A(0x1028, 0x3DCCCCCD);
  RamWrite32A(0x1128, 0x3DCCCCCD);
  RamWrite32A(0x1029, 0x3ECCCCCD);
  RamWrite32A(0x1129, 0x3ECCCCCD);
  RamWrite32A(0x102A, 0x3ECCCCCD);
  RamWrite32A(0x112A, 0x3ECCCCCD);
  RamWrite32A(0x112B, 0x40000000);
  RamWrite32A(0x102B, 0x40000000);
  RamWrite32A(0x102C, 0x40000000);
  RamWrite32A(0x112C, 0x40000000);
  RegWriteA(0x0130, 0x12);
  RegWriteA(0x0131, 0x09);
  RamWrite32A(0x1226, 0x00000000);
  RamWrite32A(0x109D, 0x00000000);
  RamWrite32A(0x109E, 0x00000000);
  RamWrite32A(0x104F, 0x3F800000);
  RamWrite32A(0x105F, 0x3FC00000);
  RamWrite32A(0x106F, 0x3CA3D70A);
  RamWrite32A(0x107F, 0x3E4CCCCD);
  RamWrite32A(0x108F, 0x3DCCCCCD);
  RamWrite32A(0x109F, 0x3F000000);
  RamWrite32A(0x10AF, 0x3C23D70A);
  RamWrite32A(0x10BF, 0x3CA3D70A);
  RamWrite32A(0x119D, 0x00000000);
  RamWrite32A(0x119E, 0x00000000);
  RamWrite32A(0x114F, 0x3F800000);
  RamWrite32A(0x115F, 0x3FC00000);
  RamWrite32A(0x116F, 0x3CA3D70A);
  RamWrite32A(0x117F, 0x3E4CCCCD);
  RamWrite32A(0x118F, 0x3DCCCCCD);
  RamWrite32A(0x119F, 0x3F000000);
  RamWrite32A(0x11AF, 0x3C23D70A);
  RamWrite32A(0x11BF, 0x3CA3D70A);
  RegWriteA(0x0133, 0x00);
  RegWriteA(0x0140, 0x00);
  RegWriteA(0x0141, 0x00);
  RegWriteA(0x0142, 0x00);
  RegWriteA(0x0143, 0x00);
  RegWriteA(0x0144, 0x01);
  RegWriteA(0x0145, 0x00);
  RegWriteA(0x0146, 0x00);
  RegWriteA(0x0147, 0x07);
  RegWriteA(0x0148, 0x00);
  RegWriteA(0x0149, 0x00);
  RegWriteA(0x014A, 0x11);
  RegWriteA(0x014B, 0x00);
  RegWriteA(0x014C, 0x00);
  RegWriteA(0x014D, 0x00);
  RegWriteA(0x014E, 0x01);
  RegWriteA(0x014F, 0x00);
  RegWriteA(0x0150, 0x00);
  RegWriteA(0x0151, 0x00);
  RegWriteA(0x0152, 0x44);
  RegWriteA(0x0153, 0x04);
  RegWriteA(0x015B, 0x00);
  RegWriteA(0x015C, 0x00);
  RegWriteA(0x015D, 0x00);
  RegWriteA(0x015E, 0x03);
  RegWriteA(0x0132, 0x11);
  IniPtMovMod(0x00);
  RegWriteA(0x015F, 0x00);
  RegWriteA(0x013C, 0x01);
  RegWriteA(0x013D, 0x00);
  RegWriteA(0x013E, 0x02);
  RegWriteA(0x013F, 0x07);
  RegWriteA(0x015A, 0x00);
  RamWrite32A(0x10AE, 0x3A031280);
  RamWrite32A(0x11AE, 0x3A031280);
  RamWrite32A(0x1094, 0x00000000);
  RamWrite32A(0x1095, 0x3F800000);
  RamWrite32A(0x1096, 0xBD4CCCCD);
  RamWrite32A(0x1097, 0x38D1B717);
  RamWrite32A(0x1194, 0x00000000);
  RamWrite32A(0x1195, 0x3F800000);
  RamWrite32A(0x1196, 0xBD4CCCCD);
  RamWrite32A(0x1197, 0x38D1B717);
  RegWriteA(0x0120, (unsigned char)0x140A);
  RegWriteA(0x0123, 0x5D);
  RegWriteA(0x0121, 0x50);
  RegWriteA(0x0122, 0x05);
  RegWriteA(0x0128, (unsigned char)0x100B);
  RegWriteA(0x0108, 0x00);
  AutoGainControlSw(0x01);
}
```