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

```asm
<printMenu>:
  endbr64
  cmp    $0xc,%edi
  ja     L39
  mov    %edi,%edi
  lea    D381(%rip),%rdx
  push   %rbp
  lea    D345(%rip),%rbp
  movslq (%rdx,%rdi,4),%rax
  mov    %rbp,%rdi
  add    %rdx,%rax
  notrack jmp *%rax
  nopl   0x0(%rax,%rax,1)
  call   <printf@plt>
  lea    D365(%rip),%rdi
  call   <printf@plt>
  lea    D295(%rip),%rdi
L75:
  call   <printf@plt>
  lea    D117(%rip),%rdi
  call   <printf@plt>
  mov    %rbp,%rdi
  pop    %rbp
  jmp    1050 <printf@plt>
  nopw   0x0(%rax,%rax,1)
  call   <printf@plt>
  lea    D330(%rip),%rdi
  call   <printf@plt>
  lea    D52(%rip),%rdi
  jmp    L75
  nopw   0x0(%rax,%rax,1)
  call   <printf@plt>
  lea    D330(%rip),%rdi
  call   <printf@plt>
  lea    D295(%rip),%rdi
  call   <printf@plt>
  lea    D277(%rip),%rdi
  call   <printf@plt>
  mov    %rbp,%rdi
  pop    %rbp
  jmp    1050 <printf@plt>
  nopw   0x0(%rax,%rax,1)
  call   <printf@plt>
  lea    D360(%rip),%rdi
  call   <printf@plt>
  lea    D113(%rip),%rdi
L56:
  call   <printf@plt>
  lea    D101(%rip),%rdi
L30:
  call   <printf@plt>
  lea    D246(%rip),%rdi
  call   <printf@plt>
  mov    %rbp,%rdi
  pop    %rbp
  jmp    1050 <printf@plt>
  xchg   %ax,%ax
  call   <printf@plt>
  lea    D410(%rip),%rdi
  call   <printf@plt>
  lea    D217(%rip),%rdi
  jmp    L56
  nopw   0x0(%rax,%rax,1)
  call   <printf@plt>
  lea    D410(%rip),%rdi
  call   <printf@plt>
  lea    D113(%rip),%rdi
  call   <printf@plt>
  lea    D169(%rip),%rdi
  jmp    L30
  cs nopw 0x0(%rax,%rax,1)
  call   <printf@plt>
  lea    D410(%rip),%rdi
  call   <printf@plt>
  lea    D113(%rip),%rdi
  call   <printf@plt>
  lea    D101(%rip),%rdi
L76:
  call   <printf@plt>
  lea    D252(%rip),%rdi
  call   <printf@plt>
  mov    %rbp,%rdi
  pop    %rbp
  jmp    1050 <printf@plt>
  xchg   %ax,%ax
  call   <printf@plt>
  lea    D2(%rip),%rdi
  call   <printf@plt>
  lea    D291(%rip),%rdi
  call   <printf@plt>
  lea    D193(%rip),%rdi
  call   <printf@plt>
  lea    D293(%rip),%rdi
  jmp    L30
  nopl   (%rax)
  call   <printf@plt>
  lea    D423(%rip),%rdi
  call   <printf@plt>
  lea    D324(%rip),%rdi
  call   <printf@plt>
  lea    D193(%rip),%rdi
  call   <printf@plt>
  lea    D293(%rip),%rdi
  jmp    L30
  nopl   (%rax)
  call   <printf@plt>
  lea    D423(%rip),%rdi
  call   <printf@plt>
  lea    D291(%rip),%rdi
  call   <printf@plt>
  lea    D10(%rip),%rdi
  call   <printf@plt>
  lea    D293(%rip),%rdi
  jmp    L30
  nopl   (%rax)
  call   <printf@plt>
  lea    D423(%rip),%rdi
  call   <printf@plt>
  lea    D291(%rip),%rdi
  call   <printf@plt>
  lea    D193(%rip),%rdi
  call   <printf@plt>
  lea    D33(%rip),%rdi
  jmp    L30
  nopl   (%rax)
  call   <printf@plt>
  lea    D423(%rip),%rdi
  call   <printf@plt>
  lea    D291(%rip),%rdi
  call   <printf@plt>
  lea    D193(%rip),%rdi
  call   <printf@plt>
  lea    D293(%rip),%rdi
  jmp    L76
L39:
  ret
```

tool_calls: name: disassemble_data
arguments: label: D345
type: string
name: disassemble_data
arguments: label: D365
type: string
name: disassemble_data
arguments: label: D295
type: string
name: disassemble_data
arguments: label: D117
type: string
name: disassemble_data
arguments: label: D330
type: string
name: disassemble_data
arguments: label: D52
type: string
name: disassemble_data
arguments: label: D277
type: string
name: disassemble_data
arguments: label: D360
type: string
name: disassemble_data
arguments: label: D113
type: string
name: disassemble_data
arguments: label: D101
type: string
name: disassemble_data
arguments: label: D246
type: string
name: disassemble_data
arguments: label: D410
type: string
name: disassemble_data
arguments: label: D217
type: string
name: disassemble_data
arguments: label: D169
type: string
name: disassemble_data
arguments: label: D252
type: string
name: disassemble_data
arguments: label: D2
type: string
name: disassemble_data
arguments: label: D291
type: string
name: disassemble_data
arguments: label: D193
type: string
name: disassemble_data
arguments: label: D293
type: string
name: disassemble_data
arguments: label: D423
type: string
name: disassemble_data
arguments: label: D324
type: string
name: disassemble_data
arguments: label: D10
type: string
name: disassemble_data
arguments: label: D33
type: string

