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

```asm
<usage_summary>:
  endbr64
  push   %r12
  lea    D149(%rip),%rsi
  lea    D68(%rip),%r12
  push   %rbp
  mov    %rdi,%rbp
  sub    $0x8,%rsp
  call   <fprintf@plt>
  mov    %rbp,%rdi
  lea    D9(%rip),%rsi
  call   <fprintf@plt>
  mov    %r12,%rsi
  mov    %rbp,%rdi
  call   <fprintf@plt>
  mov    %rbp,%rdi
  lea    D63(%rip),%rsi
  call   <fprintf@plt>
  mov    %rbp,%rdi
  lea    D177(%rip),%rsi
  call   <fprintf@plt>
  mov    %r12,%rsi
  mov    %rbp,%rdi
  call   <fprintf@plt>
  mov    %rbp,%rdi
  lea    D74(%rip),%rsi
  call   <fprintf@plt>
  mov    %rbp,%rdi
  lea    D150(%rip),%rsi
  call   <fprintf@plt>
  mov    %rbp,%rdi
  lea    D0(%rip),%rsi
  call   <fprintf@plt>
  mov    %rbp,%rdi
  lea    D167(%rip),%rsi
  call   <fprintf@plt>
  mov    %rbp,%rdi
  lea    D100(%rip),%rsi
  call   <fprintf@plt>
  mov    %rbp,%rdi
  lea    D56(%rip),%rsi
  call   <fprintf@plt>
  mov    %rbp,%rdi
  lea    D142(%rip),%rsi
  call   <fprintf@plt>
  mov    %rbp,%rdi
  lea    D135(%rip),%rsi
  call   <fprintf@plt>
  mov    %rbp,%rdi
  lea    D153(%rip),%rsi
  call   <fprintf@plt>
  mov    %rbp,%rdi
  lea    D163(%rip),%rsi
  call   <fprintf@plt>
  mov    %rbp,%rdi
  lea    D85(%rip),%rsi
  call   <fprintf@plt>
  mov    %rbp,%rdi
  lea    D72(%rip),%rsi
  call   <fprintf@plt>
  add    $0x8,%rsp
  mov    %rbp,%rdi
  lea    D81(%rip),%rsi
  pop    %rbp
  pop    %r12
  jmp    1050 <fprintf@plt>
```

tool_calls: name: retrieve_data
arguments: label: D149
type_infered: string
name: retrieve_data
arguments: label: D68
type_infered: string
name: retrieve_data
arguments: label: D9
type_infered: string
name: retrieve_data
arguments: label: D63
type_infered: string
name: retrieve_data
arguments: label: D177
type_infered: string
name: retrieve_data
arguments: label: D74
type_infered: string
name: retrieve_data
arguments: label: D150
type_infered: string
name: retrieve_data
arguments: label: D0
type_infered: string
name: retrieve_data
arguments: label: D167
type_infered: string
name: retrieve_data
arguments: label: D100
type_infered: string
name: retrieve_data
arguments: label: D56
type_infered: string
name: retrieve_data
arguments: label: D142
type_infered: string
name: retrieve_data
arguments: label: D135
type_infered: string
name: retrieve_data
arguments: label: D153
type_infered: string
name: retrieve_data
arguments: label: D163
type_infered: string
name: retrieve_data
arguments: label: D85
type_infered: string
name: retrieve_data
arguments: label: D72
type_infered: string
name: retrieve_data
arguments: label: D81
type_infered: string

tool: D149: Usage:


tool: D68: 


tool: D9:   metaflac [options] [operations] FLACfile [FLACfile ...]


tool: D63: Use metaflac to list, add, remove, or edit metadata in one or more FLAC files.


tool: D177: You may perform one major operation, or many shorthand operations at a time.


tool: D74: Options:


tool: D150: --preserve-modtime    Preserve the original modification time in spite of edits


tool: D0: --with-filename       Prefix each output line with the FLAC file name


tool: D167:                       (the default if more than one FLAC file is specified)


tool: D100: --no-filename         Do not prefix each output line with the FLAC file name


tool: D56:                       (the default if only one FLAC file is specified)


tool: D142: --no-utf8-convert     Do not convert tags from UTF-8 to local charset,


tool: D135:                       or vice versa.  This is useful for scripts, and setting


tool: D153:                       tags in situations where the locale is wrong.


tool: D163: --dont-use-padding    By default metaflac tries to use padding where possible


tool: D85:                       to avoid rewriting the entire file if the metadata size


tool: D72:                       changes.  Use this option to tell metaflac to not take


tool: D81:                       advantage of padding this way.


assistant: ```c
void usage_summary(FILE *out) {
  fprintf(out, "Usage:\n");
  fprintf(out, "  metaflac [options] [operations] FLACfile [FLACfile ...]\n");
  fprintf(out, "\n");
  fprintf(out, "Use metaflac to list, add, remove, or edit metadata in one or more FLAC files.\n");
  fprintf(out, "You may perform one major operation, or many shorthand operations at a time.\n");
  fprintf(out, "\n");
  fprintf(out, "Options:\n");
  fprintf(out, "--preserve-modtime    Preserve the original modification time in spite of edits\n");
  fprintf(out, "--with-filename       Prefix each output line with the FLAC file name\n");
  fprintf(out, "                      (the default if more than one FLAC file is specified)\n");
  fprintf(out, "--no-filename         Do not prefix each output line with the FLAC file name\n");
  fprintf(out, "                      (the default if only one FLAC file is specified)\n");
  fprintf(out, "--no-utf8-convert     Do not convert tags from UTF-8 to local charset,\n");
  fprintf(out, "                      or vice versa.  This is useful for scripts, and setting\n");
  fprintf(out, "                      tags in situations where the locale is wrong.\n");
  fprintf(out, "--dont-use-padding    By default metaflac tries to use padding where possible\n");
  fprintf(out, "                      to avoid rewriting the entire file if the metadata size\n");
  fprintf(out, "                      changes.  Use this option to tell metaflac to not take\n");
  fprintf(out, "                      advantage of padding this way.\n");
}
```