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

```asm
<ReportUsage>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  lea    D84(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D26(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D76(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D75(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D2(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D74(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D30(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D86(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D60(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D106(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D93(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D38(%rip),%rax
  mov    %rax,%rdi
  call   <PrintStdOpts@plt>
  nop
  pop    %rbp
  ret
```

tool_calls: name: retrieve_data
arguments: data_tag: D84
data_type: string
name: retrieve_data
arguments: data_tag: D26
data_type: string
name: retrieve_data
arguments: data_tag: D76
data_type: string
name: retrieve_data
arguments: data_tag: D75
data_type: string
name: retrieve_data
arguments: data_tag: D2
data_type: string
name: retrieve_data
arguments: data_tag: D74
data_type: string
name: retrieve_data
arguments: data_tag: D30
data_type: string
name: retrieve_data
arguments: data_tag: D86
data_type: string
name: retrieve_data
arguments: data_tag: D60
data_type: string
name: retrieve_data
arguments: data_tag: D106
data_type: string
name: retrieve_data
arguments: data_tag: D93
data_type: string
name: retrieve_data
arguments: data_tag: D38
data_type: string

tool: D84: 
USAGE: HCopy [options] src [ + src ...] tgt ...



tool: D26:  Option                                       Default



tool: D76:  -a i     Use level i labels                  1


tool: D75:  -e t     End copy at time t                  EOF


tool: D2:  -i mlf   Save labels to mlf s                null


tool: D74:  -l dir   Output target label files to dir    current


tool: D30:  -m t     Set margin of t around x/n segs     0


tool: D86:  -n i [j] Extract i'th [to j'th] label        off


tool: D60:  -s t     Start copy at time t                0


tool: D106:  -t n     Set trace line width to n           70


tool: D93:  -x s [n] Extract [n'th occ of] label  s      off


tool: D38: FGILPOX

assistant: ```c
void ReportUsage(void) {
  printf("\nUSAGE: HCopy [options] src [ + src ...] tgt ...\n\n");
  printf(" Option                                       Default\n\n");
  printf(" -a i     Use level i labels                  1\n");
  printf(" -e t     End copy at time t                  EOF\n");
  printf(" -i mlf   Save labels to mlf s                null\n");
  printf(" -l dir   Output target label files to dir    current\n");
  printf(" -m t     Set margin of t around x/n segs     0\n");
  printf(" -n i [j] Extract i'th [to j'th] label        off\n");
  printf(" -s t     Start copy at time t                0\n");
  printf(" -t n     Set trace line width to n           70\n");
  printf(" -x s [n] Extract [n'th occ of] label  s      off\n");
  PrintStdOpts("FGILPOX");
}
```