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

```asm
<MesFil_lc898122_sharp>:
  endbr64
  sub    $0x8,%rsp
  test   %dil,%dil
  je     L12
  cmp    $0x1,%dil
  je     L4
  cmp    $0x2,%dil
  je     L13
  cmp    $0x3,%dil
  je     L14
L75:
  add    $0x8,%rsp
  ret
L12:
  mov    $0x3ca175c0,%esi
  mov    $0x10f0,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  mov    $0x3ca175c0,%esi
  mov    $0x10f1,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  mov    $0x3f75e8c0,%esi
  mov    $0x10f2,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  mov    $0x0,%esi
  mov    $0x10f3,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  mov    $0x0,%esi
  mov    $0x10f4,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  mov    $0x3f800000,%esi
  mov    $0x10f5,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  mov    $0x0,%esi
  mov    $0x10f6,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  mov    $0x0,%esi
  mov    $0x10f7,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  mov    $0x0,%esi
  mov    $0x10f8,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  mov    $0x0,%esi
  mov    $0x10f9,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  mov    $0x3ca175c0,%esi
  mov    $0x11f0,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  mov    $0x3ca175c0,%esi
  mov    $0x11f1,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  mov    $0x3f75e8c0,%esi
  mov    $0x11f2,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  mov    $0x0,%esi
  mov    $0x11f3,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  mov    $0x0,%esi
  mov    $0x11f4,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  mov    $0x3f800000,%esi
  mov    $0x11f5,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  mov    $0x0,%esi
  mov    $0x11f6,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  mov    $0x0,%esi
  mov    $0x11f7,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  mov    $0x0,%esi
  mov    $0x11f8,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  mov    $0x0,%esi
  mov    $0x11f9,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  jmp    L75
L4:
  mov    $0x3df21080,%esi
  mov    $0x10f0,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  mov    $0x3df21080,%esi
  mov    $0x10f1,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  mov    $0x3f437bc0,%esi
  mov    $0x10f2,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  mov    $0x0,%esi
  mov    $0x10f3,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  mov    $0x0,%esi
  mov    $0x10f4,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  mov    $0x3f7ef980,%esi
  mov    $0x10f5,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  mov    $0xbf7ef980,%esi
  mov    $0x10f6,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  mov    $0x3f7df300,%esi
  mov    $0x10f7,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  mov    $0x0,%esi
  mov    $0x10f8,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  mov    $0x0,%esi
  mov    $0x10f9,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  mov    $0x3df21080,%esi
  mov    $0x11f0,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  mov    $0x3df21080,%esi
  mov    $0x11f1,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  mov    $0x3f437bc0,%esi
  mov    $0x11f2,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  mov    $0x0,%esi
  mov    $0x11f3,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  mov    $0x0,%esi
  mov    $0x11f4,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  mov    $0x3f7ef980,%esi
  mov    $0x11f5,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  mov    $0xbf7ef980,%esi
  mov    $0x11f6,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  mov    $0x3f7df300,%esi
  mov    $0x11f7,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  mov    $0x0,%esi
  mov    $0x11f8,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  mov    $0x0,%esi
  mov    $0x11f9,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  jmp    L75
L13:
  mov    $0x3f800000,%esi
  mov    $0x10f0,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  mov    $0x0,%esi
  mov    $0x10f1,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  mov    $0x0,%esi
  mov    $0x10f2,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  mov    $0x0,%esi
  mov    $0x10f3,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  mov    $0x0,%esi
  mov    $0x10f4,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  mov    $0x3f800000,%esi
  mov    $0x10f5,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  mov    $0x0,%esi
  mov    $0x10f6,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  mov    $0x0,%esi
  mov    $0x10f7,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  mov    $0x0,%esi
  mov    $0x10f8,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  mov    $0x0,%esi
  mov    $0x10f9,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  mov    $0x3f800000,%esi
  mov    $0x11f0,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  mov    $0x0,%esi
  mov    $0x11f1,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  mov    $0x0,%esi
  mov    $0x11f2,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  mov    $0x0,%esi
  mov    $0x11f3,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  mov    $0x0,%esi
  mov    $0x11f4,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  mov    $0x3f800000,%esi
  mov    $0x11f5,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  mov    $0x0,%esi
  mov    $0x11f6,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  mov    $0x0,%esi
  mov    $0x11f7,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  mov    $0x0,%esi
  mov    $0x11f8,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  mov    $0x0,%esi
  mov    $0x11f9,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  jmp    L75
L14:
  mov    $0x3ca175c0,%esi
  mov    $0x10f0,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  mov    $0x3ca175c0,%esi
  mov    $0x10f1,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  mov    $0x3f75e8c0,%esi
  mov    $0x10f2,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  mov    $0x0,%esi
  mov    $0x10f3,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  mov    $0x0,%esi
  mov    $0x10f4,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  mov    $0x3ca175c0,%esi
  mov    $0x10f5,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  mov    $0x3ca175c0,%esi
  mov    $0x10f6,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  mov    $0x3f75e8c0,%esi
  mov    $0x10f7,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  mov    $0x0,%esi
  mov    $0x10f8,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  mov    $0x0,%esi
  mov    $0x10f9,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  mov    $0x3ca175c0,%esi
  mov    $0x11f0,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  mov    $0x3ca175c0,%esi
  mov    $0x11f1,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  mov    $0x3f75e8c0,%esi
  mov    $0x11f2,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  mov    $0x0,%esi
  mov    $0x11f3,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  mov    $0x0,%esi
  mov    $0x11f4,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  mov    $0x3ca175c0,%esi
  mov    $0x11f5,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  mov    $0x3ca175c0,%esi
  mov    $0x11f6,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  mov    $0x3f75e8c0,%esi
  mov    $0x11f7,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  mov    $0x0,%esi
  mov    $0x11f8,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  mov    $0x0,%esi
  mov    $0x11f9,%edi
  call   <RamWrite32A_lc898122_sharp@plt>
  jmp    L75
```

