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

```asm
<manprint>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x10,%rsp
  mov    %rdi,-0x8(%rbp)
  mov    -0x8(%rbp),%rax
  lea    D185(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L4
  mov    -0x8(%rbp),%rax
  mov    %rax,%rsi
  lea    D84(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
L4:
  lea    D106(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  lea    D92(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  lea    D41(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  lea    D106(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  lea    D29(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  lea    D104(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  lea    D191(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  lea    D63(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  lea    D75(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  lea    D66(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  lea    D6(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  lea    D101(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  lea    D192(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  lea    D33(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  lea    D47(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  lea    D170(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  lea    D40(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  lea    D174(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  lea    D102(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0xa,%edi
  call   <putchar@plt>
  nop
  leave
  ret
```

tool_calls: name: unpack_data
arguments: data_tag: D185
datatype: string
name: unpack_data
arguments: data_tag: D84
datatype: string
name: unpack_data
arguments: data_tag: D106
datatype: string
name: unpack_data
arguments: data_tag: D92
datatype: string
name: unpack_data
arguments: data_tag: D41
datatype: string
name: unpack_data
arguments: data_tag: D29
datatype: string
name: unpack_data
arguments: data_tag: D104
datatype: string
name: unpack_data
arguments: data_tag: D191
datatype: string
name: unpack_data
arguments: data_tag: D63
datatype: string
name: unpack_data
arguments: data_tag: D75
datatype: string
name: unpack_data
arguments: data_tag: D66
datatype: string
name: unpack_data
arguments: data_tag: D6
datatype: string
name: unpack_data
arguments: data_tag: D101
datatype: string
name: unpack_data
arguments: data_tag: D192
datatype: string
name: unpack_data
arguments: data_tag: D33
datatype: string
name: unpack_data
arguments: data_tag: D47
datatype: string
name: unpack_data
arguments: data_tag: D170
datatype: string
name: unpack_data
arguments: data_tag: D40
datatype: string
name: unpack_data
arguments: data_tag: D174
datatype: string
name: unpack_data
arguments: data_tag: D102
datatype: string

tool: 

tool: D84: 
 ERROR: %s

tool: D106: 


tool: D92: 	 codeTemplate is an application to create or fill startup content for 
	programming code files.

tool: D41: 

 Usage:

tool: D29: 	 startCode [options] filename dest_path

tool: D104: 
		 This command places the custom startup file (with filename) 

tool: D191: 
		 in the specified directory. Extension is appended automatically.

tool: D63: 

	 [options]

tool: D75: 
		 -cc : C programming .c (code) file

tool: D66: 
		 -ch : C programming .h (header) file

tool: D6: 
		 -m  : Makefile

tool: D101: 
		 -h  : Help or manual page display

tool: D192: 

	 filename

tool: D33: 
		 If file already exists at the location (specified by destdir),

tool: D47: 
		 content is inserted at the beginning of the file otherwise a 

tool: D170: 
		 new file with the content is created. Note: Extension is automatically applied.

tool: D40: 

	 destdir

tool: D174: 
		 Directory in which resultant file should be placed. This directory can be

tool: D102: 
		 relative to current working directory (.) or an absolute path (starting with '/' or '~')

assistant: ```c
void manprint(char *msg) {
  if (strcmp(msg, ""))
    printf("\n ERROR: %s", msg);
  printf("\n\n");
  printf("\t codeTemplate is an application to create or fill startup content for \n\tprogramming code files.");
  printf("\n\n Usage:");
  printf("\n\n");
  printf("\t startCode [options] filename dest_path");
  printf("\n\t\t This command places the custom startup file (with filename) ");
  printf("\n\t\t in the specified directory. Extension is appended automatically.");
  printf("\n\n\t [options]");
  printf("\n\t\t -cc : C programming .c (code) file");
  printf("\n\t\t -ch : C programming .h (header) file");
  printf("\n\t\t -m  : Makefile");
  printf("\n\t\t -h  : Help or manual page display");
  printf("\n\n\t filename");
  printf("\n\t\t If file already exists at the location (specified by destdir),");
  printf("\n\t\t content is inserted at the beginning of the file otherwise a ");
  printf("\n\t\t new file with the content is created. Note: Extension is automatically applied.");
  printf("\n\n\t destdir");
  printf("\n\t\t Directory in which resultant file should be placed. This directory can be");
  printf("\n\t\t relative to current working directory (.) or an absolute path (starting with '/' or '~')");
  printf("\n");
  return;
}
```