user: Demonstrate the C code that generates the assembly output below:

```asm
<debloatMenu>:
  endbr64
  push   %rbp
  lea    D23(%rip),%rdi
  lea    D27(%rip),%rbp
  sub    $0x10,%rsp
  mov    %fs:0x28,%rax
  mov    %rax,0x8(%rsp)
  xor    %eax,%eax
  call   <system@plt>
  mov    %rbp,%rdi
  call   <printf@plt>
  lea    D158(%rip),%rdi
  call   <printf@plt>
  mov    %rbp,%rdi
  call   <printf@plt>
  lea    D150(%rip),%rdi
  call   <printf@plt>
  lea    D94(%rip),%rdi
  call   <printf@plt>
  lea    D53(%rip),%rdi
  call   <printf@plt>
  mov    %rbp,%rdi
  call   <printf@plt>
  lea    D118(%rip),%rdi
  call   <printf@plt>
  lea    0x4(%rsp),%rsi
  lea    D178(%rip),%rdi
  call   <scanf@plt>
  mov    0x4(%rsp),%eax
  cmp    $0x2,%eax
  je     L32
  jg     L98
  test   %eax,%eax
  je     L82
  cmp    $0x1,%eax
  jne    L16
  xor    %eax,%eax
  call   <getchar@plt>
  lea    D135(%rip),%rdi
L57:
  call   <system@plt>
  lea    D132(%rip),%rdi
  call   <printf@plt>
  xor    %eax,%eax
  call   <getchar@plt>
  jmp    L14
  nopl   0x0(%rax)
L98:
  cmp    $0x9,%eax
  jne    L16
  lea    D95(%rip),%rdi
  call   <printf@plt>
  lea    D82(%rip),%rdi
  call   <printf@plt>
  xor    %eax,%eax
  call   <getchar@plt>
  lea    D92(%rip),%rdi
  call   <printf@plt>
  lea    D3(%rip),%rdi
  call   <printf@plt>
  xor    %eax,%eax
  call   <getchar@plt>
  lea    D59(%rip),%rdi
  call   <printf@plt>
  xor    %eax,%eax
  call   <getchar@plt>
L14:
  mov    0x8(%rsp),%rax
  sub    %fs:0x28,%rax
  jne    L10
  add    $0x10,%rsp
  xor    %eax,%eax
  pop    %rbp
  ret
  xchg   %ax,%ax
L16:
  lea    D160(%rip),%rdi
  call   <printf@plt>
  jmp    L14
  xchg   %ax,%ax
L82:
  lea    D34(%rip),%rdi
  call   <printf@plt>
  jmp    L14
  xchg   %ax,%ax
L32:
  xor    %eax,%eax
  call   <getchar@plt>
  lea    D2(%rip),%rdi
  jmp    L57
L10:
  call   <__stack_chk_fail@plt>
```

tool_calls: name: unpack_data
arguments: data_label: D23
data_type: string
name: unpack_data
arguments: data_label: D27
data_type: string
name: unpack_data
arguments: data_label: D158
data_type: string
name: unpack_data
arguments: data_label: D150
data_type: string
name: unpack_data
arguments: data_label: D94
data_type: string
name: unpack_data
arguments: data_label: D53
data_type: string
name: unpack_data
arguments: data_label: D118
data_type: string
name: unpack_data
arguments: data_label: D178
data_type: string
name: unpack_data
arguments: data_label: D135
data_type: string
name: unpack_data
arguments: data_label: D132
data_type: string
name: unpack_data
arguments: data_label: D95
data_type: string
name: unpack_data
arguments: data_label: D82
data_type: string
name: unpack_data
arguments: data_label: D92
data_type: string
name: unpack_data
arguments: data_label: D3
data_type: string
name: unpack_data
arguments: data_label: D59
data_type: string
name: unpack_data
arguments: data_label: D160
data_type: string
name: unpack_data
arguments: data_label: D34
data_type: string
name: unpack_data
arguments: data_label: D2
data_type: string

