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

```asm
<printUsage>:
  endbr64
  sub    $0x8,%rsp
  lea    D78(%rip),%rdi
  call   <my_printf@plt>
  lea    D94(%rip),%rdi
  call   <my_printf@plt>
  lea    D87(%rip),%rdi
  call   <my_printf@plt>
  lea    D122(%rip),%rdi
  call   <my_printf@plt>
  lea    D25(%rip),%rdi
  call   <my_printf@plt>
  lea    D76(%rip),%rdi
  call   <my_printf@plt>
  lea    D89(%rip),%rdi
  call   <my_printf@plt>
  lea    D120(%rip),%rdi
  call   <my_printf@plt>
  lea    D86(%rip),%rdi
  call   <my_printf@plt>
  lea    D5(%rip),%rdi
  call   <my_printf@plt>
  lea    D59(%rip),%rdi
  call   <my_printf@plt>
  lea    D31(%rip),%rdi
  call   <my_printf@plt>
  lea    D108(%rip),%rdi
  add    $0x8,%rsp
  jmp    1050 <my_printf@plt>
```

tool_calls: name: extract_symbolic_data
arguments: data_label: D78
type_guessed: string
name: extract_symbolic_data
arguments: data_label: D94
type_guessed: string
name: extract_symbolic_data
arguments: data_label: D87
type_guessed: string
name: extract_symbolic_data
arguments: data_label: D122
type_guessed: string
name: extract_symbolic_data
arguments: data_label: D25
type_guessed: string
name: extract_symbolic_data
arguments: data_label: D76
type_guessed: string
name: extract_symbolic_data
arguments: data_label: D89
type_guessed: string
name: extract_symbolic_data
arguments: data_label: D120
type_guessed: string
name: extract_symbolic_data
arguments: data_label: D86
type_guessed: string
name: extract_symbolic_data
arguments: data_label: D5
type_guessed: string
name: extract_symbolic_data
arguments: data_label: D59
type_guessed: string
name: extract_symbolic_data
arguments: data_label: D31
type_guessed: string
name: extract_symbolic_data
arguments: data_label: D108
type_guessed: string

tool: D78: Usage: ofgwrite <parameter> <image_directory>


tool: D94: Options:


tool: D87:    -k --kernel           flash kernel with automatic device recognition(default)


tool: D122:    -kmtdx --kernel=mtdx  use mtdx device for kernel flashing


tool: D25:    -kmmcblkxpx --kernel=mmcblkxpx  use mmcblkxpx device for kernel flashing


tool: D76:    -r --rootfs           flash rootfs with automatic device recognition(default)


tool: D89:    -rmtdy --rootfs=mtdy  use mtdy device for rootfs flashing


tool: D120:    -rmmcblkxpx --rootfs=mmcblkxpx  use mmcblkxpx device for rootfs flashing


tool: D86:    -mx --multi=x         flash multiboot partition x (x= 1, 2, 3,...). Only supported by some boxes.


tool: D5:    -n --nowrite          show only found image and mtd partitions (no write)


tool: D59:    -f --force            force kill e2


tool: D31:    -q --quiet            show less output


tool: D108:    -h --help             show help


assistant: ```c
void printUsage() {
  my_printf("Usage: ofgwrite <parameter> <image_directory>\n");
  my_printf("Options:\n");
  my_printf("   -k --kernel           flash kernel with automatic device recognition(default)\n");
  my_printf("   -kmtdx --kernel=mtdx  use mtdx device for kernel flashing\n");
  my_printf("   -kmmcblkxpx --kernel=mmcblkxpx  use mmcblkxpx device for kernel flashing\n");
  my_printf("   -r --rootfs           flash rootfs with automatic device recognition(default)\n");
  my_printf("   -rmtdy --rootfs=mtdy  use mtdy device for rootfs flashing\n");
  my_printf("   -rmmcblkxpx --rootfs=mmcblkxpx  use mmcblkxpx device for rootfs flashing\n");
  my_printf("   -mx --multi=x         flash multiboot partition x (x= 1, 2, 3,...). Only supported by some boxes.\n");
  my_printf("   -n --nowrite          show only found image and mtd partitions (no write)\n");
  my_printf("   -f --force            force kill e2\n");
  my_printf("   -q --quiet            show less output\n");
  my_printf("   -h --help             show help\n");
}
```