user: 这段汇编代码用C语言表示是什么样的：

```asm
<apkMenu>:
  endbr64
  push   %r12
  lea    D252(%rip),%rdi
  push   %rbp
  lea    D7(%rip),%rbp
  sub    $0xc8,%rsp
  mov    %fs:0x28,%rax
  mov    %rax,0xb8(%rsp)
  xor    %eax,%eax
  call   <system@plt>
  mov    %rbp,%rdi
  call   <printf@plt>
  lea    D312(%rip),%rdi
  call   <printf@plt>
  mov    %rbp,%rdi
  call   <printf@plt>
  lea    D104(%rip),%rdi
  call   <printf@plt>
  lea    D364(%rip),%rdi
  call   <printf@plt>
  lea    D231(%rip),%rdi
  call   <printf@plt>
  lea    D116(%rip),%rdi
  call   <printf@plt>
  lea    D9(%rip),%rdi
  call   <printf@plt>
  lea    D59(%rip),%rdi
  call   <printf@plt>
  mov    %rbp,%rdi
  call   <printf@plt>
  lea    D68(%rip),%rdi
  call   <printf@plt>
  lea    D180(%rip),%rdi
  call   <printf@plt>
  xor    %eax,%eax
  lea    0xc(%rsp),%rsi
  lea    D267(%rip),%rdi
  call   <scanf@plt>
  cmpl   $0x9,0xc(%rsp)
  ja     L40
  mov    0xc(%rsp),%eax
  lea    D338(%rip),%rdx
  movslq (%rdx,%rax,4),%rax
  add    %rdx,%rax
  notrack jmp *%rax
  nopw   0x0(%rax,%rax,1)
L40:
  lea    D255(%rip),%rdi
  call   <printf@plt>
  nopl   0x0(%rax)
L74:
  mov    0xb8(%rsp),%rax
  sub    %fs:0x28,%rax
  jne    L83
  add    $0xc8,%rsp
  xor    %eax,%eax
  pop    %rbp
  pop    %r12
  ret
  nopl   0x0(%rax)
  lea    D141(%rip),%rdi
  call   <printf@plt>
  jmp    L74
  cs nopw 0x0(%rax,%rax,1)
  lea    D15(%rip),%rdi
  call   <printf@plt>
  lea    D147(%rip),%rdi
  call   <system@plt>
  xor    %eax,%eax
  call   <getchar@plt>
  lea    D289(%rip),%rdi
  call   <printf@plt>
  xor    %eax,%eax
  call   <getchar@plt>
  xor    %eax,%eax
  call   <apkMenu>
  jmp    L74
  nopl   0x0(%rax,%rax,1)
  lea    D290(%rip),%rdi
  call   <printf@plt>
  lea    D280(%rip),%rdi
  call   <system@plt>
  lea    D214(%rip),%rdi
  call   <system@plt>
  lea    D225(%rip),%rdi
  call   <system@plt>
  lea    D202(%rip),%rdi
  call   <printf@plt>
  xor    %eax,%eax
  call   <getchar@plt>
  xor    %eax,%eax
  call   <getchar@plt>
  xor    %eax,%eax
  call   <apkMenu>
  jmp    L74
  cs nopw 0x0(%rax,%rax,1)
  lea    D88(%rip),%rdi
  lea    0x10(%rsp),%r12
  call   <printf@plt>
  mov    %r12,%rsi
  xor    %eax,%eax
  lea    0x30(%rsp),%rbp
  lea    D85(%rip),%rdi
  call   <scanf@plt>
  mov    %r12,%rdx
  lea    D158(%rip),%rsi
L67:
  mov    %rbp,%rdi
  call   <sprintf@plt>
  mov    %rbp,%rdi
  call   <system@plt>
  xor    %eax,%eax
  call   <apkMenu>
  jmp    L74
  nopl   (%rax)
  lea    D192(%rip),%rdi
  lea    0x10(%rsp),%r12
  call   <printf@plt>
  mov    %r12,%rsi
  xor    %eax,%eax
  lea    0x30(%rsp),%rbp
  lea    D85(%rip),%rdi
  call   <scanf@plt>
  mov    %r12,%rdx
  lea    D0(%rip),%rsi
  jmp    L67
  nopl   0x0(%rax,%rax,1)
  lea    D29(%rip),%rdi
  lea    0x10(%rsp),%r12
  call   <printf@plt>
  mov    %r12,%rsi
  xor    %eax,%eax
  lea    0x30(%rsp),%rbp
  lea    D85(%rip),%rdi
  call   <scanf@plt>
  mov    %r12,%rdx
  lea    D86(%rip),%rsi
  jmp    L67
  xchg   %ax,%ax
  lea    D321(%rip),%rdi
  call   <printf@plt>
  lea    D236(%rip),%rdi
  call   <printf@plt>
  lea    D151(%rip),%rdi
  call   <printf@plt>
  lea    D184(%rip),%rdi
  call   <printf@plt>
  lea    D311(%rip),%rdi
  call   <printf@plt>
  jmp    L74
L83:
  call   <__stack_chk_fail@plt>
```

