user: Please show me the C implementation that matches the assembly code listed below:

```asm
<runHelp>:
  endbr64
  push   %rbp
  lea    D180(%rip),%rdi
  lea    D94(%rip),%rbp
  call   <printf@plt>
  lea    D207(%rip),%rdi
  call   <printf@plt>
  lea    D32(%rip),%rdi
  call   <printf@plt>
  lea    D61(%rip),%rdi
  call   <printf@plt>
  lea    D174(%rip),%rdi
  call   <printf@plt>
  lea    D71(%rip),%rdi
  call   <printf@plt>
  lea    D11(%rip),%rdi
  call   <printf@plt>
  lea    D108(%rip),%rdi
  call   <printf@plt>
  lea    D192(%rip),%rdi
  call   <printf@plt>
  lea    D188(%rip),%rdi
  call   <printf@plt>
  mov    %rbp,%rdi
  call   <printf@plt>
  mov    %rbp,%rdi
  call   <printf@plt>
  lea    D43(%rip),%rdi
  call   <printf@plt>
  lea    D96(%rip),%rdi
  call   <printf@plt>
  lea    D182(%rip),%rdi
  call   <printf@plt>
  lea    D243(%rip),%rdi
  call   <printf@plt>
  lea    D15(%rip),%rdi
  call   <printf@plt>
  lea    D209(%rip),%rdi
  call   <printf@plt>
  mov    %rbp,%rdi
  call   <printf@plt>
  mov    %rbp,%rdi
  call   <printf@plt>
  lea    D122(%rip),%rdi
  call   <printf@plt>
  lea    D46(%rip),%rdi
  call   <printf@plt>
  lea    D119(%rip),%rdi
  call   <printf@plt>
  lea    D244(%rip),%rdi
  call   <printf@plt>
  lea    D36(%rip),%rdi
  call   <printf@plt>
  lea    D74(%rip),%rdi
  call   <printf@plt>
  lea    D33(%rip),%rdi
  call   <printf@plt>
  lea    D203(%rip),%rdi
  call   <printf@plt>
  mov    $0xa,%edi
  pop    %rbp
  jmp    1070 <putChar@plt>
```

tool_calls: name: retrieve_data
arguments: tag: D180
type_guessed: string
name: retrieve_data
arguments: tag: D94
type_guessed: string
name: retrieve_data
arguments: tag: D207
type_guessed: string
name: retrieve_data
arguments: tag: D32
type_guessed: string
name: retrieve_data
arguments: tag: D61
type_guessed: string
name: retrieve_data
arguments: tag: D174
type_guessed: string
name: retrieve_data
arguments: tag: D71
type_guessed: string
name: retrieve_data
arguments: tag: D11
type_guessed: string
name: retrieve_data
arguments: tag: D108
type_guessed: string
name: retrieve_data
arguments: tag: D192
type_guessed: string
name: retrieve_data
arguments: tag: D188
type_guessed: string
name: retrieve_data
arguments: tag: D43
type_guessed: string
name: retrieve_data
arguments: tag: D96
type_guessed: string
name: retrieve_data
arguments: tag: D182
type_guessed: string
name: retrieve_data
arguments: tag: D243
type_guessed: string
name: retrieve_data
arguments: tag: D15
type_guessed: string
name: retrieve_data
arguments: tag: D209
type_guessed: string
name: retrieve_data
arguments: tag: D122
type_guessed: string
name: retrieve_data
arguments: tag: D46
type_guessed: string
name: retrieve_data
arguments: tag: D119
type_guessed: string
name: retrieve_data
arguments: tag: D244
type_guessed: string
name: retrieve_data
arguments: tag: D36
type_guessed: string
name: retrieve_data
arguments: tag: D74
type_guessed: string
name: retrieve_data
arguments: tag: D33
type_guessed: string
name: retrieve_data
arguments: tag: D203
type_guessed: string

tool: D180: clear: erases all visible text 


