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

```asm
<show_usage>:
  endbr64
  sub    $0x8,%rsp
  mov    $0x0,%eax
  call   <show_version@plt>
  lea    D304(%rip),%rdi
  call   <printf@plt>
  lea    D130(%rip),%rdi
  call   <printf@plt>
  lea    D283(%rip),%rdi
  call   <printf@plt>
  lea    D285(%rip),%rdi
  call   <printf@plt>
  lea    D122(%rip),%rdi
  call   <printf@plt>
  lea    D19(%rip),%rdi
  call   <printf@plt>
  lea    D52(%rip),%rdi
  call   <printf@plt>
  lea    D84(%rip),%rdi
  call   <printf@plt>
  lea    D180(%rip),%rdi
  call   <printf@plt>
  lea    D212(%rip),%rdi
  call   <printf@plt>
  lea    D157(%rip),%rdi
  call   <printf@plt>
  lea    D172(%rip),%rdi
  call   <printf@plt>
  lea    D262(%rip),%rdi
  call   <printf@plt>
  lea    D91(%rip),%rdi
  call   <printf@plt>
  lea    D81(%rip),%rdi
  call   <printf@plt>
  lea    D127(%rip),%rdi
  call   <printf@plt>
  lea    D181(%rip),%rdi
  call   <printf@plt>
  lea    D306(%rip),%rdi
  call   <printf@plt>
  lea    D277(%rip),%rdi
  call   <printf@plt>
  lea    D208(%rip),%rdi
  call   <printf@plt>
  lea    D64(%rip),%rdi
  call   <printf@plt>
  lea    D217(%rip),%rdi
  call   <printf@plt>
  lea    D112(%rip),%rdi
  call   <printf@plt>
  lea    D307(%rip),%rdi
  call   <printf@plt>
  lea    D93(%rip),%rdi
  call   <printf@plt>
  lea    D203(%rip),%rdi
  call   <printf@plt>
  lea    D28(%rip),%rdi
  call   <printf@plt>
  lea    D275(%rip),%rdi
  call   <printf@plt>
  lea    D117(%rip),%rdi
  call   <printf@plt>
  lea    D97(%rip),%rdi
  call   <printf@plt>
  lea    D85(%rip),%rdi
  call   <printf@plt>
  lea    D200(%rip),%rdi
  call   <printf@plt>
  lea    D95(%rip),%rdi
  call   <printf@plt>
  lea    D191(%rip),%rdi
  call   <printf@plt>
  mov    $0x1,%edi
  call   <exit@plt>
  add    $0x8,%rsp
  ret
```

tool_calls: name: retrieve_data
arguments: tag: D304
data_type: string
name: retrieve_data
arguments: tag: D130
data_type: string
name: retrieve_data
arguments: tag: D283
data_type: string
name: retrieve_data
arguments: tag: D285
data_type: string
name: retrieve_data
arguments: tag: D122
data_type: string
name: retrieve_data
arguments: tag: D19
data_type: string
name: retrieve_data
arguments: tag: D52
data_type: string
name: retrieve_data
arguments: tag: D84
data_type: string
name: retrieve_data
arguments: tag: D180
data_type: string
name: retrieve_data
arguments: tag: D212
data_type: string
name: retrieve_data
arguments: tag: D157
data_type: string
name: retrieve_data
arguments: tag: D172
data_type: string
name: retrieve_data
arguments: tag: D262
data_type: string
name: retrieve_data
arguments: tag: D91
data_type: string
name: retrieve_data
arguments: tag: D81
data_type: string
name: retrieve_data
arguments: tag: D127
data_type: string
name: retrieve_data
arguments: tag: D181
data_type: string
name: retrieve_data
arguments: tag: D306
data_type: string
name: retrieve_data
arguments: tag: D277
data_type: string
name: retrieve_data
arguments: tag: D208
data_type: string
name: retrieve_data
arguments: tag: D64
data_type: string
name: retrieve_data
arguments: tag: D217
data_type: string
name: retrieve_data
arguments: tag: D112
data_type: string
name: retrieve_data
arguments: tag: D307
data_type: string
name: retrieve_data
arguments: tag: D93
data_type: string
name: retrieve_data
arguments: tag: D203
data_type: string
name: retrieve_data
arguments: tag: D28
data_type: string
name: retrieve_data
arguments: tag: D275
data_type: string
name: retrieve_data
arguments: tag: D117
data_type: string
name: retrieve_data
arguments: tag: D97
data_type: string
name: retrieve_data
arguments: tag: D85
data_type: string
name: retrieve_data
arguments: tag: D200
data_type: string
name: retrieve_data
arguments: tag: D95
data_type: string
name: retrieve_data
arguments: tag: D191
data_type: string

tool: D304: USAGE: oscetool [options] command


tool: D130: COMMANDS                Parameters            Explanation


tool: D283:  -h, --help                                   Print this help.


tool: D285:  -k, --print-keys                             List keys.


tool: D122:  -i, --print-infos      File-in               Print SCE file info.


tool: D19:  -d, --decrypt          File-in File-out      Decrypt/dump SCE file.


tool: D52:  -e, --encrypt          File-in File-out      Encrypt/create SCE file.


tool: D84: OPTIONS                 Possible Values       Explanation


