user: Translate the below assembly code into C programming language:

```asm
<print_usage>:
  endbr64
  push   %rbp
  push   %rbx
  sub    $0x8,%rsp
  lea    D35(%rip),%rsi
  lea    D129(%rip),%rbx
  mov    %rbx,%rdi
  call   <printf@plt>
  lea    D31(%rip),%rsi
  mov    %rbx,%rdi
  call   <printf@plt>
  lea    D57(%rip),%rsi
  mov    %rbx,%rdi
  call   <printf@plt>
  lea    D30(%rip),%rsi
  mov    %rbx,%rdi
  call   <printf@plt>
  lea    D74(%rip),%rsi
  mov    %rbx,%rdi
  call   <printf@plt>
  lea    D43(%rip),%rsi
  mov    %rbx,%rdi
  call   <printf@plt>
  lea    D19(%rip),%rsi
  mov    %rbx,%rdi
  call   <printf@plt>
  lea    D88(%rip),%rsi
  mov    %rbx,%rdi
  call   <printf@plt>
  lea    D77(%rip),%rsi
  mov    %rbx,%rdi
  call   <printf@plt>
  lea    D121(%rip),%rsi
  mov    %rbx,%rdi
  call   <printf@plt>
  lea    D122(%rip),%rsi
  mov    %rbx,%rdi
  call   <printf@plt>
  lea    D135(%rip),%rsi
  mov    %rbx,%rdi
  call   <printf@plt>
  lea    D156(%rip),%rsi
  mov    %rbx,%rdi
  call   <printf@plt>
  lea    D66(%rip),%rsi
  mov    %rbx,%rdi
  call   <printf@plt>
  lea    D1(%rip),%rsi
  mov    %rbx,%rdi
  call   <printf@plt>
  lea    D144(%rip),%rsi
  mov    %rbx,%rdi
  call   <printf@plt>
  lea    D123(%rip),%rbp
  mov    %rbp,%rsi
  mov    %rbx,%rdi
  call   <printf@plt>
  mov    %rbp,%rsi
  mov    %rbx,%rdi
  call   <printf@plt>
  mov    %rbp,%rsi
  mov    %rbx,%rdi
  call   <printf@plt>
  add    $0x8,%rsp
  pop    %rbx
  pop    %rbp
  ret
```

tool_calls: name: extract_symbolic_data
arguments: label: D35
data_type: string
name: extract_symbolic_data
arguments: label: D129
data_type: string
name: extract_symbolic_data
arguments: label: D31
data_type: string
name: extract_symbolic_data
arguments: label: D57
data_type: string
name: extract_symbolic_data
arguments: label: D30
data_type: string
name: extract_symbolic_data
arguments: label: D74
data_type: string
name: extract_symbolic_data
arguments: label: D43
data_type: string
name: extract_symbolic_data
arguments: label: D19
data_type: string
name: extract_symbolic_data
arguments: label: D88
data_type: string
name: extract_symbolic_data
arguments: label: D77
data_type: string
name: extract_symbolic_data
arguments: label: D121
data_type: string
name: extract_symbolic_data
arguments: label: D122
data_type: string
name: extract_symbolic_data
arguments: label: D135
data_type: string
name: extract_symbolic_data
arguments: label: D156
data_type: string
name: extract_symbolic_data
arguments: label: D66
data_type: string
name: extract_symbolic_data
arguments: label: D1
data_type: string
name: extract_symbolic_data
arguments: label: D144
data_type: string
name: extract_symbolic_data
arguments: label: D123
data_type: string

tool: D35: Usage: hodie [OPTION]


tool: D129: %s

tool: D31: Print current time and date in latin and/or with roman numerals



tool: D57:    -h, --help           Print this message


tool: D30:    -v, --verbose        Print fully declined months and days


tool: D74:                         as opposed to the abbreviations


tool: D43:    -x, --force-numerals Do print the numerals


tool: D19:    -c, --classic        Print the date ab urbe condita.


tool: D88:    -ad, --ante-diem     Print the date using ante diem.


tool: D77:    -d, --date           Print a custom date. For details on call


tool: D121:                         syntax, please consult the manual.


tool: D122:    -r, --republican OFFSET


tool: D135:                         Print the date counted ab urbe tua condita


tool: D156:                         with the offset OFFSET counted in years from


tool: D66:                         the western year 0.


tool: D1:    --version            Prints the current version of hodie


tool: D144: 
Please mail comments or suggestions to mikael@johanssons.org


tool: 

assistant: ```c
void print_usage(void) {
  printf("%s", "Usage: hodie [OPTION]\n");
  printf("%s", "Print current time and date in latin and/or with roman numerals\n\n");
  printf("%s", "   -h, --help           Print this message\n");
  printf("%s", "   -v, --verbose        Print fully declined months and days\n");
  printf("%s", "                        as opposed to the abbreviations\n");
  printf("%s", "   -x, --force-numerals Do print the numerals\n");
  printf("%s", "   -c, --classic        Print the date ab urbe condita.\n");
  printf("%s", "   -ad, --ante-diem     Print the date using ante diem.\n");
  printf("%s", "   -d, --date           Print a custom date. For details on call\n");
  printf("%s", "                        syntax, please consult the manual.\n");
  printf("%s", "   -r, --republican OFFSET\n");
  printf("%s", "                        Print the date counted ab urbe tua condita\n");
  printf("%s", "                        with the offset OFFSET counted in years from\n");
  printf("%s", "                        the western year 0.\n");
  printf("%s", "   --version            Prints the current version of hodie\n");
  printf("%s", "\nPlease mail comments or suggestions to mikael@johanssons.org\n");
  printf("%s", "");
  printf("%s", "");
  printf("%s", "");
}
```