tool_calls: name: retrieve_data
arguments: tag: D252
type_infered: string
name: retrieve_data
arguments: tag: D7
type_infered: string
name: retrieve_data
arguments: tag: D312
type_infered: string
name: retrieve_data
arguments: tag: D104
type_infered: string
name: retrieve_data
arguments: tag: D364
type_infered: string
name: retrieve_data
arguments: tag: D231
type_infered: string
name: retrieve_data
arguments: tag: D116
type_infered: string
name: retrieve_data
arguments: tag: D9
type_infered: string
name: retrieve_data
arguments: tag: D59
type_infered: string
name: retrieve_data
arguments: tag: D68
type_infered: string
name: retrieve_data
arguments: tag: D180
type_infered: string
name: retrieve_data
arguments: tag: D267
type_infered: string
name: retrieve_data
arguments: tag: D255
type_infered: string
name: retrieve_data
arguments: tag: D141
type_infered: string
name: retrieve_data
arguments: tag: D15
type_infered: string
name: retrieve_data
arguments: tag: D147
type_infered: string
name: retrieve_data
arguments: tag: D289
type_infered: string
name: retrieve_data
arguments: tag: D290
type_infered: string
name: retrieve_data
arguments: tag: D280
type_infered: string
name: retrieve_data
arguments: tag: D214
type_infered: string
name: retrieve_data
arguments: tag: D225
type_infered: string
name: retrieve_data
arguments: tag: D202
type_infered: string
name: retrieve_data
arguments: tag: D88
type_infered: string
name: retrieve_data
arguments: tag: D85
type_infered: string
name: retrieve_data
arguments: tag: D158
type_infered: string
name: retrieve_data
arguments: tag: D192
type_infered: string
name: retrieve_data
arguments: tag: D0
type_infered: string
name: retrieve_data
arguments: tag: D29
type_infered: string
name: retrieve_data
arguments: tag: D86
type_infered: string
name: retrieve_data
arguments: tag: D321
type_infered: string
name: retrieve_data
arguments: tag: D236
type_infered: string
name: retrieve_data
arguments: tag: D151
type_infered: string
name: retrieve_data
arguments: tag: D184
type_infered: string
name: retrieve_data
arguments: tag: D311
type_infered: string

tool: D252: @cls||clear

tool: D7: =======================================


tool: D312:    APK Menu                        |


tool: D104: | [1] Create workspace for APK     |


tool: D364: | [2] Install apktool              |


tool: D231: | [3] Decompile .apk               |


tool: D116: | [4] Build .apk                   |


tool: D9: | [5] Deodex .apk                  |


tool: D59: | [9] Information                  |


tool: D68: [0] Exit


tool: D180: 
What you want?: 

tool: D267: %d

tool: D255: Make your choice!


tool: D141: Goodbye ;P


tool: D15: Creating workspace.


tool: D147: cd ~/Universal_Tool/ && mkdir Decompiled_Files Deodexed_Files

tool: D289: Done! [Press Enter]


tool: D290: 
Installing apktool


tool: D280: sudo apt-get install lib32ncurses5 -y

