user: Converte this assembly snippet into its equivalent C code:

```asm
<mog_showhelp>:
  endbr64
  push   %rbx
  mov    %rdi,%rbx
  lea    D37(%rip),%rdi
  call   <puts@plt>
  mov    %rbx,%rsi
  lea    D81(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    %rbx,%rsi
  lea    D23(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  lea    D113(%rip),%rdi
  call   <puts@plt>
  lea    D50(%rip),%rdi
  call   <puts@plt>
  lea    D112(%rip),%rdi
  call   <puts@plt>
  lea    D0(%rip),%rdi
  call   <puts@plt>
  lea    D14(%rip),%rdi
  call   <puts@plt>
  lea    D27(%rip),%rdi
  call   <puts@plt>
  lea    D117(%rip),%rdi
  call   <puts@plt>
  lea    D15(%rip),%rdi
  call   <puts@plt>
  lea    D66(%rip),%rdi
  call   <puts@plt>
  lea    D110(%rip),%rdi
  call   <puts@plt>
  pop    %rbx
  ret
```

tool_calls: name: extract_symbolic_data
arguments: data_label: D37
data_type: string
name: extract_symbolic_data
arguments: data_label: D81
data_type: string
name: extract_symbolic_data
arguments: data_label: D23
data_type: string
name: extract_symbolic_data
arguments: data_label: D113
data_type: string
name: extract_symbolic_data
arguments: data_label: D50
data_type: string
name: extract_symbolic_data
arguments: data_label: D112
data_type: string
name: extract_symbolic_data
arguments: data_label: D0
data_type: string
name: extract_symbolic_data
arguments: data_label: D14
data_type: string
name: extract_symbolic_data
arguments: data_label: D27
data_type: string
name: extract_symbolic_data
arguments: data_label: D117
data_type: string
name: extract_symbolic_data
arguments: data_label: D15
data_type: string
name: extract_symbolic_data
arguments: data_label: D66
data_type: string
name: extract_symbolic_data
arguments: data_label: D110
data_type: string

tool: D37: Usage:

tool: D81: 	%s [ -stq ] [ -i input_file ] [ -o output_file ] [ -b bitrate ] [ -e encoder_module ] [ -l length ]


tool: D23: 	%s [ -h ]


tool: D113: 	-s	 - Show summary statistics

tool: D50: 	-t	 - Do not perform tag detection, and do not copy tags to output file

tool: D112: 	-q	 - Do not check inputfile for validity, must be used when readin from pipes

tool: D0: 	-i	 - Decode audio from this file

tool: D14: 	-o	 - Encode audio to this file

tool: D27: 	-b	 - Encode at this bitrate

tool: D117: 	-d	 - DEcode input as this format

tool: D15: 	-e	 - Encode output in this format

tool: D66: 	-l	 - Reencode for at most this many seconds

tool: D110: 	-h	 - Output this usage information

assistant: ```c
void mog_showhelp(char *app) {
  printf("Usage:\n");
  printf("\t%s [ -stq ] [ -i input_file ] [ -o output_file ] [ -b bitrate ] [ -e encoder_module ] [ -l length ]\n", app);
  printf("\t%s [ -h ]\n", app);
  printf("\t-s\t - Show summary statistics\n");
  printf("\t-t\t - Do not perform tag detection, and do not copy tags to output file\n");
  printf("\t-q\t - Do not check inputfile for validity, must be used when readin from pipes\n");
  printf("\t-i\t - Decode audio from this file\n");
  printf("\t-o\t - Encode audio to this file\n");
  printf("\t-b\t - Encode at this bitrate\n");
  printf("\t-d\t - DEcode input as this format\n");
  printf("\t-e\t - Encode output in this format\n");
  printf("\t-l\t - Reencode for at most this many seconds\n");
  printf("\t-h\t - Output this usage information\n");
}
```