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

```asm
<main>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x40,%rsp
  mov    %fs:0x28,%rax
  mov    %rax,-0x8(%rbp)
  xor    %eax,%eax
  movq   $0x0,-0x30(%rbp)
  movq   $0x0,-0x28(%rbp)
  movq   $0x0,-0x20(%rbp)
  movq   $0x0,-0x18(%rbp)
  movl   $0x6978,-0x30(%rbp)
  movl   $0x7d00,-0x2c(%rbp)
  movl   $0x7ef4,-0x28(%rbp)
  movl   $0x6b6c,-0x24(%rbp)
  movl   $0xb2d0cf48,-0x20(%rbp)
  movl   $0x7918,-0x1c(%rbp)
  movl   $0x7ef4,-0x18(%rbp)
L64:
  lea    D65(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  lea    D121(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  lea    D111(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  lea    D0(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  lea    D81(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  lea    D18(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  lea    -0x34(%rbp),%rax
  mov    %rax,%rsi
  lea    D103(%rip),%rax
  mov    %rax,%rdi
  call   <scanf@plt>
  mov    -0x34(%rbp),%eax
  cmp    $0x1,%eax
  je     L86
  mov    -0x34(%rbp),%eax
  cmp    $0x2,%eax
  jne    L57
L86:
  lea    D46(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  lea    -0x3c(%rbp),%rax
  mov    %rax,%rsi
  lea    D103(%rip),%rax
  mov    %rax,%rdi
  call   <scanf@plt>
  mov    -0x3c(%rbp),%eax
  cmp    $0x7,%eax
  jg     L71
  mov    -0x3c(%rbp),%eax
  mov    %eax,%esi
  lea    D64(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    -0x3c(%rbp),%eax
  cltq
  mov    -0x30(%rbp,%rax,4),%eax
  mov    %eax,%esi
  lea    D132(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  jmp    L57
L71:
  lea    D94(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  mov    $0x1,%edi
  call   <exit@plt>
L57:
  mov    -0x34(%rbp),%eax
  cmp    $0x3,%eax
  je     L69
  cmp    $0x3,%eax
  jg     L50
  cmp    $0x1,%eax
  je     L80
  cmp    $0x2,%eax
  jne    L50
  lea    D82(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  lea    -0x38(%rbp),%rax
  mov    %rax,%rsi
  lea    D103(%rip),%rax
  mov    %rax,%rdi
  call   <scanf@plt>
  mov    -0x3c(%rbp),%eax
  mov    -0x38(%rbp),%edx
  cltq
  mov    %edx,-0x30(%rbp,%rax,4)
  jmp    L50
L69:
  mov    $0x1,%edi
  call   <exit@plt>
  jmp    L50
L80:
  nop
L50:
  mov    $0xa,%edi
  call   <putchar@plt>
  jmp    L64
```

tool_calls: name: disassemble_data
arguments: data_tag: D65
data_type: string
name: disassemble_data
arguments: data_tag: D121
data_type: string
name: disassemble_data
arguments: data_tag: D111
data_type: string
name: disassemble_data
arguments: data_tag: D0
data_type: string
name: disassemble_data
arguments: data_tag: D81
data_type: string
name: disassemble_data
arguments: data_tag: D18
data_type: string
name: disassemble_data
arguments: data_tag: D103
data_type: string
name: disassemble_data
arguments: data_tag: D46
data_type: string
name: disassemble_data
arguments: data_tag: D64
data_type: string
name: disassemble_data
arguments: data_tag: D132
data_type: string
name: disassemble_data
arguments: data_tag: D94
data_type: string
name: disassemble_data
arguments: data_tag: D82
data_type: string

tool: D65: =========================================

tool: D121: =Simple Employe Salary Management System    =

tool: D111: =1.Display employee salary             =

tool: D0: =2.Modify employee salary              =

tool: D81: =3.Quit               =

tool: D18: Please input your choose:

tool: D103: %d

tool: D46: **Please input the employee number:

tool: D64: **Employee Mumber is %d.

tool: D132: The Salary is %d


tool: D94: ##The error employee number!

tool: D82: **Please input new salary:

assistant: ```c
void main() {
  int Employee[8] = {27000, 32000, 32500, 27500, 3000029000, 31000, 32500};
  int Index;
  int NewSalary;
  int Selection;
  while (1) {
    printf("=========================================\n");
    printf("=Simple Employe Salary Management System    =\n");
    printf("=1.Display employee salary             =\n");
    printf("=2.Modify employee salary              =\n");
    printf("=3.Quit               =\n");
    printf("Please input your choose:");
    scanf("%d", &Selection);
    if (Selection == 1 || Selection == 2) {
      printf("**Please input the employee number:");
      scanf("%d", &Index);
      if (Index < 8) {
        printf("**Employee Mumber is %d.", Index);
        printf("The Salary is %d\n", Employee[Index]);
      } else {
        printf("##The error employee number!\n");
        exit(1);
      }
    }
    switch (Selection) {
    case 1:
      break;
    case 2:
      printf("**Please input new salary:");
      scanf("%d", &NewSalary);
      Employee[Index] = NewSalary;
      break;
    case 3:
      exit(1);
      break;
    }
    printf("\n");
  }
}
```