user: 下面的汇编指令对应的C源代码是什么:

```asm
<print_help>:
  endbr64
  push   %rbp
  lea    D72(%rip),%rbp
  lea    D143(%rip),%rdi
  mov    %rbp,%rsi
  call   <printf@plt>
  xor    %eax,%eax
  call   <usage@plt>
  lea    D141(%rip),%rsi
  lea    D99(%rip),%rdi
  call   <printf@plt>
  lea    D128(%rip),%rsi
  lea    D0(%rip),%rdi
  call   <printf@plt>
  lea    D74(%rip),%rsi
  lea    D148(%rip),%rdi
  call   <printf@plt>
  lea    D3(%rip),%rsi
  lea    D119(%rip),%rdi
  call   <printf@plt>
  lea    D93(%rip),%rsi
  lea    D144(%rip),%rdi
  call   <printf@plt>
  lea    D132(%rip),%rsi
  lea    D82(%rip),%rdi
  call   <printf@plt>
  lea    D62(%rip),%rsi
  lea    D157(%rip),%rdi
  call   <printf@plt>
  mov    %rbp,%rdi
  call   <print_version@plt>
  xor    %eax,%eax
  pop    %rbp
  jmp    10a0 <print_copyright@plt>
```

tool_calls: name: parse_data
arguments: data_tag: D72
type_infered: string
name: parse_data
arguments: data_tag: D143
type_infered: string
name: parse_data
arguments: data_tag: D141
type_infered: string
name: parse_data
arguments: data_tag: D99
type_infered: string
name: parse_data
arguments: data_tag: D128
type_infered: string
name: parse_data
arguments: data_tag: D0
type_infered: string
name: parse_data
arguments: data_tag: D74
type_infered: string
name: parse_data
arguments: data_tag: D148
type_infered: string
name: parse_data
arguments: data_tag: D3
type_infered: string
name: parse_data
arguments: data_tag: D119
type_infered: string
name: parse_data
arguments: data_tag: D93
type_infered: string
name: parse_data
arguments: data_tag: D144
type_infered: string
name: parse_data
arguments: data_tag: D132
type_infered: string
name: parse_data
arguments: data_tag: D82
type_infered: string
name: parse_data
arguments: data_tag: D62
type_infered: string
name: parse_data
arguments: data_tag: D157
type_infered: string

tool: D72: trim

tool: D143: 
Tool name:
   %s


tool: D141:    trim allows you to trim/add any number of line or samples to an image
   (in ASF Internal format), and updates the metadata accordingly.

tool: D99: Description:
%s



tool: D128:    <infile>  The basename of the input data file.  Must be in ASF Internal
        format (.img)
   <new_top_line> Line in input that will be the top of output.  Can be
        negative, the top lines in the output image will be zeros.
   <new_top_sample> Sample in input that will be left side of output.  Can
        be negative, the left side of the output will be zeros.
   When the -to option is used, the new_top_line and new_top_sample arguments
   are not needed.


tool: D0: Input:
%s



tool: D74:    <outfile>  The basename of the output file.  The output file will be stored
        in ASF Internal format (.img and .meta)

tool: D148: Output:
%s



tool: D3:    -log <logfile>
        Save all tool output in <logfile>
   -height <height>
        Height of the output file.  If the height extends below the bottom
        of the image, it is padded with zeros.
   -width <width>
        Width of the output file.  If the width extends beyond the right
        edge of the image, it is padded with zeros.
   -to <metadata file>
        Trims the input file to the extent of the metadata file.  With this
        option you would not use -width, -height, or the new start line and
        sample values.
   -lat1 <lat> -lat2 <lat> -lon1 <lon> -lon2 <lon>
        Specifies a lat/lon boundary box to use for trimming.  With these
        options you would not use -width, -height, or the new start lien and
        sample vaules.
   -license
        Print copyright and license for this software then exit.
   -version
        Print version and copyright then exit.
   -help
        Print this help information and then exit.

tool: D119: Options:
%s



tool: D93:    Remove a 100x100 section, starting at line 50, sample 200
   from the file "test.img", and "test.meta".
   > trim -width 100 -height 100 test test_trimmed 50 200

   Trim test.img to the extent of "section.meta".
   > trim -to section test test_trimmed

   Trim test.img to the lat/lon area (64,-146) - (65,-147)
   > trim -lat1 64 -lat2 65 -lon1 -146 -lon2 -147 test test_trimmed


tool: D144: Examples:
%s



tool: D132:    Only works on ASF Internal files.

tool: D82: Limitations:
%s



tool: D62:    Alaska Satellite Facility
   Geophysical Institute
   University of Alaska Fairbanks
   P.O. Box 757320
   Fairbanks, AK 99775-7320
   http://www.asf.alaska.edu
   uso@asf.alaska.edu


tool: D157: Contact:
%s