tool: D180:  -v, --verbose                                Enable verbose output.


tool: D212:  -r, --raw                                    Enable raw value output.


tool: D157:  -t, --template         File-in               Template file (SELF only)


tool: D172:  -0, --sce-type         SELF/RVK/PKG/SPP      SCE File Type


tool: D262:  -1, --compress-data    TRUE/FALSE(default)   Whether to compress data or not.


tool: D91:  -s, --skip-sections    TRUE(default)/FALSE   Whether to skip sections or not.


tool: D81:  -2, --key-revision     e.g. 00,01,...,0A,... Key Revision


tool: D127:  -m, --meta-info        64 bytes              Use provided meta info to decrypt.


tool: D181:  -K, --keyset           32(Key)16(IV)


tool: D306:                         40(Pub)21(Priv)1(CT)  Override keyset.


tool: D277:  -3, --self-auth-id     e.g. 1010000001000003 Authentication ID


tool: D208:  -4, --self-vendor-id   e.g. 01000002         Vendor ID


tool: D64:  -5, --self-type        LV0/LV1/LV2/APP/ISO/


tool: D217:                         LDR/NPDRM             SELF Type


tool: D112:  -A, --self-app-version e.g. 0001000000000000 Application Version


tool: D307:  -6, --self-fw-version  e.g. 0003004100000000 Firmware Version


tool: D93:  -7, --self-add-shdrs   TRUE(default)/FALSE   Whether to add ELF shdrs or not.


tool: D203:  -8, --self-ctrl-flags  32 bytes              Override control flags.


tool: D28:  -9, --self-cap-flags   32 bytes              Override capability flags.


tool: D275:  -b, --np-license-type  LOCAL/FREE            License Type


tool: D117:  -c, --np-app-type      SPRX/EXEC/USPRX/UEXEC App Type (U* for updates)


tool: D97:  -f, --np-content-id                          Content ID


tool: D85:  -l, --np-klicensee     16 bytes              Override klicensee.


tool: D200:  -g, --np-real-fname    e.g. EBOOT.BIN        Real Filename


tool: D95:  -j, --np-add-sig       TRUE/FALSE(default)   Whether to add a NP sig. or not.


tool: D191:  -p, --sys-param-ver    e.g. 00340001         Set sys_process_param SDK version.


assistant: ```c
void show_usage() {
  show_version();
  printf("USAGE: oscetool [options] command\n");
  printf("COMMANDS                Parameters            Explanation\n");
  printf(" -h, --help                                   Print this help.\n");
  printf(" -k, --print-keys                             List keys.\n");
  printf(" -i, --print-infos      File-in               Print SCE file info.\n");
  printf(" -d, --decrypt          File-in File-out      Decrypt/dump SCE file.\n");
  printf(" -e, --encrypt          File-in File-out      Encrypt/create SCE file.\n");
  printf("OPTIONS                 Possible Values       Explanation\n");
  printf(" -v, --verbose                                Enable verbose output.\n");
  printf(" -r, --raw                                    Enable raw value output.\n");
  printf(" -t, --template         File-in               Template file (SELF only)\n");
  printf(" -0, --sce-type         SELF/RVK/PKG/SPP      SCE File Type\n");
  printf(" -1, --compress-data    TRUE/FALSE(default)   Whether to compress data or not.\n");
  printf(" -s, --skip-sections    TRUE(default)/FALSE   Whether to skip sections or not.\n");
  printf(" -2, --key-revision     e.g. 00,01,...,0A,... Key Revision\n");
  printf(" -m, --meta-info        64 bytes              Use provided meta info to decrypt.\n");
  printf(" -K, --keyset           32(Key)16(IV)\n");
  printf("                        40(Pub)21(Priv)1(CT)  Override keyset.\n");
  printf(" -3, --self-auth-id     e.g. 1010000001000003 Authentication ID\n");
  printf(" -4, --self-vendor-id   e.g. 01000002         Vendor ID\n");
  printf(" -5, --self-type        LV0/LV1/LV2/APP/ISO/\n");
  printf("                        LDR/NPDRM             SELF Type\n");
  printf(" -A, --self-app-version e.g. 0001000000000000 Application Version\n");
  printf(" -6, --self-fw-version  e.g. 0003004100000000 Firmware Version\n");
  printf(" -7, --self-add-shdrs   TRUE(default)/FALSE   Whether to add ELF shdrs or not.\n");
  printf(" -8, --self-ctrl-flags  32 bytes              Override control flags.\n");
  printf(" -9, --self-cap-flags   32 bytes              Override capability flags.\n");
  printf(" -b, --np-license-type  LOCAL/FREE            License Type\n");
  printf(" -c, --np-app-type      SPRX/EXEC/USPRX/UEXEC App Type (U* for updates)\n");
  printf(" -f, --np-content-id                          Content ID\n");
  printf(" -l, --np-klicensee     16 bytes              Override klicensee.\n");
  printf(" -g, --np-real-fname    e.g. EBOOT.BIN        Real Filename\n");
  printf(" -j, --np-add-sig       TRUE/FALSE(default)   Whether to add a NP sig. or not.\n");
  printf(" -p, --sys-param-ver    e.g. 00340001         Set sys_process_param SDK version.\n");
  exit(1);
}
```