user: Please show me the C implementation that matches the assembly code listed below:

```asm
<qrShowHelp>:
  endbr64
  push   %rbx
  lea    D117(%rip),%rdi
  call   <puts@plt>
  mov    $0xa,%edi
  call   <putchar@plt>
  lea    D36(%rip),%rdi
  call   <puts@plt>
  lea    D206(%rip),%rdi
  call   <puts@plt>
  mov    $0xa,%edi
  call   <putchar@plt>
  lea    D262(%rip),%rbx
  mov    %rbx,%rsi
  lea    D155(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0xa,%edi
  call   <putchar@plt>
  lea    D89(%rip),%rdi
  call   <puts@plt>
  lea    D83(%rip),%rdi
  call   <puts@plt>
  lea    D390(%rip),%rdi
  call   <puts@plt>
  mov    $0xa,%edi
  call   <putchar@plt>
  lea    D71(%rip),%rdi
  call   <puts@plt>
  mov    %rbx,%rsi
  lea    D364(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    %rbx,%rsi
  lea    D353(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    %rbx,%rsi
  lea    D308(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    %rbx,%rsi
  lea    D12(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    %rbx,%rsi
  lea    D236(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0xa,%edi
  call   <putchar@plt>
  lea    D40(%rip),%rdi
  call   <puts@plt>
  lea    D75(%rip),%rdi
  call   <puts@plt>
  lea    D137(%rip),%rdi
  call   <puts@plt>
  lea    D42(%rip),%rdi
  call   <puts@plt>
  lea    D272(%rip),%rdi
  call   <puts@plt>
  lea    D125(%rip),%rdi
  call   <puts@plt>
  lea    D278(%rip),%rdi
  call   <puts@plt>
  lea    D94(%rip),%rdi
  call   <puts@plt>
  lea    D342(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  lea    D81(%rip),%rdi
  call   <puts@plt>
  lea    D53(%rip),%rdi
  call   <puts@plt>
  lea    D368(%rip),%rdi
  call   <puts@plt>
  lea    D232(%rip),%rdi
  call   <puts@plt>
  lea    D251(%rip),%rdi
  call   <puts@plt>
  lea    D98(%rip),%rdi
  call   <puts@plt>
  lea    D79(%rip),%rdi
  call   <puts@plt>
  lea    D365(%rip),%rdi
  call   <puts@plt>
  lea    D393(%rip),%rdi
  call   <puts@plt>
  lea    D18(%rip),%rdi
  call   <puts@plt>
  lea    D115(%rip),%rdi
  call   <puts@plt>
  lea    D218(%rip),%rdi
  call   <puts@plt>
  lea    D250(%rip),%rdi
  call   <puts@plt>
  lea    D60(%rip),%rdi
  call   <puts@plt>
  lea    D123(%rip),%rdi
  call   <puts@plt>
  lea    D358(%rip),%rdi
  call   <puts@plt>
  lea    D207(%rip),%rdi
  call   <puts@plt>
  lea    D152(%rip),%rdi
  call   <puts@plt>
  pop    %rbx
  ret
```

