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

```asm
<mostrarMenu>:
  endbr64
  sub    $0x8,%rsp
  lea    D271(%rip),%rdi
  call   <gettext@plt>
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D285(%rip),%rdi
  call   <gettext@plt>
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D148(%rip),%rdi
  call   <gettext@plt>
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D125(%rip),%rdi
  call   <gettext@plt>
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D235(%rip),%rdi
  call   <gettext@plt>
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D18(%rip),%rdi
  call   <gettext@plt>
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D193(%rip),%rdi
  call   <gettext@plt>
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D126(%rip),%rdi
  call   <gettext@plt>
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D162(%rip),%rdi
  call   <gettext@plt>
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D265(%rip),%rdi
  call   <gettext@plt>
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D115(%rip),%rdi
  call   <gettext@plt>
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D229(%rip),%rdi
  call   <gettext@plt>
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D179(%rip),%rdi
  call   <gettext@plt>
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D250(%rip),%rdi
  call   <gettext@plt>
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D84(%rip),%rdi
  call   <gettext@plt>
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D132(%rip),%rdi
  call   <gettext@plt>
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D254(%rip),%rdi
  call   <gettext@plt>
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D88(%rip),%rdi
  call   <gettext@plt>
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D147(%rip),%rdi
  call   <gettext@plt>
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D244(%rip),%rdi
  call   <gettext@plt>
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D190(%rip),%rdi
  call   <gettext@plt>
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D258(%rip),%rdi
  call   <gettext@plt>
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D74(%rip),%rdi
  call   <gettext@plt>
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D178(%rip),%rdi
  call   <gettext@plt>
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D108(%rip),%rdi
  call   <gettext@plt>
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D96(%rip),%rdi
  call   <gettext@plt>
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D181(%rip),%rdi
  call   <gettext@plt>
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D15(%rip),%rdi
  call   <gettext@plt>
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D200(%rip),%rdi
  call   <gettext@plt>
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D59(%rip),%rdi
  call   <gettext@plt>
  add    $0x8,%rsp
  mov    %rax,%rdi
  jmp    1070 <printf@plt>
```

tool_calls: name: disassemble_data
arguments: tag: D271
type: string
name: disassemble_data
arguments: tag: D285
type: string
name: disassemble_data
arguments: tag: D148
type: string
name: disassemble_data
arguments: tag: D125
type: string
name: disassemble_data
arguments: tag: D235
type: string
name: disassemble_data
arguments: tag: D18
type: string
name: disassemble_data
arguments: tag: D193
type: string
name: disassemble_data
arguments: tag: D126
type: string
name: disassemble_data
arguments: tag: D162
type: string
name: disassemble_data
arguments: tag: D265
type: string
name: disassemble_data
arguments: tag: D115
type: string
name: disassemble_data
arguments: tag: D229
type: string
name: disassemble_data
arguments: tag: D179
type: string
name: disassemble_data
arguments: tag: D250
type: string
name: disassemble_data
arguments: tag: D84
type: string
name: disassemble_data
arguments: tag: D132
type: string
name: disassemble_data
arguments: tag: D254
type: string
name: disassemble_data
arguments: tag: D88
type: string
name: disassemble_data
arguments: tag: D147
type: string
name: disassemble_data
arguments: tag: D244
type: string
name: disassemble_data
arguments: tag: D190
type: string
name: disassemble_data
arguments: tag: D258
type: string
name: disassemble_data
arguments: tag: D74
type: string
name: disassemble_data
arguments: tag: D178
type: string
name: disassemble_data
arguments: tag: D108
type: string
name: disassemble_data
arguments: tag: D96
type: string
name: disassemble_data
arguments: tag: D181
type: string
name: disassemble_data
arguments: tag: D15
type: string
name: disassemble_data
arguments: tag: D200
type: string
name: disassemble_data
arguments: tag: D59
type: string

tool: D271: The following menu displays the available operations


tool: D285: To select a category


tool: D148: Enter the corresponding number!



tool: D125: [1] Addition


tool: D235: [2] Subtraction


tool: D18: [3] Multiplication


tool: D193: [4] Division


tool: D126: [5] Sine


tool: D162: [6] Cosine


tool: D265: [7] Tangent


tool: D115: [8] Arc sine


tool: D229: [9] Arc cosine


tool: D179: [10] Arc tangent


tool: D250: [11] Hyperbolic sine


tool: D84: [12] Hyperbolic cosine


tool: D132: [13] Hyperbolic tangent


tool: D254: [14] Arc tangent y/x (atan2)


tool: D88: [15] Exponential


tool: D147: [16] Natural logarithm


tool: D244: [17] Decimal logarithm


tool: D190: [18] Square root


tool: D258: [19] Power


tool: D74: [20] Absolute value


tool: D178: [21] floating point remainder (fmod)


tool: D108: [22] Ceil function


tool: D96: [23] Floor function


tool: D181: [24] frexp


tool: D15: [25] ldexp


tool: D200: [26] modf


tool: D59: [27] Exit



assistant: ```c
void mostrarMenu() {
  printf(gettext("The following menu displays the available operations\n"));
  printf(gettext("To select a category\n"));
  printf(gettext("Enter the corresponding number!\n\n"));
  printf(gettext("[1] Addition\n"));
  printf(gettext("[2] Subtraction\n"));
  printf(gettext("[3] Multiplication\n"));
  printf(gettext("[4] Division\n"));
  printf(gettext("[5] Sine\n"));
  printf(gettext("[6] Cosine\n"));
  printf(gettext("[7] Tangent\n"));
  printf(gettext("[8] Arc sine\n"));
  printf(gettext("[9] Arc cosine\n"));
  printf(gettext("[10] Arc tangent\n"));
  printf(gettext("[11] Hyperbolic sine\n"));
  printf(gettext("[12] Hyperbolic cosine\n"));
  printf(gettext("[13] Hyperbolic tangent\n"));
  printf(gettext("[14] Arc tangent y/x (atan2)\n"));
  printf(gettext("[15] Exponential\n"));
  printf(gettext("[16] Natural logarithm\n"));
  printf(gettext("[17] Decimal logarithm\n"));
  printf(gettext("[18] Square root\n"));
  printf(gettext("[19] Power\n"));
  printf(gettext("[20] Absolute value\n"));
  printf(gettext("[21] floating point remainder (fmod)\n"));
  printf(gettext("[22] Ceil function\n"));
  printf(gettext("[23] Floor function\n"));
  printf(gettext("[24] frexp\n"));
  printf(gettext("[25] ldexp\n"));
  printf(gettext("[26] modf\n"));
  printf(gettext("[27] Exit\n\n"));
}
```