assistant: ```c
void MesFil_lc898122_sharp(unsigned char UcMesMod) {
  if (!UcMesMod) {
    RamWrite32A_lc898122_sharp(0x10F0, 0x3CA175C0);
    RamWrite32A_lc898122_sharp(0x10F1, 0x3CA175C0);
    RamWrite32A_lc898122_sharp(0x10F2, 0x3F75E8C0);
    RamWrite32A_lc898122_sharp(0x10F3, 0x00000000);
    RamWrite32A_lc898122_sharp(0x10F4, 0x00000000);
    RamWrite32A_lc898122_sharp(0x10F5, 0x3F800000);
    RamWrite32A_lc898122_sharp(0x10F6, 0x00000000);
    RamWrite32A_lc898122_sharp(0x10F7, 0x00000000);
    RamWrite32A_lc898122_sharp(0x10F8, 0x00000000);
    RamWrite32A_lc898122_sharp(0x10F9, 0x00000000);
    RamWrite32A_lc898122_sharp(0x11F0, 0x3CA175C0);
    RamWrite32A_lc898122_sharp(0x11F1, 0x3CA175C0);
    RamWrite32A_lc898122_sharp(0x11F2, 0x3F75E8C0);
    RamWrite32A_lc898122_sharp(0x11F3, 0x00000000);
    RamWrite32A_lc898122_sharp(0x11F4, 0x00000000);
    RamWrite32A_lc898122_sharp(0x11F5, 0x3F800000);
    RamWrite32A_lc898122_sharp(0x11F6, 0x00000000);
    RamWrite32A_lc898122_sharp(0x11F7, 0x00000000);
    RamWrite32A_lc898122_sharp(0x11F8, 0x00000000);
    RamWrite32A_lc898122_sharp(0x11F9, 0x00000000);
  } else if (UcMesMod == 1) {
    RamWrite32A_lc898122_sharp(0x10F0, 0x3DF21080);
    RamWrite32A_lc898122_sharp(0x10F1, 0x3DF21080);
    RamWrite32A_lc898122_sharp(0x10F2, 0x3F437BC0);
    RamWrite32A_lc898122_sharp(0x10F3, 0x00000000);
    RamWrite32A_lc898122_sharp(0x10F4, 0x00000000);
    RamWrite32A_lc898122_sharp(0x10F5, 0x3F7EF980);
    RamWrite32A_lc898122_sharp(0x10F6, 0xBF7EF980);
    RamWrite32A_lc898122_sharp(0x10F7, 0x3F7DF300);
    RamWrite32A_lc898122_sharp(0x10F8, 0x00000000);
    RamWrite32A_lc898122_sharp(0x10F9, 0x00000000);
    RamWrite32A_lc898122_sharp(0x11F0, 0x3DF21080);
    RamWrite32A_lc898122_sharp(0x11F1, 0x3DF21080);
    RamWrite32A_lc898122_sharp(0x11F2, 0x3F437BC0);
    RamWrite32A_lc898122_sharp(0x11F3, 0x00000000);
    RamWrite32A_lc898122_sharp(0x11F4, 0x00000000);
    RamWrite32A_lc898122_sharp(0x11F5, 0x3F7EF980);
    RamWrite32A_lc898122_sharp(0x11F6, 0xBF7EF980);
    RamWrite32A_lc898122_sharp(0x11F7, 0x3F7DF300);
    RamWrite32A_lc898122_sharp(0x11F8, 0x00000000);
    RamWrite32A_lc898122_sharp(0x11F9, 0x00000000);
  } else if (UcMesMod == 2) {
    RamWrite32A_lc898122_sharp(0x10F0, 0x3F800000);
    RamWrite32A_lc898122_sharp(0x10F1, 0x00000000);
    RamWrite32A_lc898122_sharp(0x10F2, 0x00000000);
    RamWrite32A_lc898122_sharp(0x10F3, 0x00000000);
    RamWrite32A_lc898122_sharp(0x10F4, 0x00000000);
    RamWrite32A_lc898122_sharp(0x10F5, 0x3F800000);
    RamWrite32A_lc898122_sharp(0x10F6, 0x00000000);
    RamWrite32A_lc898122_sharp(0x10F7, 0x00000000);
    RamWrite32A_lc898122_sharp(0x10F8, 0x00000000);
    RamWrite32A_lc898122_sharp(0x10F9, 0x00000000);
    RamWrite32A_lc898122_sharp(0x11F0, 0x3F800000);
    RamWrite32A_lc898122_sharp(0x11F1, 0x00000000);
    RamWrite32A_lc898122_sharp(0x11F2, 0x00000000);
    RamWrite32A_lc898122_sharp(0x11F3, 0x00000000);
    RamWrite32A_lc898122_sharp(0x11F4, 0x00000000);
    RamWrite32A_lc898122_sharp(0x11F5, 0x3F800000);
    RamWrite32A_lc898122_sharp(0x11F6, 0x00000000);
    RamWrite32A_lc898122_sharp(0x11F7, 0x00000000);
    RamWrite32A_lc898122_sharp(0x11F8, 0x00000000);
    RamWrite32A_lc898122_sharp(0x11F9, 0x00000000);
  } else if (UcMesMod == 3) {
    RamWrite32A_lc898122_sharp(0x10F0, 0x3CA175C0);
    RamWrite32A_lc898122_sharp(0x10F1, 0x3CA175C0);
    RamWrite32A_lc898122_sharp(0x10F2, 0x3F75E8C0);
    RamWrite32A_lc898122_sharp(0x10F3, 0x00000000);
    RamWrite32A_lc898122_sharp(0x10F4, 0x00000000);
    RamWrite32A_lc898122_sharp(0x10F5, 0x3CA175C0);
    RamWrite32A_lc898122_sharp(0x10F6, 0x3CA175C0);
    RamWrite32A_lc898122_sharp(0x10F7, 0x3F75E8C0);
    RamWrite32A_lc898122_sharp(0x10F8, 0x00000000);
    RamWrite32A_lc898122_sharp(0x10F9, 0x00000000);
    RamWrite32A_lc898122_sharp(0x11F0, 0x3CA175C0);
    RamWrite32A_lc898122_sharp(0x11F1, 0x3CA175C0);
    RamWrite32A_lc898122_sharp(0x11F2, 0x3F75E8C0);
    RamWrite32A_lc898122_sharp(0x11F3, 0x00000000);
    RamWrite32A_lc898122_sharp(0x11F4, 0x00000000);
    RamWrite32A_lc898122_sharp(0x11F5, 0x3CA175C0);
    RamWrite32A_lc898122_sharp(0x11F6, 0x3CA175C0);
    RamWrite32A_lc898122_sharp(0x11F7, 0x3F75E8C0);
    RamWrite32A_lc898122_sharp(0x11F8, 0x00000000);
    RamWrite32A_lc898122_sharp(0x11F9, 0x00000000);
  }
}
```