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

```asm
<printhelpNquit>:
  endbr64
  push   %rbp
  mov    %rdi,%rbp
  lea    D175(%rip),%rdi
  call   <puts@plt>
  lea    D53(%rip),%rdi
  call   <puts@plt>
  lea    D127(%rip),%rdi
  call   <puts@plt>
  mov    %rbp,%rsi
  lea    D8(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  lea    D174(%rip),%rdi
  call   <puts@plt>
  lea    D200(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  lea    D203(%rip),%rdi
  call   <puts@plt>
  lea    D117(%rip),%rdi
  call   <puts@plt>
  lea    D46(%rip),%rdi
  call   <puts@plt>
  lea    D140(%rip),%rdi
  call   <puts@plt>
  lea    D65(%rip),%rdi
  call   <puts@plt>
  lea    D39(%rip),%rdi
  call   <puts@plt>
  lea    D138(%rip),%rdi
  call   <puts@plt>
  lea    D95(%rip),%rdi
  call   <puts@plt>
  lea    D196(%rip),%rdi
  call   <puts@plt>
  lea    D173(%rip),%rdi
  call   <puts@plt>
  lea    D156(%rip),%rdi
  call   <puts@plt>
  lea    D48(%rip),%rdi
  call   <puts@plt>
  lea    D189(%rip),%rdi
  call   <puts@plt>
  mov    %rbp,%rsi
  lea    D7(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  mov    %rbp,%rsi
  lea    D121(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  xor    %edi,%edi
  pop    %rbp
  jmp    1090 <exit@plt>
```

tool_calls: name: extract_symbolic_data
arguments: data_tag: D175
data_type: string
name: extract_symbolic_data
arguments: data_tag: D53
data_type: string
name: extract_symbolic_data
arguments: data_tag: D127
data_type: string
name: extract_symbolic_data
arguments: data_tag: D8
data_type: string
name: extract_symbolic_data
arguments: data_tag: D174
data_type: string
name: extract_symbolic_data
arguments: data_tag: D200
data_type: string
name: extract_symbolic_data
arguments: data_tag: D203
data_type: string
name: extract_symbolic_data
arguments: data_tag: D117
data_type: string
name: extract_symbolic_data
arguments: data_tag: D46
data_type: string
name: extract_symbolic_data
arguments: data_tag: D140
data_type: string
name: extract_symbolic_data
arguments: data_tag: D65
data_type: string
name: extract_symbolic_data
arguments: data_tag: D39
data_type: string
name: extract_symbolic_data
arguments: data_tag: D138
data_type: string
name: extract_symbolic_data
arguments: data_tag: D95
data_type: string
name: extract_symbolic_data
arguments: data_tag: D196
data_type: string
name: extract_symbolic_data
arguments: data_tag: D173
data_type: string
name: extract_symbolic_data
arguments: data_tag: D156
data_type: string
name: extract_symbolic_data
arguments: data_tag: D48
data_type: string
name: extract_symbolic_data
arguments: data_tag: D189
data_type: string
name: extract_symbolic_data
arguments: data_tag: D7
data_type: string
name: extract_symbolic_data
arguments: data_tag: D121
data_type: string

tool: D175: Chaos controller  v1.3  by agentOfChaos  informaniac99<AT>gmail<DOT>com

tool: D53: Small linux utility that lets you hack the libc random number generator, bypassing the C random() function and altering the rand()'s return value.

tool: D127: In layman terms: if random number is god, you can be god too!


tool: D8: Usage: %s [arguments]


tool: D174: Mandatory arguments: offset_mode target inject_mode

tool: D200: --help -h -?	print this help screen
.

tool: D203: [offset_mode]	"auto" OR "preset"

tool: D117: How the program will know the memory offset (from libc beginning) where to find rand() entry point.

tool: D46: 	preset will use the value defined at compile time.

tool: D140: 	auto will guess it based on it's location in the current program.

tool: D65: [target]	pid OR absolute_path

tool: D39: The target process to manipulate

tool: D138: 	pid of a running process. keep in mind however that you might require root privilege for that

tool: D95: 	absolute_path of a child process to spawn

tool: D196: [inject_mode]	nop OR num OR fix

tool: D173: How the program will alterate target's memory

tool: D156: 	nop will replace the call-to-random with NOPs (assembly opcode that does nothing)

tool: D48: 	fix will restore the default value (a call to the random subroutine)

tool: D189: 	num [my_number] will replace the call-to-random with MOV [my_number] to eax, basically making rand return your own number of choice.

tool: D7: 
Example usage (sudo may be required):
	%s auto $(pidof killbots) num 4


tool: D121: Then, to restore the program's unaltered memory: 
	%s auto $(pidof killbots) fix


assistant: ```c
void printhelpNquit(char *name) {
  printf("Chaos controller  v1.3  by agentOfChaos  informaniac99<AT>gmail<DOT>com\n");
  printf("Small linux utility that lets you hack the libc random number generator, bypassing the C random() function and altering the rand()'s return value.\n");
  printf("In layman terms: if random number is god, you can be god too!\n\n");
  printf("Usage: %s [arguments]\n", name);
  printf("Mandatory arguments: offset_mode target inject_mode\n");
  printf("--help -h -?\tprint this help screen\n.");
  printf("[offset_mode]\t\"auto\" OR \"preset\"\n");
  printf("How the program will know the memory offset (from libc beginning) where to find rand() entry point.\n");
  printf("\tpreset will use the value defined at compile time.\n");
  printf("\tauto will guess it based on it's location in the current program.\n");
  printf("[target]\tpid OR absolute_path\n");
  printf("The target process to manipulate\n");
  printf("\tpid of a running process. keep in mind however that you might require root privilege for that\n");
  printf("\tabsolute_path of a child process to spawn\n");
  printf("[inject_mode]\tnop OR num OR fix\n");
  printf("How the program will alterate target's memory\n");
  printf("\tnop will replace the call-to-random with NOPs (assembly opcode that does nothing)\n");
  printf("\tfix will restore the default value (a call to the random subroutine)\n");
  printf("\tnum [my_number] will replace the call-to-random with MOV [my_number] to eax, basically making rand return your own number of choice.\n");
  printf("\nExample usage (sudo may be required):\n\t%s auto $(pidof killbots) num 4\n", name);
  printf("Then, to restore the program's unaltered memory: \n\t%s auto $(pidof killbots) fix\n", name);
  exit(0);
}
```