tool: D345: 	###################


tool: D365: 	#  --->  START    #


tool: D295: 	#        RANKING  #


tool: D117: 	#        EXIT     #


tool: D330: 	#        START    #


tool: D52: 	#  --->  RANKING  #


tool: D277: 	#  --->  EXIT     #


tool: D360: 	#  --->  LESSONS  #


tool: D113: 	#        PRACTICE #


tool: D101: 	#        GAMES    #


tool: D246: 	#        BACK     #


tool: D410: 	#        LESSONS  #


tool: D217: 	#  --->  PRACTICE #


tool: D169: 	#  --->  GAMES    #


tool: D252: 	#  --->  BACK     #


tool: D2: 	#  --->  WORDS    #


tool: D291: 	#        SHORT    #


tool: D193: 	#        LONG     #


tool: D293: 	#        GAME     #


tool: D423: 	#        WORDS    #


tool: D324: 	#  --->  SHORT    #


tool: D10: 	#  --->  LONG     #


tool: D33: 	#  --->  GAME     #


assistant: ```c
void printMenu(int choice) {
  switch (choice) {
  case 0:
  case 1:
    printf("\t###################\n");
    printf("\t#  --->  START    #\n");
    printf("\t#        RANKING  #\n");
    printf("\t#        EXIT     #\n");
    printf("\t###################\n");
    break;
  case 2:
    printf("\t###################\n");
    printf("\t#        START    #\n");
    printf("\t#  --->  RANKING  #\n");
    printf("\t#        EXIT     #\n");
    printf("\t###################\n");
    break;
  case 3:
    printf("\t###################\n");
    printf("\t#        START    #\n");
    printf("\t#        RANKING  #\n");
    printf("\t#  --->  EXIT     #\n");
    printf("\t###################\n");
    break;
  case 4:
    printf("\t###################\n");
    printf("\t#  --->  LESSONS  #\n");
    printf("\t#        PRACTICE #\n");
    printf("\t#        GAMES    #\n");
    printf("\t#        BACK     #\n");
    printf("\t###################\n");
    break;
  case 5:
    printf("\t###################\n");
    printf("\t#        LESSONS  #\n");
    printf("\t#  --->  PRACTICE #\n");
    printf("\t#        GAMES    #\n");
    printf("\t#        BACK     #\n");
    printf("\t###################\n");
    break;
  case 6:
    printf("\t###################\n");
    printf("\t#        LESSONS  #\n");
    printf("\t#        PRACTICE #\n");
    printf("\t#  --->  GAMES    #\n");
    printf("\t#        BACK     #\n");
    printf("\t###################\n");
    break;
  case 7:
    printf("\t###################\n");
    printf("\t#        LESSONS  #\n");
    printf("\t#        PRACTICE #\n");
    printf("\t#        GAMES    #\n");
    printf("\t#  --->  BACK     #\n");
    printf("\t###################\n");
    break;
  case 8:
    printf("\t###################\n");
    printf("\t#  --->  WORDS    #\n");
    printf("\t#        SHORT    #\n");
    printf("\t#        LONG     #\n");
    printf("\t#        GAME     #\n");
    printf("\t#        BACK     #\n");
    printf("\t###################\n");
    break;
  case 9:
    printf("\t###################\n");
    printf("\t#        WORDS    #\n");
    printf("\t#  --->  SHORT    #\n");
    printf("\t#        LONG     #\n");
    printf("\t#        GAME     #\n");
    printf("\t#        BACK     #\n");
    printf("\t###################\n");
    break;
  case 10:
    printf("\t###################\n");
    printf("\t#        WORDS    #\n");
    printf("\t#        SHORT    #\n");
    printf("\t#  --->  LONG     #\n");
    printf("\t#        GAME     #\n");
    printf("\t#        BACK     #\n");
    printf("\t###################\n");
    break;
  case 11:
    printf("\t###################\n");
    printf("\t#        WORDS    #\n");
    printf("\t#        SHORT    #\n");
    printf("\t#        LONG     #\n");
    printf("\t#  --->  GAME     #\n");
    printf("\t#        BACK     #\n");
    printf("\t###################\n");
    break;
  case 12:
    printf("\t###################\n");
    printf("\t#        WORDS    #\n");
    printf("\t#        SHORT    #\n");
    printf("\t#        LONG     #\n");
    printf("\t#        GAME     #\n");
    printf("\t#  --->  BACK     #\n");
    printf("\t###################\n");
    break;
  }
}
```