assistant: ```c
void print_help() {
  printf("\nTool name:\n   %s\n", "trim");
  usage();
  printf("Description:\n%s\n\n", "   trim allows you to trim/add any number of line or samples to an image\n"
                                 "   (in ASF Internal format), and updates the metadata accordingly.");
  if (strlen("   <infile>  The basename of the input data file.  Must be in ASF Internal\n"
             "        format (.img)\n"
             "   <new_top_line> Line in input that will be the top of output.  Can be\n"
             "        negative, the top lines in the output image will be zeros.\n"
             "   <new_top_sample> Sample in input that will be left side of output.  Can\n"
             "        be negative, the left side of the output will be zeros.\n"
             "   When the -to option is used, the new_top_line and new_top_sample arguments\n"
             "   are not needed.\n"))
    printf("Input:\n%s\n\n", "   <infile>  The basename of the input data file.  Must be in ASF Internal\n"
                             "        format (.img)\n"
                             "   <new_top_line> Line in input that will be the top of output.  Can be\n"
                             "        negative, the top lines in the output image will be zeros.\n"
                             "   <new_top_sample> Sample in input that will be left side of output.  Can\n"
                             "        be negative, the left side of the output will be zeros.\n"
                             "   When the -to option is used, the new_top_line and new_top_sample arguments\n"
                             "   are not needed.\n");
  if (strlen("   <outfile>  The basename of the output file.  The output file will be stored\n"
             "        in ASF Internal format (.img and .meta)"))
    printf("Output:\n%s\n\n", "   <outfile>  The basename of the output file.  The output file will be stored\n"
                              "        in ASF Internal format (.img and .meta)");
  if (strlen("   -log <logfile>\n"
             "        Save all tool output in <logfile>\n"
             "   -height <height>\n"
             "        Height of the output file.  If the height extends below the bottom\n"
             "        of the image, it is padded with zeros.\n"
             "   -width <width>\n"
             "        Width of the output file.  If the width extends beyond the right\n"
             "        edge of the image, it is padded with zeros.\n"
             "   -to <metadata file>\n"
             "        Trims the input file to the extent of the metadata file.  With this\n"
             "        option you would not use -width, -height, or the new start line and\n"
             "        sample values.\n"
             "   -lat1 <lat> -lat2 <lat> -lon1 <lon> -lon2 <lon>\n"
             "        Specifies a lat/lon boundary box to use for trimming.  With these\n"
             "        options you would not use -width, -height, or the new start lien and\n"
             "        sample vaules.\n"
             "   -license\n"
             "        Print copyright and license for this software then exit.\n"
             "   -version\n"
             "        Print version and copyright then exit.\n"
             "   -help\n"
             "        Print this help information and then exit."))
    printf("Options:\n%s\n\n", "   -log <logfile>\n"
                               "        Save all tool output in <logfile>\n"
                               "   -height <height>\n"
                               "        Height of the output file.  If the height extends below the bottom\n"
                               "        of the image, it is padded with zeros.\n"
                               "   -width <width>\n"
                               "        Width of the output file.  If the width extends beyond the right\n"
                               "        edge of the image, it is padded with zeros.\n"
                               "   -to <metadata file>\n"
                               "        Trims the input file to the extent of the metadata file.  With this\n"
                               "        option you would not use -width, -height, or the new start line and\n"
                               "        sample values.\n"
                               "   -lat1 <lat> -lat2 <lat> -lon1 <lon> -lon2 <lon>\n"
                               "        Specifies a lat/lon boundary box to use for trimming.  With these\n"
                               "        options you would not use -width, -height, or the new start lien and\n"
                               "        sample vaules.\n"
                               "   -license\n"
                               "        Print copyright and license for this software then exit.\n"
                               "   -version\n"
                               "        Print version and copyright then exit.\n"
                               "   -help\n"
                               "        Print this help information and then exit.");
  if (strlen("   Remove a 100x100 section, starting at line 50, sample 200\n"
             "   from the file \"test.img\", and \"test.meta\".\n"
             "   > trim -width 100 -height 100 test test_trimmed 50 200\n"
             "\n"
             "   Trim test.img to the extent of \"section.meta\".\n"
             "   > trim -to section test test_trimmed\n"
             "\n"
             "   Trim test.img to the lat/lon area (64,-146) - (65,-147)\n"
             "   > trim -lat1 64 -lat2 65 -lon1 -146 -lon2 -147 test test_trimmed\n"))
    printf("Examples:\n%s\n\n", "   Remove a 100x100 section, starting at line 50, sample 200\n"
                                "   from the file \"test.img\", and \"test.meta\".\n"
                                "   > trim -width 100 -height 100 test test_trimmed 50 200\n"
                                "\n"
                                "   Trim test.img to the extent of \"section.meta\".\n"
                                "   > trim -to section test test_trimmed\n"
                                "\n"
                                "   Trim test.img to the lat/lon area (64,-146) - (65,-147)\n"
                                "   > trim -lat1 64 -lat2 65 -lon1 -146 -lon2 -147 test test_trimmed\n");
  if (strlen("   Only works on ASF Internal files."))
    printf("Limitations:\n%s\n\n", "   Only works on ASF Internal files.");
  if (strlen(""))
    printf("See Also:\n%s\n\n", "");
  printf("Contact:\n%s\n", "   "
                           "Alaska Satellite Facility"
                           "\n"
                           "   "
                           "Geophysical Institute"
                           "\n"
                           "   "
                           "University of Alaska Fairbanks"
                           "\n"
                           "   "
                           "P.O. Box 757320"
                           "\n"
                           "   "
                           "Fairbanks, AK 99775-7320"
                           "\n"
                           "   "
                           "http://www.asf.alaska.edu"
                           "\n"
                           "   "
                           "uso@asf.alaska.edu"
                           "\n");
  print_version("trim");
  print_copyright();
}
```