user: Converte this assembly snippet into its equivalent C code:

```asm
<usage>:
  endbr64
  sub    $0x8,%rsp
  lea    D118(%rip),%rdi
  call   <printf@plt>
  lea    D70(%rip),%rdi
  call   <printf@plt>
  lea    D162(%rip),%rdi
  call   <printf@plt>
  lea    D28(%rip),%rdi
  call   <printf@plt>
  lea    D6(%rip),%rdi
  call   <printf@plt>
  lea    D63(%rip),%rdi
  call   <printf@plt>
  lea    D75(%rip),%rdi
  call   <printf@plt>
  lea    D110(%rip),%rdi
  call   <printf@plt>
  lea    D38(%rip),%rdi
  call   <printf@plt>
  lea    D72(%rip),%rdi
  call   <printf@plt>
  lea    D14(%rip),%rdi
  call   <printf@plt>
  lea    D15(%rip),%rdi
  call   <printf@plt>
  lea    D7(%rip),%rdi
  call   <printf@plt>
  lea    D121(%rip),%rdi
  call   <printf@plt>
  lea    D166(%rip),%rdi
  call   <printf@plt>
  lea    D168(%rip),%rdi
  call   <printf@plt>
  lea    D41(%rip),%rdi
  call   <printf@plt>
  lea    D95(%rip),%rdi
  call   <printf@plt>
  lea    D80(%rip),%rdi
  call   <printf@plt>
  lea    D36(%rip),%rdi
  add    $0x8,%rsp
  jmp    1050 <printf@plt>
```

tool_calls: name: extract_symbolic_data
arguments: data_tag: D118
type_guessed: string
name: extract_symbolic_data
arguments: data_tag: D70
type_guessed: string
name: extract_symbolic_data
arguments: data_tag: D162
type_guessed: string
name: extract_symbolic_data
arguments: data_tag: D28
type_guessed: string
name: extract_symbolic_data
arguments: data_tag: D6
type_guessed: string
name: extract_symbolic_data
arguments: data_tag: D63
type_guessed: string
name: extract_symbolic_data
arguments: data_tag: D75
type_guessed: string
name: extract_symbolic_data
arguments: data_tag: D110
type_guessed: string
name: extract_symbolic_data
arguments: data_tag: D38
type_guessed: string
name: extract_symbolic_data
arguments: data_tag: D72
type_guessed: string
name: extract_symbolic_data
arguments: data_tag: D14
type_guessed: string
name: extract_symbolic_data
arguments: data_tag: D15
type_guessed: string
name: extract_symbolic_data
arguments: data_tag: D7
type_guessed: string
name: extract_symbolic_data
arguments: data_tag: D121
type_guessed: string
name: extract_symbolic_data
arguments: data_tag: D166
type_guessed: string
name: extract_symbolic_data
arguments: data_tag: D168
type_guessed: string
name: extract_symbolic_data
arguments: data_tag: D41
type_guessed: string
name: extract_symbolic_data
arguments: data_tag: D95
type_guessed: string
name: extract_symbolic_data
arguments: data_tag: D80
type_guessed: string
name: extract_symbolic_data
arguments: data_tag: D36
type_guessed: string

tool: D118: Usage:



tool: D70: sdf -a<ip> -p<port> -s<unit> -i<interval> -d<delay> -u<userid> -c<chipid> -n<num> -l<debug> -m<mode> -finputfile


tool: D162:     -a:           ip address of remote server


tool: D28:     -p:           port number of remote server


tool: D6:     -s:           packet size


tool: D63:     -i:           interval between 2 record, ms


tool: D75:     -d:           interval between 2 packet, ms


tool: D110:     -u:           the unique id of user


tool: D38:     -c:           the unique id of device


tool: D72:     -n:           recored number, -1 means endless


tool: D14:     -l:           debug level, 0-none 1-tidy 2-detail


tool: D15:     -m:           mixed mode, 0-disable, 1-mix(default)


tool: D7:     -f:           input file, output will be separate binary


tool: D121:     -z            compress enable


tool: D166:     -e            emulate enable


tool: D168:     -h            usage


tool: D41: 



tool: D95: Examples:


tool: D80:     sdf.exe -a114.215.121.190 -p9203 -s512 -i1000 -d100 -u476289 -c05D9FF313433504B51126828 -n1 -m0 -l1


tool: D36:     sdf.exe -flog.bin


assistant: ```c
void usage() {
  printf("Usage:\n\n");
  printf("sdf -a<ip> -p<port> -s<unit> -i<interval> -d<delay> -u<userid> -c<chipid> -n<num> -l<debug> -m<mode> -finputfile\n");
  printf("    -a:           ip address of remote server\n");
  printf("    -p:           port number of remote server\n");
  printf("    -s:           packet size\n");
  printf("    -i:           interval between 2 record, ms\n");
  printf("    -d:           interval between 2 packet, ms\n");
  printf("    -u:           the unique id of user\n");
  printf("    -c:           the unique id of device\n");
  printf("    -n:           recored number, -1 means endless\n");
  printf("    -l:           debug level, 0-none 1-tidy 2-detail\n");
  printf("    -m:           mixed mode, 0-disable, 1-mix(default)\n");
  printf("    -f:           input file, output will be separate binary\n");
  printf("    -z            compress enable\n");
  printf("    -e            emulate enable\n");
  printf("    -h            usage\n");
  printf("\n\n");
  printf("Examples:\n");
  printf("    sdf.exe -a114.215.121.190 -p9203 -s512 -i1000 -d100 -u476289 -c05D9FF313433504B51126828 -n1 -m0 -l1\n");
  printf("    sdf.exe -flog.bin\n");
}
```