tool: D214: cd ~/*/insides/apktool/ && sudo cp apktool.jar /usr/local/bin && sudo cp apktool /usr/local/bin

tool: D225: cd /usr/local/bin/ && sudo chmod a+x apktool

tool: D202: 
Apktool has been installed. [Press Enter]


tool: D88: Enter name of your .apk, to decompile it: 

tool: D85: %s

tool: D158: cd ~/*/Decompiled_Files/ && apktool d %s

tool: D192: Enter name of your decompiled apk folder, to build it: 

tool: D0: cd ~/*/Decompiled_Files/ && apktool b %s

tool: D29: Enter name of your .apk, to deodex it: 

tool: D86: cd ~/*/Deodexed_Files/ && java -jar baksmali.jar deodex %s

tool: D321: [1] Create workspace folders [Decompiled_Files, Deodexed_Files] to work with apktool.


tool: D236: [2] Install apktool, IMPORTANT!


tool: D151: [3] Decompiling .apk from executable to source code.


tool: D184: [4] Build .apk from source code to executable (.apk)


tool: D311: [5] Deodex .apk - if you have .odex file with your .apk, you must replace it to 'Deodexed_Files' folder to deodexing


assistant: ```c
int apkMenu() {
  int user_key;
  system("@cls||clear");
  printf("=======================================\n");
  printf("   APK Menu                        |\n");
  printf("=======================================\n");
  printf("| [1] Create workspace for APK     |\n");
  printf("| [2] Install apktool              |\n");
  printf("| [3] Decompile .apk               |\n");
  printf("| [4] Build .apk                   |\n");
  printf("| [5] Deodex .apk                  |\n");
  printf("| [9] Information                  |\n");
  printf("=======================================\n");
  printf("[0] Exit\n");
  printf("\nWhat you want?: ");
  scanf("%d", &user_key);
  switch (user_key) {
  case 9: {
    printf("[1] Create workspace folders [Decompiled_Files, Deodexed_Files] to work with apktool.\n");
    printf("[2] Install apktool, IMPORTANT!\n");
    printf("[3] Decompiling .apk from executable to source code.\n");
    printf("[4] Build .apk from source code to executable (.apk)\n");
    printf("[5] Deodex .apk - if you have .odex file with your .apk, you must replace it to 'Deodexed_Files' folder to deodexing\n");
    break;
  }
  case 0:
    printf("Goodbye ;P\n");
    return 0;
    break;
  case 1:
    printf("Creating workspace.\n");
    system("cd ~/Universal_Tool/ && mkdir Decompiled_Files Deodexed_Files");
    getchar();
    printf("Done! [Press Enter]\n");
    getchar();
    apkMenu();
    break;
  case 2: {
    printf("\nInstalling apktool\n");
    system("sudo apt-get install lib32ncurses5 -y");
    system("cd ~/*/insides/apktool/ && sudo cp apktool.jar /usr/local/bin && sudo cp apktool /usr/local/bin");
    system("cd /usr/local/bin/ && sudo chmod a+x apktool");
    printf("\nApktool has been installed. [Press Enter]\n");
    getchar();
    getchar();
    apkMenu();
    break;
  }
  case 3: {
    char param[128];
    char apkd_name[32];
    printf("Enter name of your .apk, to decompile it: ");
    scanf("%s", apkd_name);
    sprintf(param, "cd ~/*/Decompiled_Files/ && apktool d %s", apkd_name);
    system(param);
    apkMenu();
    break;
  }
  case 4: {
    char param[128];
    char apkb_name[32];
    printf("Enter name of your decompiled apk folder, to build it: ");
    scanf("%s", apkb_name);
    sprintf(param, "cd ~/*/Decompiled_Files/ && apktool b %s", apkb_name);
    system(param);
    apkMenu();
    break;
  }
  case 5: {
    char param[128];
    char apkdex_name[32];
    printf("Enter name of your .apk, to deodex it: ");
    scanf("%s", apkdex_name);
    sprintf(param, "cd ~/*/Deodexed_Files/ && java -jar baksmali.jar deodex %s", apkdex_name);
    system(param);
    apkMenu();
    break;
  }
  default:
    printf("Make your choice!\n");
  }
  return 0;
}
```