tool_calls: name: parse_data
arguments: label: D117
datatype: string
name: parse_data
arguments: label: D36
datatype: string
name: parse_data
arguments: label: D206
datatype: string
name: parse_data
arguments: label: D262
datatype: string
name: parse_data
arguments: label: D155
datatype: string
name: parse_data
arguments: label: D89
datatype: string
name: parse_data
arguments: label: D83
datatype: string
name: parse_data
arguments: label: D390
datatype: string
name: parse_data
arguments: label: D71
datatype: string
name: parse_data
arguments: label: D364
datatype: string
name: parse_data
arguments: label: D353
datatype: string
name: parse_data
arguments: label: D308
datatype: string
name: parse_data
arguments: label: D12
datatype: string
name: parse_data
arguments: label: D236
datatype: string
name: parse_data
arguments: label: D40
datatype: string
name: parse_data
arguments: label: D75
datatype: string
name: parse_data
arguments: label: D137
datatype: string
name: parse_data
arguments: label: D42
datatype: string
name: parse_data
arguments: label: D272
datatype: string
name: parse_data
arguments: label: D125
datatype: string
name: parse_data
arguments: label: D278
datatype: string
name: parse_data
arguments: label: D94
datatype: string
name: parse_data
arguments: label: D342
datatype: string
name: parse_data
arguments: label: D81
datatype: string
name: parse_data
arguments: label: D53
datatype: string
name: parse_data
arguments: label: D368
datatype: string
name: parse_data
arguments: label: D232
datatype: string
name: parse_data
arguments: label: D251
datatype: string
name: parse_data
arguments: label: D98
datatype: string
name: parse_data
arguments: label: D79
datatype: string
name: parse_data
arguments: label: D365
datatype: string
name: parse_data
arguments: label: D393
datatype: string
name: parse_data
arguments: label: D18
datatype: string
name: parse_data
arguments: label: D115
datatype: string
name: parse_data
arguments: label: D218
datatype: string
name: parse_data
arguments: label: D250
datatype: string
name: parse_data
arguments: label: D60
datatype: string
name: parse_data
arguments: label: D123
datatype: string
name: parse_data
arguments: label: D358
datatype: string
name: parse_data
arguments: label: D207
datatype: string
name: parse_data
arguments: label: D152
datatype: string

tool: D117: QR Code Generator

tool: D36: QR Code (R) is registered trademarks of DENSO WAVE INCORPORATED

tool: D206: in JAPAN and other countries.

tool: D262: qr

tool: D155: usage: %s [options ...] [ [ [mode] [text | -i file] ] ...] 


tool: D89: input:

tool: D83:   The data which is stored in QR Code Symbol (at least 1 character).

tool: D390:   If it is not specified, read from stdin.

tool: D71: examples:

tool: D364:   %s -eM -x6 < input.txt > output.pbm


tool: D353:   %s -eM -x6 -o output.pbm -i input.txt


tool: D308:   %s -v2 -fBMP -o foobar.bmp -mA 'FOOBAR'


tool: D12:   %s -x3 -fSVG -o mixed.svg -mA 'ALNUM' -m8 ' ' -mN '001'


tool: D236:   %s -fAA 'Ascii Art'


tool: D40: options:

tool: D75:   -V                    show program's version number and exit

tool: D137:   -?, -h, --help        show this help message and exit

tool: D42:   -v, --version=NUM     symbol version (1-40, default: auto)

tool: D272:   -m, --mode=MODE       encoding mode (N,A,8,K,S, default: S)

tool: D125:                         N: numeric, A: uppercase alphabet and numeric,

tool: D278:                         8: 8-bit byte, K: JIS X 0208 Kanji, S: auto

tool: D94:   -e, --eclevel=LEVEL   error correction level (L,M,Q,H, default: M)

tool: D342:                         L: 7%%, M: 15%%, Q: 25%%, H: 30%%


tool: D81:   -p, --pattern=NUM     mask pattern (0-7, default: auto)

tool: D53:   -x, --magnify=NUM     magnifying ratio (1-16, default: 1)

tool: D368:   -s, --separator=NUM   separator pattan width (0-16, default: 4)

tool: D232:                         '4' is the lower limit of the QR Code specification.

tool: D251:   -f, --format=FORMAT   output format (default: PBM)

tool: D98:                         Available formats are followings.

tool: D79:                           PNG, BMP, TIFF, PBM, SVG, JSON, DIGIT, ASCII

tool: D365:                         These are case-insensitive and some have aliases.

tool: D393:                           DIGIT -> 01

tool: D18:                           ASCII -> asciiart, aa

tool: D115:                           JSON  -> javascript, js

tool: D218:                           TIFF  -> tif