tool: D94: -----------------------------------------------------------


tool: D207: chcolor b g r: changes characters color (previously written characters keep the original color). b, g and r are hexadecimal values for red, green and blue components


tool: D32: bgcolor b g r: changes background color. b, g and r are hexadecimal values for blue, green and red components 


tool: D61: zerodiv: shows zero division exception handling


tool: D174: invopc: shows invalid opcode exception handling


tool: D71: echo str: prints string str


tool: D11: math a b c: plots mathemathical function ax^2 + bx + c


tool: D108: securityon: hides input characters until securityoff is invoked


tool: D192: securityoff: recovers from securityon mode


tool: D188: colorfade from to: prints a color fade effect between any of the primary colors or between black and white


tool: D43: multiDemo: enters a finite loop. It allows the user to run new processes in the meantime 


tool: D96: killDemo: enters an infinite loop so that the only way for it to finish is killing it with the command kill


tool: D182: kill [pid]: kills the process with the given PID


tool: D243: mallocDemo: a simple usage of user level malloc and free


tool: D15: ps: lists all processes including terminated ones


tool: D209: prodcons: a simple implementation of producer consumer problem


tool: D122: fileDemo: creates a file and writes to it. Its content is then read.


tool: D46: ls: shows current directorie's subfolders and files


tool: D119: cd [path]: changes the current working directory to a specified subdirectory.


tool: D244: touch [pathAndName]: creates a file with the specified name in the specified directory.


tool: D36: mkdir [pathAndName]: creates a directory with the specified name in the specified directory.


tool: D74: rm [pathAndName] [type]: deletes a file (if type is isFile), or a directory recursively (if type is isDir).


tool: D33: fileDetails [pathAndName]: prints a file's name, size and current status.


tool: D203: pipeProdcons: executes a producer consumer problem using pipes .


assistant: ```c
void runHelp() {
  printf("clear: erases all visible text \n");
  printf("chcolor b g r: changes characters color (previously written characters keep the original color). b, g and r are hexadecimal values for red, green and blue components\n");
  printf("bgcolor b g r: changes background color. b, g and r are hexadecimal values for blue, green and red components \n");
  printf("zerodiv: shows zero division exception handling\n");
  printf("invopc: shows invalid opcode exception handling\n");
  printf("echo str: prints string str\n");
  printf("math a b c: plots mathemathical function ax^2 + bx + c\n");
  printf("securityon: hides input characters until securityoff is invoked\n");
  printf("securityoff: recovers from securityon mode\n");
  printf("colorfade from to: prints a color fade effect between any of the primary colors or between black and white\n");
  printf("-----------------------------------------------------------\n");
  printf("-----------------------------------------------------------\n");
  printf("multiDemo: enters a finite loop. It allows the user to run new processes in the meantime \n");
  printf("killDemo: enters an infinite loop so that the only way for it to finish is killing it with the command kill\n");
  printf("kill [pid]: kills the process with the given PID\n");
  printf("mallocDemo: a simple usage of user level malloc and free\n");
  printf("ps: lists all processes including terminated ones\n");
  printf("prodcons: a simple implementation of producer consumer problem\n");
  printf("-----------------------------------------------------------\n");
  printf("-----------------------------------------------------------\n");
  printf("fileDemo: creates a file and writes to it. Its content is then read.\n");
  printf("ls: shows current directorie's subfolders and files\n");
  printf("cd [path]: changes the current working directory to a specified subdirectory.\n");
  printf("touch [pathAndName]: creates a file with the specified name in the specified directory.\n");
  printf("mkdir [pathAndName]: creates a directory with the specified name in the specified directory.\n");
  printf("rm [pathAndName] [type]: deletes a file (if type is isFile), or a directory recursively (if type is isDir).\n");
  printf("fileDetails [pathAndName]: prints a file's name, size and current status.\n");
  printf("pipeProdcons: executes a producer consumer problem using pipes .\n");
  putChar('\n');
}
```