tool: D23: @cls||clear

tool: D27: =======================================


tool: D158:    Debloat menu                   |


tool: D150: | [1] App debloat                 |


tool: D94: | [2] Priv-app debloat            |


tool: D53: | [9] Information about Debloat   |


tool: D118: [0] Exit


tool: D178: %d

tool: D135: cd ~/*/workspace/system/app && rm -rf BasicDreams Email Exchange2 FMRadio Galaxy4 HoloSpiralWallpaper LiveWallpapers LiveWallpapersPicker NoiseField PhaseBeam PhotoPhase PhotoTable PicoTts PrintSpooler

tool: D132: Done!


tool: D95: 
[!]Debloat script delete this applications: BasicDreams, Email, Exchange2, FMRadio, Galaxy4, HoloSpiralWallpaper, LiveWallpapers, LiveWallpapersPicker, NoiseField, PhaseBeam, PhotoPhase, PhotoTable, PicoTts, PrintSpooler in 'app' folder


tool: D82: 
[!]And this applications: BackupRestoreConfirmation, CellBroadcastReceiver, FusedLocation in 'priv-app' folder


tool: D92: 
[!]Debloat script working only with 5.0 - 7.1 API versions. Work for lower version in progress


tool: D3: 
Press 'ENTER' to continue...


tool: D59: 
[!]Debloat function in this tool must be use for low end devices (or medium). This feature delete apps for increasing performance and free RAM


tool: D160: Make your choice!


tool: D34: Goodbye! :P

tool: D2: cd ~/*/workspace/system/priv-app && rm -rf BackupRestoreConfirmation CellBroadcastReceiver FusedLocation

assistant: ```c
int debloatMenu(void) {
  int user_key;
  system("@cls||clear");
  printf("=======================================\n");
  printf("   Debloat menu                   |\n");
  printf("=======================================\n");
  printf("| [1] App debloat                 |\n");
  printf("| [2] Priv-app debloat            |\n");
  printf("| [9] Information about Debloat   |\n");
  printf("=======================================\n");
  printf("[0] Exit\n");
  scanf("%d", &user_key);
  switch (user_key) {
  case 0:
    printf("Goodbye! :P");
    return 0;
  case 1: {
    getchar();
    system("cd ~/*/workspace/system/app && rm -rf BasicDreams Email Exchange2 FMRadio Galaxy4 HoloSpiralWallpaper LiveWallpapers LiveWallpapersPicker NoiseField PhaseBeam PhotoPhase PhotoTable PicoTts PrintSpooler");
    printf("Done!\n");
    getchar();
    break;
  }
  case 2: {
    getchar();
    system("cd ~/*/workspace/system/priv-app && rm -rf BackupRestoreConfirmation CellBroadcastReceiver FusedLocation");
    printf("Done!\n");
    getchar();
    break;
  }
  case 9: {
    printf("\n[!]Debloat script delete this applications: BasicDreams, Email, Exchange2, FMRadio, Galaxy4, HoloSpiralWallpaper, LiveWallpapers, LiveWallpapersPicker, NoiseField, PhaseBeam, PhotoPhase, PhotoTable, PicoTts, PrintSpooler in 'app' folder\n");
    printf("\n[!]And this applications: BackupRestoreConfirmation, CellBroadcastReceiver, FusedLocation in 'priv-app' folder\n");
    getchar();
    printf("\n[!]Debloat script working only with 5.0 - 7.1 API versions. Work for lower version in progress\n");
    printf("\nPress 'ENTER' to continue...\n");
    getchar();
    printf("\n[!]Debloat function in this tool must be use for low end devices (or medium). This feature delete apps for increasing performance and free RAM\n");
    getchar();
    break;
  }
  default:
    printf("Make your choice!\n");
  }
  return 0;
}
```