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

```asm
<print_usage>:
  endbr64
  sub    $0x8,%rsp
  mov    (%rdi),%rsi
  xor    %eax,%eax
  lea    D81(%rip),%rdi
  call   <printf@plt>
  lea    D14(%rip),%rdi
  call   <puts@plt>
  lea    D40(%rip),%rdi
  call   <puts@plt>
  lea    D34(%rip),%rdi
  call   <puts@plt>
  lea    D92(%rip),%rdi
  call   <puts@plt>
  lea    D95(%rip),%rdi
  call   <puts@plt>
  lea    D36(%rip),%rdi
  call   <puts@plt>
  lea    D98(%rip),%rdi
  call   <puts@plt>
  lea    D67(%rip),%rdi
  call   <puts@plt>
  lea    D59(%rip),%rdi
  call   <puts@plt>
  lea    D61(%rip),%rdi
  call   <puts@plt>
  mov    $0xa,%edi
  call   <putchar@plt>
  xor    %edi,%edi
  add    $0x8,%rsp
  jmp    10b0 <exit@plt>
```

tool_calls: name: read_data
arguments: tag: D81
type_guessed: string
name: read_data
arguments: tag: D14
type_guessed: string
name: read_data
arguments: tag: D40
type_guessed: string
name: read_data
arguments: tag: D34
type_guessed: string
name: read_data
arguments: tag: D92
type_guessed: string
name: read_data
arguments: tag: D95
type_guessed: string
name: read_data
arguments: tag: D36
type_guessed: string
name: read_data
arguments: tag: D98
type_guessed: string
name: read_data
arguments: tag: D67
type_guessed: string
name: read_data
arguments: tag: D59
type_guessed: string
name: read_data
arguments: tag: D61
type_guessed: string

tool: D81: OpenCL serpent
Usage: %s [-options]



tool: D14: 	-h --help					: Print this usage

tool: D40: 	-v --verbose					: Verbose version

tool: D34: 	-d <file> --dump-binary-file <file>		: Specify where to save the generated kernel binary code

tool: D92: 	-w NUM --num-work-items NUM			: Specify number of work-items (default: 2048)

tool: D95: 	-g NUM --num-work-items-per-work-group NUM	: Specify number of work-items that compose a work-group (default 64)

tool: D36: 	-b NUM --num-blocks-for-work-item NUM		: Specify number of blocks encrypted by each work-item (default: 20000)

tool: D98: 	-u --unroll-main-work-cycle			: Unroll 10 iterations of the main kernel cycle

tool: D67: 	-s --do-not-unroll-subkey-operation		: Do not unroll subkey operation

tool: D59: 	-r --ctr-mode					: Enable Counter Mode (default: ECB mode)

tool: D61: 	-c --csv-output					: Print CSV-like output on stdout

assistant: ```c
void print_usage(char **argv) {
  printf("OpenCL serpent\nUsage: %s [-options]\n\n", argv[0]);
  printf("\t-h --help\t\t\t\t\t: Print this usage\n");
  printf("\t-v --verbose\t\t\t\t\t: Verbose version\n");
  printf("\t-d <file> --dump-binary-file <file>\t\t: Specify where to save the generated kernel binary code\n");
  printf("\t-w NUM --num-work-items NUM\t\t\t: Specify number of work-items (default: 2048)\n");
  printf("\t-g NUM --num-work-items-per-work-group NUM\t: Specify number of work-items that compose a work-group (default 64)\n");
  printf("\t-b NUM --num-blocks-for-work-item NUM\t\t: Specify number of blocks encrypted by each work-item (default: 20000)\n");
  printf("\t-u --unroll-main-work-cycle\t\t\t: Unroll 10 iterations of the main kernel cycle\n");
  printf("\t-s --do-not-unroll-subkey-operation\t\t: Do not unroll subkey operation\n");
  printf("\t-r --ctr-mode\t\t\t\t\t: Enable Counter Mode (default: ECB mode)\n");
  printf("\t-c --csv-output\t\t\t\t\t: Print CSV-like output on stdout\n");
  printf("\n");
  exit(0);
}
```