user: 请将这段汇编代码片段转换成等效的C代码：

```asm
<usage>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x10,%rsp
  mov    %rdi,-0x8(%rbp)
  lea    D95(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  mov    -0x8(%rbp),%rax
  mov    %rax,%rsi
  lea    D140(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  lea    D109(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  lea    D132(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  lea    D98(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  lea    D3(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  lea    D121(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  lea    D143(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  lea    D60(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  lea    D32(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  lea    D15(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  lea    D7(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  lea    D161(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  lea    D94(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  lea    D118(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  lea    D163(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  lea    D87(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  mov    $0x0,%edi
  call   <exit@plt>
  nop
  leave
  ret
```

tool_calls: name: extract_symbolic_data
arguments: data_tag: D95
datatype: string
name: extract_symbolic_data
arguments: data_tag: D140
datatype: string
name: extract_symbolic_data
arguments: data_tag: D109
datatype: string
name: extract_symbolic_data
arguments: data_tag: D132
datatype: string
name: extract_symbolic_data
arguments: data_tag: D98
datatype: string
name: extract_symbolic_data
arguments: data_tag: D3
datatype: string
name: extract_symbolic_data
arguments: data_tag: D121
datatype: string
name: extract_symbolic_data
arguments: data_tag: D143
datatype: string
name: extract_symbolic_data
arguments: data_tag: D60
datatype: string
name: extract_symbolic_data
arguments: data_tag: D32
datatype: string
name: extract_symbolic_data
arguments: data_tag: D15
datatype: string
name: extract_symbolic_data
arguments: data_tag: D7
datatype: string
name: extract_symbolic_data
arguments: data_tag: D161
datatype: string
name: extract_symbolic_data
arguments: data_tag: D94
datatype: string
name: extract_symbolic_data
arguments: data_tag: D118
datatype: string
name: extract_symbolic_data
arguments: data_tag: D163
datatype: string
name: extract_symbolic_data
arguments: data_tag: D87
datatype: string

tool: D95: ccsrch 1.0.9 (c) 2012-2014 Adam Caudill <adam@adamcaudill.com>
             (c) 2007 Mike Beekey <zaphod2718@yahoo.com>

tool: D140: Usage: %s <options> <start path>


tool: D109:   where <options> are:

tool: D132:     -b		   Add the byte offset into the file of the number

tool: D98:     -e		   Include the Modify Access and Create times in terms 
		   of seconds since the epoch

tool: D3:     -f		   Only print the filename w/ potential PAN data

tool: D121:     -j		   Include the Modify Access and Create times in terms 
		   of normal date/time

tool: D143:     -o <filename>  Output the data to the file <filename> vs. standard out

tool: D60:     -t <1 or 2>	   Check if the pattern follows either a Track 1 
		   or 2 format

tool: D32:     -T		   Check for both Track 1 and Track 2 patterns

tool: D15:     -c		   Show a count of hits per file (only when using -o)

tool: D7:     -s		   Show live status information (only when using -o)

tool: D161:     -l N	   Limits the number of results from a single file before going
		   on to the next file.

tool: D94:     -n <list>      File extensions to exclude (i.e .dll,.exe)

tool: D118:     -m		   Mask the PAN number.

tool: D163:     -h		   Usage information


tool: D87: See https://github.com/adamcaudill/ccsrch for more information.


assistant: ```c
void usage(char *progname) {
  printf("%s\n", "ccsrch 1.0.9 (c) 2012-2014 Adam Caudill <adam@adamcaudill.com>\n             (c) 2007 Mike Beekey <zaphod2718@yahoo.com>");
  printf("Usage: %s <options> <start path>\n", progname);
  printf("  where <options> are:\n");
  printf("    -b\t\t   Add the byte offset into the file of the number\n");
  printf("    -e\t\t   Include the Modify Access and Create times in terms \n\t\t   of seconds since the epoch\n");
  printf("    -f\t\t   Only print the filename w/ potential PAN data\n");
  printf("    -j\t\t   Include the Modify Access and Create times in terms \n\t\t   of normal date/time\n");
  printf("    -o <filename>  Output the data to the file <filename> vs. standard out\n");
  printf("    -t <1 or 2>\t   Check if the pattern follows either a Track 1 \n\t\t   or 2 format\n");
  printf("    -T\t\t   Check for both Track 1 and Track 2 patterns\n");
  printf("    -c\t\t   Show a count of hits per file (only when using -o)\n");
  printf("    -s\t\t   Show live status information (only when using -o)\n");
  printf("    -l N\t   Limits the number of results from a single file before going\n\t\t   on to the next file.\n");
  printf("    -n <list>      File extensions to exclude (i.e .dll,.exe)\n");
  printf("    -m\t\t   Mask the PAN number.\n");
  printf("    -h\t\t   Usage information\n\n");
  printf("See https://github.com/adamcaudill/ccsrch for more information.\n\n");
  exit(0);
}
```