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

```asm
<CliShowUsage>:
  endbr64
  sub    $0x8,%rsp
  lea    D5(%rip),%rdi
  call   <printf@plt>
  add    $0x8,%rsp
  ret
```

tool_calls: name: extract_symbolic_data
arguments: tag: D5
data_type: string

tool: {"D5": "Usage:\n\tyaAGC [options] exec-ropes-file [core-resume-file]\n\nOptions:\n\n--exec=EXECFILE   Use EXECFILE as the exec-ropes-file\n--fullname        Output information used by emacs-GDB interface.\n--symbols=SYMFILE Read symbols from SYMFILE generated by yaYUL.\n--quiet           Do not print version number on startup.\n--cd=DIR          Change current directory to DIR.\n--command=FILE    Execute AGC commands from FILE.\n--directory=DIR   Search for source files in DIR.\n--port=N          Change the server port number (default=19697).\n--nodebug         Disables debugging and run just the simulation\n--interlace=N     Read the socket interface every N CPU instructions.\n--dump-time=N     Create core image every N seconds (default = 10).\n--cdu-log         Used only for debugging. Creates the file yaAGC.cdulog\n                  containing data related to the bandwidth-limiting of\n                  CDU inputs PCDU and MCDU.\n--debug-dsky      Rather than run the core program, go into DSKY-debug\n                  mode. In this mode send pre-determined codes to\n                  the DSKY upon receiving DSKY keypresses.\n--debug-deda      This mode runs the core program as usual, but also\n                  responds to messages from yaDEDA and generates fake\n                  messages to yaDEDA for testing purposes.\n--deda-quiet      Used with --debug-deda to eliminate outputs from yaAGC\n                  to the DEDA.  In other words, lets yaAGC parse the\n                  messages being received from the DEDA, but never to\n                  send any.  That lets \"yaAGC --debug-deda --deda-quiet\"\n                  to be used alongside yaAGS without conflict.\n--cfg=file        The name of a configuration file.  Presently, the\n                  configuration files is used only for --debug-dsky\n                  mode.  It would typically be the same configuration\n                  file as used for yaDSKY.\n\nNote that the exec-ropes file should contain exactly 36 banks\n(36x1024=36864 words, or 73728 bytes). Other sizes may be accepted,\nbut it is unclear what (if any) utility such core-rope images\nwould have. (In particular, if the core-rope\nis supposed to be for actual Luminary or Colossus software, then\nthe checksums of the missing memory banks would be incorrect, and\nso the built-in self-test would fail.)\n\n"}

assistant: ```c
void CliShowUsage(void) {
  printf("Usage:\n"
         "\tyaAGC [options] exec-ropes-file [core-resume-file]\n\n"
         "Options:\n\n"
         "--exec=EXECFILE   Use EXECFILE as the exec-ropes-file\n"
         "--fullname        Output information used by emacs-GDB interface.\n"
         "--symbols=SYMFILE Read symbols from SYMFILE generated by yaYUL.\n"
         "--quiet           Do not print version number on startup.\n"
         "--cd=DIR          Change current directory to DIR.\n"
         "--command=FILE    Execute AGC commands from FILE.\n"
         "--directory=DIR   Search for source files in DIR.\n"
         "--port=N          Change the server port number (default=19697).\n"
         "--nodebug         Disables debugging and run just the simulation\n"
         "--interlace=N     Read the socket interface every N CPU instructions.\n"
         "--dump-time=N     Create core image every N seconds (default = 10).\n"
         "--cdu-log         Used only for debugging. Creates the file yaAGC.cdulog\n"
         "                  containing data related to the bandwidth-limiting of\n"
         "                  CDU inputs PCDU and MCDU.\n"
         "--debug-dsky      Rather than run the core program, go into DSKY-debug\n"
         "                  mode. In this mode send pre-determined codes to\n"
         "                  the DSKY upon receiving DSKY keypresses.\n"
         "--debug-deda      This mode runs the core program as usual, but also\n"
         "                  responds to messages from yaDEDA and generates fake\n"
         "                  messages to yaDEDA for testing purposes.\n"
         "--deda-quiet      Used with --debug-deda to eliminate outputs from yaAGC\n"
         "                  to the DEDA.  In other words, lets yaAGC parse the\n"
         "                  messages being received from the DEDA, but never to\n"
         "                  send any.  That lets \"yaAGC --debug-deda --deda-quiet\"\n"
         "                  to be used alongside yaAGS without conflict.\n"
         "--cfg=file        The name of a configuration file.  Presently, the\n"
         "                  configuration files is used only for --debug-dsky\n"
         "                  mode.  It would typically be the same configuration\n"
         "                  file as used for yaDSKY.\n\n"
         "Note that the exec-ropes file should contain exactly 36 banks\n"
         "(36x1024=36864 words, or 73728 bytes). Other sizes may be accepted,\n"
         "but it is unclear what (if any) utility such core-rope images\n"
         "would have. (In particular, if the core-rope\n"
         "is supposed to be for actual Luminary or Colossus software, then\n"
         "the checksums of the missing memory banks would be incorrect, and\n"
         "so the built-in self-test would fail.)\n\n");
}
```