tool: D250:   -o, --output=PATH     output pathname (default: write to stdout)

tool: D60:   -i, --input=PATH      input pathname (default: read from stdin)

tool: D123:                         To specify multiple files, set this option

tool: D358:                         before every filename. And the encoding mode

tool: D207:                         can be specified to each files.

tool: D152:                         (e.g. -mA -i file1 -mK -i file2 ...)

assistant: ```c
void qrShowHelp(void) {
  printf("QR Code Generator"
         "\n");
  printf("\n");
  printf("QR Code (R) is registered trademarks of DENSO WAVE INCORPORATED"
         "\n");
  printf("in JAPAN and other countries."
         "\n");
  printf("\n");
  printf("usage: %s [options ...] [ [ [mode] [text | -i file] ] ...] "
         "\n",
         "qr");
  printf("\n");
  printf("input:"
         "\n");
  printf("  The data which is stored in QR Code Symbol (at least 1 character)."
         "\n");
  printf("  If it is not specified, read from stdin."
         "\n");
  printf("\n");
  printf("examples:"
         "\n");
  printf("  %s -eM -x6 < input.txt > output.pbm"
         "\n",
         "qr");
  printf("  %s -eM -x6 -o output.pbm -i input.txt"
         "\n",
         "qr");
  printf("  %s -v2 -fBMP -o foobar.bmp -mA 'FOOBAR'"
         "\n",
         "qr");
  printf("  %s -x3 -fSVG -o mixed.svg -mA 'ALNUM' -m8 ' ' -mN '001'"
         "\n",
         "qr");
  printf("  %s -fAA 'Ascii Art'"
         "\n",
         "qr");
  printf("\n");
  printf("options:"
         "\n");
  printf("  -V                    show program's version number and exit"
         "\n");
  printf("  -?, -h, --help        show this help message and exit"
         "\n");
  printf("  -v, --version=NUM     symbol version (1-40, default: auto)"
         "\n");
  printf("  -m, --mode=MODE       encoding mode (N,A,8,K,S, default: S)"
         "\n");
  printf("                        N: numeric, A: uppercase alphabet and numeric,"
         "\n");
  printf("                        8: 8-bit byte, K: JIS X 0208 Kanji, S: auto"
         "\n");
  printf("  -e, --eclevel=LEVEL   error correction level (L,M,Q,H, default: M)"
         "\n");
  printf("                        L: 7%%, M: 15%%, Q: 25%%, H: 30%%"
         "\n");
  printf("  -p, --pattern=NUM     mask pattern (0-7, default: auto)"
         "\n");
  printf("  -x, --magnify=NUM     magnifying ratio (1-16, default: 1)"
         "\n");
  printf("  -s, --separator=NUM   separator pattan width (0-16, default: 4)"
         "\n");
  printf("                        '4' is the lower limit of the QR Code specification."
         "\n");
  printf("  -f, --format=FORMAT   output format (default: PBM)"
         "\n");
  printf("                        Available formats are followings."
         "\n");
  printf("                          PNG, BMP, TIFF, PBM, SVG, JSON, DIGIT, ASCII"
         "\n");
  printf("                        These are case-insensitive and some have aliases."
         "\n");
  printf("                          DIGIT -> 01"
         "\n");
  printf("                          ASCII -> asciiart, aa"
         "\n");
  printf("                          JSON  -> javascript, js"
         "\n");
  printf("                          TIFF  -> tif"
         "\n");
  printf("  -o, --output=PATH     output pathname (default: write to stdout)"
         "\n");
  printf("  -i, --input=PATH      input pathname (default: read from stdin)"
         "\n");
  printf("                        To specify multiple files, set this option"
         "\n");
  printf("                        before every filename. And the encoding mode"
         "\n");
  printf("                        can be specified to each files."
         "\n");
  printf("                        (e.g. -mA -i file1 -mK -i file2 ...)"
         "\n");
}
```