user: Translate the below assembly code into C programming language:

```asm
<helpbox>:
  endbr64
  sub    $0x8,%rsp
  mov    $0xa,%edi
  call   <putchar@plt>
  lea    D164(%rip),%rdi
  call   <gettext@plt>
  mov    %rax,%rdi
  lea    D65(%rip),%rsi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0xa,%edi
  call   <putchar@plt>
  lea    D9(%rip),%rdi
  call   <gettext@plt>
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  lea    D30(%rip),%rdi
  call   <gettext@plt>
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  lea    D78(%rip),%rdi
  call   <gettext@plt>
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  lea    D167(%rip),%rdi
  call   <gettext@plt>
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  lea    D29(%rip),%rdi
  call   <gettext@plt>
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  lea    D166(%rip),%rdi
  call   <gettext@plt>
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  lea    D116(%rip),%rdi
  call   <gettext@plt>
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  lea    D16(%rip),%rdi
  call   <gettext@plt>
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  lea    D138(%rip),%rdi
  call   <gettext@plt>
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  lea    D61(%rip),%rdi
  call   <gettext@plt>
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  lea    D39(%rip),%rdi
  call   <gettext@plt>
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  lea    D122(%rip),%rdi
  call   <gettext@plt>
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  lea    D93(%rip),%rdi
  call   <gettext@plt>
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  lea    D21(%rip),%rdi
  call   <gettext@plt>
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  lea    D128(%rip),%rdi
  call   <gettext@plt>
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  add    $0x8,%rsp
  ret
```

tool_calls: name: unpack_data
arguments: tag: D164
type_guessed: string
name: unpack_data
arguments: tag: D65
type_guessed: string
name: unpack_data
arguments: tag: D9
type_guessed: string
name: unpack_data
arguments: tag: D30
type_guessed: string
name: unpack_data
arguments: tag: D78
type_guessed: string
name: unpack_data
arguments: tag: D167
type_guessed: string
name: unpack_data
arguments: tag: D29
type_guessed: string
name: unpack_data
arguments: tag: D166
type_guessed: string
name: unpack_data
arguments: tag: D116
type_guessed: string
name: unpack_data
arguments: tag: D16
type_guessed: string
name: unpack_data
arguments: tag: D138
type_guessed: string
name: unpack_data
arguments: tag: D61
type_guessed: string
name: unpack_data
arguments: tag: D39
type_guessed: string
name: unpack_data
arguments: tag: D122
type_guessed: string
name: unpack_data
arguments: tag: D93
type_guessed: string
name: unpack_data
arguments: tag: D21
type_guessed: string
name: unpack_data
arguments: tag: D128
type_guessed: string

tool: D164: 	cryptoJKA from JKA Network - Version: %s


tool: D65: 0.5.1

tool: D9: 	The text must be between ASCII 32 and ASCII 126



tool: D30: 	Options:


tool: D78: 	 -f [file_name]	input file


tool: D167: 	 -o [file_name]	output file (default : crypt.out)


tool: D29: 	 -p [text]		password (default: pass)


tool: D166: 	 -t [text]		text (default: text)
					If you put -f and -t, text have preference


tool: D116: 	 -e			encrypt mode


tool: D16: 	 -d			decrypt mode


tool: D138: 	 -r [number]		with random generation [number of character]


tool: D61: 	 -b			cyption mode whith before algorithm (before version 0.4.5)


tool: D39: 	 -h, --help		show this box


tool: D122: 	 -v, --version		show version



tool: D93: 	 Examples:



tool: D21: 		cryptojka -e -t "Example text" -p password -o file_name -r 600


tool: D128: 		cryptojka -d -f file_name -p password



assistant: ```c
void helpbox() {
  printf("\n");
  printf(gettext("\tcryptoJKA from JKA Network - Version: %s\n"), "0.5.1");
  printf("\n");
  printf(gettext("\tThe text must be between ASCII 32 and ASCII 126\n\n"));
  printf(gettext("\tOptions:\n"));
  printf(gettext("\t -f [file_name]\tinput file\n"));
  printf(gettext("\t -o [file_name]\toutput file (default : crypt.out)\n"));
  printf(gettext("\t -p [text]\t\tpassword (default: pass)\n"));
  printf(gettext("\t -t [text]\t\ttext (default: text)\n\t\t\t\t\tIf you put -f and -t, text have preference\n"));
  printf(gettext("\t -e\t\t\tencrypt mode\n"));
  printf(gettext("\t -d\t\t\tdecrypt mode\n"));
  printf(gettext("\t -r [number]\t\twith random generation [number of character]\n"));
  printf(gettext("\t -b\t\t\tcyption mode whith before algorithm (before version 0.4.5)\n"));
  printf(gettext("\t -h, --help\t\tshow this box\n"));
  printf(gettext("\t -v, --version\t\tshow version\n\n"));
  printf(gettext("\t Examples:\n\n"));
  printf(gettext("\t\tcryptojka -e -t \"Example text\" -p password -o file_name -r 600\n"));
  printf(gettext("\t\tcryptojka -d -f file_name -p password\n\n"));
}
```