user: What would the C source look like for the assembly code provided here:

```asm
<print_full_usage>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  lea    D34(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D121(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D120(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D66(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D9(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D126(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D55(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D96(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D33(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D119(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D3(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D136(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D17(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D122(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D46(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  nop
  pop    %rbp
  ret
```

tool_calls: name: parse_data
arguments: tag: D34
type: string
name: parse_data
arguments: tag: D121
type: string
name: parse_data
arguments: tag: D120
type: string
name: parse_data
arguments: tag: D66
type: string
name: parse_data
arguments: tag: D9
type: string
name: parse_data
arguments: tag: D126
type: string
name: parse_data
arguments: tag: D55
type: string
name: parse_data
arguments: tag: D96
type: string
name: parse_data
arguments: tag: D33
type: string
name: parse_data
arguments: tag: D119
type: string
name: parse_data
arguments: tag: D3
type: string
name: parse_data
arguments: tag: D136
type: string
name: parse_data
arguments: tag: D17
type: string
name: parse_data
arguments: tag: D122
type: string
name: parse_data
arguments: tag: D46
type: string

tool: D34: usage:



tool: D121:    test: beeversion <packageA> -{lt|le|gt|ge|eq|ne} <packageB>


tool: D120:  filter: beeversion [filter-options] -{min|max} <package1> [.. <packageN>]


tool: D66:   parse: beeversion [parse-options] <package>



tool: D9:          package := <pkgfullname>-<pkgfullversion>-<pkgrevision>


tool: D126:                   | <pkgfullname>-<pkgfullversion>


tool: D55:                   | <pkgfullversion>



tool: D96:      pkgfullname := <pkgname>


tool: D33:                   | <pkgname>_<pkgsubname>



tool: D119:   pkgfullversion := <pkgversion>


tool: D3:                   | <pkgversion>_<pkgextraversion>



tool: D136:      pkgrevision := <pkgrevision>


tool: D17:                   | <pkgrevision>.<arch>



tool: D122:    filter-options:



tool: D46:       --filter-pkgfullname=<pkgfullname>



assistant: ```c
void print_full_usage(void) {
  printf("usage:\n\n");
  printf("   test: beeversion <packageA> -{lt|le|gt|ge|eq|ne} <packageB>\n");
  printf(" filter: beeversion [filter-options] -{min|max} <package1> [.. <packageN>]\n");
  printf("  parse: beeversion [parse-options] <package>\n\n");
  printf("         package := <pkgfullname>-<pkgfullversion>-<pkgrevision>\n");
  printf("                  | <pkgfullname>-<pkgfullversion>\n");
  printf("                  | <pkgfullversion>\n\n");
  printf("     pkgfullname := <pkgname>\n");
  printf("                  | <pkgname>_<pkgsubname>\n\n");
  printf("  pkgfullversion := <pkgversion>\n");
  printf("                  | <pkgversion>_<pkgextraversion>\n\n");
  printf("     pkgrevision := <pkgrevision>\n");
  printf("                  | <pkgrevision>.<arch>\n\n");
  printf("   filter-options:\n\n");
  printf("      --filter-pkgfullname=<pkgfullname>\n\n");
}
```