user: Translate the below assembly code into C programming language:

```asm
<help>:
  endbr64
  push   %rbp
  lea    D116(%rip),%rsi
  mov    %rdi,%rbp
  xor    %eax,%eax
  lea    D117(%rip),%rdi
  call   <printf@plt>
  mov    %rbp,%rdi
  call   <usage@plt>
  lea    D26(%rip),%rdi
  call   <puts@plt>
  lea    D110(%rip),%rdi
  call   <puts@plt>
  lea    D24(%rip),%rdi
  call   <puts@plt>
  lea    D44(%rip),%rdi
  call   <puts@plt>
  lea    D46(%rip),%rdi
  call   <puts@plt>
  lea    D81(%rip),%rdi
  call   <puts@plt>
  lea    D87(%rip),%rdi
  call   <puts@plt>
  lea    D67(%rip),%rdi
  call   <puts@plt>
  lea    D77(%rip),%rdi
  call   <puts@plt>
  lea    D89(%rip),%rdi
  call   <puts@plt>
  lea    D91(%rip),%rdi
  call   <puts@plt>
  lea    D123(%rip),%rdi
  call   <puts@plt>
  lea    D75(%rip),%rdi
  call   <puts@plt>
  lea    D92(%rip),%rdi
  pop    %rbp
  jmp    1070 <puts@plt>
```

tool_calls: name: parse_data
arguments: data_label: D116
datatype: string
name: parse_data
arguments: data_label: D117
datatype: string
name: parse_data
arguments: data_label: D26
datatype: string
name: parse_data
arguments: data_label: D110
datatype: string
name: parse_data
arguments: data_label: D24
datatype: string
name: parse_data
arguments: data_label: D44
datatype: string
name: parse_data
arguments: data_label: D46
datatype: string
name: parse_data
arguments: data_label: D81
datatype: string
name: parse_data
arguments: data_label: D87
datatype: string
name: parse_data
arguments: data_label: D67
datatype: string
name: parse_data
arguments: data_label: D77
datatype: string
name: parse_data
arguments: data_label: D89
datatype: string
name: parse_data
arguments: data_label: D91
datatype: string
name: parse_data
arguments: data_label: D123
datatype: string
name: parse_data
arguments: data_label: D75
datatype: string
name: parse_data
arguments: data_label: D92
datatype: string

tool: D116: 1.0

tool: D117: pxp_qa - PxP QA test, v%s


tool: D26: 
Possible options:

tool: D110: 	-a n		set global alpha

tool: D24: 	-h    	print help information

tool: D44: 	-hf   	flip image horizontally

tool: D46: 	-k 0xHHHHHHHH   	Set colorkey

tool: D81: 	-dst <x>:<y>:<w>:<h>  	set destination window

tool: D87: 	-sx <width> 	width of the LCD screen

tool: D67: 	-sy <height> 	height of the LCD screen

tool: D77: 	-o <outfile>  	set outfile for virtual buffer

tool: D89: 	-r   	rotate image

tool: D91: 	-res <w>:<h>  	input resolution

tool: D123: 	-vf   	flip image vertically

tool: D75: 	-w n   	wait n seconds before exiting

tool: D92: 	-?    	print this usage information

assistant: ```c
void help(char *bin) {
  printf("pxp_qa - PxP QA test, v%s\n", "1.0");
  usage(bin);
  printf("\nPossible options:\n");
  printf("\t-a n\t\tset global alpha\n");
  printf("\t-h    \tprint help information\n");
  printf("\t-hf   \tflip image horizontally\n");
  printf("\t-k 0xHHHHHHHH   \tSet colorkey\n");
  printf("\t-dst <x>:<y>:<w>:<h>  \tset destination window\n");
  printf("\t-sx <width> \twidth of the LCD screen\n");
  printf("\t-sy <height> \theight of the LCD screen\n");
  printf("\t-o <outfile>  \tset outfile for virtual buffer\n");
  printf("\t-r   \trotate image\n");
  printf("\t-res <w>:<h>  \tinput resolution\n");
  printf("\t-vf   \tflip image vertically\n");
  printf("\t-w n   \twait n seconds before exiting\n");
  printf("\t-?    \tprint this usage information\n");
}
```