user: 请将这段汇编代码片段转换成等效的C代码：

```asm
<helpbox>:
  endbr64
  sub    $0x8,%rsp
  mov    $0xa,%edi
  call   <putchar@plt>
  lea    D7(%rip),%rdi
  call   <gettext@plt>
  lea    D117(%rip),%rsi
  mov    %rax,%rdi
  xor    %eax,%eax
  call   <printf@plt>
  mov    $0xa,%edi
  call   <putchar@plt>
  lea    D77(%rip),%rdi
  call   <gettext@plt>
  mov    %rax,%rdi
  xor    %eax,%eax
  call   <printf@plt>
  lea    D115(%rip),%rdi
  call   <gettext@plt>
  mov    %rax,%rdi
  xor    %eax,%eax
  call   <printf@plt>
  lea    D96(%rip),%rdi
  call   <gettext@plt>
  mov    %rax,%rdi
  xor    %eax,%eax
  call   <printf@plt>
  lea    D131(%rip),%rdi
  call   <gettext@plt>
  mov    %rax,%rdi
  xor    %eax,%eax
  call   <printf@plt>
  lea    D110(%rip),%rdi
  call   <gettext@plt>
  mov    %rax,%rdi
  xor    %eax,%eax
  call   <printf@plt>
  lea    D47(%rip),%rdi
  call   <gettext@plt>
  mov    %rax,%rdi
  xor    %eax,%eax
  call   <printf@plt>
  lea    D63(%rip),%rdi
  call   <gettext@plt>
  mov    %rax,%rdi
  xor    %eax,%eax
  call   <printf@plt>
  lea    D107(%rip),%rdi
  call   <gettext@plt>
  mov    %rax,%rdi
  xor    %eax,%eax
  call   <printf@plt>
  lea    D50(%rip),%rdi
  call   <gettext@plt>
  mov    %rax,%rdi
  xor    %eax,%eax
  call   <printf@plt>
  lea    D101(%rip),%rdi
  call   <gettext@plt>
  mov    %rax,%rdi
  xor    %eax,%eax
  call   <printf@plt>
  lea    D85(%rip),%rdi
  call   <gettext@plt>
  mov    %rax,%rdi
  xor    %eax,%eax
  call   <printf@plt>
  lea    D73(%rip),%rdi
  call   <gettext@plt>
  mov    %rax,%rdi
  xor    %eax,%eax
  call   <printf@plt>
  lea    D33(%rip),%rdi
  call   <gettext@plt>
  mov    %rax,%rdi
  xor    %eax,%eax
  call   <printf@plt>
  lea    D11(%rip),%rdi
  call   <gettext@plt>
  mov    %rax,%rdi
  xor    %eax,%eax
  call   <printf@plt>
  lea    D90(%rip),%rdi
  call   <gettext@plt>
  add    $0x8,%rsp
  mov    %rax,%rdi
  xor    %eax,%eax
  jmp    1090 <printf@plt>
```

tool_calls: name: parse_data
arguments: label: D7
type_infered: string
name: parse_data
arguments: label: D117
type_infered: string
name: parse_data
arguments: label: D77
type_infered: string
name: parse_data
arguments: label: D115
type_infered: string
name: parse_data
arguments: label: D96
type_infered: string
name: parse_data
arguments: label: D131
type_infered: string
name: parse_data
arguments: label: D110
type_infered: string
name: parse_data
arguments: label: D47
type_infered: string
name: parse_data
arguments: label: D63
type_infered: string
name: parse_data
arguments: label: D107
type_infered: string
name: parse_data
arguments: label: D50
type_infered: string
name: parse_data
arguments: label: D101
type_infered: string
name: parse_data
arguments: label: D85
type_infered: string
name: parse_data
arguments: label: D73
type_infered: string
name: parse_data
arguments: label: D33
type_infered: string
name: parse_data
arguments: label: D11
type_infered: string
name: parse_data
arguments: label: D90
type_infered: string

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


tool: D117: 0.5.1

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



tool: D115: 	Options:


tool: D96: 	 -f [file_name]	input file


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


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


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


tool: D63: 	 -e			encrypt mode


tool: D107: 	 -d			decrypt mode


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


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


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


tool: D73: 	 -v, --version		show version



tool: D33: 	 Examples:



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


tool: D90: 		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"));
}
```