
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

int main(int argc,char **argv)

{
  int iVar1;
  int iVar2;
  undefined4 *puVar3;
  char *__format;
  char *pcVar4;
  undefined4 uVar5;
  byte bVar6;
  uint uVar7;
  int *piVar8;
  char *pcVar9;
  uint uVar10;
  off_t oVar11;
  bfd_vma bVar12;
  int local_c0;
  undefined4 *local_bc;
  char *local_b8;
  uint local_b4;
  int *local_b0;
  int *local_ac;
  int local_a8;
  undefined4 *local_a4;
  char *local_a0;
  char *local_9c;
  char *local_98;
  char *local_94;
  char **local_88;
  char local_84 [108];
  int *local_18;
  
  local_18 = &argc;
  setlocale(5,"");
  setlocale(0,"");
  bindtextdomain();
  textdomain();
  program_name = *argv;
  xmalloc_set_program_name();
  bfd_set_error_program_name();
  expandargv(&argc,&argv);
  bfd_init();
  set_default_bfd_target();
  local_98 = "ab:Ce:sfHhij:pVv";
  piVar8 = &local_c0;
  local_a4 = (undefined4 *)0x0;
  local_b0 = (int *)PTR_optarg_00017ffc;
  local_a8 = 0;
  local_9c = (char *)0x0;
  local_ac = local_b0;
  do {
    iVar2 = getopt_long(argc,argv,local_98,long_options);
    if (iVar2 == -1) {
      pcVar4 = "a.out";
      if (local_9c != (char *)0x0) {
        pcVar4 = local_9c;
      }
      addr = argv + *(int *)PTR_optind_00017fdc;
      naddr = argc - *(int *)PTR_optind_00017fdc;
      local_9c = pcVar4;
      oVar11 = get_file_size(pcVar4);
      bVar12 = CONCAT44(pc._4_4_,(uint)pc);
      if ((int)(uint)((int)oVar11 != 0) <= -(int)((ulonglong)oVar11 >> 0x20)) {
        local_c0 = 1;
        goto LAB_00011e34;
      }
      puVar3 = (undefined4 *)bfd_openr();
      if (puVar3 == (undefined4 *)0x0) {
                    /* WARNING: Subroutine does not return */
        bfd_fatal(local_9c);
      }
      puVar3[10] = puVar3[10] | 0x100000;
      local_c0 = bfd_check_format();
      if (local_c0 != 0) {
LAB_00011f73:
        *(undefined4 **)((int)piVar8 + -4) = puVar3;
        *(undefined4 *)((int)piVar8 + -8) = 5;
        *(char **)((int)piVar8 + -0xc) = "%s: cannot get addresses from archive";
        *(undefined4 *)((int)piVar8 + -0x10) = 0;
        *(undefined4 *)((int)piVar8 + -0x14) = 0x11f84;
        uVar5 = dcgettext();
        *(char **)((int)piVar8 + -0xc) = local_9c;
        *(undefined4 *)((int)piVar8 + -0x10) = uVar5;
                    /* WARNING: Subroutine does not return */
        *(undefined4 *)((int)piVar8 + -0x14) = 0x11f92;
        fatal(*(char **)((int)piVar8 + -0x10));
      }
      iVar2 = bfd_check_format_matches();
      if (iVar2 == 0) {
        bfd_nonfatal((char *)*puVar3);
        iVar2 = bfd_get_error();
        if (iVar2 == 0xd) {
          list_matching_formats(local_88);
          free(local_88);
        }
        piVar8 = (int *)&stack0xffffff30;
        xexit();
        goto LAB_00011f73;
      }
      iVar2 = local_a8;
      if ((local_a8 != 0) && (iVar2 = bfd_get_section_by_name(), iVar2 == 0)) {
        pcVar4 = (char *)dcgettext();
                    /* WARNING: Subroutine does not return */
        fatal(pcVar4);
      }
      local_a8 = iVar2;
      if ((*(byte *)((int)puVar3 + 0x29) & 2) != 0) {
        iVar2 = (**(code **)(puVar3[1] + 0x104))();
        if (iVar2 == 0) {
          iVar2 = (**(code **)(puVar3[1] + 0x1a8))();
          if (iVar2 < 0) goto LAB_00011f3d;
          syms = (asymbol **)xmalloc();
          iVar2 = (**(code **)(puVar3[1] + 0x1ac))();
          if (iVar2 < 0) goto LAB_00011f3d;
          goto LAB_00011e91;
        }
        if (iVar2 < 0) {
LAB_00011f3d:
                    /* WARNING: Subroutine does not return */
          bfd_fatal((char *)*puVar3);
        }
        syms = (asymbol **)xmalloc();
        iVar2 = (**(code **)(puVar3[1] + 0x108))();
        if (iVar2 < 0) goto LAB_00011f3d;
        if (iVar2 == 0) {
          iVar2 = (**(code **)(puVar3[1] + 0x1a8))();
          if (0 < iVar2) {
            free(syms);
            syms = (asymbol **)xmalloc();
            iVar2 = (**(code **)(puVar3[1] + 0x1ac))();
            goto LAB_00011e91;
          }
        }
        else {
LAB_00011e91:
          if (0 < iVar2) goto LAB_00011862;
        }
        free(syms);
        syms = (asymbol **)0x0;
      }
LAB_00011862:
      local_ac = (int *)naddr;
      local_bc = (undefined4 *)PTR_stdin_00017fec;
      local_b0 = (int *)PTR_stdout_00017ff0;
      local_9c = (char *)puVar3;
      break;
    }
    switch(iVar2) {
    case 0:
      break;
    case 0x43:
      do_demangle = 1;
      local_a0 = PTR_optarg_00017ffc;
      if (*(int *)PTR_optarg_00017ffc != 0) {
        iVar2 = cplus_demangle_name_to_style();
        if (iVar2 == 0) goto LAB_00011eed;
        cplus_demangle_set_style();
      }
      break;
    case 0x48:
    case 0x68:
      usage(*(FILE **)PTR_stdout_00017ff0,0);
    default:
      usage(*(FILE **)PTR_stderr_00017fd8,1);
LAB_00011eed:
      pcVar4 = (char *)dcgettext();
                    /* WARNING: Subroutine does not return */
      fatal(pcVar4);
    case 0x56:
    case 0x76:
      print_version("addr2line");
      break;
    case 0x61:
      with_addresses = 1;
      break;
    case 0x62:
      local_a4 = *(undefined4 **)PTR_optarg_00017ffc;
      break;
    case 0x65:
      local_9c = (char *)*local_b0;
      break;
    case 0x66:
      with_functions = 1;
      break;
    case 0x69:
      unwind_inlines = 1;
      break;
    case 0x6a:
      local_a8 = *local_ac;
      break;
    case 0x70:
      pretty_print = 1;
      break;
    case 0x73:
      base_names = 1;
    }
  } while( true );
LAB_000119df:
  if (local_ac == (int *)0x0) {
    pcVar4 = fgets(local_84,100,(FILE *)*local_bc);
    if (pcVar4 == (char *)0x0) {
LAB_00011e02:
      if (syms != (asymbol **)0x0) {
        free(syms);
        syms = (asymbol **)0x0;
      }
      bfd_close();
      bVar12 = pc;
LAB_00011e34:
      pc._4_4_ = (uint)(bVar12 >> 0x20);
      pc._0_4_ = (uint)bVar12;
      return local_c0;
    }
    bVar12 = bfd_scan_vma();
    iVar2 = *(int *)((int)local_9c + 4);
    iVar1 = *(int *)(iVar2 + 4);
  }
  else {
    if (naddr < 1) goto LAB_00011e02;
    naddr = naddr + -1;
    addr = addr + 1;
    bVar12 = bfd_scan_vma();
    iVar2 = *(int *)((int)local_9c + 4);
    iVar1 = *(int *)(iVar2 + 4);
  }
  pc._4_4_ = (uint)(bVar12 >> 0x20);
  pc._0_4_ = (uint)bVar12;
  if (iVar1 == 5) {
    bVar6 = *(char *)(*(int *)(*(int *)(iVar2 + 0x1c0) + 0x19c) + 10) - 1;
    pcVar4 = (char *)(1 << (bVar6 & 0x1f));
    local_98 = pcVar4;
    local_94 = (char *)(0 << (bVar6 & 0x1f) | 1U >> 0x20 - (bVar6 & 0x1f));
    if ((bVar6 & 0x20) != 0) {
      local_98 = (char *)0x0;
      local_94 = pcVar4;
    }
    uVar7 = (uint)pc & (int)local_98 * 2 - 1U;
    uVar10 = pc._4_4_ &
             (((int)local_94 << 1 | (uint)local_98 >> 0x1f) - 1) + (uint)((int)local_98 * 2 != 0);
    bVar12 = CONCAT44(uVar10,uVar7);
    if ((*(byte *)(*(int *)(iVar2 + 0x1c0) + 0x1e9) & 1) != 0) {
      local_b8 = (char *)(uVar7 ^ (uint)local_98);
      local_b4 = uVar10 ^ (uint)local_94;
      bVar12 = CONCAT44((local_b4 - (int)local_94) - (uint)(local_b8 < local_98),
                        (int)local_b8 - (int)local_98);
    }
  }
  local_a4 = local_b0;
  if (with_addresses != 0) {
    pc = bVar12;
    printf("0x");
    local_a4 = (undefined4 *)PTR_stdout_00017ff0;
    bfd_fprintf_vma(local_9c,*(undefined4 *)PTR_stdout_00017ff0,pc);
    if (pretty_print == 0) {
      putchar(10);
      bVar12 = pc;
    }
    else {
      printf(": ");
      bVar12 = pc;
    }
  }
  pc._4_4_ = (uint)(bVar12 >> 0x20);
  pc._0_4_ = (uint)bVar12;
  found = 0;
  pc = bVar12;
  if (local_a8 == 0) {
    bfd_map_over_sections();
    pcVar4 = local_9c;
joined_r0x00011b72:
    local_9c = pcVar4;
    bVar12 = pc;
    if (found != 0) {
      local_a0 = "%s:";
      local_98 = "??";
      do {
        local_9c = "%s";
        do {
          if (with_functions != 0) {
            pcVar9 = functionname;
            if (functionname != (char *)0x0) {
              if (*functionname == '\0') {
                pcVar9 = (char *)0x0;
              }
              else {
                if (do_demangle != 0) {
                  pcVar9 = (char *)bfd_demangle();
                  if (pcVar9 != (char *)0x0) goto LAB_00011bdd;
                }
                pcVar9 = (char *)0x0;
              }
            }
LAB_00011bdd:
            printf(local_9c);
            if (pretty_print == 0) {
              putchar(10);
            }
            else {
              __format = (char *)dcgettext();
              printf(__format);
            }
            if (pcVar9 != (char *)0x0) {
              free(pcVar9);
            }
          }
          if ((base_names != 0) && (filename != (char *)0x0)) {
            pcVar9 = strrchr(filename,0x2f);
            if (pcVar9 != (char *)0x0) {
              filename = pcVar9 + 1;
            }
          }
          printf(local_a0);
          if (line == 0) {
            puts("?");
          }
          else if (discriminator == 0) {
            printf("%u\n");
          }
          else {
            printf("%u (discriminator %u)\n");
          }
          if (unwind_inlines == 0) {
            found = 0;
            local_9c = pcVar4;
            goto LAB_000119cc;
          }
          found = (**(code **)(*(int *)((int)pcVar4 + 4) + 0x130))();
          if (found == 0) {
            found = 0;
            local_9c = pcVar4;
            goto LAB_000119cc;
          }
        } while (pretty_print == 0);
        pcVar9 = (char *)dcgettext();
        printf(pcVar9);
      } while( true );
    }
  }
  else if (((*(byte *)(local_a8 + 0x14) & 1) != 0) &&
          (pc._4_4_ < *(uint *)(local_a8 + 0x30) ||
           pc._4_4_ - *(uint *)(local_a8 + 0x30) < (uint)((uint)pc < *(uint *)(local_a8 + 0x2c)))) {
    found = (**(code **)(*(int *)((int)local_9c + 4) + 0x128))
                      (local_9c,syms,local_a8,bVar12,&filename,&functionname,&line);
    pcVar4 = local_9c;
    goto joined_r0x00011b72;
  }
  pc = bVar12;
  if (with_functions != 0) {
    if (pretty_print == 0) {
      puts("??");
    }
    else {
      printf("?? ");
    }
  }
  puts("??:0");
LAB_000119cc:
  fflush((FILE *)*local_a4);
  goto LAB_000119df;
}



/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

int FUN_00011500(int param_1,undefined4 *param_2)

{
  code *pcVar1;
  undefined *puVar2;
  int iVar3;
  undefined **ppuVar4;
  char *pcVar5;
  char *pcVar6;
  undefined4 uVar7;
  byte bVar8;
  uint uVar9;
  undefined1 *puVar10;
  undefined1 *puVar11;
  undefined1 *puVar12;
  undefined1 *puVar13;
  undefined1 *puVar14;
  undefined1 *puVar15;
  char *pcVar16;
  undefined4 *puVar17;
  uint uVar18;
  undefined8 uVar19;
  int aiStack_134 [21];
  int local_c0;
  undefined4 *local_bc;
  char *local_b8;
  uint local_b4;
  int *local_b0;
  int *local_ac;
  int local_a8;
  int *local_a4;
  undefined *local_a0;
  undefined **local_9c;
  char *local_98;
  char *local_94;
  undefined4 local_88;
  undefined1 local_84 [108];
  undefined4 *local_18;
  
  puVar17 = &param_1;
  local_18 = puVar17;
  setlocale(5,"");
  setlocale(0,"");
  bindtextdomain();
  textdomain();
  DAT_00018278 = *param_2;
  xmalloc_set_program_name();
  ppuVar4 = &PTR_s_addresses_00018160;
  bfd_set_error_program_name();
  FUN_00013990();
  bfd_init();
  FUN_00012710();
  local_98 = "ab:Ce:sfHhij:pVv";
  puVar11 = (undefined1 *)&stack0xffffff40;
  puVar12 = (undefined1 *)&stack0xffffff40;
  puVar15 = (undefined1 *)&stack0xffffff40;
  puVar14 = (undefined1 *)&stack0xffffff40;
  puVar10 = (undefined1 *)&stack0xffffff40;
  local_a4 = (int *)0x0;
  local_b0 = (int *)PTR_optarg_00017ffc;
  local_a8 = 0;
  local_9c = (undefined **)0x0;
  local_ac = local_b0;
code_r0x000115d8:
  iVar3 = getopt_long(param_1,param_2,local_98,&PTR_s_addresses_00018160);
  if (iVar3 == -1) {
    ppuVar4 = (undefined **)"a.out";
    if (local_9c != (undefined **)0x0) {
      ppuVar4 = local_9c;
    }
    DAT_0001824c = param_2 + *(int *)PTR_optind_00017fdc;
    DAT_00018250 = (int *)(param_1 - *(int *)PTR_optind_00017fdc);
    local_9c = ppuVar4;
    uVar19 = FUN_00012f60();
    if ((int)(uint)((int)uVar19 != 0) <= -(int)((ulonglong)uVar19 >> 0x20)) {
      return 1;
    }
    ppuVar4 = (undefined **)bfd_openr();
    if (ppuVar4 == (undefined **)0x0) goto LAB_00011f2f;
    ppuVar4[10] = (undefined *)((uint)ppuVar4[10] | 0x100000);
    local_c0 = bfd_check_format();
    if (local_c0 != 0) goto LAB_00011f73;
    iVar3 = bfd_check_format_matches();
    if (iVar3 == 0) {
      FUN_000123f0();
      iVar3 = bfd_get_error();
      puVar13 = (undefined1 *)&stack0xffffff40;
      if (iVar3 == 0xd) goto LAB_00011f92;
      do {
        puVar15 = puVar14 + -0x10;
        *(undefined4 *)(puVar14 + -0x10) = 1;
        *(undefined4 *)(puVar14 + -0x14) = 0x11f73;
        xexit();
LAB_00011f73:
        *(undefined ***)(puVar15 + -4) = ppuVar4;
        *(undefined4 *)(puVar15 + -8) = 5;
        *(char **)(puVar15 + -0xc) = "%s: cannot get addresses from archive";
        *(undefined4 *)(puVar15 + -0x10) = 0;
        *(undefined4 *)(puVar15 + -0x14) = 0x11f84;
        uVar7 = dcgettext();
        *(undefined ***)(puVar15 + -0xc) = local_9c;
        *(undefined4 *)(puVar15 + -0x10) = uVar7;
        *(undefined4 *)(puVar15 + -0x14) = 0x11f92;
        FUN_000126c0();
        puVar13 = puVar15 + -0x10;
LAB_00011f92:
        puVar14 = puVar13;
        *(undefined4 *)(puVar14 + -0x10) = local_88;
        *(undefined4 *)(puVar14 + -0x14) = 0x11f9d;
        FUN_00012770();
        *(undefined4 *)(puVar14 + -0x10) = local_88;
        *(undefined4 *)(puVar14 + -0x14) = 0x11fa6;
        free(*(void **)(puVar14 + -0x10));
      } while( true );
    }
    iVar3 = local_a8;
    if ((local_a8 != 0) && (iVar3 = bfd_get_section_by_name(), iVar3 == 0)) goto LAB_00011f09;
    local_a8 = iVar3;
    if ((*(byte *)((int)ppuVar4 + 0x29) & 2) == 0) goto LAB_00011862;
    iVar3 = (**(code **)(ppuVar4[1] + 0x104))();
    if (iVar3 == 0) {
      iVar3 = (**(code **)(ppuVar4[1] + 0x1a8))();
      puVar13 = (undefined1 *)&stack0xffffff40;
      if (iVar3 < 0) goto LAB_00011f3d;
      DAT_00018248 = (void *)xmalloc();
      iVar3 = (**(code **)(ppuVar4[1] + 0x1ac))();
      puVar13 = (undefined1 *)&stack0xffffff40;
      if (iVar3 < 0) goto LAB_00011f3d;
LAB_00011e91:
      if (0 < iVar3) goto LAB_00011862;
    }
    else {
      puVar13 = (undefined1 *)&stack0xffffff40;
      if (iVar3 < 0) goto LAB_00011f3d;
      DAT_00018248 = (void *)xmalloc();
      iVar3 = (**(code **)(ppuVar4[1] + 0x108))();
      puVar13 = (undefined1 *)&stack0xffffff40;
      if (iVar3 < 0) goto LAB_00011f3d;
      if (iVar3 != 0) goto LAB_00011e91;
      iVar3 = (**(code **)(ppuVar4[1] + 0x1a8))();
      if (0 < iVar3) {
        free(DAT_00018248);
        DAT_00018248 = (void *)xmalloc();
        iVar3 = (**(code **)(ppuVar4[1] + 0x1ac))();
        goto LAB_00011e91;
      }
    }
    free(DAT_00018248);
    DAT_00018248 = (void *)0x0;
LAB_00011862:
    local_ac = DAT_00018250;
    local_bc = (undefined4 *)PTR_stdin_00017fec;
    local_b0 = (int *)PTR_stdout_00017ff0;
    local_9c = ppuVar4;
    goto LAB_000119df;
  }
  switch(iVar3) {
  case 0:
    goto code_r0x000115d8;
  default:
    break;
  case 0x43:
    DAT_0001825c = 1;
    local_a0 = PTR_optarg_00017ffc;
    if (*(int *)PTR_optarg_00017ffc != 0) {
      iVar3 = func_0x00011040();
      uVar19 = CONCAT44(local_a0,iVar3);
      if (iVar3 == 0) goto code_r0x00011eed;
      func_0x000110d0();
    }
    goto code_r0x000115d8;
  case 0x48:
  case 0x68:
    FUN_00012130();
    break;
  case 0x56:
  case 0x76:
    FUN_00013310();
    goto code_r0x000115d8;
  case 0x61:
    DAT_00018264 = 1;
    goto code_r0x000115d8;
  case 0x62:
    local_a4 = *(int **)PTR_optarg_00017ffc;
    goto code_r0x000115d8;
  case 0x65:
    local_9c = (undefined **)*local_b0;
    goto code_r0x000115d8;
  case 0x66:
    DAT_00018260 = 1;
    goto code_r0x000115d8;
  case 0x69:
    DAT_00018268 = 1;
    goto code_r0x000115d8;
  case 0x6a:
    local_a8 = *local_ac;
    goto code_r0x000115d8;
  case 0x70:
    DAT_00018258 = 1;
    goto code_r0x000115d8;
  case 0x73:
    DAT_00018254 = 1;
    goto code_r0x000115d8;
  }
  uVar19 = FUN_00012130();
code_r0x00011eed:
  puVar17 = (undefined4 *)*(int *)((ulonglong)uVar19 >> 0x20);
  dcgettext();
  puVar11 = &stack0xffffff30;
  FUN_000126c0();
LAB_00011f09:
  *(undefined4 **)(puVar11 + -4) = puVar17;
  *(undefined4 *)(puVar11 + -8) = 5;
  *(char **)(puVar11 + -0xc) = "%s: cannot find section %s";
  *(undefined4 *)(puVar11 + -0x10) = 0;
  *(undefined4 *)(puVar11 + -0x14) = 0x11f1a;
  uVar7 = dcgettext();
  *(int *)(puVar11 + -8) = local_a8;
  *(undefined ***)(puVar11 + -0xc) = local_9c;
  puVar12 = puVar11 + -0x10;
  *(undefined4 *)(puVar11 + -0x10) = uVar7;
  *(undefined4 *)(puVar11 + -0x14) = 0x11f2f;
  FUN_000126c0();
LAB_00011f2f:
  *(undefined ***)(puVar12 + -0x10) = local_9c;
  *(undefined4 *)(puVar12 + -0x14) = 0x11f3d;
  FUN_00012630();
  puVar13 = puVar12 + -0x10;
LAB_00011f3d:
  puVar10 = puVar13 + -0x10;
  *(undefined **)(puVar13 + -0x10) = *ppuVar4;
  *(undefined4 *)(puVar13 + -0x14) = 0x11f47;
  FUN_00012630();
LAB_000119cc:
  do {
    local_9c = ppuVar4;
    *(int *)(puVar10 + -0x10) = *local_a4;
    *(undefined4 *)(puVar10 + -0x14) = 0x119dc;
    fflush(*(FILE **)(puVar10 + -0x10));
LAB_000119df:
    if (local_ac == (int *)0x0) {
      *(undefined4 *)(puVar10 + -8) = *local_bc;
      *(undefined4 *)(puVar10 + -0xc) = 100;
      *(undefined1 **)(puVar10 + -0x10) = local_84;
      *(undefined4 *)(puVar10 + -0x14) = 0x11a03;
      pcVar5 = fgets(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc),*(FILE **)(puVar10 + -8));
      if (pcVar5 == (char *)0x0) {
LAB_00011e02:
        ppuVar4 = local_9c;
        if (DAT_00018248 != (void *)0x0) {
          *(void **)(puVar10 + -0x10) = DAT_00018248;
          *(undefined4 *)(puVar10 + -0x14) = 0x11e1b;
          free(*(void **)(puVar10 + -0x10));
          DAT_00018248 = (void *)0x0;
        }
        *(undefined ***)(puVar10 + -0x10) = ppuVar4;
        *(undefined4 *)(puVar10 + -0x14) = 0x11e31;
        bfd_close();
        return local_c0;
      }
      *(undefined4 *)(puVar10 + -8) = 0x10;
      *(undefined4 *)(puVar10 + -0xc) = 0;
      *(undefined1 **)(puVar10 + -0x10) = local_84;
      *(undefined4 *)(puVar10 + -0x14) = 0x11a1b;
      uVar19 = bfd_scan_vma();
      puVar2 = local_9c[1];
      iVar3 = *(int *)(puVar2 + 4);
    }
    else {
      if ((int)DAT_00018250 < 1) goto LAB_00011e02;
      DAT_00018250 = (int *)((int)DAT_00018250 + -1);
      *(undefined4 *)(puVar10 + -8) = 0x10;
      *(undefined4 *)(puVar10 + -0xc) = 0;
      *(undefined4 *)(puVar10 + -0x10) = *DAT_0001824c;
      *(undefined4 *)(puVar10 + -0x14) = 0x118cc;
      DAT_0001824c = DAT_0001824c + 1;
      uVar19 = bfd_scan_vma();
      puVar2 = local_9c[1];
      iVar3 = *(int *)(puVar2 + 4);
    }
    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);
    DAT_00018240 = (uint)uVar19;
    if (iVar3 == 5) {
      bVar8 = *(char *)(*(int *)(*(int *)(puVar2 + 0x1c0) + 0x19c) + 10) - 1;
      pcVar5 = (char *)(1 << (bVar8 & 0x1f));
      local_98 = pcVar5;
      local_94 = (char *)(0 << (bVar8 & 0x1f) | 1U >> 0x20 - (bVar8 & 0x1f));
      if ((bVar8 & 0x20) != 0) {
        local_98 = (char *)0x0;
        local_94 = pcVar5;
      }
      uVar9 = DAT_00018240 & (int)local_98 * 2 - 1U;
      uVar18 = DAT_00018244 &
               (((int)local_94 << 1 | (uint)local_98 >> 0x1f) - 1) + (uint)((int)local_98 * 2 != 0);
      uVar19 = CONCAT44(uVar18,uVar9);
      if ((*(byte *)(*(int *)(puVar2 + 0x1c0) + 0x1e9) & 1) != 0) {
        local_b8 = (char *)(uVar9 ^ (uint)local_98);
        local_b4 = uVar18 ^ (uint)local_94;
        uVar19 = CONCAT44((local_b4 - (int)local_94) - (uint)(local_b8 < local_98),
                          (int)local_b8 - (int)local_98);
      }
    }
    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);
    DAT_00018240 = (uint)uVar19;
    local_a4 = local_b0;
    if (DAT_00018264 != 0) {
      *(undefined **)(puVar10 + -0x10) = &DAT_00015431;
      *(undefined4 *)(puVar10 + -0x14) = 0x11aff;
      printf(*(char **)(puVar10 + -0x10));
      local_a4 = (int *)PTR_stdout_00017ff0;
      *(uint *)(puVar10 + -0x14) = DAT_00018244;
      *(uint *)(puVar10 + -0x18) = DAT_00018240;
      *(undefined4 *)(puVar10 + -0x1c) = *(undefined4 *)PTR_stdout_00017ff0;
      *(undefined ***)(puVar10 + -0x20) = local_9c;
      *(undefined4 *)(puVar10 + -0x24) = 0x11b24;
      bfd_fprintf_vma();
      if (DAT_00018258 == 0) {
        *(undefined4 *)(puVar10 + -0x10) = 10;
        *(undefined4 *)(puVar10 + -0x14) = 0x11dfa;
        putchar(*(int *)(puVar10 + -0x10));
        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);
      }
      else {
        *(undefined **)(puVar10 + -0x10) = &DAT_00015702;
        *(undefined4 *)(puVar10 + -0x14) = 0x11b44;
        printf(*(char **)(puVar10 + -0x10));
        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);
      }
    }
    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);
    DAT_00018240 = (uint)uVar19;
    DAT_00018228 = 0;
    if (local_a8 == 0) {
      *(undefined4 *)(puVar10 + -8) = 0;
      *(code **)(puVar10 + -0xc) = FUN_00012210;
      *(undefined ***)(puVar10 + -0x10) = local_9c;
      *(undefined4 *)(puVar10 + -0x14) = 0x11b67;
      bfd_map_over_sections();
      ppuVar4 = local_9c;
joined_r0x00011b72:
      uVar19 = CONCAT44(DAT_00018244,DAT_00018240);
      local_9c = ppuVar4;
      if (DAT_00018228 != 0) {
        local_a0 = &DAT_00015442;
        local_98 = "??";
        do {
          local_9c = (undefined **)0x15817;
          do {
            pcVar5 = DAT_00018234;
            if (DAT_00018260 != 0) {
              pcVar6 = local_98;
              pcVar16 = DAT_00018234;
              if (DAT_00018234 != (char *)0x0) {
                if (*DAT_00018234 == '\0') {
                  pcVar16 = (char *)0x0;
                }
                else {
                  if (DAT_0001825c != 0) {
                    *(undefined4 *)(puVar10 + -8) = 3;
                    *(char **)(puVar10 + -0xc) = DAT_00018234;
                    *(undefined ***)(puVar10 + -0x10) = ppuVar4;
                    *(undefined4 *)(puVar10 + -0x14) = 0x11db4;
                    pcVar6 = (char *)bfd_demangle();
                    pcVar16 = pcVar6;
                    if (pcVar6 != (char *)0x0) goto LAB_00011bdd;
                  }
                  pcVar6 = pcVar5;
                  pcVar16 = (char *)0x0;
                }
              }
LAB_00011bdd:
              *(char **)(puVar10 + -0xc) = pcVar6;
              *(undefined ***)(puVar10 + -0x10) = local_9c;
              *(undefined4 *)(puVar10 + -0x14) = 0x11bec;
              printf(*(char **)(puVar10 + -0x10));
              if (DAT_00018258 == 0) {
                *(undefined4 *)(puVar10 + -0x10) = 10;
                *(undefined4 *)(puVar10 + -0x14) = 0x11d8a;
                putchar(*(int *)(puVar10 + -0x10));
              }
              else {
                *(undefined4 *)(puVar10 + -8) = 5;
                *(undefined **)(puVar10 + -0xc) = &DAT_0001543d;
                *(undefined4 *)(puVar10 + -0x10) = 0;
                *(undefined4 *)(puVar10 + -0x14) = 0x11c10;
                uVar7 = dcgettext();
                *(undefined4 *)(puVar10 + -0x10) = uVar7;
                *(undefined4 *)(puVar10 + -0x14) = 0x11c18;
                printf(*(char **)(puVar10 + -0x10));
              }
              if (pcVar16 != (char *)0x0) {
                *(char **)(puVar10 + -0x10) = pcVar16;
                *(undefined4 *)(puVar10 + -0x14) = 0x11c28;
                free(*(void **)(puVar10 + -0x10));
              }
            }
            pcVar5 = DAT_00018238;
            if (DAT_00018254 == 0) {
LAB_00011c5e:
              pcVar5 = DAT_00018238;
              if (DAT_00018238 == (char *)0x0) {
LAB_00011d70:
                pcVar5 = local_98;
              }
            }
            else {
              if (DAT_00018238 == (char *)0x0) goto LAB_00011d70;
              *(undefined4 *)(puVar10 + -0xc) = 0x2f;
              *(char **)(puVar10 + -0x10) = DAT_00018238;
              *(undefined4 *)(puVar10 + -0x14) = 0x11c4e;
              pcVar6 = strrchr(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc));
              if (pcVar6 != (char *)0x0) {
                DAT_00018238 = pcVar6 + 1;
                goto LAB_00011c5e;
              }
            }
            *(char **)(puVar10 + -0xc) = pcVar5;
            *(undefined **)(puVar10 + -0x10) = local_a0;
            *(undefined4 *)(puVar10 + -0x14) = 0x11c75;
            printf(*(char **)(puVar10 + -0x10));
            if (DAT_00018230 == 0) {
              *(undefined **)(puVar10 + -0x10) = &DAT_000153c0;
              *(undefined4 *)(puVar10 + -0x14) = 0x11d5f;
              puts(*(char **)(puVar10 + -0x10));
            }
            else if (DAT_0001822c == 0) {
              *(int *)(puVar10 + -0xc) = DAT_00018230;
              *(undefined **)(puVar10 + -0x10) = &DAT_0001545d;
              *(undefined4 *)(puVar10 + -0x14) = 0x11d48;
              printf(*(char **)(puVar10 + -0x10));
            }
            else {
              *(int *)(puVar10 + -8) = DAT_0001822c;
              *(int *)(puVar10 + -0xc) = DAT_00018230;
              *(char **)(puVar10 + -0x10) = "%u (discriminator %u)\n";
              *(undefined4 *)(puVar10 + -0x14) = 0x11ca5;
              printf(*(char **)(puVar10 + -0x10));
            }
            if (DAT_00018268 == 0) {
              DAT_00018228 = 0;
              goto LAB_000119cc;
            }
            puVar2 = ppuVar4[1];
            *(int **)(puVar10 + -4) = &DAT_00018230;
            *(char ***)(puVar10 + -8) = &DAT_00018234;
            *(char ***)(puVar10 + -0xc) = &DAT_00018238;
            *(undefined ***)(puVar10 + -0x10) = ppuVar4;
            pcVar1 = *(code **)(puVar2 + 0x130);
            *(undefined4 *)(puVar10 + -0x14) = 0x11cef;
            DAT_00018228 = (*pcVar1)();
            if (DAT_00018228 == 0) goto LAB_000119cc;
          } while (DAT_00018258 == 0);
          *(undefined4 *)(puVar10 + -8) = 5;
          *(char **)(puVar10 + -0xc) = " (inlined by) ";
          *(undefined4 *)(puVar10 + -0x10) = 0;
          *(undefined4 *)(puVar10 + -0x14) = 0x11d21;
          uVar7 = dcgettext();
          *(undefined4 *)(puVar10 + -0x10) = uVar7;
          *(undefined4 *)(puVar10 + -0x14) = 0x11d29;
          printf(*(char **)(puVar10 + -0x10));
        } while( true );
      }
    }
    else if (((*(byte *)(local_a8 + 0x14) & 1) != 0) &&
            (DAT_00018244 < *(uint *)(local_a8 + 0x30) ||
             DAT_00018244 - *(uint *)(local_a8 + 0x30) <
             (uint)(DAT_00018240 < *(uint *)(local_a8 + 0x2c)))) {
      puVar2 = local_9c[1];
      *(int **)(puVar10 + -0x10) = &DAT_0001822c;
      *(int **)(puVar10 + -0x14) = &DAT_00018230;
      *(char ***)(puVar10 + -0x18) = &DAT_00018234;
      *(char ***)(puVar10 + -0x1c) = &DAT_00018238;
      *(undefined8 *)(puVar10 + -0x24) = uVar19;
      *(int *)(puVar10 + -0x28) = local_a8;
      *(void **)(puVar10 + -0x2c) = DAT_00018248;
      *(undefined ***)(puVar10 + -0x30) = local_9c;
      pcVar1 = *(code **)(puVar2 + 0x128);
      *(undefined4 *)(puVar10 + -0x34) = 0x1197f;
      DAT_00018228 = (*pcVar1)();
      ppuVar4 = local_9c;
      goto joined_r0x00011b72;
    }
    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);
    DAT_00018240 = (uint)uVar19;
    if (DAT_00018260 != 0) {
      if (DAT_00018258 == 0) {
        *(undefined **)(puVar10 + -0x10) = &DAT_000153bf;
        *(undefined4 *)(puVar10 + -0x14) = 0x11ddf;
        puts(*(char **)(puVar10 + -0x10));
        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);
      }
      else {
        *(undefined **)(puVar10 + -0x10) = &DAT_00015434;
        *(undefined4 *)(puVar10 + -0x14) = 0x119b7;
        printf(*(char **)(puVar10 + -0x10));
        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);
      }
    }
    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);
    DAT_00018240 = (uint)uVar19;
    *(undefined **)(puVar10 + -0x10) = &DAT_00015438;
    *(undefined4 *)(puVar10 + -0x14) = 0x119c9;
    puts(*(char **)(puVar10 + -0x10));
    ppuVar4 = local_9c;
  } while( true );
}


LEA ECX,[ESP + 0x4]
AND ESP,0xfffffff0
PUSH dword ptr [ECX + -0x4]
PUSH EBP
MOV EBP,ESP
PUSH EDI
PUSH ESI
MOV ESI,ECX
PUSH EBX
CALL 0x00011ff0
ADD EBX,0x6ae9
PUSH ECX
SUB ESP,0xb0
LEA EDI,[EBX + 0xffffd6f9]
PUSH EDI
PUSH 0x5
CALL 0x000113a0
POP EAX
POP EDX
PUSH EDI
PUSH 0x0
CALL 0x000113a0
POP ECX
LEA EAX,[EBX + 0xffffd3c2]
POP EDI
LEA EDI,[EBX + 0xffffd3d4]
PUSH EAX
PUSH EDI
CALL 0x00011450
MOV dword ptr [ESP],EDI
CALL 0x00011160
MOV EAX,dword ptr [ESI + 0x4]
LEA EDI,[EBX + 0x278]
MOV EAX,dword ptr [EAX]
MOV dword ptr [EDI],EAX
MOV dword ptr [ESP],EAX
CALL 0x000111d0
POP EAX
PUSH dword ptr [EDI]
LEA EDI,[EBX + 0x160]
CALL 0x00011370
POP EAX
LEA EAX,[ESI + 0x4]
POP EDX
PUSH EAX
PUSH ESI
CALL 0x00013990
CALL 0x00011220
CALL 0x00012710
LEA EAX,[EBX + 0xffffd405]
ADD ESP,0x10
MOV dword ptr [EBP + 0xffffff64],0x0
MOV dword ptr [EBP + 0xffffff70],EAX
MOV EAX,dword ptr [EBX + 0xfffffffc]
MOV dword ptr [EBP + 0xffffff60],0x0
MOV dword ptr [EBP + 0xffffff6c],0x0
MOV dword ptr [EBP + 0xffffff5c],EAX
MOV dword ptr [EBP + 0xffffff58],EAX
LEA ESI,[ESI]
SUB ESP,0xc
PUSH 0x0
PUSH EDI
PUSH dword ptr [EBP + 0xffffff70]
PUSH dword ptr [ESI + 0x4]
PUSH dword ptr [ESI]
CALL 0x000112a0
ADD ESP,0x20
CMP EAX,-0x1
JZ 0x00011710
CMP EAX,0x76
JA 0x00011edb
MOV ECX,dword ptr [EBX + EAX*0x4 + 0xffffd4cc]
ADD ECX,EBX
JMP ECX
MOV ECX,dword ptr [EBP + 0xffffff6c]
LEA EAX,[EBX + 0xffffd3b9]
TEST ECX,ECX
CMOVNZ EAX,ECX
SUB ESP,0xc
MOV EDI,EAX
MOV dword ptr [EBP + 0xffffff6c],EAX
MOV EAX,dword ptr [EBX + 0xffffffdc]
MOV EDX,dword ptr [EAX]
MOV EAX,dword ptr [ESI + 0x4]
LEA EAX,[EAX + EDX*0x4]
MOV dword ptr [EBX + 0x24c],EAX
MOV EAX,dword ptr [ESI]
PUSH EDI
SUB EAX,EDX
MOV dword ptr [EBX + 0x250],EAX
CALL 0x00012f60
XOR ECX,ECX
ADD ESP,0x10
CMP ECX,EAX
SBB ECX,EDX
JGE 0x00011e46
PUSH EAX
PUSH EAX
PUSH dword ptr [EBP + 0xffffff64]
PUSH EDI
CALL 0x00011110
ADD ESP,0x10
MOV EDI,EAX
TEST EAX,EAX
JZ 0x00011f2f
OR dword ptr [EAX + 0x28],0x100000
PUSH ESI
PUSH ESI
PUSH 0x2
PUSH EAX
CALL 0x00011440
ADD ESP,0x10
MOV dword ptr [EBP + 0xffffff48],EAX
TEST EAX,EAX
JNZ 0x00011f73
LEA EAX,[EBP + -0x80]
PUSH ESI
PUSH EAX
PUSH 0x1
PUSH EDI
CALL 0x00011410
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00011f52
MOV EAX,dword ptr [EBP + 0xffffff60]
TEST EAX,EAX
JZ 0x000117d8
PUSH EDX
PUSH EDX
PUSH EAX
PUSH EDI
CALL 0x00011210
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00011f09
MOV dword ptr [EBP + 0xffffff60],EAX
TEST byte ptr [EDI + 0x29],0x2
JZ 0x00011862
SUB ESP,0xc
MOV EAX,dword ptr [EDI + 0x4]
PUSH EDI
CALL dword ptr [EAX + 0x104]
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00011e52
JS 0x00011f3d
SUB ESP,0xc
PUSH EAX
CALL 0x000111c0
POP ESI
POP EDX
MOV EDX,dword ptr [EDI + 0x4]
PUSH EAX
PUSH EDI
MOV dword ptr [EBX + 0x248],EAX
CALL dword ptr [EDX + 0x108]
ADD ESP,0x10
TEST EAX,EAX
JS 0x00011f3d
JNZ 0x00011e91
SUB ESP,0xc
MOV EAX,dword ptr [EDI + 0x4]
PUSH EDI
CALL dword ptr [EAX + 0x1a8]
MOV ESI,EAX
ADD ESP,0x10
TEST EAX,EAX
JG 0x00011e9e
SUB ESP,0xc
PUSH dword ptr [EBX + 0x248]
CALL 0x000110b0
ADD ESP,0x10
MOV dword ptr [EBX + 0x248],0x0
MOV EAX,dword ptr [EBX + 0x250]
MOV dword ptr [EBP + 0xffffff6c],EDI
MOV dword ptr [EBP + 0xffffff5c],EAX
MOV EAX,dword ptr [EBX + 0xffffffec]
MOV dword ptr [EBP + 0xffffff4c],EAX
MOV EAX,dword ptr [EBX + 0xfffffff0]
MOV dword ptr [EBP + 0xffffff58],EAX
JMP 0x000119df
MOV EAX,dword ptr [EBX + 0x250]
TEST EAX,EAX
JLE 0x00011e02
SUB EAX,0x1
SUB ESP,0x4
MOV dword ptr [EBX + 0x250],EAX
MOV EAX,dword ptr [EBX + 0x24c]
PUSH 0x10
PUSH 0x0
LEA EDX,[EAX + 0x4]
PUSH dword ptr [EAX]
MOV dword ptr [EBX + 0x24c],EDX
CALL 0x00011050
ADD ESP,0x10
MOV dword ptr [EBX + 0x240],EAX
MOV EAX,dword ptr [EBP + 0xffffff6c]
MOV dword ptr [EBX + 0x244],EDX
MOV EAX,dword ptr [EAX + 0x4]
CMP dword ptr [EAX + 0x4],0x5
JZ 0x00011a3d
MOV EAX,dword ptr [EBP + 0xffffff58]
MOV ECX,dword ptr [EBX + 0x264]
MOV dword ptr [EBP + 0xffffff64],EAX
TEST ECX,ECX
JNZ 0x00011af0
MOV dword ptr [EBX + 0x228],0x0
MOV EAX,dword ptr [EBP + 0xffffff60]
TEST EAX,EAX
JZ 0x00011b50
TEST byte ptr [EAX + 0x14],0x1
JZ 0x00011990
MOV EDI,dword ptr [EBP + 0xffffff60]
MOV EDX,dword ptr [EBX + 0x244]
MOV EAX,dword ptr [EBX + 0x240]
MOV ECX,EDX
CMP EAX,dword ptr [EDI + 0x2c]
SBB ECX,dword ptr [EDI + 0x30]
JNC 0x00011990
MOV ECX,dword ptr [EBP + 0xffffff6c]
SUB ESP,0xc
LEA ESI,[EBX + 0x22c]
MOV ECX,dword ptr [ECX + 0x4]
PUSH ESI
LEA ESI,[EBX + 0x230]
PUSH ESI
LEA ESI,[EBX + 0x234]
PUSH ESI
LEA ESI,[EBX + 0x238]
PUSH ESI
PUSH EDX
PUSH EAX
PUSH EDI
PUSH dword ptr [EBX + 0x248]
PUSH dword ptr [EBP + 0xffffff6c]
CALL dword ptr [ECX + 0x128]
MOV dword ptr [EBX + 0x228],EAX
ADD ESP,0x30
TEST EAX,EAX
JNZ 0x00011b78
MOV EAX,dword ptr [EBX + 0x260]
TEST EAX,EAX
JZ 0x000119ba
MOV EAX,dword ptr [EBX + 0x258]
TEST EAX,EAX
JZ 0x00011dd0
SUB ESP,0xc
LEA EAX,[EBX + 0xffffd434]
PUSH EAX
CALL 0x00011060
ADD ESP,0x10
SUB ESP,0xc
LEA EAX,[EBX + 0xffffd438]
PUSH EAX
CALL 0x00011260
ADD ESP,0x10
MOV EAX,dword ptr [EBP + 0xffffff64]
SUB ESP,0xc
PUSH dword ptr [EAX]
CALL 0x00011070
ADD ESP,0x10
MOV ESI,dword ptr [EBP + 0xffffff5c]
TEST ESI,ESI
JNZ 0x00011898
MOV EAX,dword ptr [EBP + 0xffffff4c]
SUB ESP,0x4
LEA ESI,[EBP + -0x7c]
PUSH dword ptr [EAX]
PUSH 0x64
PUSH ESI
CALL 0x000110f0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00011e02
SUB ESP,0x4
PUSH 0x10
PUSH 0x0
PUSH ESI
CALL 0x00011050
ADD ESP,0x10
MOV dword ptr [EBX + 0x240],EAX
MOV EAX,dword ptr [EBP + 0xffffff6c]
MOV dword ptr [EBX + 0x244],EDX
MOV EAX,dword ptr [EAX + 0x4]
CMP dword ptr [EAX + 0x4],0x5
JNZ 0x000118ee
MOV ESI,dword ptr [EAX + 0x1c0]
XOR EDX,EDX
XOR EDI,EDI
MOV EAX,dword ptr [ESI + 0x19c]
MOVZX ECX,byte ptr [EAX + 0xa]
MOV EAX,0x1
SUB ECX,0x1
SHLD EDX,EAX,CL
SHL EAX,CL
TEST CL,0x20
MOV ECX,dword ptr [EBX + 0x240]
CMOVNZ EDX,EAX
CMOVNZ EAX,EDI
MOV EDI,dword ptr [EBX + 0x244]
MOV dword ptr [EBP + 0xffffff70],EAX
MOV dword ptr [EBP + 0xffffff74],EDX
SHLD EDX,EAX,0x1
ADD EAX,EAX
ADD EAX,-0x1
ADC EDX,-0x1
AND ECX,EAX
AND EDI,EDX
MOV dword ptr [EBX + 0x240],ECX
MOV EAX,EDI
MOV dword ptr [EBX + 0x244],EDI
TEST byte ptr [ESI + 0x1e9],0x1
JZ 0x000118ee
MOV EDX,dword ptr [EBP + 0xffffff70]
MOV EDI,ECX
MOV ECX,dword ptr [EBP + 0xffffff74]
XOR EDI,EDX
XOR EAX,ECX
MOV dword ptr [EBP + 0xffffff50],EDI
MOV ESI,dword ptr [EBP + 0xffffff50]
MOV dword ptr [EBP + 0xffffff54],EAX
MOV EDI,dword ptr [EBP + 0xffffff54]
SUB ESI,EDX
SBB EDI,ECX
MOV dword ptr [EBX + 0x240],ESI
MOV dword ptr [EBX + 0x244],EDI
JMP 0x000118ee
SUB ESP,0xc
LEA EAX,[EBX + 0xffffd431]
PUSH EAX
CALL 0x00011060
MOV EAX,dword ptr [EBX + 0xfffffff0]
PUSH dword ptr [EBX + 0x244]
PUSH dword ptr [EBX + 0x240]
PUSH dword ptr [EAX]
PUSH dword ptr [EBP + 0xffffff6c]
MOV dword ptr [EBP + 0xffffff64],EAX
CALL 0x00011460
MOV EDX,dword ptr [EBX + 0x258]
ADD ESP,0x20
TEST EDX,EDX
JZ 0x00011df0
SUB ESP,0xc
LEA EAX,[EBX + 0xffffd702]
PUSH EAX
CALL 0x00011060
ADD ESP,0x10
JMP 0x00011908
SUB ESP,0x4
LEA EAX,[EBX + 0xffffa210]
PUSH 0x0
PUSH EAX
PUSH dword ptr [EBP + 0xffffff6c]
CALL 0x00011470
MOV EAX,dword ptr [EBX + 0x228]
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00011990
LEA EAX,[EBX + 0xffffd442]
MOV EDI,dword ptr [EBP + 0xffffff6c]
MOV dword ptr [EBP + 0xffffff68],EAX
LEA EAX,[EBX + 0xffffd3bf]
MOV dword ptr [EBP + 0xffffff70],EAX
LEA EAX,[EBX + 0xffffd817]
MOV dword ptr [EBP + 0xffffff6c],EAX
LEA ESI,[ESI]
MOV EAX,dword ptr [EBX + 0x260]
TEST EAX,EAX
JZ 0x00011c2b
MOV ESI,dword ptr [EBX + 0x234]
MOV EAX,dword ptr [EBP + 0xffffff70]
TEST ESI,ESI
JZ 0x00011bdd
CMP byte ptr [ESI],0x0
JZ 0x00011d98
MOV EAX,dword ptr [EBX + 0x25c]
TEST EAX,EAX
JNZ 0x00011da8
MOV EAX,ESI
XOR ESI,ESI
SUB ESP,0x8
PUSH EAX
PUSH dword ptr [EBP + 0xffffff6c]
CALL 0x00011060
MOV EAX,dword ptr [EBX + 0x258]
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00011d80
SUB ESP,0x4
LEA EAX,[EBX + 0xffffd43d]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00011130
MOV dword ptr [ESP],EAX
CALL 0x00011060
ADD ESP,0x10
TEST ESI,ESI
JZ 0x00011c2b
SUB ESP,0xc
PUSH ESI
CALL 0x000110b0
ADD ESP,0x10
MOV EAX,dword ptr [EBX + 0x254]
MOV ESI,dword ptr [EBX + 0x238]
TEST EAX,EAX
JZ 0x00011c5e
TEST ESI,ESI
JZ 0x00011d70
SUB ESP,0x8
PUSH 0x2f
PUSH ESI
CALL 0x000113b0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00011c66
LEA ESI,[EAX + 0x1]
MOV dword ptr [EBX + 0x238],ESI
TEST ESI,ESI
JZ 0x00011d70
SUB ESP,0x8
PUSH ESI
PUSH dword ptr [EBP + 0xffffff68]
CALL 0x00011060
MOV EAX,dword ptr [EBX + 0x230]
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00011d50
MOV EDX,dword ptr [EBX + 0x22c]
TEST EDX,EDX
JZ 0x00011d38
SUB ESP,0x4
PUSH EDX
PUSH EAX
LEA EAX,[EBX + 0xffffd446]
PUSH EAX
CALL 0x00011060
ADD ESP,0x10
MOV ESI,dword ptr [EBX + 0x268]
TEST ESI,ESI
JNZ 0x00011cd0
MOV dword ptr [EBP + 0xffffff6c],EDI
MOV dword ptr [EBX + 0x228],0x0
JMP 0x000119cc
LEA EDX,[EBX + 0x230]
MOV EAX,dword ptr [EDI + 0x4]
PUSH EDX
LEA EDX,[EBX + 0x234]
PUSH EDX
LEA EDX,[EBX + 0x238]
PUSH EDX
PUSH EDI
CALL dword ptr [EAX + 0x130]
MOV dword ptr [EBX + 0x228],EAX
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00011f47
MOV ECX,dword ptr [EBX + 0x258]
TEST ECX,ECX
JZ 0x00011ba8
SUB ESP,0x4
LEA EAX,[EBX + 0xffffd461]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00011130
MOV dword ptr [ESP],EAX
CALL 0x00011060
ADD ESP,0x10
JMP 0x00011b96
SUB ESP,0x8
PUSH EAX
LEA EAX,[EBX + 0xffffd45d]
PUSH EAX
CALL 0x00011060
ADD ESP,0x10
JMP 0x00011ca8
SUB ESP,0xc
LEA EAX,[EBX + 0xffffd3c0]
PUSH EAX
CALL 0x00011260
ADD ESP,0x10
JMP 0x00011ca8
MOV ESI,dword ptr [EBP + 0xffffff70]
JMP 0x00011c66
SUB ESP,0xc
PUSH 0xa
CALL 0x00011330
ADD ESP,0x10
JMP 0x00011c1b
XOR ESI,ESI
MOV EAX,dword ptr [EBP + 0xffffff70]
JMP 0x00011bdd
SUB ESP,0x4
PUSH 0x3
PUSH ESI
PUSH EDI
CALL 0x00011380
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00011bd9
MOV ESI,EAX
JMP 0x00011bdd
SUB ESP,0xc
LEA EAX,[EBX + 0xffffd3bf]
PUSH EAX
CALL 0x00011260
ADD ESP,0x10
JMP 0x000119ba
SUB ESP,0xc
PUSH 0xa
CALL 0x00011330
ADD ESP,0x10
JMP 0x00011908
MOV EAX,dword ptr [EBX + 0x248]
MOV EDI,dword ptr [EBP + 0xffffff6c]
TEST EAX,EAX
JZ 0x00011e28
SUB ESP,0xc
PUSH EAX
CALL 0x000110b0
ADD ESP,0x10
MOV dword ptr [EBX + 0x248],0x0
SUB ESP,0xc
PUSH EDI
CALL 0x000113e0
ADD ESP,0x10
MOV EAX,dword ptr [EBP + 0xffffff48]
LEA ESP,[EBP + -0x10]
POP ECX
POP EBX
POP ESI
POP EDI
POP EBP
LEA ESP,[ECX + -0x4]
RET
MOV dword ptr [EBP + 0xffffff48],0x1
JMP 0x00011e34
SUB ESP,0xc
MOV EAX,dword ptr [EDI + 0x4]
PUSH EDI
CALL dword ptr [EAX + 0x1a8]
ADD ESP,0x10
TEST EAX,EAX
JS 0x00011f3d
SUB ESP,0xc
PUSH EAX
CALL 0x000111c0
POP EDX
MOV EDX,dword ptr [EDI + 0x4]
POP ECX
PUSH EAX
PUSH EDI
MOV dword ptr [EBX + 0x248],EAX
CALL dword ptr [EDX + 0x1ac]
ADD ESP,0x10
TEST EAX,EAX
JS 0x00011f3d
TEST EAX,EAX
JG 0x00011862
JMP 0x00011847
SUB ESP,0xc
PUSH dword ptr [EBX + 0x248]
CALL 0x000110b0
MOV dword ptr [ESP],ESI
CALL 0x000111c0
POP EDX
MOV EDX,dword ptr [EDI + 0x4]
POP ECX
PUSH EAX
PUSH EDI
MOV dword ptr [EBX + 0x248],EAX
CALL dword ptr [EDX + 0x1ac]
ADD ESP,0x10
JMP 0x00011e91
MOV EAX,dword ptr [EBX + 0xffffffd8]
MOV EDX,0x1
MOV EAX,dword ptr [EAX]
CALL 0x00012130
MOV ESI,dword ptr [EDX]
PUSH EAX
LEA EAX,[EBX + 0xffffd3dd]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00011130
POP EDX
POP ECX
PUSH ESI
PUSH EAX
CALL 0x000126c0
LEA EAX,[EBX + 0xffffd416]
PUSH ESI
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00011130
ADD ESP,0xc
PUSH dword ptr [EBP + 0xffffff60]
PUSH dword ptr [EBP + 0xffffff6c]
PUSH EAX
CALL 0x000126c0
SUB ESP,0xc
PUSH dword ptr [EBP + 0xffffff6c]
CALL 0x00012630
SUB ESP,0xc
PUSH dword ptr [EDI]
CALL 0x00012630
MOV dword ptr [EBP + 0xffffff6c],EDI
JMP 0x000119cc
SUB ESP,0xc
PUSH dword ptr [EDI]
CALL 0x000123f0
CALL 0x00011190
ADD ESP,0x10
CMP EAX,0xd
JZ 0x00011f92
SUB ESP,0xc
PUSH 0x1
CALL 0x000113d0
LEA EAX,[EBX + 0xffffd380]
PUSH EDI
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00011130
POP EDX
POP ECX
PUSH dword ptr [EBP + 0xffffff6c]
PUSH EAX
CALL 0x000126c0
SUB ESP,0xc
PUSH dword ptr [EBP + -0x80]
CALL 0x00012770
POP ECX
PUSH dword ptr [EBP + -0x80]
CALL 0x000110b0
ADD ESP,0x10
JMP 0x00011f69
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nint FUN_00011500(int param_1,undefined4 *param_2)\n\n{\n  code *pcVar1;\n  undefined *puVar2;\n  int iVar3;\n  undefined **ppuVar4;\n  char *pcVar5;\n  char *pcVar6;\n  undefined4 uVar7;\n  byte bVar8;\n  uint uVar9;\n  undefined1 *puVar10;\n  undefined1 *puVar11;\n  undefined1 *puVar12;\n  undefined1 *puVar13;\n  undefined1 *puVar14;\n  undefined1 *puVar15;\n  char *pcVar16;\n  undefined4 *puVar17;\n  uint uVar18;\n  undefined8 uVar19;\n  int aiStack_134 [21];\n  int local_c0;\n  undefined4 *local_bc;\n  char *local_b8;\n  uint local_b4;\n  int *local_b0;\n  int *local_ac;\n  int local_a8;\n  int *local_a4;\n  undefined *local_a0;\n  undefined **local_9c;\n  char *local_98;\n  char *local_94;\n  undefined4 local_88;\n  undefined1 local_84 [108];\n  undefined4 *local_18;\n  \n  puVar17 = &param_1;\n  local_18 = puVar17;\n  setlocale(5,"");\n  setlocale(0,"");\n  bindtextdomain();\n  textdomain();\n  DAT_00018278 = *param_2;\n  xmalloc_set_program_name();\n  ppuVar4 = &PTR_s_addresses_00018160;\n  bfd_set_error_program_name();\n  FUN_00013990();\n  bfd_init();\n  FUN_00012710();\n  local_98 = "ab:Ce:sfHhij:pVv";\n  puVar11 = (undefined1 *)&stack0xffffff40;\n  puVar12 = (undefined1 *)&stack0xffffff40;\n  puVar15 = (undefined1 *)&stack0xffffff40;\n  puVar14 = (undefined1 *)&stack0xffffff40;\n  puVar10 = (undefined1 *)&stack0xffffff40;\n  local_a4 = (int *)0x0;\n  local_b0 = (int *)PTR_optarg_00017ffc;\n  local_a8 = 0;\n  local_9c = (undefined **)0x0;\n  local_ac = local_b0;\ncode_r0x000115d8:\n  iVar3 = getopt_long(param_1,param_2,local_98,&PTR_s_addresses_00018160);\n  if (iVar3 == -1) {\n    ppuVar4 = (undefined **)"a.out";\n    if (local_9c != (undefined **)0x0) {\n      ppuVar4 = local_9c;\n    }\n    DAT_0001824c = param_2 + *(int *)PTR_optind_00017fdc;\n    DAT_00018250 = (int *)(param_1 - *(int *)PTR_optind_00017fdc);\n    local_9c = ppuVar4;\n    uVar19 = FUN_00012f60();\n    if ((int)(uint)((int)uVar19 != 0) <= -(int)((ulonglong)uVar19 >> 0x20)) {\n      return 1;\n    }\n    ppuVar4 = (undefined **)bfd_openr();\n    if (ppuVar4 == (undefined **)0x0) goto LAB_00011f2f;\n    ppuVar4[10] = (undefined *)((uint)ppuVar4[10] | 0x100000);\n    local_c0 = bfd_check_format();\n    if (local_c0 != 0) goto LAB_00011f73;\n    iVar3 = bfd_check_format_matches();\n    if (iVar3 == 0) {\n      FUN_000123f0();\n      iVar3 = bfd_get_error();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 == 0xd) goto LAB_00011f92;\n      do {\n        puVar15 = puVar14 + -0x10;\n        *(undefined4 *)(puVar14 + -0x10) = 1;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11f73;\n        xexit();\nLAB_00011f73:\n        *(undefined ***)(puVar15 + -4) = ppuVar4;\n        *(undefined4 *)(puVar15 + -8) = 5;\n        *(char **)(puVar15 + -0xc) = "%s: cannot get addresses from archive";\n        *(undefined4 *)(puVar15 + -0x10) = 0;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11f84;\n        uVar7 = dcgettext();\n        *(undefined ***)(puVar15 + -0xc) = local_9c;\n        *(undefined4 *)(puVar15 + -0x10) = uVar7;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11f92;\n        FUN_000126c0();\n        puVar13 = puVar15 + -0x10;\nLAB_00011f92:\n        puVar14 = puVar13;\n        *(undefined4 *)(puVar14 + -0x10) = local_88;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11f9d;\n        FUN_00012770();\n        *(undefined4 *)(puVar14 + -0x10) = local_88;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11fa6;\n        free(*(void **)(puVar14 + -0x10));\n      } while( true );\n    }\n    iVar3 = local_a8;\n    if ((local_a8 != 0) && (iVar3 = bfd_get_section_by_name(), iVar3 == 0)) goto LAB_00011f09;\n    local_a8 = iVar3;\n    if ((*(byte *)((int)ppuVar4 + 0x29) & 2) == 0) goto LAB_00011862;\n    iVar3 = (**(code **)(ppuVar4[1] + 0x104))();\n    if (iVar3 == 0) {\n      iVar3 = (**(code **)(ppuVar4[1] + 0x1a8))();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\n      DAT_00018248 = (void *)xmalloc();\n      iVar3 = (**(code **)(ppuVar4[1] + 0x1ac))();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\nLAB_00011e91:\n      if (0 < iVar3) goto LAB_00011862;\n    }\n    else {\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\n      DAT_00018248 = (void *)xmalloc();\n      iVar3 = (**(code **)(ppuVar4[1] + 0x108))();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\n      if (iVar3 != 0) goto LAB_00011e91;\n      iVar3 = (**(code **)(ppuVar4[1] + 0x1a8))();\n      if (0 < iVar3) {\n        free(DAT_00018248);\n        DAT_00018248 = (void *)xmalloc();\n        iVar3 = (**(code **)(ppuVar4[1] + 0x1ac))();\n        goto LAB_00011e91;\n      }\n    }\n    free(DAT_00018248);\n    DAT_00018248 = (void *)0x0;\nLAB_00011862:\n    local_ac = DAT_00018250;\n    local_bc = (undefined4 *)PTR_stdin_00017fec;\n    local_b0 = (int *)PTR_stdout_00017ff0;\n    local_9c = ppuVar4;\n    goto LAB_000119df;\n  }\n  switch(iVar3) {\n  case 0:\n    goto code_r0x000115d8;\n  default:\n    break;\n  case 0x43:\n    DAT_0001825c = 1;\n    local_a0 = PTR_optarg_00017ffc;\n    if (*(int *)PTR_optarg_00017ffc != 0) {\n      iVar3 = func_0x00011040();\n      uVar19 = CONCAT44(local_a0,iVar3);\n      if (iVar3 == 0) goto code_r0x00011eed;\n      func_0x000110d0();\n    }\n    goto code_r0x000115d8;\n  case 0x48:\n  case 0x68:\n    FUN_00012130();\n    break;\n  case 0x56:\n  case 0x76:\n    FUN_00013310();\n    goto code_r0x000115d8;\n  case 0x61:\n    DAT_00018264 = 1;\n    goto code_r0x000115d8;\n  case 0x62:\n    local_a4 = *(int **)PTR_optarg_00017ffc;\n    goto code_r0x000115d8;\n  case 0x65:\n    local_9c = (undefined **)*local_b0;\n    goto code_r0x000115d8;\n  case 0x66:\n    DAT_00018260 = 1;\n    goto code_r0x000115d8;\n  case 0x69:\n    DAT_00018268 = 1;\n    goto code_r0x000115d8;\n  case 0x6a:\n    local_a8 = *local_ac;\n    goto code_r0x000115d8;\n  case 0x70:\n    DAT_00018258 = 1;\n    goto code_r0x000115d8;\n  case 0x73:\n    DAT_00018254 = 1;\n    goto code_r0x000115d8;\n  }\n  uVar19 = FUN_00012130();\ncode_r0x00011eed:\n  puVar17 = (undefined4 *)*(int *)((ulonglong)uVar19 >> 0x20);\n  dcgettext();\n  puVar11 = &stack0xffffff30;\n  FUN_000126c0();\nLAB_00011f09:\n  *(undefined4 **)(puVar11 + -4) = puVar17;\n  *(undefined4 *)(puVar11 + -8) = 5;\n  *(char **)(puVar11 + -0xc) = "%s: cannot find section %s";\n  *(undefined4 *)(puVar11 + -0x10) = 0;\n  *(undefined4 *)(puVar11 + -0x14) = 0x11f1a;\n  uVar7 = dcgettext();\n  *(int *)(puVar11 + -8) = local_a8;\n  *(undefined ***)(puVar11 + -0xc) = local_9c;\n  puVar12 = puVar11 + -0x10;\n  *(undefined4 *)(puVar11 + -0x10) = uVar7;\n  *(undefined4 *)(puVar11 + -0x14) = 0x11f2f;\n  FUN_000126c0();\nLAB_00011f2f:\n  *(undefined ***)(puVar12 + -0x10) = local_9c;\n  *(undefined4 *)(puVar12 + -0x14) = 0x11f3d;\n  FUN_00012630();\n  puVar13 = puVar12 + -0x10;\nLAB_00011f3d:\n  puVar10 = puVar13 + -0x10;\n  *(undefined **)(puVar13 + -0x10) = *ppuVar4;\n  *(undefined4 *)(puVar13 + -0x14) = 0x11f47;\n  FUN_00012630();\nLAB_000119cc:\n  do {\n    local_9c = ppuVar4;\n    *(int *)(puVar10 + -0x10) = *local_a4;\n    *(undefined4 *)(puVar10 + -0x14) = 0x119dc;\n    fflush(*(FILE **)(puVar10 + -0x10));\nLAB_000119df:\n    if (local_ac == (int *)0x0) {\n      *(undefined4 *)(puVar10 + -8) = *local_bc;\n      *(undefined4 *)(puVar10 + -0xc) = 100;\n      *(undefined1 **)(puVar10 + -0x10) = local_84;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11a03;\n      pcVar5 = fgets(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc),*(FILE **)(puVar10 + -8));\n      if (pcVar5 == (char *)0x0) {\nLAB_00011e02:\n        ppuVar4 = local_9c;\n        if (DAT_00018248 != (void *)0x0) {\n          *(void **)(puVar10 + -0x10) = DAT_00018248;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11e1b;\n          free(*(void **)(puVar10 + -0x10));\n          DAT_00018248 = (void *)0x0;\n        }\n        *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11e31;\n        bfd_close();\n        return local_c0;\n      }\n      *(undefined4 *)(puVar10 + -8) = 0x10;\n      *(undefined4 *)(puVar10 + -0xc) = 0;\n      *(undefined1 **)(puVar10 + -0x10) = local_84;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11a1b;\n      uVar19 = bfd_scan_vma();\n      puVar2 = local_9c[1];\n      iVar3 = *(int *)(puVar2 + 4);\n    }\n    else {\n      if ((int)DAT_00018250 < 1) goto LAB_00011e02;\n      DAT_00018250 = (int *)((int)DAT_00018250 + -1);\n      *(undefined4 *)(puVar10 + -8) = 0x10;\n      *(undefined4 *)(puVar10 + -0xc) = 0;\n      *(undefined4 *)(puVar10 + -0x10) = *DAT_0001824c;\n      *(undefined4 *)(puVar10 + -0x14) = 0x118cc;\n      DAT_0001824c = DAT_0001824c + 1;\n      uVar19 = bfd_scan_vma();\n      puVar2 = local_9c[1];\n      iVar3 = *(int *)(puVar2 + 4);\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    if (iVar3 == 5) {\n      bVar8 = *(char *)(*(int *)(*(int *)(puVar2 + 0x1c0) + 0x19c) + 10) - 1;\n      pcVar5 = (char *)(1 << (bVar8 & 0x1f));\n      local_98 = pcVar5;\n      local_94 = (char *)(0 << (bVar8 & 0x1f) | 1U >> 0x20 - (bVar8 & 0x1f));\n      if ((bVar8 & 0x20) != 0) {\n        local_98 = (char *)0x0;\n        local_94 = pcVar5;\n      }\n      uVar9 = DAT_00018240 & (int)local_98 * 2 - 1U;\n      uVar18 = DAT_00018244 &\n               (((int)local_94 << 1 | (uint)local_98 >> 0x1f) - 1) + (uint)((int)local_98 * 2 != 0);\n      uVar19 = CONCAT44(uVar18,uVar9);\n      if ((*(byte *)(*(int *)(puVar2 + 0x1c0) + 0x1e9) & 1) != 0) {\n        local_b8 = (char *)(uVar9 ^ (uint)local_98);\n        local_b4 = uVar18 ^ (uint)local_94;\n        uVar19 = CONCAT44((local_b4 - (int)local_94) - (uint)(local_b8 < local_98),\n                          (int)local_b8 - (int)local_98);\n      }\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    local_a4 = local_b0;\n    if (DAT_00018264 != 0) {\n      *(undefined **)(puVar10 + -0x10) = &DAT_00015431;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11aff;\n      printf(*(char **)(puVar10 + -0x10));\n      local_a4 = (int *)PTR_stdout_00017ff0;\n      *(uint *)(puVar10 + -0x14) = DAT_00018244;\n      *(uint *)(puVar10 + -0x18) = DAT_00018240;\n      *(undefined4 *)(puVar10 + -0x1c) = *(undefined4 *)PTR_stdout_00017ff0;\n      *(undefined ***)(puVar10 + -0x20) = local_9c;\n      *(undefined4 *)(puVar10 + -0x24) = 0x11b24;\n      bfd_fprintf_vma();\n      if (DAT_00018258 == 0) {\n        *(undefined4 *)(puVar10 + -0x10) = 10;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11dfa;\n        putchar(*(int *)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n      else {\n        *(undefined **)(puVar10 + -0x10) = &DAT_00015702;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11b44;\n        printf(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    DAT_00018228 = 0;\n    if (local_a8 == 0) {\n      *(undefined4 *)(puVar10 + -8) = 0;\n      *(code **)(puVar10 + -0xc) = FUN_00012210;\n      *(undefined ***)(puVar10 + -0x10) = local_9c;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11b67;\n      bfd_map_over_sections();\n      ppuVar4 = local_9c;\njoined_r0x00011b72:\n      uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      local_9c = ppuVar4;\n      if (DAT_00018228 != 0) {\n        local_a0 = &DAT_00015442;\n        local_98 = "??";\n        do {\n          local_9c = (undefined **)0x15817;\n          do {\n            pcVar5 = DAT_00018234;\n            if (DAT_00018260 != 0) {\n              pcVar6 = local_98;\n              pcVar16 = DAT_00018234;\n              if (DAT_00018234 != (char *)0x0) {\n                if (*DAT_00018234 == '\0') {\n                  pcVar16 = (char *)0x0;\n                }\n                else {\n                  if (DAT_0001825c != 0) {\n                    *(undefined4 *)(puVar10 + -8) = 3;\n                    *(char **)(puVar10 + -0xc) = DAT_00018234;\n                    *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n                    *(undefined4 *)(puVar10 + -0x14) = 0x11db4;\n                    pcVar6 = (char *)bfd_demangle();\n                    pcVar16 = pcVar6;\n                    if (pcVar6 != (char *)0x0) goto LAB_00011bdd;\n                  }\n                  pcVar6 = pcVar5;\n                  pcVar16 = (char *)0x0;\n                }\n              }\nLAB_00011bdd:\n              *(char **)(puVar10 + -0xc) = pcVar6;\n              *(undefined ***)(puVar10 + -0x10) = local_9c;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11bec;\n              printf(*(char **)(puVar10 + -0x10));\n              if (DAT_00018258 == 0) {\n                *(undefined4 *)(puVar10 + -0x10) = 10;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11d8a;\n                putchar(*(int *)(puVar10 + -0x10));\n              }\n              else {\n                *(undefined4 *)(puVar10 + -8) = 5;\n                *(undefined **)(puVar10 + -0xc) = &DAT_0001543d;\n                *(undefined4 *)(puVar10 + -0x10) = 0;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c10;\n                uVar7 = dcgettext();\n                *(undefined4 *)(puVar10 + -0x10) = uVar7;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c18;\n                printf(*(char **)(puVar10 + -0x10));\n              }\n              if (pcVar16 != (char *)0x0) {\n                *(char **)(puVar10 + -0x10) = pcVar16;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c28;\n                free(*(void **)(puVar10 + -0x10));\n              }\n            }\n            pcVar5 = DAT_00018238;\n            if (DAT_00018254 == 0) {\nLAB_00011c5e:\n              pcVar5 = DAT_00018238;\n              if (DAT_00018238 == (char *)0x0) {\nLAB_00011d70:\n                pcVar5 = local_98;\n              }\n            }\n            else {\n              if (DAT_00018238 == (char *)0x0) goto LAB_00011d70;\n              *(undefined4 *)(puVar10 + -0xc) = 0x2f;\n              *(char **)(puVar10 + -0x10) = DAT_00018238;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11c4e;\n              pcVar6 = strrchr(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc));\n              if (pcVar6 != (char *)0x0) {\n                DAT_00018238 = pcVar6 + 1;\n                goto LAB_00011c5e;\n              }\n            }\n            *(char **)(puVar10 + -0xc) = pcVar5;\n            *(undefined **)(puVar10 + -0x10) = local_a0;\n            *(undefined4 *)(puVar10 + -0x14) = 0x11c75;\n            printf(*(char **)(puVar10 + -0x10));\n            if (DAT_00018230 == 0) {\n              *(undefined **)(puVar10 + -0x10) = &DAT_000153c0;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d5f;\n              puts(*(char **)(puVar10 + -0x10));\n            }\n            else if (DAT_0001822c == 0) {\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(undefined **)(puVar10 + -0x10) = &DAT_0001545d;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d48;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            else {\n              *(int *)(puVar10 + -8) = DAT_0001822c;\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(char **)(puVar10 + -0x10) = "%u (discriminator %u)\n";\n              *(undefined4 *)(puVar10 + -0x14) = 0x11ca5;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            if (DAT_00018268 == 0) {\n              DAT_00018228 = 0;\n              goto LAB_000119cc;\n            }\n            puVar2 = ppuVar4[1];\n            *(int **)(puVar10 + -4) = &DAT_00018230;\n            *(char ***)(puVar10 + -8) = &DAT_00018234;\n            *(char ***)(puVar10 + -0xc) = &DAT_00018238;\n            *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n            pcVar1 = *(code **)(puVar2 + 0x130);\n            *(undefined4 *)(puVar10 + -0x14) = 0x11cef;\n            DAT_00018228 = (*pcVar1)();\n            if (DAT_00018228 == 0) goto LAB_000119cc;\n          } while (DAT_00018258 == 0);\n          *(undefined4 *)(puVar10 + -8) = 5;\n          *(char **)(puVar10 + -0xc) = " (inlined by) ";\n          *(undefined4 *)(puVar10 + -0x10) = 0;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11d21;\n          uVar7 = dcgettext();\n          *(undefined4 *)(puVar10 + -0x10) = uVar7;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11d29;\n          printf(*(char **)(puVar10 + -0x10));\n        } while( true );\n      }\n    }\n    else if (((*(byte *)(local_a8 + 0x14) & 1) != 0) &&\n            (DAT_00018244 < *(uint *)(local_a8 + 0x30) ||\n             DAT_00018244 - *(uint *)(local_a8 + 0x30) <\n             (uint)(DAT_00018240 < *(uint *)(local_a8 + 0x2c)))) {\n      puVar2 = local_9c[1];\n      *(int **)(puVar10 + -0x10) = &DAT_0001822c;\n      *(int **)(puVar10 + -0x14) = &DAT_00018230;\n      *(char ***)(puVar10 + -0x18) = &DAT_00018234;\n      *(char ***)(puVar10 + -0x1c) = &DAT_00018238;\n      *(undefined8 *)(puVar10 + -0x24) = uVar19;\n      *(int *)(puVar10 + -0x28) = local_a8;\n      *(void **)(puVar10 + -0x2c) = DAT_00018248;\n      *(undefined ***)(puVar10 + -0x30) = local_9c;\n      pcVar1 = *(code **)(puVar2 + 0x128);\n      *(undefined4 *)(puVar10 + -0x34) = 0x1197f;\n      DAT_00018228 = (*pcVar1)();\n      ppuVar4 = local_9c;\n      goto joined_r0x00011b72;\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    if (DAT_00018260 != 0) {\n      if (DAT_00018258 == 0) {\n        *(undefined **)(puVar10 + -0x10) = &DAT_000153bf;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11ddf;\n        puts(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n      else {\n        *(undefined **)(puVar10 + -0x10) = &DAT_00015434;\n        *(undefined4 *)(puVar10 + -0x14) = 0x119b7;\n        printf(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    *(undefined **)(puVar10 + -0x10) = &DAT_00015438;\n    *(undefined4 *)(puVar10 + -0x14) = 0x119c9;\n    puts(*(char **)(puVar10 + -0x10));\n    ppuVar4 = local_9c;\n  } while( true );\n}\n\n" comment (function_definition "int FUN_00011500(int param_1,undefined4 *param_2)\n\n{\n  code *pcVar1;\n  undefined *puVar2;\n  int iVar3;\n  undefined **ppuVar4;\n  char *pcVar5;\n  char *pcVar6;\n  undefined4 uVar7;\n  byte bVar8;\n  uint uVar9;\n  undefined1 *puVar10;\n  undefined1 *puVar11;\n  undefined1 *puVar12;\n  undefined1 *puVar13;\n  undefined1 *puVar14;\n  undefined1 *puVar15;\n  char *pcVar16;\n  undefined4 *puVar17;\n  uint uVar18;\n  undefined8 uVar19;\n  int aiStack_134 [21];\n  int local_c0;\n  undefined4 *local_bc;\n  char *local_b8;\n  uint local_b4;\n  int *local_b0;\n  int *local_ac;\n  int local_a8;\n  int *local_a4;\n  undefined *local_a0;\n  undefined **local_9c;\n  char *local_98;\n  char *local_94;\n  undefined4 local_88;\n  undefined1 local_84 [108];\n  undefined4 *local_18;\n  \n  puVar17 = &param_1;\n  local_18 = puVar17;\n  setlocale(5,"");\n  setlocale(0,"");\n  bindtextdomain();\n  textdomain();\n  DAT_00018278 = *param_2;\n  xmalloc_set_program_name();\n  ppuVar4 = &PTR_s_addresses_00018160;\n  bfd_set_error_program_name();\n  FUN_00013990();\n  bfd_init();\n  FUN_00012710();\n  local_98 = "ab:Ce:sfHhij:pVv";\n  puVar11 = (undefined1 *)&stack0xffffff40;\n  puVar12 = (undefined1 *)&stack0xffffff40;\n  puVar15 = (undefined1 *)&stack0xffffff40;\n  puVar14 = (undefined1 *)&stack0xffffff40;\n  puVar10 = (undefined1 *)&stack0xffffff40;\n  local_a4 = (int *)0x0;\n  local_b0 = (int *)PTR_optarg_00017ffc;\n  local_a8 = 0;\n  local_9c = (undefined **)0x0;\n  local_ac = local_b0;\ncode_r0x000115d8:\n  iVar3 = getopt_long(param_1,param_2,local_98,&PTR_s_addresses_00018160);\n  if (iVar3 == -1) {\n    ppuVar4 = (undefined **)"a.out";\n    if (local_9c != (undefined **)0x0) {\n      ppuVar4 = local_9c;\n    }\n    DAT_0001824c = param_2 + *(int *)PTR_optind_00017fdc;\n    DAT_00018250 = (int *)(param_1 - *(int *)PTR_optind_00017fdc);\n    local_9c = ppuVar4;\n    uVar19 = FUN_00012f60();\n    if ((int)(uint)((int)uVar19 != 0) <= -(int)((ulonglong)uVar19 >> 0x20)) {\n      return 1;\n    }\n    ppuVar4 = (undefined **)bfd_openr();\n    if (ppuVar4 == (undefined **)0x0) goto LAB_00011f2f;\n    ppuVar4[10] = (undefined *)((uint)ppuVar4[10] | 0x100000);\n    local_c0 = bfd_check_format();\n    if (local_c0 != 0) goto LAB_00011f73;\n    iVar3 = bfd_check_format_matches();\n    if (iVar3 == 0) {\n      FUN_000123f0();\n      iVar3 = bfd_get_error();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 == 0xd) goto LAB_00011f92;\n      do {\n        puVar15 = puVar14 + -0x10;\n        *(undefined4 *)(puVar14 + -0x10) = 1;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11f73;\n        xexit();\nLAB_00011f73:\n        *(undefined ***)(puVar15 + -4) = ppuVar4;\n        *(undefined4 *)(puVar15 + -8) = 5;\n        *(char **)(puVar15 + -0xc) = "%s: cannot get addresses from archive";\n        *(undefined4 *)(puVar15 + -0x10) = 0;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11f84;\n        uVar7 = dcgettext();\n        *(undefined ***)(puVar15 + -0xc) = local_9c;\n        *(undefined4 *)(puVar15 + -0x10) = uVar7;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11f92;\n        FUN_000126c0();\n        puVar13 = puVar15 + -0x10;\nLAB_00011f92:\n        puVar14 = puVar13;\n        *(undefined4 *)(puVar14 + -0x10) = local_88;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11f9d;\n        FUN_00012770();\n        *(undefined4 *)(puVar14 + -0x10) = local_88;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11fa6;\n        free(*(void **)(puVar14 + -0x10));\n      } while( true );\n    }\n    iVar3 = local_a8;\n    if ((local_a8 != 0) && (iVar3 = bfd_get_section_by_name(), iVar3 == 0)) goto LAB_00011f09;\n    local_a8 = iVar3;\n    if ((*(byte *)((int)ppuVar4 + 0x29) & 2) == 0) goto LAB_00011862;\n    iVar3 = (**(code **)(ppuVar4[1] + 0x104))();\n    if (iVar3 == 0) {\n      iVar3 = (**(code **)(ppuVar4[1] + 0x1a8))();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\n      DAT_00018248 = (void *)xmalloc();\n      iVar3 = (**(code **)(ppuVar4[1] + 0x1ac))();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\nLAB_00011e91:\n      if (0 < iVar3) goto LAB_00011862;\n    }\n    else {\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\n      DAT_00018248 = (void *)xmalloc();\n      iVar3 = (**(code **)(ppuVar4[1] + 0x108))();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\n      if (iVar3 != 0) goto LAB_00011e91;\n      iVar3 = (**(code **)(ppuVar4[1] + 0x1a8))();\n      if (0 < iVar3) {\n        free(DAT_00018248);\n        DAT_00018248 = (void *)xmalloc();\n        iVar3 = (**(code **)(ppuVar4[1] + 0x1ac))();\n        goto LAB_00011e91;\n      }\n    }\n    free(DAT_00018248);\n    DAT_00018248 = (void *)0x0;\nLAB_00011862:\n    local_ac = DAT_00018250;\n    local_bc = (undefined4 *)PTR_stdin_00017fec;\n    local_b0 = (int *)PTR_stdout_00017ff0;\n    local_9c = ppuVar4;\n    goto LAB_000119df;\n  }\n  switch(iVar3) {\n  case 0:\n    goto code_r0x000115d8;\n  default:\n    break;\n  case 0x43:\n    DAT_0001825c = 1;\n    local_a0 = PTR_optarg_00017ffc;\n    if (*(int *)PTR_optarg_00017ffc != 0) {\n      iVar3 = func_0x00011040();\n      uVar19 = CONCAT44(local_a0,iVar3);\n      if (iVar3 == 0) goto code_r0x00011eed;\n      func_0x000110d0();\n    }\n    goto code_r0x000115d8;\n  case 0x48:\n  case 0x68:\n    FUN_00012130();\n    break;\n  case 0x56:\n  case 0x76:\n    FUN_00013310();\n    goto code_r0x000115d8;\n  case 0x61:\n    DAT_00018264 = 1;\n    goto code_r0x000115d8;\n  case 0x62:\n    local_a4 = *(int **)PTR_optarg_00017ffc;\n    goto code_r0x000115d8;\n  case 0x65:\n    local_9c = (undefined **)*local_b0;\n    goto code_r0x000115d8;\n  case 0x66:\n    DAT_00018260 = 1;\n    goto code_r0x000115d8;\n  case 0x69:\n    DAT_00018268 = 1;\n    goto code_r0x000115d8;\n  case 0x6a:\n    local_a8 = *local_ac;\n    goto code_r0x000115d8;\n  case 0x70:\n    DAT_00018258 = 1;\n    goto code_r0x000115d8;\n  case 0x73:\n    DAT_00018254 = 1;\n    goto code_r0x000115d8;\n  }\n  uVar19 = FUN_00012130();\ncode_r0x00011eed:\n  puVar17 = (undefined4 *)*(int *)((ulonglong)uVar19 >> 0x20);\n  dcgettext();\n  puVar11 = &stack0xffffff30;\n  FUN_000126c0();\nLAB_00011f09:\n  *(undefined4 **)(puVar11 + -4) = puVar17;\n  *(undefined4 *)(puVar11 + -8) = 5;\n  *(char **)(puVar11 + -0xc) = "%s: cannot find section %s";\n  *(undefined4 *)(puVar11 + -0x10) = 0;\n  *(undefined4 *)(puVar11 + -0x14) = 0x11f1a;\n  uVar7 = dcgettext();\n  *(int *)(puVar11 + -8) = local_a8;\n  *(undefined ***)(puVar11 + -0xc) = local_9c;\n  puVar12 = puVar11 + -0x10;\n  *(undefined4 *)(puVar11 + -0x10) = uVar7;\n  *(undefined4 *)(puVar11 + -0x14) = 0x11f2f;\n  FUN_000126c0();\nLAB_00011f2f:\n  *(undefined ***)(puVar12 + -0x10) = local_9c;\n  *(undefined4 *)(puVar12 + -0x14) = 0x11f3d;\n  FUN_00012630();\n  puVar13 = puVar12 + -0x10;\nLAB_00011f3d:\n  puVar10 = puVar13 + -0x10;\n  *(undefined **)(puVar13 + -0x10) = *ppuVar4;\n  *(undefined4 *)(puVar13 + -0x14) = 0x11f47;\n  FUN_00012630();\nLAB_000119cc:\n  do {\n    local_9c = ppuVar4;\n    *(int *)(puVar10 + -0x10) = *local_a4;\n    *(undefined4 *)(puVar10 + -0x14) = 0x119dc;\n    fflush(*(FILE **)(puVar10 + -0x10));\nLAB_000119df:\n    if (local_ac == (int *)0x0) {\n      *(undefined4 *)(puVar10 + -8) = *local_bc;\n      *(undefined4 *)(puVar10 + -0xc) = 100;\n      *(undefined1 **)(puVar10 + -0x10) = local_84;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11a03;\n      pcVar5 = fgets(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc),*(FILE **)(puVar10 + -8));\n      if (pcVar5 == (char *)0x0) {\nLAB_00011e02:\n        ppuVar4 = local_9c;\n        if (DAT_00018248 != (void *)0x0) {\n          *(void **)(puVar10 + -0x10) = DAT_00018248;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11e1b;\n          free(*(void **)(puVar10 + -0x10));\n          DAT_00018248 = (void *)0x0;\n        }\n        *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11e31;\n        bfd_close();\n        return local_c0;\n      }\n      *(undefined4 *)(puVar10 + -8) = 0x10;\n      *(undefined4 *)(puVar10 + -0xc) = 0;\n      *(undefined1 **)(puVar10 + -0x10) = local_84;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11a1b;\n      uVar19 = bfd_scan_vma();\n      puVar2 = local_9c[1];\n      iVar3 = *(int *)(puVar2 + 4);\n    }\n    else {\n      if ((int)DAT_00018250 < 1) goto LAB_00011e02;\n      DAT_00018250 = (int *)((int)DAT_00018250 + -1);\n      *(undefined4 *)(puVar10 + -8) = 0x10;\n      *(undefined4 *)(puVar10 + -0xc) = 0;\n      *(undefined4 *)(puVar10 + -0x10) = *DAT_0001824c;\n      *(undefined4 *)(puVar10 + -0x14) = 0x118cc;\n      DAT_0001824c = DAT_0001824c + 1;\n      uVar19 = bfd_scan_vma();\n      puVar2 = local_9c[1];\n      iVar3 = *(int *)(puVar2 + 4);\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    if (iVar3 == 5) {\n      bVar8 = *(char *)(*(int *)(*(int *)(puVar2 + 0x1c0) + 0x19c) + 10) - 1;\n      pcVar5 = (char *)(1 << (bVar8 & 0x1f));\n      local_98 = pcVar5;\n      local_94 = (char *)(0 << (bVar8 & 0x1f) | 1U >> 0x20 - (bVar8 & 0x1f));\n      if ((bVar8 & 0x20) != 0) {\n        local_98 = (char *)0x0;\n        local_94 = pcVar5;\n      }\n      uVar9 = DAT_00018240 & (int)local_98 * 2 - 1U;\n      uVar18 = DAT_00018244 &\n               (((int)local_94 << 1 | (uint)local_98 >> 0x1f) - 1) + (uint)((int)local_98 * 2 != 0);\n      uVar19 = CONCAT44(uVar18,uVar9);\n      if ((*(byte *)(*(int *)(puVar2 + 0x1c0) + 0x1e9) & 1) != 0) {\n        local_b8 = (char *)(uVar9 ^ (uint)local_98);\n        local_b4 = uVar18 ^ (uint)local_94;\n        uVar19 = CONCAT44((local_b4 - (int)local_94) - (uint)(local_b8 < local_98),\n                          (int)local_b8 - (int)local_98);\n      }\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    local_a4 = local_b0;\n    if (DAT_00018264 != 0) {\n      *(undefined **)(puVar10 + -0x10) = &DAT_00015431;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11aff;\n      printf(*(char **)(puVar10 + -0x10));\n      local_a4 = (int *)PTR_stdout_00017ff0;\n      *(uint *)(puVar10 + -0x14) = DAT_00018244;\n      *(uint *)(puVar10 + -0x18) = DAT_00018240;\n      *(undefined4 *)(puVar10 + -0x1c) = *(undefined4 *)PTR_stdout_00017ff0;\n      *(undefined ***)(puVar10 + -0x20) = local_9c;\n      *(undefined4 *)(puVar10 + -0x24) = 0x11b24;\n      bfd_fprintf_vma();\n      if (DAT_00018258 == 0) {\n        *(undefined4 *)(puVar10 + -0x10) = 10;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11dfa;\n        putchar(*(int *)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n      else {\n        *(undefined **)(puVar10 + -0x10) = &DAT_00015702;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11b44;\n        printf(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    DAT_00018228 = 0;\n    if (local_a8 == 0) {\n      *(undefined4 *)(puVar10 + -8) = 0;\n      *(code **)(puVar10 + -0xc) = FUN_00012210;\n      *(undefined ***)(puVar10 + -0x10) = local_9c;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11b67;\n      bfd_map_over_sections();\n      ppuVar4 = local_9c;\njoined_r0x00011b72:\n      uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      local_9c = ppuVar4;\n      if (DAT_00018228 != 0) {\n        local_a0 = &DAT_00015442;\n        local_98 = "??";\n        do {\n          local_9c = (undefined **)0x15817;\n          do {\n            pcVar5 = DAT_00018234;\n            if (DAT_00018260 != 0) {\n              pcVar6 = local_98;\n              pcVar16 = DAT_00018234;\n              if (DAT_00018234 != (char *)0x0) {\n                if (*DAT_00018234 == '\0') {\n                  pcVar16 = (char *)0x0;\n                }\n                else {\n                  if (DAT_0001825c != 0) {\n                    *(undefined4 *)(puVar10 + -8) = 3;\n                    *(char **)(puVar10 + -0xc) = DAT_00018234;\n                    *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n                    *(undefined4 *)(puVar10 + -0x14) = 0x11db4;\n                    pcVar6 = (char *)bfd_demangle();\n                    pcVar16 = pcVar6;\n                    if (pcVar6 != (char *)0x0) goto LAB_00011bdd;\n                  }\n                  pcVar6 = pcVar5;\n                  pcVar16 = (char *)0x0;\n                }\n              }\nLAB_00011bdd:\n              *(char **)(puVar10 + -0xc) = pcVar6;\n              *(undefined ***)(puVar10 + -0x10) = local_9c;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11bec;\n              printf(*(char **)(puVar10 + -0x10));\n              if (DAT_00018258 == 0) {\n                *(undefined4 *)(puVar10 + -0x10) = 10;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11d8a;\n                putchar(*(int *)(puVar10 + -0x10));\n              }\n              else {\n                *(undefined4 *)(puVar10 + -8) = 5;\n                *(undefined **)(puVar10 + -0xc) = &DAT_0001543d;\n                *(undefined4 *)(puVar10 + -0x10) = 0;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c10;\n                uVar7 = dcgettext();\n                *(undefined4 *)(puVar10 + -0x10) = uVar7;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c18;\n                printf(*(char **)(puVar10 + -0x10));\n              }\n              if (pcVar16 != (char *)0x0) {\n                *(char **)(puVar10 + -0x10) = pcVar16;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c28;\n                free(*(void **)(puVar10 + -0x10));\n              }\n            }\n            pcVar5 = DAT_00018238;\n            if (DAT_00018254 == 0) {\nLAB_00011c5e:\n              pcVar5 = DAT_00018238;\n              if (DAT_00018238 == (char *)0x0) {\nLAB_00011d70:\n                pcVar5 = local_98;\n              }\n            }\n            else {\n              if (DAT_00018238 == (char *)0x0) goto LAB_00011d70;\n              *(undefined4 *)(puVar10 + -0xc) = 0x2f;\n              *(char **)(puVar10 + -0x10) = DAT_00018238;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11c4e;\n              pcVar6 = strrchr(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc));\n              if (pcVar6 != (char *)0x0) {\n                DAT_00018238 = pcVar6 + 1;\n                goto LAB_00011c5e;\n              }\n            }\n            *(char **)(puVar10 + -0xc) = pcVar5;\n            *(undefined **)(puVar10 + -0x10) = local_a0;\n            *(undefined4 *)(puVar10 + -0x14) = 0x11c75;\n            printf(*(char **)(puVar10 + -0x10));\n            if (DAT_00018230 == 0) {\n              *(undefined **)(puVar10 + -0x10) = &DAT_000153c0;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d5f;\n              puts(*(char **)(puVar10 + -0x10));\n            }\n            else if (DAT_0001822c == 0) {\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(undefined **)(puVar10 + -0x10) = &DAT_0001545d;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d48;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            else {\n              *(int *)(puVar10 + -8) = DAT_0001822c;\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(char **)(puVar10 + -0x10) = "%u (discriminator %u)\n";\n              *(undefined4 *)(puVar10 + -0x14) = 0x11ca5;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            if (DAT_00018268 == 0) {\n              DAT_00018228 = 0;\n              goto LAB_000119cc;\n            }\n            puVar2 = ppuVar4[1];\n            *(int **)(puVar10 + -4) = &DAT_00018230;\n            *(char ***)(puVar10 + -8) = &DAT_00018234;\n            *(char ***)(puVar10 + -0xc) = &DAT_00018238;\n            *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n            pcVar1 = *(code **)(puVar2 + 0x130);\n            *(undefined4 *)(puVar10 + -0x14) = 0x11cef;\n            DAT_00018228 = (*pcVar1)();\n            if (DAT_00018228 == 0) goto LAB_000119cc;\n          } while (DAT_00018258 == 0);\n          *(undefined4 *)(puVar10 + -8) = 5;\n          *(char **)(puVar10 + -0xc) = " (inlined by) ";\n          *(undefined4 *)(puVar10 + -0x10) = 0;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11d21;\n          uVar7 = dcgettext();\n          *(undefined4 *)(puVar10 + -0x10) = uVar7;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11d29;\n          printf(*(char **)(puVar10 + -0x10));\n        } while( true );\n      }\n    }\n    else if (((*(byte *)(local_a8 + 0x14) & 1) != 0) &&\n            (DAT_00018244 < *(uint *)(local_a8 + 0x30) ||\n             DAT_00018244 - *(uint *)(local_a8 + 0x30) <\n             (uint)(DAT_00018240 < *(uint *)(local_a8 + 0x2c)))) {\n      puVar2 = local_9c[1];\n      *(int **)(puVar10 + -0x10) = &DAT_0001822c;\n      *(int **)(puVar10 + -0x14) = &DAT_00018230;\n      *(char ***)(puVar10 + -0x18) = &DAT_00018234;\n      *(char ***)(puVar10 + -0x1c) = &DAT_00018238;\n      *(undefined8 *)(puVar10 + -0x24) = uVar19;\n      *(int *)(puVar10 + -0x28) = local_a8;\n      *(void **)(puVar10 + -0x2c) = DAT_00018248;\n      *(undefined ***)(puVar10 + -0x30) = local_9c;\n      pcVar1 = *(code **)(puVar2 + 0x128);\n      *(undefined4 *)(puVar10 + -0x34) = 0x1197f;\n      DAT_00018228 = (*pcVar1)();\n      ppuVar4 = local_9c;\n      goto joined_r0x00011b72;\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    if (DAT_00018260 != 0) {\n      if (DAT_00018258 == 0) {\n        *(undefined **)(puVar10 + -0x10) = &DAT_000153bf;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11ddf;\n        puts(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n      else {\n        *(undefined **)(puVar10 + -0x10) = &DAT_00015434;\n        *(undefined4 *)(puVar10 + -0x14) = 0x119b7;\n        printf(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    *(undefined **)(puVar10 + -0x10) = &DAT_00015438;\n    *(undefined4 *)(puVar10 + -0x14) = 0x119c9;\n    puts(*(char **)(puVar10 + -0x10));\n    ppuVar4 = local_9c;\n  } while( true );\n}" primitive_type (function_declarator "FUN_00011500(int param_1,undefined4 *param_2)" identifier (parameter_list "(int param_1,undefined4 *param_2)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined4 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) ))) (compound_statement "{\n  code *pcVar1;\n  undefined *puVar2;\n  int iVar3;\n  undefined **ppuVar4;\n  char *pcVar5;\n  char *pcVar6;\n  undefined4 uVar7;\n  byte bVar8;\n  uint uVar9;\n  undefined1 *puVar10;\n  undefined1 *puVar11;\n  undefined1 *puVar12;\n  undefined1 *puVar13;\n  undefined1 *puVar14;\n  undefined1 *puVar15;\n  char *pcVar16;\n  undefined4 *puVar17;\n  uint uVar18;\n  undefined8 uVar19;\n  int aiStack_134 [21];\n  int local_c0;\n  undefined4 *local_bc;\n  char *local_b8;\n  uint local_b4;\n  int *local_b0;\n  int *local_ac;\n  int local_a8;\n  int *local_a4;\n  undefined *local_a0;\n  undefined **local_9c;\n  char *local_98;\n  char *local_94;\n  undefined4 local_88;\n  undefined1 local_84 [108];\n  undefined4 *local_18;\n  \n  puVar17 = &param_1;\n  local_18 = puVar17;\n  setlocale(5,"");\n  setlocale(0,"");\n  bindtextdomain();\n  textdomain();\n  DAT_00018278 = *param_2;\n  xmalloc_set_program_name();\n  ppuVar4 = &PTR_s_addresses_00018160;\n  bfd_set_error_program_name();\n  FUN_00013990();\n  bfd_init();\n  FUN_00012710();\n  local_98 = "ab:Ce:sfHhij:pVv";\n  puVar11 = (undefined1 *)&stack0xffffff40;\n  puVar12 = (undefined1 *)&stack0xffffff40;\n  puVar15 = (undefined1 *)&stack0xffffff40;\n  puVar14 = (undefined1 *)&stack0xffffff40;\n  puVar10 = (undefined1 *)&stack0xffffff40;\n  local_a4 = (int *)0x0;\n  local_b0 = (int *)PTR_optarg_00017ffc;\n  local_a8 = 0;\n  local_9c = (undefined **)0x0;\n  local_ac = local_b0;\ncode_r0x000115d8:\n  iVar3 = getopt_long(param_1,param_2,local_98,&PTR_s_addresses_00018160);\n  if (iVar3 == -1) {\n    ppuVar4 = (undefined **)"a.out";\n    if (local_9c != (undefined **)0x0) {\n      ppuVar4 = local_9c;\n    }\n    DAT_0001824c = param_2 + *(int *)PTR_optind_00017fdc;\n    DAT_00018250 = (int *)(param_1 - *(int *)PTR_optind_00017fdc);\n    local_9c = ppuVar4;\n    uVar19 = FUN_00012f60();\n    if ((int)(uint)((int)uVar19 != 0) <= -(int)((ulonglong)uVar19 >> 0x20)) {\n      return 1;\n    }\n    ppuVar4 = (undefined **)bfd_openr();\n    if (ppuVar4 == (undefined **)0x0) goto LAB_00011f2f;\n    ppuVar4[10] = (undefined *)((uint)ppuVar4[10] | 0x100000);\n    local_c0 = bfd_check_format();\n    if (local_c0 != 0) goto LAB_00011f73;\n    iVar3 = bfd_check_format_matches();\n    if (iVar3 == 0) {\n      FUN_000123f0();\n      iVar3 = bfd_get_error();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 == 0xd) goto LAB_00011f92;\n      do {\n        puVar15 = puVar14 + -0x10;\n        *(undefined4 *)(puVar14 + -0x10) = 1;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11f73;\n        xexit();\nLAB_00011f73:\n        *(undefined ***)(puVar15 + -4) = ppuVar4;\n        *(undefined4 *)(puVar15 + -8) = 5;\n        *(char **)(puVar15 + -0xc) = "%s: cannot get addresses from archive";\n        *(undefined4 *)(puVar15 + -0x10) = 0;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11f84;\n        uVar7 = dcgettext();\n        *(undefined ***)(puVar15 + -0xc) = local_9c;\n        *(undefined4 *)(puVar15 + -0x10) = uVar7;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11f92;\n        FUN_000126c0();\n        puVar13 = puVar15 + -0x10;\nLAB_00011f92:\n        puVar14 = puVar13;\n        *(undefined4 *)(puVar14 + -0x10) = local_88;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11f9d;\n        FUN_00012770();\n        *(undefined4 *)(puVar14 + -0x10) = local_88;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11fa6;\n        free(*(void **)(puVar14 + -0x10));\n      } while( true );\n    }\n    iVar3 = local_a8;\n    if ((local_a8 != 0) && (iVar3 = bfd_get_section_by_name(), iVar3 == 0)) goto LAB_00011f09;\n    local_a8 = iVar3;\n    if ((*(byte *)((int)ppuVar4 + 0x29) & 2) == 0) goto LAB_00011862;\n    iVar3 = (**(code **)(ppuVar4[1] + 0x104))();\n    if (iVar3 == 0) {\n      iVar3 = (**(code **)(ppuVar4[1] + 0x1a8))();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\n      DAT_00018248 = (void *)xmalloc();\n      iVar3 = (**(code **)(ppuVar4[1] + 0x1ac))();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\nLAB_00011e91:\n      if (0 < iVar3) goto LAB_00011862;\n    }\n    else {\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\n      DAT_00018248 = (void *)xmalloc();\n      iVar3 = (**(code **)(ppuVar4[1] + 0x108))();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\n      if (iVar3 != 0) goto LAB_00011e91;\n      iVar3 = (**(code **)(ppuVar4[1] + 0x1a8))();\n      if (0 < iVar3) {\n        free(DAT_00018248);\n        DAT_00018248 = (void *)xmalloc();\n        iVar3 = (**(code **)(ppuVar4[1] + 0x1ac))();\n        goto LAB_00011e91;\n      }\n    }\n    free(DAT_00018248);\n    DAT_00018248 = (void *)0x0;\nLAB_00011862:\n    local_ac = DAT_00018250;\n    local_bc = (undefined4 *)PTR_stdin_00017fec;\n    local_b0 = (int *)PTR_stdout_00017ff0;\n    local_9c = ppuVar4;\n    goto LAB_000119df;\n  }\n  switch(iVar3) {\n  case 0:\n    goto code_r0x000115d8;\n  default:\n    break;\n  case 0x43:\n    DAT_0001825c = 1;\n    local_a0 = PTR_optarg_00017ffc;\n    if (*(int *)PTR_optarg_00017ffc != 0) {\n      iVar3 = func_0x00011040();\n      uVar19 = CONCAT44(local_a0,iVar3);\n      if (iVar3 == 0) goto code_r0x00011eed;\n      func_0x000110d0();\n    }\n    goto code_r0x000115d8;\n  case 0x48:\n  case 0x68:\n    FUN_00012130();\n    break;\n  case 0x56:\n  case 0x76:\n    FUN_00013310();\n    goto code_r0x000115d8;\n  case 0x61:\n    DAT_00018264 = 1;\n    goto code_r0x000115d8;\n  case 0x62:\n    local_a4 = *(int **)PTR_optarg_00017ffc;\n    goto code_r0x000115d8;\n  case 0x65:\n    local_9c = (undefined **)*local_b0;\n    goto code_r0x000115d8;\n  case 0x66:\n    DAT_00018260 = 1;\n    goto code_r0x000115d8;\n  case 0x69:\n    DAT_00018268 = 1;\n    goto code_r0x000115d8;\n  case 0x6a:\n    local_a8 = *local_ac;\n    goto code_r0x000115d8;\n  case 0x70:\n    DAT_00018258 = 1;\n    goto code_r0x000115d8;\n  case 0x73:\n    DAT_00018254 = 1;\n    goto code_r0x000115d8;\n  }\n  uVar19 = FUN_00012130();\ncode_r0x00011eed:\n  puVar17 = (undefined4 *)*(int *)((ulonglong)uVar19 >> 0x20);\n  dcgettext();\n  puVar11 = &stack0xffffff30;\n  FUN_000126c0();\nLAB_00011f09:\n  *(undefined4 **)(puVar11 + -4) = puVar17;\n  *(undefined4 *)(puVar11 + -8) = 5;\n  *(char **)(puVar11 + -0xc) = "%s: cannot find section %s";\n  *(undefined4 *)(puVar11 + -0x10) = 0;\n  *(undefined4 *)(puVar11 + -0x14) = 0x11f1a;\n  uVar7 = dcgettext();\n  *(int *)(puVar11 + -8) = local_a8;\n  *(undefined ***)(puVar11 + -0xc) = local_9c;\n  puVar12 = puVar11 + -0x10;\n  *(undefined4 *)(puVar11 + -0x10) = uVar7;\n  *(undefined4 *)(puVar11 + -0x14) = 0x11f2f;\n  FUN_000126c0();\nLAB_00011f2f:\n  *(undefined ***)(puVar12 + -0x10) = local_9c;\n  *(undefined4 *)(puVar12 + -0x14) = 0x11f3d;\n  FUN_00012630();\n  puVar13 = puVar12 + -0x10;\nLAB_00011f3d:\n  puVar10 = puVar13 + -0x10;\n  *(undefined **)(puVar13 + -0x10) = *ppuVar4;\n  *(undefined4 *)(puVar13 + -0x14) = 0x11f47;\n  FUN_00012630();\nLAB_000119cc:\n  do {\n    local_9c = ppuVar4;\n    *(int *)(puVar10 + -0x10) = *local_a4;\n    *(undefined4 *)(puVar10 + -0x14) = 0x119dc;\n    fflush(*(FILE **)(puVar10 + -0x10));\nLAB_000119df:\n    if (local_ac == (int *)0x0) {\n      *(undefined4 *)(puVar10 + -8) = *local_bc;\n      *(undefined4 *)(puVar10 + -0xc) = 100;\n      *(undefined1 **)(puVar10 + -0x10) = local_84;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11a03;\n      pcVar5 = fgets(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc),*(FILE **)(puVar10 + -8));\n      if (pcVar5 == (char *)0x0) {\nLAB_00011e02:\n        ppuVar4 = local_9c;\n        if (DAT_00018248 != (void *)0x0) {\n          *(void **)(puVar10 + -0x10) = DAT_00018248;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11e1b;\n          free(*(void **)(puVar10 + -0x10));\n          DAT_00018248 = (void *)0x0;\n        }\n        *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11e31;\n        bfd_close();\n        return local_c0;\n      }\n      *(undefined4 *)(puVar10 + -8) = 0x10;\n      *(undefined4 *)(puVar10 + -0xc) = 0;\n      *(undefined1 **)(puVar10 + -0x10) = local_84;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11a1b;\n      uVar19 = bfd_scan_vma();\n      puVar2 = local_9c[1];\n      iVar3 = *(int *)(puVar2 + 4);\n    }\n    else {\n      if ((int)DAT_00018250 < 1) goto LAB_00011e02;\n      DAT_00018250 = (int *)((int)DAT_00018250 + -1);\n      *(undefined4 *)(puVar10 + -8) = 0x10;\n      *(undefined4 *)(puVar10 + -0xc) = 0;\n      *(undefined4 *)(puVar10 + -0x10) = *DAT_0001824c;\n      *(undefined4 *)(puVar10 + -0x14) = 0x118cc;\n      DAT_0001824c = DAT_0001824c + 1;\n      uVar19 = bfd_scan_vma();\n      puVar2 = local_9c[1];\n      iVar3 = *(int *)(puVar2 + 4);\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    if (iVar3 == 5) {\n      bVar8 = *(char *)(*(int *)(*(int *)(puVar2 + 0x1c0) + 0x19c) + 10) - 1;\n      pcVar5 = (char *)(1 << (bVar8 & 0x1f));\n      local_98 = pcVar5;\n      local_94 = (char *)(0 << (bVar8 & 0x1f) | 1U >> 0x20 - (bVar8 & 0x1f));\n      if ((bVar8 & 0x20) != 0) {\n        local_98 = (char *)0x0;\n        local_94 = pcVar5;\n      }\n      uVar9 = DAT_00018240 & (int)local_98 * 2 - 1U;\n      uVar18 = DAT_00018244 &\n               (((int)local_94 << 1 | (uint)local_98 >> 0x1f) - 1) + (uint)((int)local_98 * 2 != 0);\n      uVar19 = CONCAT44(uVar18,uVar9);\n      if ((*(byte *)(*(int *)(puVar2 + 0x1c0) + 0x1e9) & 1) != 0) {\n        local_b8 = (char *)(uVar9 ^ (uint)local_98);\n        local_b4 = uVar18 ^ (uint)local_94;\n        uVar19 = CONCAT44((local_b4 - (int)local_94) - (uint)(local_b8 < local_98),\n                          (int)local_b8 - (int)local_98);\n      }\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    local_a4 = local_b0;\n    if (DAT_00018264 != 0) {\n      *(undefined **)(puVar10 + -0x10) = &DAT_00015431;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11aff;\n      printf(*(char **)(puVar10 + -0x10));\n      local_a4 = (int *)PTR_stdout_00017ff0;\n      *(uint *)(puVar10 + -0x14) = DAT_00018244;\n      *(uint *)(puVar10 + -0x18) = DAT_00018240;\n      *(undefined4 *)(puVar10 + -0x1c) = *(undefined4 *)PTR_stdout_00017ff0;\n      *(undefined ***)(puVar10 + -0x20) = local_9c;\n      *(undefined4 *)(puVar10 + -0x24) = 0x11b24;\n      bfd_fprintf_vma();\n      if (DAT_00018258 == 0) {\n        *(undefined4 *)(puVar10 + -0x10) = 10;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11dfa;\n        putchar(*(int *)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n      else {\n        *(undefined **)(puVar10 + -0x10) = &DAT_00015702;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11b44;\n        printf(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    DAT_00018228 = 0;\n    if (local_a8 == 0) {\n      *(undefined4 *)(puVar10 + -8) = 0;\n      *(code **)(puVar10 + -0xc) = FUN_00012210;\n      *(undefined ***)(puVar10 + -0x10) = local_9c;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11b67;\n      bfd_map_over_sections();\n      ppuVar4 = local_9c;\njoined_r0x00011b72:\n      uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      local_9c = ppuVar4;\n      if (DAT_00018228 != 0) {\n        local_a0 = &DAT_00015442;\n        local_98 = "??";\n        do {\n          local_9c = (undefined **)0x15817;\n          do {\n            pcVar5 = DAT_00018234;\n            if (DAT_00018260 != 0) {\n              pcVar6 = local_98;\n              pcVar16 = DAT_00018234;\n              if (DAT_00018234 != (char *)0x0) {\n                if (*DAT_00018234 == '\0') {\n                  pcVar16 = (char *)0x0;\n                }\n                else {\n                  if (DAT_0001825c != 0) {\n                    *(undefined4 *)(puVar10 + -8) = 3;\n                    *(char **)(puVar10 + -0xc) = DAT_00018234;\n                    *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n                    *(undefined4 *)(puVar10 + -0x14) = 0x11db4;\n                    pcVar6 = (char *)bfd_demangle();\n                    pcVar16 = pcVar6;\n                    if (pcVar6 != (char *)0x0) goto LAB_00011bdd;\n                  }\n                  pcVar6 = pcVar5;\n                  pcVar16 = (char *)0x0;\n                }\n              }\nLAB_00011bdd:\n              *(char **)(puVar10 + -0xc) = pcVar6;\n              *(undefined ***)(puVar10 + -0x10) = local_9c;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11bec;\n              printf(*(char **)(puVar10 + -0x10));\n              if (DAT_00018258 == 0) {\n                *(undefined4 *)(puVar10 + -0x10) = 10;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11d8a;\n                putchar(*(int *)(puVar10 + -0x10));\n              }\n              else {\n                *(undefined4 *)(puVar10 + -8) = 5;\n                *(undefined **)(puVar10 + -0xc) = &DAT_0001543d;\n                *(undefined4 *)(puVar10 + -0x10) = 0;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c10;\n                uVar7 = dcgettext();\n                *(undefined4 *)(puVar10 + -0x10) = uVar7;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c18;\n                printf(*(char **)(puVar10 + -0x10));\n              }\n              if (pcVar16 != (char *)0x0) {\n                *(char **)(puVar10 + -0x10) = pcVar16;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c28;\n                free(*(void **)(puVar10 + -0x10));\n              }\n            }\n            pcVar5 = DAT_00018238;\n            if (DAT_00018254 == 0) {\nLAB_00011c5e:\n              pcVar5 = DAT_00018238;\n              if (DAT_00018238 == (char *)0x0) {\nLAB_00011d70:\n                pcVar5 = local_98;\n              }\n            }\n            else {\n              if (DAT_00018238 == (char *)0x0) goto LAB_00011d70;\n              *(undefined4 *)(puVar10 + -0xc) = 0x2f;\n              *(char **)(puVar10 + -0x10) = DAT_00018238;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11c4e;\n              pcVar6 = strrchr(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc));\n              if (pcVar6 != (char *)0x0) {\n                DAT_00018238 = pcVar6 + 1;\n                goto LAB_00011c5e;\n              }\n            }\n            *(char **)(puVar10 + -0xc) = pcVar5;\n            *(undefined **)(puVar10 + -0x10) = local_a0;\n            *(undefined4 *)(puVar10 + -0x14) = 0x11c75;\n            printf(*(char **)(puVar10 + -0x10));\n            if (DAT_00018230 == 0) {\n              *(undefined **)(puVar10 + -0x10) = &DAT_000153c0;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d5f;\n              puts(*(char **)(puVar10 + -0x10));\n            }\n            else if (DAT_0001822c == 0) {\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(undefined **)(puVar10 + -0x10) = &DAT_0001545d;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d48;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            else {\n              *(int *)(puVar10 + -8) = DAT_0001822c;\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(char **)(puVar10 + -0x10) = "%u (discriminator %u)\n";\n              *(undefined4 *)(puVar10 + -0x14) = 0x11ca5;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            if (DAT_00018268 == 0) {\n              DAT_00018228 = 0;\n              goto LAB_000119cc;\n            }\n            puVar2 = ppuVar4[1];\n            *(int **)(puVar10 + -4) = &DAT_00018230;\n            *(char ***)(puVar10 + -8) = &DAT_00018234;\n            *(char ***)(puVar10 + -0xc) = &DAT_00018238;\n            *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n            pcVar1 = *(code **)(puVar2 + 0x130);\n            *(undefined4 *)(puVar10 + -0x14) = 0x11cef;\n            DAT_00018228 = (*pcVar1)();\n            if (DAT_00018228 == 0) goto LAB_000119cc;\n          } while (DAT_00018258 == 0);\n          *(undefined4 *)(puVar10 + -8) = 5;\n          *(char **)(puVar10 + -0xc) = " (inlined by) ";\n          *(undefined4 *)(puVar10 + -0x10) = 0;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11d21;\n          uVar7 = dcgettext();\n          *(undefined4 *)(puVar10 + -0x10) = uVar7;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11d29;\n          printf(*(char **)(puVar10 + -0x10));\n        } while( true );\n      }\n    }\n    else if (((*(byte *)(local_a8 + 0x14) & 1) != 0) &&\n            (DAT_00018244 < *(uint *)(local_a8 + 0x30) ||\n             DAT_00018244 - *(uint *)(local_a8 + 0x30) <\n             (uint)(DAT_00018240 < *(uint *)(local_a8 + 0x2c)))) {\n      puVar2 = local_9c[1];\n      *(int **)(puVar10 + -0x10) = &DAT_0001822c;\n      *(int **)(puVar10 + -0x14) = &DAT_00018230;\n      *(char ***)(puVar10 + -0x18) = &DAT_00018234;\n      *(char ***)(puVar10 + -0x1c) = &DAT_00018238;\n      *(undefined8 *)(puVar10 + -0x24) = uVar19;\n      *(int *)(puVar10 + -0x28) = local_a8;\n      *(void **)(puVar10 + -0x2c) = DAT_00018248;\n      *(undefined ***)(puVar10 + -0x30) = local_9c;\n      pcVar1 = *(code **)(puVar2 + 0x128);\n      *(undefined4 *)(puVar10 + -0x34) = 0x1197f;\n      DAT_00018228 = (*pcVar1)();\n      ppuVar4 = local_9c;\n      goto joined_r0x00011b72;\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    if (DAT_00018260 != 0) {\n      if (DAT_00018258 == 0) {\n        *(undefined **)(puVar10 + -0x10) = &DAT_000153bf;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11ddf;\n        puts(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n      else {\n        *(undefined **)(puVar10 + -0x10) = &DAT_00015434;\n        *(undefined4 *)(puVar10 + -0x14) = 0x119b7;\n        printf(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    *(undefined **)(puVar10 + -0x10) = &DAT_00015438;\n    *(undefined4 *)(puVar10 + -0x14) = 0x119c9;\n    puts(*(char **)(puVar10 + -0x10));\n    ppuVar4 = local_9c;\n  } while( true );\n}" { (declaration "code *pcVar1;" type_identifier (pointer_declarator "*pcVar1" * identifier) ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "undefined **ppuVar4;" type_identifier (pointer_declarator "**ppuVar4" * (pointer_declarator "*ppuVar4" * identifier)) ;) (declaration "char *pcVar5;" primitive_type (pointer_declarator "*pcVar5" * identifier) ;) (declaration "char *pcVar6;" primitive_type (pointer_declarator "*pcVar6" * identifier) ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "byte bVar8;" type_identifier identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "undefined1 *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "undefined1 *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "undefined1 *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "undefined1 *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "undefined1 *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "undefined1 *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "char *pcVar16;" primitive_type (pointer_declarator "*pcVar16" * identifier) ;) (declaration "undefined4 *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "uint uVar18;" type_identifier identifier ;) (declaration "undefined8 uVar19;" type_identifier identifier ;) (declaration "int aiStack_134 [21];" primitive_type (array_declarator "aiStack_134 [21]" identifier [ number_literal ]) ;) (declaration "int local_c0;" primitive_type identifier ;) (declaration "undefined4 *local_bc;" type_identifier (pointer_declarator "*local_bc" * identifier) ;) (declaration "char *local_b8;" primitive_type (pointer_declarator "*local_b8" * identifier) ;) (declaration "uint local_b4;" type_identifier identifier ;) (declaration "int *local_b0;" primitive_type (pointer_declarator "*local_b0" * identifier) ;) (declaration "int *local_ac;" primitive_type (pointer_declarator "*local_ac" * identifier) ;) (declaration "int local_a8;" primitive_type identifier ;) (declaration "int *local_a4;" primitive_type (pointer_declarator "*local_a4" * identifier) ;) (declaration "undefined *local_a0;" type_identifier (pointer_declarator "*local_a0" * identifier) ;) (declaration "undefined **local_9c;" type_identifier (pointer_declarator "**local_9c" * (pointer_declarator "*local_9c" * identifier)) ;) (declaration "char *local_98;" primitive_type (pointer_declarator "*local_98" * identifier) ;) (declaration "char *local_94;" primitive_type (pointer_declarator "*local_94" * identifier) ;) (declaration "undefined4 local_88;" type_identifier identifier ;) (declaration "undefined1 local_84 [108];" type_identifier (array_declarator "local_84 [108]" identifier [ number_literal ]) ;) (declaration "undefined4 *local_18;" type_identifier (pointer_declarator "*local_18" * identifier) ;) (expression_statement "puVar17 = &param_1;" (assignment_expression "puVar17 = &param_1" identifier = (pointer_expression "&param_1" & identifier)) ;) (expression_statement "local_18 = puVar17;" (assignment_expression "local_18 = puVar17" identifier = identifier) ;) (expression_statement "setlocale(5,"");" (call_expression "setlocale(5,"")" identifier (argument_list "(5,"")" ( number_literal , (string_literal """" " ") ))) ;) (expression_statement "setlocale(0,"");" (call_expression "setlocale(0,"")" identifier (argument_list "(0,"")" ( number_literal , (string_literal """" " ") ))) ;) (expression_statement "bindtextdomain();" (call_expression "bindtextdomain()" identifier (argument_list "()" ( ))) ;) (expression_statement "textdomain();" (call_expression "textdomain()" identifier (argument_list "()" ( ))) ;) (expression_statement "DAT_00018278 = *param_2;" (assignment_expression "DAT_00018278 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "xmalloc_set_program_name();" (call_expression "xmalloc_set_program_name()" identifier (argument_list "()" ( ))) ;) (expression_statement "ppuVar4 = &PTR_s_addresses_00018160;" (assignment_expression "ppuVar4 = &PTR_s_addresses_00018160" identifier = (pointer_expression "&PTR_s_addresses_00018160" & identifier)) ;) (expression_statement "bfd_set_error_program_name();" (call_expression "bfd_set_error_program_name()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_00013990();" (call_expression "FUN_00013990()" identifier (argument_list "()" ( ))) ;) (expression_statement "bfd_init();" (call_expression "bfd_init()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_00012710();" (call_expression "FUN_00012710()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_98 = "ab:Ce:sfHhij:pVv";" (assignment_expression "local_98 = "ab:Ce:sfHhij:pVv"" identifier = (string_literal ""ab:Ce:sfHhij:pVv"" " string_content ")) ;) (expression_statement "puVar11 = (undefined1 *)&stack0xffffff40;" (assignment_expression "puVar11 = (undefined1 *)&stack0xffffff40" identifier = (cast_expression "(undefined1 *)&stack0xffffff40" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&stack0xffffff40" & identifier))) ;) (expression_statement "puVar12 = (undefined1 *)&stack0xffffff40;" (assignment_expression "puVar12 = (undefined1 *)&stack0xffffff40" identifier = (cast_expression "(undefined1 *)&stack0xffffff40" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&stack0xffffff40" & identifier))) ;) (expression_statement "puVar15 = (undefined1 *)&stack0xffffff40;" (assignment_expression "puVar15 = (undefined1 *)&stack0xffffff40" identifier = (cast_expression "(undefined1 *)&stack0xffffff40" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&stack0xffffff40" & identifier))) ;) (expression_statement "puVar14 = (undefined1 *)&stack0xffffff40;" (assignment_expression "puVar14 = (undefined1 *)&stack0xffffff40" identifier = (cast_expression "(undefined1 *)&stack0xffffff40" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&stack0xffffff40" & identifier))) ;) (expression_statement "puVar10 = (undefined1 *)&stack0xffffff40;" (assignment_expression "puVar10 = (undefined1 *)&stack0xffffff40" identifier = (cast_expression "(undefined1 *)&stack0xffffff40" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&stack0xffffff40" & identifier))) ;) (expression_statement "local_a4 = (int *)0x0;" (assignment_expression "local_a4 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_b0 = (int *)PTR_optarg_00017ffc;" (assignment_expression "local_b0 = (int *)PTR_optarg_00017ffc" identifier = (cast_expression "(int *)PTR_optarg_00017ffc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "local_a8 = 0;" (assignment_expression "local_a8 = 0" identifier = number_literal) ;) (expression_statement "local_9c = (undefined **)0x0;" (assignment_expression "local_9c = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "local_ac = local_b0;" (assignment_expression "local_ac = local_b0" identifier = identifier) ;) (labeled_statement "code_r0x000115d8:\n  iVar3 = getopt_long(param_1,param_2,local_98,&PTR_s_addresses_00018160);" statement_identifier : (expression_statement "iVar3 = getopt_long(param_1,param_2,local_98,&PTR_s_addresses_00018160);" (assignment_expression "iVar3 = getopt_long(param_1,param_2,local_98,&PTR_s_addresses_00018160)" identifier = (call_expression "getopt_long(param_1,param_2,local_98,&PTR_s_addresses_00018160)" identifier (argument_list "(param_1,param_2,local_98,&PTR_s_addresses_00018160)" ( identifier , identifier , identifier , (pointer_expression "&PTR_s_addresses_00018160" & identifier) )))) ;)) (if_statement "if (iVar3 == -1) {\n    ppuVar4 = (undefined **)"a.out";\n    if (local_9c != (undefined **)0x0) {\n      ppuVar4 = local_9c;\n    }\n    DAT_0001824c = param_2 + *(int *)PTR_optind_00017fdc;\n    DAT_00018250 = (int *)(param_1 - *(int *)PTR_optind_00017fdc);\n    local_9c = ppuVar4;\n    uVar19 = FUN_00012f60();\n    if ((int)(uint)((int)uVar19 != 0) <= -(int)((ulonglong)uVar19 >> 0x20)) {\n      return 1;\n    }\n    ppuVar4 = (undefined **)bfd_openr();\n    if (ppuVar4 == (undefined **)0x0) goto LAB_00011f2f;\n    ppuVar4[10] = (undefined *)((uint)ppuVar4[10] | 0x100000);\n    local_c0 = bfd_check_format();\n    if (local_c0 != 0) goto LAB_00011f73;\n    iVar3 = bfd_check_format_matches();\n    if (iVar3 == 0) {\n      FUN_000123f0();\n      iVar3 = bfd_get_error();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 == 0xd) goto LAB_00011f92;\n      do {\n        puVar15 = puVar14 + -0x10;\n        *(undefined4 *)(puVar14 + -0x10) = 1;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11f73;\n        xexit();\nLAB_00011f73:\n        *(undefined ***)(puVar15 + -4) = ppuVar4;\n        *(undefined4 *)(puVar15 + -8) = 5;\n        *(char **)(puVar15 + -0xc) = "%s: cannot get addresses from archive";\n        *(undefined4 *)(puVar15 + -0x10) = 0;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11f84;\n        uVar7 = dcgettext();\n        *(undefined ***)(puVar15 + -0xc) = local_9c;\n        *(undefined4 *)(puVar15 + -0x10) = uVar7;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11f92;\n        FUN_000126c0();\n        puVar13 = puVar15 + -0x10;\nLAB_00011f92:\n        puVar14 = puVar13;\n        *(undefined4 *)(puVar14 + -0x10) = local_88;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11f9d;\n        FUN_00012770();\n        *(undefined4 *)(puVar14 + -0x10) = local_88;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11fa6;\n        free(*(void **)(puVar14 + -0x10));\n      } while( true );\n    }\n    iVar3 = local_a8;\n    if ((local_a8 != 0) && (iVar3 = bfd_get_section_by_name(), iVar3 == 0)) goto LAB_00011f09;\n    local_a8 = iVar3;\n    if ((*(byte *)((int)ppuVar4 + 0x29) & 2) == 0) goto LAB_00011862;\n    iVar3 = (**(code **)(ppuVar4[1] + 0x104))();\n    if (iVar3 == 0) {\n      iVar3 = (**(code **)(ppuVar4[1] + 0x1a8))();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\n      DAT_00018248 = (void *)xmalloc();\n      iVar3 = (**(code **)(ppuVar4[1] + 0x1ac))();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\nLAB_00011e91:\n      if (0 < iVar3) goto LAB_00011862;\n    }\n    else {\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\n      DAT_00018248 = (void *)xmalloc();\n      iVar3 = (**(code **)(ppuVar4[1] + 0x108))();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\n      if (iVar3 != 0) goto LAB_00011e91;\n      iVar3 = (**(code **)(ppuVar4[1] + 0x1a8))();\n      if (0 < iVar3) {\n        free(DAT_00018248);\n        DAT_00018248 = (void *)xmalloc();\n        iVar3 = (**(code **)(ppuVar4[1] + 0x1ac))();\n        goto LAB_00011e91;\n      }\n    }\n    free(DAT_00018248);\n    DAT_00018248 = (void *)0x0;\nLAB_00011862:\n    local_ac = DAT_00018250;\n    local_bc = (undefined4 *)PTR_stdin_00017fec;\n    local_b0 = (int *)PTR_stdout_00017ff0;\n    local_9c = ppuVar4;\n    goto LAB_000119df;\n  }" if (parenthesized_expression "(iVar3 == -1)" ( (binary_expression "iVar3 == -1" identifier == number_literal) )) (compound_statement "{\n    ppuVar4 = (undefined **)"a.out";\n    if (local_9c != (undefined **)0x0) {\n      ppuVar4 = local_9c;\n    }\n    DAT_0001824c = param_2 + *(int *)PTR_optind_00017fdc;\n    DAT_00018250 = (int *)(param_1 - *(int *)PTR_optind_00017fdc);\n    local_9c = ppuVar4;\n    uVar19 = FUN_00012f60();\n    if ((int)(uint)((int)uVar19 != 0) <= -(int)((ulonglong)uVar19 >> 0x20)) {\n      return 1;\n    }\n    ppuVar4 = (undefined **)bfd_openr();\n    if (ppuVar4 == (undefined **)0x0) goto LAB_00011f2f;\n    ppuVar4[10] = (undefined *)((uint)ppuVar4[10] | 0x100000);\n    local_c0 = bfd_check_format();\n    if (local_c0 != 0) goto LAB_00011f73;\n    iVar3 = bfd_check_format_matches();\n    if (iVar3 == 0) {\n      FUN_000123f0();\n      iVar3 = bfd_get_error();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 == 0xd) goto LAB_00011f92;\n      do {\n        puVar15 = puVar14 + -0x10;\n        *(undefined4 *)(puVar14 + -0x10) = 1;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11f73;\n        xexit();\nLAB_00011f73:\n        *(undefined ***)(puVar15 + -4) = ppuVar4;\n        *(undefined4 *)(puVar15 + -8) = 5;\n        *(char **)(puVar15 + -0xc) = "%s: cannot get addresses from archive";\n        *(undefined4 *)(puVar15 + -0x10) = 0;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11f84;\n        uVar7 = dcgettext();\n        *(undefined ***)(puVar15 + -0xc) = local_9c;\n        *(undefined4 *)(puVar15 + -0x10) = uVar7;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11f92;\n        FUN_000126c0();\n        puVar13 = puVar15 + -0x10;\nLAB_00011f92:\n        puVar14 = puVar13;\n        *(undefined4 *)(puVar14 + -0x10) = local_88;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11f9d;\n        FUN_00012770();\n        *(undefined4 *)(puVar14 + -0x10) = local_88;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11fa6;\n        free(*(void **)(puVar14 + -0x10));\n      } while( true );\n    }\n    iVar3 = local_a8;\n    if ((local_a8 != 0) && (iVar3 = bfd_get_section_by_name(), iVar3 == 0)) goto LAB_00011f09;\n    local_a8 = iVar3;\n    if ((*(byte *)((int)ppuVar4 + 0x29) & 2) == 0) goto LAB_00011862;\n    iVar3 = (**(code **)(ppuVar4[1] + 0x104))();\n    if (iVar3 == 0) {\n      iVar3 = (**(code **)(ppuVar4[1] + 0x1a8))();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\n      DAT_00018248 = (void *)xmalloc();\n      iVar3 = (**(code **)(ppuVar4[1] + 0x1ac))();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\nLAB_00011e91:\n      if (0 < iVar3) goto LAB_00011862;\n    }\n    else {\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\n      DAT_00018248 = (void *)xmalloc();\n      iVar3 = (**(code **)(ppuVar4[1] + 0x108))();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\n      if (iVar3 != 0) goto LAB_00011e91;\n      iVar3 = (**(code **)(ppuVar4[1] + 0x1a8))();\n      if (0 < iVar3) {\n        free(DAT_00018248);\n        DAT_00018248 = (void *)xmalloc();\n        iVar3 = (**(code **)(ppuVar4[1] + 0x1ac))();\n        goto LAB_00011e91;\n      }\n    }\n    free(DAT_00018248);\n    DAT_00018248 = (void *)0x0;\nLAB_00011862:\n    local_ac = DAT_00018250;\n    local_bc = (undefined4 *)PTR_stdin_00017fec;\n    local_b0 = (int *)PTR_stdout_00017ff0;\n    local_9c = ppuVar4;\n    goto LAB_000119df;\n  }" { (expression_statement "ppuVar4 = (undefined **)"a.out";" (assignment_expression "ppuVar4 = (undefined **)"a.out"" identifier = (cast_expression "(undefined **)"a.out"" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (string_literal ""a.out"" " string_content "))) ;) (if_statement "if (local_9c != (undefined **)0x0) {\n      ppuVar4 = local_9c;\n    }" if (parenthesized_expression "(local_9c != (undefined **)0x0)" ( (binary_expression "local_9c != (undefined **)0x0" identifier != (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n      ppuVar4 = local_9c;\n    }" { (expression_statement "ppuVar4 = local_9c;" (assignment_expression "ppuVar4 = local_9c" identifier = identifier) ;) })) (expression_statement "DAT_0001824c = param_2 + *(int *)PTR_optind_00017fdc;" (assignment_expression "DAT_0001824c = param_2 + *(int *)PTR_optind_00017fdc" identifier = (binary_expression "param_2 + *(int *)PTR_optind_00017fdc" identifier + (pointer_expression "*(int *)PTR_optind_00017fdc" * (cast_expression "(int *)PTR_optind_00017fdc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "DAT_00018250 = (int *)(param_1 - *(int *)PTR_optind_00017fdc);" (assignment_expression "DAT_00018250 = (int *)(param_1 - *(int *)PTR_optind_00017fdc)" identifier = (cast_expression "(int *)(param_1 - *(int *)PTR_optind_00017fdc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 - *(int *)PTR_optind_00017fdc)" ( (binary_expression "param_1 - *(int *)PTR_optind_00017fdc" identifier - (pointer_expression "*(int *)PTR_optind_00017fdc" * (cast_expression "(int *)PTR_optind_00017fdc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )))) ;) (expression_statement "local_9c = ppuVar4;" (assignment_expression "local_9c = ppuVar4" identifier = identifier) ;) (expression_statement "uVar19 = FUN_00012f60();" (assignment_expression "uVar19 = FUN_00012f60()" identifier = (call_expression "FUN_00012f60()" identifier (argument_list "()" ( )))) ;) (if_statement "if ((int)(uint)((int)uVar19 != 0) <= -(int)((ulonglong)uVar19 >> 0x20)) {\n      return 1;\n    }" if (parenthesized_expression "((int)(uint)((int)uVar19 != 0) <= -(int)((ulonglong)uVar19 >> 0x20))" ( (binary_expression "(int)(uint)((int)uVar19 != 0) <= -(int)((ulonglong)uVar19 >> 0x20)" (cast_expression "(int)(uint)((int)uVar19 != 0)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)((int)uVar19 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)uVar19 != 0)" ( (binary_expression "(int)uVar19 != 0" (cast_expression "(int)uVar19" ( (type_descriptor "int" primitive_type) ) identifier) != number_literal) )))) <= (unary_expression "-(int)((ulonglong)uVar19 >> 0x20)" - (cast_expression "(int)((ulonglong)uVar19 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar19 >> 0x20)" ( (binary_expression "(ulonglong)uVar19 >> 0x20" (cast_expression "(ulonglong)uVar19" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))))) )) (compound_statement "{\n      return 1;\n    }" { (return_statement "return 1;" return number_literal ;) })) (expression_statement "ppuVar4 = (undefined **)bfd_openr();" (assignment_expression "ppuVar4 = (undefined **)bfd_openr()" identifier = (cast_expression "(undefined **)bfd_openr()" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "bfd_openr()" identifier (argument_list "()" ( ))))) ;) (if_statement "if (ppuVar4 == (undefined **)0x0) goto LAB_00011f2f;" if (parenthesized_expression "(ppuVar4 == (undefined **)0x0)" ( (binary_expression "ppuVar4 == (undefined **)0x0" identifier == (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (goto_statement "goto LAB_00011f2f;" goto statement_identifier ;)) (expression_statement "ppuVar4[10] = (undefined *)((uint)ppuVar4[10] | 0x100000);" (assignment_expression "ppuVar4[10] = (undefined *)((uint)ppuVar4[10] | 0x100000)" (subscript_expression "ppuVar4[10]" identifier [ number_literal ]) = (cast_expression "(undefined *)((uint)ppuVar4[10] | 0x100000)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)ppuVar4[10] | 0x100000)" ( (binary_expression "(uint)ppuVar4[10] | 0x100000" (cast_expression "(uint)ppuVar4[10]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "ppuVar4[10]" identifier [ number_literal ])) | number_literal) )))) ;) (expression_statement "local_c0 = bfd_check_format();" (assignment_expression "local_c0 = bfd_check_format()" identifier = (call_expression "bfd_check_format()" identifier (argument_list "()" ( )))) ;) (if_statement "if (local_c0 != 0) goto LAB_00011f73;" if (parenthesized_expression "(local_c0 != 0)" ( (binary_expression "local_c0 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00011f73;" goto statement_identifier ;)) (expression_statement "iVar3 = bfd_check_format_matches();" (assignment_expression "iVar3 = bfd_check_format_matches()" identifier = (call_expression "bfd_check_format_matches()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar3 == 0) {\n      FUN_000123f0();\n      iVar3 = bfd_get_error();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 == 0xd) goto LAB_00011f92;\n      do {\n        puVar15 = puVar14 + -0x10;\n        *(undefined4 *)(puVar14 + -0x10) = 1;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11f73;\n        xexit();\nLAB_00011f73:\n        *(undefined ***)(puVar15 + -4) = ppuVar4;\n        *(undefined4 *)(puVar15 + -8) = 5;\n        *(char **)(puVar15 + -0xc) = "%s: cannot get addresses from archive";\n        *(undefined4 *)(puVar15 + -0x10) = 0;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11f84;\n        uVar7 = dcgettext();\n        *(undefined ***)(puVar15 + -0xc) = local_9c;\n        *(undefined4 *)(puVar15 + -0x10) = uVar7;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11f92;\n        FUN_000126c0();\n        puVar13 = puVar15 + -0x10;\nLAB_00011f92:\n        puVar14 = puVar13;\n        *(undefined4 *)(puVar14 + -0x10) = local_88;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11f9d;\n        FUN_00012770();\n        *(undefined4 *)(puVar14 + -0x10) = local_88;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11fa6;\n        free(*(void **)(puVar14 + -0x10));\n      } while( true );\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      FUN_000123f0();\n      iVar3 = bfd_get_error();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 == 0xd) goto LAB_00011f92;\n      do {\n        puVar15 = puVar14 + -0x10;\n        *(undefined4 *)(puVar14 + -0x10) = 1;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11f73;\n        xexit();\nLAB_00011f73:\n        *(undefined ***)(puVar15 + -4) = ppuVar4;\n        *(undefined4 *)(puVar15 + -8) = 5;\n        *(char **)(puVar15 + -0xc) = "%s: cannot get addresses from archive";\n        *(undefined4 *)(puVar15 + -0x10) = 0;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11f84;\n        uVar7 = dcgettext();\n        *(undefined ***)(puVar15 + -0xc) = local_9c;\n        *(undefined4 *)(puVar15 + -0x10) = uVar7;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11f92;\n        FUN_000126c0();\n        puVar13 = puVar15 + -0x10;\nLAB_00011f92:\n        puVar14 = puVar13;\n        *(undefined4 *)(puVar14 + -0x10) = local_88;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11f9d;\n        FUN_00012770();\n        *(undefined4 *)(puVar14 + -0x10) = local_88;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11fa6;\n        free(*(void **)(puVar14 + -0x10));\n      } while( true );\n    }" { (expression_statement "FUN_000123f0();" (call_expression "FUN_000123f0()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar3 = bfd_get_error();" (assignment_expression "iVar3 = bfd_get_error()" identifier = (call_expression "bfd_get_error()" identifier (argument_list "()" ( )))) ;) (expression_statement "puVar13 = (undefined1 *)&stack0xffffff40;" (assignment_expression "puVar13 = (undefined1 *)&stack0xffffff40" identifier = (cast_expression "(undefined1 *)&stack0xffffff40" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&stack0xffffff40" & identifier))) ;) (if_statement "if (iVar3 == 0xd) goto LAB_00011f92;" if (parenthesized_expression "(iVar3 == 0xd)" ( (binary_expression "iVar3 == 0xd" identifier == number_literal) )) (goto_statement "goto LAB_00011f92;" goto statement_identifier ;)) (do_statement "do {\n        puVar15 = puVar14 + -0x10;\n        *(undefined4 *)(puVar14 + -0x10) = 1;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11f73;\n        xexit();\nLAB_00011f73:\n        *(undefined ***)(puVar15 + -4) = ppuVar4;\n        *(undefined4 *)(puVar15 + -8) = 5;\n        *(char **)(puVar15 + -0xc) = "%s: cannot get addresses from archive";\n        *(undefined4 *)(puVar15 + -0x10) = 0;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11f84;\n        uVar7 = dcgettext();\n        *(undefined ***)(puVar15 + -0xc) = local_9c;\n        *(undefined4 *)(puVar15 + -0x10) = uVar7;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11f92;\n        FUN_000126c0();\n        puVar13 = puVar15 + -0x10;\nLAB_00011f92:\n        puVar14 = puVar13;\n        *(undefined4 *)(puVar14 + -0x10) = local_88;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11f9d;\n        FUN_00012770();\n        *(undefined4 *)(puVar14 + -0x10) = local_88;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11fa6;\n        free(*(void **)(puVar14 + -0x10));\n      } while( true );" do (compound_statement "{\n        puVar15 = puVar14 + -0x10;\n        *(undefined4 *)(puVar14 + -0x10) = 1;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11f73;\n        xexit();\nLAB_00011f73:\n        *(undefined ***)(puVar15 + -4) = ppuVar4;\n        *(undefined4 *)(puVar15 + -8) = 5;\n        *(char **)(puVar15 + -0xc) = "%s: cannot get addresses from archive";\n        *(undefined4 *)(puVar15 + -0x10) = 0;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11f84;\n        uVar7 = dcgettext();\n        *(undefined ***)(puVar15 + -0xc) = local_9c;\n        *(undefined4 *)(puVar15 + -0x10) = uVar7;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11f92;\n        FUN_000126c0();\n        puVar13 = puVar15 + -0x10;\nLAB_00011f92:\n        puVar14 = puVar13;\n        *(undefined4 *)(puVar14 + -0x10) = local_88;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11f9d;\n        FUN_00012770();\n        *(undefined4 *)(puVar14 + -0x10) = local_88;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11fa6;\n        free(*(void **)(puVar14 + -0x10));\n      }" { (expression_statement "puVar15 = puVar14 + -0x10;" (assignment_expression "puVar15 = puVar14 + -0x10" identifier = (binary_expression "puVar14 + -0x10" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar14 + -0x10) = 1;" (assignment_expression "*(undefined4 *)(puVar14 + -0x10) = 1" (pointer_expression "*(undefined4 *)(puVar14 + -0x10)" * (cast_expression "(undefined4 *)(puVar14 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x10)" ( (binary_expression "puVar14 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar14 + -0x14) = 0x11f73;" (assignment_expression "*(undefined4 *)(puVar14 + -0x14) = 0x11f73" (pointer_expression "*(undefined4 *)(puVar14 + -0x14)" * (cast_expression "(undefined4 *)(puVar14 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x14)" ( (binary_expression "puVar14 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "xexit();" (call_expression "xexit()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_00011f73:\n        *(undefined ***)(puVar15 + -4) = ppuVar4;" statement_identifier : (expression_statement "*(undefined ***)(puVar15 + -4) = ppuVar4;" (assignment_expression "*(undefined ***)(puVar15 + -4) = ppuVar4" (pointer_expression "*(undefined ***)(puVar15 + -4)" * (cast_expression "(undefined ***)(puVar15 + -4)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined4 *)(puVar15 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar15 + -8)" * (cast_expression "(undefined4 *)(puVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar15 + -0xc) = "%s: cannot get addresses from archive";" (assignment_expression "*(char **)(puVar15 + -0xc) = "%s: cannot get addresses from archive"" (pointer_expression "*(char **)(puVar15 + -0xc)" * (cast_expression "(char **)(puVar15 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = (string_literal ""%s: cannot get addresses from archive"" " string_content ")) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11f84;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11f84" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar7 = dcgettext();" (assignment_expression "uVar7 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined ***)(puVar15 + -0xc) = local_9c;" (assignment_expression "*(undefined ***)(puVar15 + -0xc) = local_9c" (pointer_expression "*(undefined ***)(puVar15 + -0xc)" * (cast_expression "(undefined ***)(puVar15 + -0xc)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = uVar7;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = uVar7" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11f92;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11f92" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000126c0();" (call_expression "FUN_000126c0()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar13 = puVar15 + -0x10;" (assignment_expression "puVar13 = puVar15 + -0x10" identifier = (binary_expression "puVar15 + -0x10" identifier + number_literal)) ;) (labeled_statement "LAB_00011f92:\n        puVar14 = puVar13;" statement_identifier : (expression_statement "puVar14 = puVar13;" (assignment_expression "puVar14 = puVar13" identifier = identifier) ;)) (expression_statement "*(undefined4 *)(puVar14 + -0x10) = local_88;" (assignment_expression "*(undefined4 *)(puVar14 + -0x10) = local_88" (pointer_expression "*(undefined4 *)(puVar14 + -0x10)" * (cast_expression "(undefined4 *)(puVar14 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x10)" ( (binary_expression "puVar14 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar14 + -0x14) = 0x11f9d;" (assignment_expression "*(undefined4 *)(puVar14 + -0x14) = 0x11f9d" (pointer_expression "*(undefined4 *)(puVar14 + -0x14)" * (cast_expression "(undefined4 *)(puVar14 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x14)" ( (binary_expression "puVar14 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00012770();" (call_expression "FUN_00012770()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar14 + -0x10) = local_88;" (assignment_expression "*(undefined4 *)(puVar14 + -0x10) = local_88" (pointer_expression "*(undefined4 *)(puVar14 + -0x10)" * (cast_expression "(undefined4 *)(puVar14 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x10)" ( (binary_expression "puVar14 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar14 + -0x14) = 0x11fa6;" (assignment_expression "*(undefined4 *)(puVar14 + -0x14) = 0x11fa6" (pointer_expression "*(undefined4 *)(puVar14 + -0x14)" * (cast_expression "(undefined4 *)(puVar14 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x14)" ( (binary_expression "puVar14 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)(puVar14 + -0x10));" (call_expression "free(*(void **)(puVar14 + -0x10))" identifier (argument_list "(*(void **)(puVar14 + -0x10))" ( (pointer_expression "*(void **)(puVar14 + -0x10)" * (cast_expression "(void **)(puVar14 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + -0x10)" ( (binary_expression "puVar14 + -0x10" identifier + number_literal) )))) ))) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "iVar3 = local_a8;" (assignment_expression "iVar3 = local_a8" identifier = identifier) ;) (if_statement "if ((local_a8 != 0) && (iVar3 = bfd_get_section_by_name(), iVar3 == 0)) goto LAB_00011f09;" if (parenthesized_expression "((local_a8 != 0) && (iVar3 = bfd_get_section_by_name(), iVar3 == 0))" ( (binary_expression "(local_a8 != 0) && (iVar3 = bfd_get_section_by_name(), iVar3 == 0)" (parenthesized_expression "(local_a8 != 0)" ( (binary_expression "local_a8 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar3 = bfd_get_section_by_name(), iVar3 == 0)" ( (comma_expression "iVar3 = bfd_get_section_by_name(), iVar3 == 0" (assignment_expression "iVar3 = bfd_get_section_by_name()" identifier = (call_expression "bfd_get_section_by_name()" identifier (argument_list "()" ( )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_00011f09;" goto statement_identifier ;)) (expression_statement "local_a8 = iVar3;" (assignment_expression "local_a8 = iVar3" identifier = identifier) ;) (if_statement "if ((*(byte *)((int)ppuVar4 + 0x29) & 2) == 0) goto LAB_00011862;" if (parenthesized_expression "((*(byte *)((int)ppuVar4 + 0x29) & 2) == 0)" ( (binary_expression "(*(byte *)((int)ppuVar4 + 0x29) & 2) == 0" (parenthesized_expression "(*(byte *)((int)ppuVar4 + 0x29) & 2)" ( (binary_expression "*(byte *)((int)ppuVar4 + 0x29) & 2" (pointer_expression "*(byte *)((int)ppuVar4 + 0x29)" * (cast_expression "(byte *)((int)ppuVar4 + 0x29)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppuVar4 + 0x29)" ( (binary_expression "(int)ppuVar4 + 0x29" (cast_expression "(int)ppuVar4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00011862;" goto statement_identifier ;)) (expression_statement "iVar3 = (**(code **)(ppuVar4[1] + 0x104))();" (assignment_expression "iVar3 = (**(code **)(ppuVar4[1] + 0x104))()" identifier = (call_expression "(**(code **)(ppuVar4[1] + 0x104))()" (parenthesized_expression "(**(code **)(ppuVar4[1] + 0x104))" ( (pointer_expression "**(code **)(ppuVar4[1] + 0x104)" * (pointer_expression "*(code **)(ppuVar4[1] + 0x104)" * (cast_expression "(code **)(ppuVar4[1] + 0x104)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(ppuVar4[1] + 0x104)" ( (binary_expression "ppuVar4[1] + 0x104" (subscript_expression "ppuVar4[1]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar3 == 0) {\n      iVar3 = (**(code **)(ppuVar4[1] + 0x1a8))();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\n      DAT_00018248 = (void *)xmalloc();\n      iVar3 = (**(code **)(ppuVar4[1] + 0x1ac))();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\nLAB_00011e91:\n      if (0 < iVar3) goto LAB_00011862;\n    }\n    else {\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\n      DAT_00018248 = (void *)xmalloc();\n      iVar3 = (**(code **)(ppuVar4[1] + 0x108))();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\n      if (iVar3 != 0) goto LAB_00011e91;\n      iVar3 = (**(code **)(ppuVar4[1] + 0x1a8))();\n      if (0 < iVar3) {\n        free(DAT_00018248);\n        DAT_00018248 = (void *)xmalloc();\n        iVar3 = (**(code **)(ppuVar4[1] + 0x1ac))();\n        goto LAB_00011e91;\n      }\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar3 = (**(code **)(ppuVar4[1] + 0x1a8))();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\n      DAT_00018248 = (void *)xmalloc();\n      iVar3 = (**(code **)(ppuVar4[1] + 0x1ac))();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\nLAB_00011e91:\n      if (0 < iVar3) goto LAB_00011862;\n    }" { (expression_statement "iVar3 = (**(code **)(ppuVar4[1] + 0x1a8))();" (assignment_expression "iVar3 = (**(code **)(ppuVar4[1] + 0x1a8))()" identifier = (call_expression "(**(code **)(ppuVar4[1] + 0x1a8))()" (parenthesized_expression "(**(code **)(ppuVar4[1] + 0x1a8))" ( (pointer_expression "**(code **)(ppuVar4[1] + 0x1a8)" * (pointer_expression "*(code **)(ppuVar4[1] + 0x1a8)" * (cast_expression "(code **)(ppuVar4[1] + 0x1a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(ppuVar4[1] + 0x1a8)" ( (binary_expression "ppuVar4[1] + 0x1a8" (subscript_expression "ppuVar4[1]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "puVar13 = (undefined1 *)&stack0xffffff40;" (assignment_expression "puVar13 = (undefined1 *)&stack0xffffff40" identifier = (cast_expression "(undefined1 *)&stack0xffffff40" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&stack0xffffff40" & identifier))) ;) (if_statement "if (iVar3 < 0) goto LAB_00011f3d;" if (parenthesized_expression "(iVar3 < 0)" ( (binary_expression "iVar3 < 0" identifier < number_literal) )) (goto_statement "goto LAB_00011f3d;" goto statement_identifier ;)) (expression_statement "DAT_00018248 = (void *)xmalloc();" (assignment_expression "DAT_00018248 = (void *)xmalloc()" identifier = (cast_expression "(void *)xmalloc()" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc()" identifier (argument_list "()" ( ))))) ;) (expression_statement "iVar3 = (**(code **)(ppuVar4[1] + 0x1ac))();" (assignment_expression "iVar3 = (**(code **)(ppuVar4[1] + 0x1ac))()" identifier = (call_expression "(**(code **)(ppuVar4[1] + 0x1ac))()" (parenthesized_expression "(**(code **)(ppuVar4[1] + 0x1ac))" ( (pointer_expression "**(code **)(ppuVar4[1] + 0x1ac)" * (pointer_expression "*(code **)(ppuVar4[1] + 0x1ac)" * (cast_expression "(code **)(ppuVar4[1] + 0x1ac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(ppuVar4[1] + 0x1ac)" ( (binary_expression "ppuVar4[1] + 0x1ac" (subscript_expression "ppuVar4[1]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "puVar13 = (undefined1 *)&stack0xffffff40;" (assignment_expression "puVar13 = (undefined1 *)&stack0xffffff40" identifier = (cast_expression "(undefined1 *)&stack0xffffff40" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&stack0xffffff40" & identifier))) ;) (if_statement "if (iVar3 < 0) goto LAB_00011f3d;" if (parenthesized_expression "(iVar3 < 0)" ( (binary_expression "iVar3 < 0" identifier < number_literal) )) (goto_statement "goto LAB_00011f3d;" goto statement_identifier ;)) (labeled_statement "LAB_00011e91:\n      if (0 < iVar3) goto LAB_00011862;" statement_identifier : (if_statement "if (0 < iVar3) goto LAB_00011862;" if (parenthesized_expression "(0 < iVar3)" ( (binary_expression "0 < iVar3" number_literal < identifier) )) (goto_statement "goto LAB_00011862;" goto statement_identifier ;))) }) (else_clause "else {\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\n      DAT_00018248 = (void *)xmalloc();\n      iVar3 = (**(code **)(ppuVar4[1] + 0x108))();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\n      if (iVar3 != 0) goto LAB_00011e91;\n      iVar3 = (**(code **)(ppuVar4[1] + 0x1a8))();\n      if (0 < iVar3) {\n        free(DAT_00018248);\n        DAT_00018248 = (void *)xmalloc();\n        iVar3 = (**(code **)(ppuVar4[1] + 0x1ac))();\n        goto LAB_00011e91;\n      }\n    }" else (compound_statement "{\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\n      DAT_00018248 = (void *)xmalloc();\n      iVar3 = (**(code **)(ppuVar4[1] + 0x108))();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\n      if (iVar3 != 0) goto LAB_00011e91;\n      iVar3 = (**(code **)(ppuVar4[1] + 0x1a8))();\n      if (0 < iVar3) {\n        free(DAT_00018248);\n        DAT_00018248 = (void *)xmalloc();\n        iVar3 = (**(code **)(ppuVar4[1] + 0x1ac))();\n        goto LAB_00011e91;\n      }\n    }" { (expression_statement "puVar13 = (undefined1 *)&stack0xffffff40;" (assignment_expression "puVar13 = (undefined1 *)&stack0xffffff40" identifier = (cast_expression "(undefined1 *)&stack0xffffff40" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&stack0xffffff40" & identifier))) ;) (if_statement "if (iVar3 < 0) goto LAB_00011f3d;" if (parenthesized_expression "(iVar3 < 0)" ( (binary_expression "iVar3 < 0" identifier < number_literal) )) (goto_statement "goto LAB_00011f3d;" goto statement_identifier ;)) (expression_statement "DAT_00018248 = (void *)xmalloc();" (assignment_expression "DAT_00018248 = (void *)xmalloc()" identifier = (cast_expression "(void *)xmalloc()" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc()" identifier (argument_list "()" ( ))))) ;) (expression_statement "iVar3 = (**(code **)(ppuVar4[1] + 0x108))();" (assignment_expression "iVar3 = (**(code **)(ppuVar4[1] + 0x108))()" identifier = (call_expression "(**(code **)(ppuVar4[1] + 0x108))()" (parenthesized_expression "(**(code **)(ppuVar4[1] + 0x108))" ( (pointer_expression "**(code **)(ppuVar4[1] + 0x108)" * (pointer_expression "*(code **)(ppuVar4[1] + 0x108)" * (cast_expression "(code **)(ppuVar4[1] + 0x108)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(ppuVar4[1] + 0x108)" ( (binary_expression "ppuVar4[1] + 0x108" (subscript_expression "ppuVar4[1]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "puVar13 = (undefined1 *)&stack0xffffff40;" (assignment_expression "puVar13 = (undefined1 *)&stack0xffffff40" identifier = (cast_expression "(undefined1 *)&stack0xffffff40" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&stack0xffffff40" & identifier))) ;) (if_statement "if (iVar3 < 0) goto LAB_00011f3d;" if (parenthesized_expression "(iVar3 < 0)" ( (binary_expression "iVar3 < 0" identifier < number_literal) )) (goto_statement "goto LAB_00011f3d;" goto statement_identifier ;)) (if_statement "if (iVar3 != 0) goto LAB_00011e91;" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00011e91;" goto statement_identifier ;)) (expression_statement "iVar3 = (**(code **)(ppuVar4[1] + 0x1a8))();" (assignment_expression "iVar3 = (**(code **)(ppuVar4[1] + 0x1a8))()" identifier = (call_expression "(**(code **)(ppuVar4[1] + 0x1a8))()" (parenthesized_expression "(**(code **)(ppuVar4[1] + 0x1a8))" ( (pointer_expression "**(code **)(ppuVar4[1] + 0x1a8)" * (pointer_expression "*(code **)(ppuVar4[1] + 0x1a8)" * (cast_expression "(code **)(ppuVar4[1] + 0x1a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(ppuVar4[1] + 0x1a8)" ( (binary_expression "ppuVar4[1] + 0x1a8" (subscript_expression "ppuVar4[1]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (0 < iVar3) {\n        free(DAT_00018248);\n        DAT_00018248 = (void *)xmalloc();\n        iVar3 = (**(code **)(ppuVar4[1] + 0x1ac))();\n        goto LAB_00011e91;\n      }" if (parenthesized_expression "(0 < iVar3)" ( (binary_expression "0 < iVar3" number_literal < identifier) )) (compound_statement "{\n        free(DAT_00018248);\n        DAT_00018248 = (void *)xmalloc();\n        iVar3 = (**(code **)(ppuVar4[1] + 0x1ac))();\n        goto LAB_00011e91;\n      }" { (expression_statement "free(DAT_00018248);" (call_expression "free(DAT_00018248)" identifier (argument_list "(DAT_00018248)" ( identifier ))) ;) (expression_statement "DAT_00018248 = (void *)xmalloc();" (assignment_expression "DAT_00018248 = (void *)xmalloc()" identifier = (cast_expression "(void *)xmalloc()" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc()" identifier (argument_list "()" ( ))))) ;) (expression_statement "iVar3 = (**(code **)(ppuVar4[1] + 0x1ac))();" (assignment_expression "iVar3 = (**(code **)(ppuVar4[1] + 0x1ac))()" identifier = (call_expression "(**(code **)(ppuVar4[1] + 0x1ac))()" (parenthesized_expression "(**(code **)(ppuVar4[1] + 0x1ac))" ( (pointer_expression "**(code **)(ppuVar4[1] + 0x1ac)" * (pointer_expression "*(code **)(ppuVar4[1] + 0x1ac)" * (cast_expression "(code **)(ppuVar4[1] + 0x1ac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(ppuVar4[1] + 0x1ac)" ( (binary_expression "ppuVar4[1] + 0x1ac" (subscript_expression "ppuVar4[1]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "()" ( )))) ;) (goto_statement "goto LAB_00011e91;" goto statement_identifier ;) })) }))) (expression_statement "free(DAT_00018248);" (call_expression "free(DAT_00018248)" identifier (argument_list "(DAT_00018248)" ( identifier ))) ;) (expression_statement "DAT_00018248 = (void *)0x0;" (assignment_expression "DAT_00018248 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_00011862:\n    local_ac = DAT_00018250;" statement_identifier : (expression_statement "local_ac = DAT_00018250;" (assignment_expression "local_ac = DAT_00018250" identifier = identifier) ;)) (expression_statement "local_bc = (undefined4 *)PTR_stdin_00017fec;" (assignment_expression "local_bc = (undefined4 *)PTR_stdin_00017fec" identifier = (cast_expression "(undefined4 *)PTR_stdin_00017fec" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "local_b0 = (int *)PTR_stdout_00017ff0;" (assignment_expression "local_b0 = (int *)PTR_stdout_00017ff0" identifier = (cast_expression "(int *)PTR_stdout_00017ff0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "local_9c = ppuVar4;" (assignment_expression "local_9c = ppuVar4" identifier = identifier) ;) (goto_statement "goto LAB_000119df;" goto statement_identifier ;) })) (switch_statement "switch(iVar3) {\n  case 0:\n    goto code_r0x000115d8;\n  default:\n    break;\n  case 0x43:\n    DAT_0001825c = 1;\n    local_a0 = PTR_optarg_00017ffc;\n    if (*(int *)PTR_optarg_00017ffc != 0) {\n      iVar3 = func_0x00011040();\n      uVar19 = CONCAT44(local_a0,iVar3);\n      if (iVar3 == 0) goto code_r0x00011eed;\n      func_0x000110d0();\n    }\n    goto code_r0x000115d8;\n  case 0x48:\n  case 0x68:\n    FUN_00012130();\n    break;\n  case 0x56:\n  case 0x76:\n    FUN_00013310();\n    goto code_r0x000115d8;\n  case 0x61:\n    DAT_00018264 = 1;\n    goto code_r0x000115d8;\n  case 0x62:\n    local_a4 = *(int **)PTR_optarg_00017ffc;\n    goto code_r0x000115d8;\n  case 0x65:\n    local_9c = (undefined **)*local_b0;\n    goto code_r0x000115d8;\n  case 0x66:\n    DAT_00018260 = 1;\n    goto code_r0x000115d8;\n  case 0x69:\n    DAT_00018268 = 1;\n    goto code_r0x000115d8;\n  case 0x6a:\n    local_a8 = *local_ac;\n    goto code_r0x000115d8;\n  case 0x70:\n    DAT_00018258 = 1;\n    goto code_r0x000115d8;\n  case 0x73:\n    DAT_00018254 = 1;\n    goto code_r0x000115d8;\n  }" switch (parenthesized_expression "(iVar3)" ( identifier )) (compound_statement "{\n  case 0:\n    goto code_r0x000115d8;\n  default:\n    break;\n  case 0x43:\n    DAT_0001825c = 1;\n    local_a0 = PTR_optarg_00017ffc;\n    if (*(int *)PTR_optarg_00017ffc != 0) {\n      iVar3 = func_0x00011040();\n      uVar19 = CONCAT44(local_a0,iVar3);\n      if (iVar3 == 0) goto code_r0x00011eed;\n      func_0x000110d0();\n    }\n    goto code_r0x000115d8;\n  case 0x48:\n  case 0x68:\n    FUN_00012130();\n    break;\n  case 0x56:\n  case 0x76:\n    FUN_00013310();\n    goto code_r0x000115d8;\n  case 0x61:\n    DAT_00018264 = 1;\n    goto code_r0x000115d8;\n  case 0x62:\n    local_a4 = *(int **)PTR_optarg_00017ffc;\n    goto code_r0x000115d8;\n  case 0x65:\n    local_9c = (undefined **)*local_b0;\n    goto code_r0x000115d8;\n  case 0x66:\n    DAT_00018260 = 1;\n    goto code_r0x000115d8;\n  case 0x69:\n    DAT_00018268 = 1;\n    goto code_r0x000115d8;\n  case 0x6a:\n    local_a8 = *local_ac;\n    goto code_r0x000115d8;\n  case 0x70:\n    DAT_00018258 = 1;\n    goto code_r0x000115d8;\n  case 0x73:\n    DAT_00018254 = 1;\n    goto code_r0x000115d8;\n  }" { (case_statement "case 0:\n    goto code_r0x000115d8;" case number_literal : (goto_statement "goto code_r0x000115d8;" goto statement_identifier ;)) (case_statement "default:\n    break;" default : (break_statement "break;" break ;)) (case_statement "case 0x43:\n    DAT_0001825c = 1;\n    local_a0 = PTR_optarg_00017ffc;\n    if (*(int *)PTR_optarg_00017ffc != 0) {\n      iVar3 = func_0x00011040();\n      uVar19 = CONCAT44(local_a0,iVar3);\n      if (iVar3 == 0) goto code_r0x00011eed;\n      func_0x000110d0();\n    }\n    goto code_r0x000115d8;" case number_literal : (expression_statement "DAT_0001825c = 1;" (assignment_expression "DAT_0001825c = 1" identifier = number_literal) ;) (expression_statement "local_a0 = PTR_optarg_00017ffc;" (assignment_expression "local_a0 = PTR_optarg_00017ffc" identifier = identifier) ;) (if_statement "if (*(int *)PTR_optarg_00017ffc != 0) {\n      iVar3 = func_0x00011040();\n      uVar19 = CONCAT44(local_a0,iVar3);\n      if (iVar3 == 0) goto code_r0x00011eed;\n      func_0x000110d0();\n    }" if (parenthesized_expression "(*(int *)PTR_optarg_00017ffc != 0)" ( (binary_expression "*(int *)PTR_optarg_00017ffc != 0" (pointer_expression "*(int *)PTR_optarg_00017ffc" * (cast_expression "(int *)PTR_optarg_00017ffc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) )) (compound_statement "{\n      iVar3 = func_0x00011040();\n      uVar19 = CONCAT44(local_a0,iVar3);\n      if (iVar3 == 0) goto code_r0x00011eed;\n      func_0x000110d0();\n    }" { (expression_statement "iVar3 = func_0x00011040();" (assignment_expression "iVar3 = func_0x00011040()" identifier = (call_expression "func_0x00011040()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar19 = CONCAT44(local_a0,iVar3);" (assignment_expression "uVar19 = CONCAT44(local_a0,iVar3)" identifier = (call_expression "CONCAT44(local_a0,iVar3)" identifier (argument_list "(local_a0,iVar3)" ( identifier , identifier )))) ;) (if_statement "if (iVar3 == 0) goto code_r0x00011eed;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (goto_statement "goto code_r0x00011eed;" goto statement_identifier ;)) (expression_statement "func_0x000110d0();" (call_expression "func_0x000110d0()" identifier (argument_list "()" ( ))) ;) })) (goto_statement "goto code_r0x000115d8;" goto statement_identifier ;)) (case_statement "case 0x48:" case number_literal :) (case_statement "case 0x68:\n    FUN_00012130();\n    break;" case number_literal : (expression_statement "FUN_00012130();" (call_expression "FUN_00012130()" identifier (argument_list "()" ( ))) ;) (break_statement "break;" break ;)) (case_statement "case 0x56:" case number_literal :) (case_statement "case 0x76:\n    FUN_00013310();\n    goto code_r0x000115d8;" case number_literal : (expression_statement "FUN_00013310();" (call_expression "FUN_00013310()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto code_r0x000115d8;" goto statement_identifier ;)) (case_statement "case 0x61:\n    DAT_00018264 = 1;\n    goto code_r0x000115d8;" case number_literal : (expression_statement "DAT_00018264 = 1;" (assignment_expression "DAT_00018264 = 1" identifier = number_literal) ;) (goto_statement "goto code_r0x000115d8;" goto statement_identifier ;)) (case_statement "case 0x62:\n    local_a4 = *(int **)PTR_optarg_00017ffc;\n    goto code_r0x000115d8;" case number_literal : (expression_statement "local_a4 = *(int **)PTR_optarg_00017ffc;" (assignment_expression "local_a4 = *(int **)PTR_optarg_00017ffc" identifier = (pointer_expression "*(int **)PTR_optarg_00017ffc" * (cast_expression "(int **)PTR_optarg_00017ffc" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (goto_statement "goto code_r0x000115d8;" goto statement_identifier ;)) (case_statement "case 0x65:\n    local_9c = (undefined **)*local_b0;\n    goto code_r0x000115d8;" case number_literal : (expression_statement "local_9c = (undefined **)*local_b0;" (assignment_expression "local_9c = (undefined **)*local_b0" identifier = (cast_expression "(undefined **)*local_b0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*local_b0" * identifier))) ;) (goto_statement "goto code_r0x000115d8;" goto statement_identifier ;)) (case_statement "case 0x66:\n    DAT_00018260 = 1;\n    goto code_r0x000115d8;" case number_literal : (expression_statement "DAT_00018260 = 1;" (assignment_expression "DAT_00018260 = 1" identifier = number_literal) ;) (goto_statement "goto code_r0x000115d8;" goto statement_identifier ;)) (case_statement "case 0x69:\n    DAT_00018268 = 1;\n    goto code_r0x000115d8;" case number_literal : (expression_statement "DAT_00018268 = 1;" (assignment_expression "DAT_00018268 = 1" identifier = number_literal) ;) (goto_statement "goto code_r0x000115d8;" goto statement_identifier ;)) (case_statement "case 0x6a:\n    local_a8 = *local_ac;\n    goto code_r0x000115d8;" case number_literal : (expression_statement "local_a8 = *local_ac;" (assignment_expression "local_a8 = *local_ac" identifier = (pointer_expression "*local_ac" * identifier)) ;) (goto_statement "goto code_r0x000115d8;" goto statement_identifier ;)) (case_statement "case 0x70:\n    DAT_00018258 = 1;\n    goto code_r0x000115d8;" case number_literal : (expression_statement "DAT_00018258 = 1;" (assignment_expression "DAT_00018258 = 1" identifier = number_literal) ;) (goto_statement "goto code_r0x000115d8;" goto statement_identifier ;)) (case_statement "case 0x73:\n    DAT_00018254 = 1;\n    goto code_r0x000115d8;" case number_literal : (expression_statement "DAT_00018254 = 1;" (assignment_expression "DAT_00018254 = 1" identifier = number_literal) ;) (goto_statement "goto code_r0x000115d8;" goto statement_identifier ;)) })) (expression_statement "uVar19 = FUN_00012130();" (assignment_expression "uVar19 = FUN_00012130()" identifier = (call_expression "FUN_00012130()" identifier (argument_list "()" ( )))) ;) (labeled_statement "code_r0x00011eed:\n  puVar17 = (undefined4 *)*(int *)((ulonglong)uVar19 >> 0x20);" statement_identifier : (expression_statement "puVar17 = (undefined4 *)*(int *)((ulonglong)uVar19 >> 0x20);" (assignment_expression "puVar17 = (undefined4 *)*(int *)((ulonglong)uVar19 >> 0x20)" identifier = (cast_expression "(undefined4 *)*(int *)((ulonglong)uVar19 >> 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*(int *)((ulonglong)uVar19 >> 0x20)" * (cast_expression "(int *)((ulonglong)uVar19 >> 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulonglong)uVar19 >> 0x20)" ( (binary_expression "(ulonglong)uVar19 >> 0x20" (cast_expression "(ulonglong)uVar19" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))))) ;)) (expression_statement "dcgettext();" (call_expression "dcgettext()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar11 = &stack0xffffff30;" (assignment_expression "puVar11 = &stack0xffffff30" identifier = (pointer_expression "&stack0xffffff30" & identifier)) ;) (expression_statement "FUN_000126c0();" (call_expression "FUN_000126c0()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_00011f09:\n  *(undefined4 **)(puVar11 + -4) = puVar17;" statement_identifier : (expression_statement "*(undefined4 **)(puVar11 + -4) = puVar17;" (assignment_expression "*(undefined4 **)(puVar11 + -4) = puVar17" (pointer_expression "*(undefined4 **)(puVar11 + -4)" * (cast_expression "(undefined4 **)(puVar11 + -4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + -4)" ( (binary_expression "puVar11 + -4" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined4 *)(puVar11 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar11 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar11 + -8)" * (cast_expression "(undefined4 *)(puVar11 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + -8)" ( (binary_expression "puVar11 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar11 + -0xc) = "%s: cannot find section %s";" (assignment_expression "*(char **)(puVar11 + -0xc) = "%s: cannot find section %s"" (pointer_expression "*(char **)(puVar11 + -0xc)" * (cast_expression "(char **)(puVar11 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + -0xc)" ( (binary_expression "puVar11 + -0xc" identifier + number_literal) )))) = (string_literal ""%s: cannot find section %s"" " string_content ")) ;) (expression_statement "*(undefined4 *)(puVar11 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar11 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar11 + -0x10)" * (cast_expression "(undefined4 *)(puVar11 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + -0x10)" ( (binary_expression "puVar11 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar11 + -0x14) = 0x11f1a;" (assignment_expression "*(undefined4 *)(puVar11 + -0x14) = 0x11f1a" (pointer_expression "*(undefined4 *)(puVar11 + -0x14)" * (cast_expression "(undefined4 *)(puVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + -0x14)" ( (binary_expression "puVar11 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar7 = dcgettext();" (assignment_expression "uVar7 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int *)(puVar11 + -8) = local_a8;" (assignment_expression "*(int *)(puVar11 + -8) = local_a8" (pointer_expression "*(int *)(puVar11 + -8)" * (cast_expression "(int *)(puVar11 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + -8)" ( (binary_expression "puVar11 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar11 + -0xc) = local_9c;" (assignment_expression "*(undefined ***)(puVar11 + -0xc) = local_9c" (pointer_expression "*(undefined ***)(puVar11 + -0xc)" * (cast_expression "(undefined ***)(puVar11 + -0xc)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar11 + -0xc)" ( (binary_expression "puVar11 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar12 = puVar11 + -0x10;" (assignment_expression "puVar12 = puVar11 + -0x10" identifier = (binary_expression "puVar11 + -0x10" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar11 + -0x10) = uVar7;" (assignment_expression "*(undefined4 *)(puVar11 + -0x10) = uVar7" (pointer_expression "*(undefined4 *)(puVar11 + -0x10)" * (cast_expression "(undefined4 *)(puVar11 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + -0x10)" ( (binary_expression "puVar11 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar11 + -0x14) = 0x11f2f;" (assignment_expression "*(undefined4 *)(puVar11 + -0x14) = 0x11f2f" (pointer_expression "*(undefined4 *)(puVar11 + -0x14)" * (cast_expression "(undefined4 *)(puVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + -0x14)" ( (binary_expression "puVar11 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000126c0();" (call_expression "FUN_000126c0()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_00011f2f:\n  *(undefined ***)(puVar12 + -0x10) = local_9c;" statement_identifier : (expression_statement "*(undefined ***)(puVar12 + -0x10) = local_9c;" (assignment_expression "*(undefined ***)(puVar12 + -0x10) = local_9c" (pointer_expression "*(undefined ***)(puVar12 + -0x10)" * (cast_expression "(undefined ***)(puVar12 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar12 + -0x10)" ( (binary_expression "puVar12 + -0x10" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined4 *)(puVar12 + -0x14) = 0x11f3d;" (assignment_expression "*(undefined4 *)(puVar12 + -0x14) = 0x11f3d" (pointer_expression "*(undefined4 *)(puVar12 + -0x14)" * (cast_expression "(undefined4 *)(puVar12 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + -0x14)" ( (binary_expression "puVar12 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00012630();" (call_expression "FUN_00012630()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar13 = puVar12 + -0x10;" (assignment_expression "puVar13 = puVar12 + -0x10" identifier = (binary_expression "puVar12 + -0x10" identifier + number_literal)) ;) (labeled_statement "LAB_00011f3d:\n  puVar10 = puVar13 + -0x10;" statement_identifier : (expression_statement "puVar10 = puVar13 + -0x10;" (assignment_expression "puVar10 = puVar13 + -0x10" identifier = (binary_expression "puVar13 + -0x10" identifier + number_literal)) ;)) (expression_statement "*(undefined **)(puVar13 + -0x10) = *ppuVar4;" (assignment_expression "*(undefined **)(puVar13 + -0x10) = *ppuVar4" (pointer_expression "*(undefined **)(puVar13 + -0x10)" * (cast_expression "(undefined **)(puVar13 + -0x10)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar13 + -0x10)" ( (binary_expression "puVar13 + -0x10" identifier + number_literal) )))) = (pointer_expression "*ppuVar4" * identifier)) ;) (expression_statement "*(undefined4 *)(puVar13 + -0x14) = 0x11f47;" (assignment_expression "*(undefined4 *)(puVar13 + -0x14) = 0x11f47" (pointer_expression "*(undefined4 *)(puVar13 + -0x14)" * (cast_expression "(undefined4 *)(puVar13 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + -0x14)" ( (binary_expression "puVar13 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00012630();" (call_expression "FUN_00012630()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_000119cc:\n  do {\n    local_9c = ppuVar4;\n    *(int *)(puVar10 + -0x10) = *local_a4;\n    *(undefined4 *)(puVar10 + -0x14) = 0x119dc;\n    fflush(*(FILE **)(puVar10 + -0x10));\nLAB_000119df:\n    if (local_ac == (int *)0x0) {\n      *(undefined4 *)(puVar10 + -8) = *local_bc;\n      *(undefined4 *)(puVar10 + -0xc) = 100;\n      *(undefined1 **)(puVar10 + -0x10) = local_84;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11a03;\n      pcVar5 = fgets(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc),*(FILE **)(puVar10 + -8));\n      if (pcVar5 == (char *)0x0) {\nLAB_00011e02:\n        ppuVar4 = local_9c;\n        if (DAT_00018248 != (void *)0x0) {\n          *(void **)(puVar10 + -0x10) = DAT_00018248;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11e1b;\n          free(*(void **)(puVar10 + -0x10));\n          DAT_00018248 = (void *)0x0;\n        }\n        *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11e31;\n        bfd_close();\n        return local_c0;\n      }\n      *(undefined4 *)(puVar10 + -8) = 0x10;\n      *(undefined4 *)(puVar10 + -0xc) = 0;\n      *(undefined1 **)(puVar10 + -0x10) = local_84;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11a1b;\n      uVar19 = bfd_scan_vma();\n      puVar2 = local_9c[1];\n      iVar3 = *(int *)(puVar2 + 4);\n    }\n    else {\n      if ((int)DAT_00018250 < 1) goto LAB_00011e02;\n      DAT_00018250 = (int *)((int)DAT_00018250 + -1);\n      *(undefined4 *)(puVar10 + -8) = 0x10;\n      *(undefined4 *)(puVar10 + -0xc) = 0;\n      *(undefined4 *)(puVar10 + -0x10) = *DAT_0001824c;\n      *(undefined4 *)(puVar10 + -0x14) = 0x118cc;\n      DAT_0001824c = DAT_0001824c + 1;\n      uVar19 = bfd_scan_vma();\n      puVar2 = local_9c[1];\n      iVar3 = *(int *)(puVar2 + 4);\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    if (iVar3 == 5) {\n      bVar8 = *(char *)(*(int *)(*(int *)(puVar2 + 0x1c0) + 0x19c) + 10) - 1;\n      pcVar5 = (char *)(1 << (bVar8 & 0x1f));\n      local_98 = pcVar5;\n      local_94 = (char *)(0 << (bVar8 & 0x1f) | 1U >> 0x20 - (bVar8 & 0x1f));\n      if ((bVar8 & 0x20) != 0) {\n        local_98 = (char *)0x0;\n        local_94 = pcVar5;\n      }\n      uVar9 = DAT_00018240 & (int)local_98 * 2 - 1U;\n      uVar18 = DAT_00018244 &\n               (((int)local_94 << 1 | (uint)local_98 >> 0x1f) - 1) + (uint)((int)local_98 * 2 != 0);\n      uVar19 = CONCAT44(uVar18,uVar9);\n      if ((*(byte *)(*(int *)(puVar2 + 0x1c0) + 0x1e9) & 1) != 0) {\n        local_b8 = (char *)(uVar9 ^ (uint)local_98);\n        local_b4 = uVar18 ^ (uint)local_94;\n        uVar19 = CONCAT44((local_b4 - (int)local_94) - (uint)(local_b8 < local_98),\n                          (int)local_b8 - (int)local_98);\n      }\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    local_a4 = local_b0;\n    if (DAT_00018264 != 0) {\n      *(undefined **)(puVar10 + -0x10) = &DAT_00015431;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11aff;\n      printf(*(char **)(puVar10 + -0x10));\n      local_a4 = (int *)PTR_stdout_00017ff0;\n      *(uint *)(puVar10 + -0x14) = DAT_00018244;\n      *(uint *)(puVar10 + -0x18) = DAT_00018240;\n      *(undefined4 *)(puVar10 + -0x1c) = *(undefined4 *)PTR_stdout_00017ff0;\n      *(undefined ***)(puVar10 + -0x20) = local_9c;\n      *(undefined4 *)(puVar10 + -0x24) = 0x11b24;\n      bfd_fprintf_vma();\n      if (DAT_00018258 == 0) {\n        *(undefined4 *)(puVar10 + -0x10) = 10;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11dfa;\n        putchar(*(int *)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n      else {\n        *(undefined **)(puVar10 + -0x10) = &DAT_00015702;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11b44;\n        printf(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    DAT_00018228 = 0;\n    if (local_a8 == 0) {\n      *(undefined4 *)(puVar10 + -8) = 0;\n      *(code **)(puVar10 + -0xc) = FUN_00012210;\n      *(undefined ***)(puVar10 + -0x10) = local_9c;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11b67;\n      bfd_map_over_sections();\n      ppuVar4 = local_9c;\njoined_r0x00011b72:\n      uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      local_9c = ppuVar4;\n      if (DAT_00018228 != 0) {\n        local_a0 = &DAT_00015442;\n        local_98 = "??";\n        do {\n          local_9c = (undefined **)0x15817;\n          do {\n            pcVar5 = DAT_00018234;\n            if (DAT_00018260 != 0) {\n              pcVar6 = local_98;\n              pcVar16 = DAT_00018234;\n              if (DAT_00018234 != (char *)0x0) {\n                if (*DAT_00018234 == '\0') {\n                  pcVar16 = (char *)0x0;\n                }\n                else {\n                  if (DAT_0001825c != 0) {\n                    *(undefined4 *)(puVar10 + -8) = 3;\n                    *(char **)(puVar10 + -0xc) = DAT_00018234;\n                    *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n                    *(undefined4 *)(puVar10 + -0x14) = 0x11db4;\n                    pcVar6 = (char *)bfd_demangle();\n                    pcVar16 = pcVar6;\n                    if (pcVar6 != (char *)0x0) goto LAB_00011bdd;\n                  }\n                  pcVar6 = pcVar5;\n                  pcVar16 = (char *)0x0;\n                }\n              }\nLAB_00011bdd:\n              *(char **)(puVar10 + -0xc) = pcVar6;\n              *(undefined ***)(puVar10 + -0x10) = local_9c;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11bec;\n              printf(*(char **)(puVar10 + -0x10));\n              if (DAT_00018258 == 0) {\n                *(undefined4 *)(puVar10 + -0x10) = 10;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11d8a;\n                putchar(*(int *)(puVar10 + -0x10));\n              }\n              else {\n                *(undefined4 *)(puVar10 + -8) = 5;\n                *(undefined **)(puVar10 + -0xc) = &DAT_0001543d;\n                *(undefined4 *)(puVar10 + -0x10) = 0;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c10;\n                uVar7 = dcgettext();\n                *(undefined4 *)(puVar10 + -0x10) = uVar7;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c18;\n                printf(*(char **)(puVar10 + -0x10));\n              }\n              if (pcVar16 != (char *)0x0) {\n                *(char **)(puVar10 + -0x10) = pcVar16;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c28;\n                free(*(void **)(puVar10 + -0x10));\n              }\n            }\n            pcVar5 = DAT_00018238;\n            if (DAT_00018254 == 0) {\nLAB_00011c5e:\n              pcVar5 = DAT_00018238;\n              if (DAT_00018238 == (char *)0x0) {\nLAB_00011d70:\n                pcVar5 = local_98;\n              }\n            }\n            else {\n              if (DAT_00018238 == (char *)0x0) goto LAB_00011d70;\n              *(undefined4 *)(puVar10 + -0xc) = 0x2f;\n              *(char **)(puVar10 + -0x10) = DAT_00018238;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11c4e;\n              pcVar6 = strrchr(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc));\n              if (pcVar6 != (char *)0x0) {\n                DAT_00018238 = pcVar6 + 1;\n                goto LAB_00011c5e;\n              }\n            }\n            *(char **)(puVar10 + -0xc) = pcVar5;\n            *(undefined **)(puVar10 + -0x10) = local_a0;\n            *(undefined4 *)(puVar10 + -0x14) = 0x11c75;\n            printf(*(char **)(puVar10 + -0x10));\n            if (DAT_00018230 == 0) {\n              *(undefined **)(puVar10 + -0x10) = &DAT_000153c0;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d5f;\n              puts(*(char **)(puVar10 + -0x10));\n            }\n            else if (DAT_0001822c == 0) {\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(undefined **)(puVar10 + -0x10) = &DAT_0001545d;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d48;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            else {\n              *(int *)(puVar10 + -8) = DAT_0001822c;\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(char **)(puVar10 + -0x10) = "%u (discriminator %u)\n";\n              *(undefined4 *)(puVar10 + -0x14) = 0x11ca5;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            if (DAT_00018268 == 0) {\n              DAT_00018228 = 0;\n              goto LAB_000119cc;\n            }\n            puVar2 = ppuVar4[1];\n            *(int **)(puVar10 + -4) = &DAT_00018230;\n            *(char ***)(puVar10 + -8) = &DAT_00018234;\n            *(char ***)(puVar10 + -0xc) = &DAT_00018238;\n            *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n            pcVar1 = *(code **)(puVar2 + 0x130);\n            *(undefined4 *)(puVar10 + -0x14) = 0x11cef;\n            DAT_00018228 = (*pcVar1)();\n            if (DAT_00018228 == 0) goto LAB_000119cc;\n          } while (DAT_00018258 == 0);\n          *(undefined4 *)(puVar10 + -8) = 5;\n          *(char **)(puVar10 + -0xc) = " (inlined by) ";\n          *(undefined4 *)(puVar10 + -0x10) = 0;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11d21;\n          uVar7 = dcgettext();\n          *(undefined4 *)(puVar10 + -0x10) = uVar7;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11d29;\n          printf(*(char **)(puVar10 + -0x10));\n        } while( true );\n      }\n    }\n    else if (((*(byte *)(local_a8 + 0x14) & 1) != 0) &&\n            (DAT_00018244 < *(uint *)(local_a8 + 0x30) ||\n             DAT_00018244 - *(uint *)(local_a8 + 0x30) <\n             (uint)(DAT_00018240 < *(uint *)(local_a8 + 0x2c)))) {\n      puVar2 = local_9c[1];\n      *(int **)(puVar10 + -0x10) = &DAT_0001822c;\n      *(int **)(puVar10 + -0x14) = &DAT_00018230;\n      *(char ***)(puVar10 + -0x18) = &DAT_00018234;\n      *(char ***)(puVar10 + -0x1c) = &DAT_00018238;\n      *(undefined8 *)(puVar10 + -0x24) = uVar19;\n      *(int *)(puVar10 + -0x28) = local_a8;\n      *(void **)(puVar10 + -0x2c) = DAT_00018248;\n      *(undefined ***)(puVar10 + -0x30) = local_9c;\n      pcVar1 = *(code **)(puVar2 + 0x128);\n      *(undefined4 *)(puVar10 + -0x34) = 0x1197f;\n      DAT_00018228 = (*pcVar1)();\n      ppuVar4 = local_9c;\n      goto joined_r0x00011b72;\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    if (DAT_00018260 != 0) {\n      if (DAT_00018258 == 0) {\n        *(undefined **)(puVar10 + -0x10) = &DAT_000153bf;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11ddf;\n        puts(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n      else {\n        *(undefined **)(puVar10 + -0x10) = &DAT_00015434;\n        *(undefined4 *)(puVar10 + -0x14) = 0x119b7;\n        printf(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    *(undefined **)(puVar10 + -0x10) = &DAT_00015438;\n    *(undefined4 *)(puVar10 + -0x14) = 0x119c9;\n    puts(*(char **)(puVar10 + -0x10));\n    ppuVar4 = local_9c;\n  } while( true );" statement_identifier : (do_statement "do {\n    local_9c = ppuVar4;\n    *(int *)(puVar10 + -0x10) = *local_a4;\n    *(undefined4 *)(puVar10 + -0x14) = 0x119dc;\n    fflush(*(FILE **)(puVar10 + -0x10));\nLAB_000119df:\n    if (local_ac == (int *)0x0) {\n      *(undefined4 *)(puVar10 + -8) = *local_bc;\n      *(undefined4 *)(puVar10 + -0xc) = 100;\n      *(undefined1 **)(puVar10 + -0x10) = local_84;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11a03;\n      pcVar5 = fgets(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc),*(FILE **)(puVar10 + -8));\n      if (pcVar5 == (char *)0x0) {\nLAB_00011e02:\n        ppuVar4 = local_9c;\n        if (DAT_00018248 != (void *)0x0) {\n          *(void **)(puVar10 + -0x10) = DAT_00018248;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11e1b;\n          free(*(void **)(puVar10 + -0x10));\n          DAT_00018248 = (void *)0x0;\n        }\n        *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11e31;\n        bfd_close();\n        return local_c0;\n      }\n      *(undefined4 *)(puVar10 + -8) = 0x10;\n      *(undefined4 *)(puVar10 + -0xc) = 0;\n      *(undefined1 **)(puVar10 + -0x10) = local_84;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11a1b;\n      uVar19 = bfd_scan_vma();\n      puVar2 = local_9c[1];\n      iVar3 = *(int *)(puVar2 + 4);\n    }\n    else {\n      if ((int)DAT_00018250 < 1) goto LAB_00011e02;\n      DAT_00018250 = (int *)((int)DAT_00018250 + -1);\n      *(undefined4 *)(puVar10 + -8) = 0x10;\n      *(undefined4 *)(puVar10 + -0xc) = 0;\n      *(undefined4 *)(puVar10 + -0x10) = *DAT_0001824c;\n      *(undefined4 *)(puVar10 + -0x14) = 0x118cc;\n      DAT_0001824c = DAT_0001824c + 1;\n      uVar19 = bfd_scan_vma();\n      puVar2 = local_9c[1];\n      iVar3 = *(int *)(puVar2 + 4);\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    if (iVar3 == 5) {\n      bVar8 = *(char *)(*(int *)(*(int *)(puVar2 + 0x1c0) + 0x19c) + 10) - 1;\n      pcVar5 = (char *)(1 << (bVar8 & 0x1f));\n      local_98 = pcVar5;\n      local_94 = (char *)(0 << (bVar8 & 0x1f) | 1U >> 0x20 - (bVar8 & 0x1f));\n      if ((bVar8 & 0x20) != 0) {\n        local_98 = (char *)0x0;\n        local_94 = pcVar5;\n      }\n      uVar9 = DAT_00018240 & (int)local_98 * 2 - 1U;\n      uVar18 = DAT_00018244 &\n               (((int)local_94 << 1 | (uint)local_98 >> 0x1f) - 1) + (uint)((int)local_98 * 2 != 0);\n      uVar19 = CONCAT44(uVar18,uVar9);\n      if ((*(byte *)(*(int *)(puVar2 + 0x1c0) + 0x1e9) & 1) != 0) {\n        local_b8 = (char *)(uVar9 ^ (uint)local_98);\n        local_b4 = uVar18 ^ (uint)local_94;\n        uVar19 = CONCAT44((local_b4 - (int)local_94) - (uint)(local_b8 < local_98),\n                          (int)local_b8 - (int)local_98);\n      }\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    local_a4 = local_b0;\n    if (DAT_00018264 != 0) {\n      *(undefined **)(puVar10 + -0x10) = &DAT_00015431;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11aff;\n      printf(*(char **)(puVar10 + -0x10));\n      local_a4 = (int *)PTR_stdout_00017ff0;\n      *(uint *)(puVar10 + -0x14) = DAT_00018244;\n      *(uint *)(puVar10 + -0x18) = DAT_00018240;\n      *(undefined4 *)(puVar10 + -0x1c) = *(undefined4 *)PTR_stdout_00017ff0;\n      *(undefined ***)(puVar10 + -0x20) = local_9c;\n      *(undefined4 *)(puVar10 + -0x24) = 0x11b24;\n      bfd_fprintf_vma();\n      if (DAT_00018258 == 0) {\n        *(undefined4 *)(puVar10 + -0x10) = 10;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11dfa;\n        putchar(*(int *)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n      else {\n        *(undefined **)(puVar10 + -0x10) = &DAT_00015702;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11b44;\n        printf(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    DAT_00018228 = 0;\n    if (local_a8 == 0) {\n      *(undefined4 *)(puVar10 + -8) = 0;\n      *(code **)(puVar10 + -0xc) = FUN_00012210;\n      *(undefined ***)(puVar10 + -0x10) = local_9c;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11b67;\n      bfd_map_over_sections();\n      ppuVar4 = local_9c;\njoined_r0x00011b72:\n      uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      local_9c = ppuVar4;\n      if (DAT_00018228 != 0) {\n        local_a0 = &DAT_00015442;\n        local_98 = "??";\n        do {\n          local_9c = (undefined **)0x15817;\n          do {\n            pcVar5 = DAT_00018234;\n            if (DAT_00018260 != 0) {\n              pcVar6 = local_98;\n              pcVar16 = DAT_00018234;\n              if (DAT_00018234 != (char *)0x0) {\n                if (*DAT_00018234 == '\0') {\n                  pcVar16 = (char *)0x0;\n                }\n                else {\n                  if (DAT_0001825c != 0) {\n                    *(undefined4 *)(puVar10 + -8) = 3;\n                    *(char **)(puVar10 + -0xc) = DAT_00018234;\n                    *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n                    *(undefined4 *)(puVar10 + -0x14) = 0x11db4;\n                    pcVar6 = (char *)bfd_demangle();\n                    pcVar16 = pcVar6;\n                    if (pcVar6 != (char *)0x0) goto LAB_00011bdd;\n                  }\n                  pcVar6 = pcVar5;\n                  pcVar16 = (char *)0x0;\n                }\n              }\nLAB_00011bdd:\n              *(char **)(puVar10 + -0xc) = pcVar6;\n              *(undefined ***)(puVar10 + -0x10) = local_9c;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11bec;\n              printf(*(char **)(puVar10 + -0x10));\n              if (DAT_00018258 == 0) {\n                *(undefined4 *)(puVar10 + -0x10) = 10;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11d8a;\n                putchar(*(int *)(puVar10 + -0x10));\n              }\n              else {\n                *(undefined4 *)(puVar10 + -8) = 5;\n                *(undefined **)(puVar10 + -0xc) = &DAT_0001543d;\n                *(undefined4 *)(puVar10 + -0x10) = 0;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c10;\n                uVar7 = dcgettext();\n                *(undefined4 *)(puVar10 + -0x10) = uVar7;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c18;\n                printf(*(char **)(puVar10 + -0x10));\n              }\n              if (pcVar16 != (char *)0x0) {\n                *(char **)(puVar10 + -0x10) = pcVar16;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c28;\n                free(*(void **)(puVar10 + -0x10));\n              }\n            }\n            pcVar5 = DAT_00018238;\n            if (DAT_00018254 == 0) {\nLAB_00011c5e:\n              pcVar5 = DAT_00018238;\n              if (DAT_00018238 == (char *)0x0) {\nLAB_00011d70:\n                pcVar5 = local_98;\n              }\n            }\n            else {\n              if (DAT_00018238 == (char *)0x0) goto LAB_00011d70;\n              *(undefined4 *)(puVar10 + -0xc) = 0x2f;\n              *(char **)(puVar10 + -0x10) = DAT_00018238;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11c4e;\n              pcVar6 = strrchr(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc));\n              if (pcVar6 != (char *)0x0) {\n                DAT_00018238 = pcVar6 + 1;\n                goto LAB_00011c5e;\n              }\n            }\n            *(char **)(puVar10 + -0xc) = pcVar5;\n            *(undefined **)(puVar10 + -0x10) = local_a0;\n            *(undefined4 *)(puVar10 + -0x14) = 0x11c75;\n            printf(*(char **)(puVar10 + -0x10));\n            if (DAT_00018230 == 0) {\n              *(undefined **)(puVar10 + -0x10) = &DAT_000153c0;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d5f;\n              puts(*(char **)(puVar10 + -0x10));\n            }\n            else if (DAT_0001822c == 0) {\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(undefined **)(puVar10 + -0x10) = &DAT_0001545d;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d48;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            else {\n              *(int *)(puVar10 + -8) = DAT_0001822c;\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(char **)(puVar10 + -0x10) = "%u (discriminator %u)\n";\n              *(undefined4 *)(puVar10 + -0x14) = 0x11ca5;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            if (DAT_00018268 == 0) {\n              DAT_00018228 = 0;\n              goto LAB_000119cc;\n            }\n            puVar2 = ppuVar4[1];\n            *(int **)(puVar10 + -4) = &DAT_00018230;\n            *(char ***)(puVar10 + -8) = &DAT_00018234;\n            *(char ***)(puVar10 + -0xc) = &DAT_00018238;\n            *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n            pcVar1 = *(code **)(puVar2 + 0x130);\n            *(undefined4 *)(puVar10 + -0x14) = 0x11cef;\n            DAT_00018228 = (*pcVar1)();\n            if (DAT_00018228 == 0) goto LAB_000119cc;\n          } while (DAT_00018258 == 0);\n          *(undefined4 *)(puVar10 + -8) = 5;\n          *(char **)(puVar10 + -0xc) = " (inlined by) ";\n          *(undefined4 *)(puVar10 + -0x10) = 0;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11d21;\n          uVar7 = dcgettext();\n          *(undefined4 *)(puVar10 + -0x10) = uVar7;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11d29;\n          printf(*(char **)(puVar10 + -0x10));\n        } while( true );\n      }\n    }\n    else if (((*(byte *)(local_a8 + 0x14) & 1) != 0) &&\n            (DAT_00018244 < *(uint *)(local_a8 + 0x30) ||\n             DAT_00018244 - *(uint *)(local_a8 + 0x30) <\n             (uint)(DAT_00018240 < *(uint *)(local_a8 + 0x2c)))) {\n      puVar2 = local_9c[1];\n      *(int **)(puVar10 + -0x10) = &DAT_0001822c;\n      *(int **)(puVar10 + -0x14) = &DAT_00018230;\n      *(char ***)(puVar10 + -0x18) = &DAT_00018234;\n      *(char ***)(puVar10 + -0x1c) = &DAT_00018238;\n      *(undefined8 *)(puVar10 + -0x24) = uVar19;\n      *(int *)(puVar10 + -0x28) = local_a8;\n      *(void **)(puVar10 + -0x2c) = DAT_00018248;\n      *(undefined ***)(puVar10 + -0x30) = local_9c;\n      pcVar1 = *(code **)(puVar2 + 0x128);\n      *(undefined4 *)(puVar10 + -0x34) = 0x1197f;\n      DAT_00018228 = (*pcVar1)();\n      ppuVar4 = local_9c;\n      goto joined_r0x00011b72;\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    if (DAT_00018260 != 0) {\n      if (DAT_00018258 == 0) {\n        *(undefined **)(puVar10 + -0x10) = &DAT_000153bf;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11ddf;\n        puts(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n      else {\n        *(undefined **)(puVar10 + -0x10) = &DAT_00015434;\n        *(undefined4 *)(puVar10 + -0x14) = 0x119b7;\n        printf(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    *(undefined **)(puVar10 + -0x10) = &DAT_00015438;\n    *(undefined4 *)(puVar10 + -0x14) = 0x119c9;\n    puts(*(char **)(puVar10 + -0x10));\n    ppuVar4 = local_9c;\n  } while( true );" do (compound_statement "{\n    local_9c = ppuVar4;\n    *(int *)(puVar10 + -0x10) = *local_a4;\n    *(undefined4 *)(puVar10 + -0x14) = 0x119dc;\n    fflush(*(FILE **)(puVar10 + -0x10));\nLAB_000119df:\n    if (local_ac == (int *)0x0) {\n      *(undefined4 *)(puVar10 + -8) = *local_bc;\n      *(undefined4 *)(puVar10 + -0xc) = 100;\n      *(undefined1 **)(puVar10 + -0x10) = local_84;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11a03;\n      pcVar5 = fgets(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc),*(FILE **)(puVar10 + -8));\n      if (pcVar5 == (char *)0x0) {\nLAB_00011e02:\n        ppuVar4 = local_9c;\n        if (DAT_00018248 != (void *)0x0) {\n          *(void **)(puVar10 + -0x10) = DAT_00018248;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11e1b;\n          free(*(void **)(puVar10 + -0x10));\n          DAT_00018248 = (void *)0x0;\n        }\n        *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11e31;\n        bfd_close();\n        return local_c0;\n      }\n      *(undefined4 *)(puVar10 + -8) = 0x10;\n      *(undefined4 *)(puVar10 + -0xc) = 0;\n      *(undefined1 **)(puVar10 + -0x10) = local_84;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11a1b;\n      uVar19 = bfd_scan_vma();\n      puVar2 = local_9c[1];\n      iVar3 = *(int *)(puVar2 + 4);\n    }\n    else {\n      if ((int)DAT_00018250 < 1) goto LAB_00011e02;\n      DAT_00018250 = (int *)((int)DAT_00018250 + -1);\n      *(undefined4 *)(puVar10 + -8) = 0x10;\n      *(undefined4 *)(puVar10 + -0xc) = 0;\n      *(undefined4 *)(puVar10 + -0x10) = *DAT_0001824c;\n      *(undefined4 *)(puVar10 + -0x14) = 0x118cc;\n      DAT_0001824c = DAT_0001824c + 1;\n      uVar19 = bfd_scan_vma();\n      puVar2 = local_9c[1];\n      iVar3 = *(int *)(puVar2 + 4);\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    if (iVar3 == 5) {\n      bVar8 = *(char *)(*(int *)(*(int *)(puVar2 + 0x1c0) + 0x19c) + 10) - 1;\n      pcVar5 = (char *)(1 << (bVar8 & 0x1f));\n      local_98 = pcVar5;\n      local_94 = (char *)(0 << (bVar8 & 0x1f) | 1U >> 0x20 - (bVar8 & 0x1f));\n      if ((bVar8 & 0x20) != 0) {\n        local_98 = (char *)0x0;\n        local_94 = pcVar5;\n      }\n      uVar9 = DAT_00018240 & (int)local_98 * 2 - 1U;\n      uVar18 = DAT_00018244 &\n               (((int)local_94 << 1 | (uint)local_98 >> 0x1f) - 1) + (uint)((int)local_98 * 2 != 0);\n      uVar19 = CONCAT44(uVar18,uVar9);\n      if ((*(byte *)(*(int *)(puVar2 + 0x1c0) + 0x1e9) & 1) != 0) {\n        local_b8 = (char *)(uVar9 ^ (uint)local_98);\n        local_b4 = uVar18 ^ (uint)local_94;\n        uVar19 = CONCAT44((local_b4 - (int)local_94) - (uint)(local_b8 < local_98),\n                          (int)local_b8 - (int)local_98);\n      }\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    local_a4 = local_b0;\n    if (DAT_00018264 != 0) {\n      *(undefined **)(puVar10 + -0x10) = &DAT_00015431;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11aff;\n      printf(*(char **)(puVar10 + -0x10));\n      local_a4 = (int *)PTR_stdout_00017ff0;\n      *(uint *)(puVar10 + -0x14) = DAT_00018244;\n      *(uint *)(puVar10 + -0x18) = DAT_00018240;\n      *(undefined4 *)(puVar10 + -0x1c) = *(undefined4 *)PTR_stdout_00017ff0;\n      *(undefined ***)(puVar10 + -0x20) = local_9c;\n      *(undefined4 *)(puVar10 + -0x24) = 0x11b24;\n      bfd_fprintf_vma();\n      if (DAT_00018258 == 0) {\n        *(undefined4 *)(puVar10 + -0x10) = 10;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11dfa;\n        putchar(*(int *)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n      else {\n        *(undefined **)(puVar10 + -0x10) = &DAT_00015702;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11b44;\n        printf(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    DAT_00018228 = 0;\n    if (local_a8 == 0) {\n      *(undefined4 *)(puVar10 + -8) = 0;\n      *(code **)(puVar10 + -0xc) = FUN_00012210;\n      *(undefined ***)(puVar10 + -0x10) = local_9c;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11b67;\n      bfd_map_over_sections();\n      ppuVar4 = local_9c;\njoined_r0x00011b72:\n      uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      local_9c = ppuVar4;\n      if (DAT_00018228 != 0) {\n        local_a0 = &DAT_00015442;\n        local_98 = "??";\n        do {\n          local_9c = (undefined **)0x15817;\n          do {\n            pcVar5 = DAT_00018234;\n            if (DAT_00018260 != 0) {\n              pcVar6 = local_98;\n              pcVar16 = DAT_00018234;\n              if (DAT_00018234 != (char *)0x0) {\n                if (*DAT_00018234 == '\0') {\n                  pcVar16 = (char *)0x0;\n                }\n                else {\n                  if (DAT_0001825c != 0) {\n                    *(undefined4 *)(puVar10 + -8) = 3;\n                    *(char **)(puVar10 + -0xc) = DAT_00018234;\n                    *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n                    *(undefined4 *)(puVar10 + -0x14) = 0x11db4;\n                    pcVar6 = (char *)bfd_demangle();\n                    pcVar16 = pcVar6;\n                    if (pcVar6 != (char *)0x0) goto LAB_00011bdd;\n                  }\n                  pcVar6 = pcVar5;\n                  pcVar16 = (char *)0x0;\n                }\n              }\nLAB_00011bdd:\n              *(char **)(puVar10 + -0xc) = pcVar6;\n              *(undefined ***)(puVar10 + -0x10) = local_9c;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11bec;\n              printf(*(char **)(puVar10 + -0x10));\n              if (DAT_00018258 == 0) {\n                *(undefined4 *)(puVar10 + -0x10) = 10;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11d8a;\n                putchar(*(int *)(puVar10 + -0x10));\n              }\n              else {\n                *(undefined4 *)(puVar10 + -8) = 5;\n                *(undefined **)(puVar10 + -0xc) = &DAT_0001543d;\n                *(undefined4 *)(puVar10 + -0x10) = 0;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c10;\n                uVar7 = dcgettext();\n                *(undefined4 *)(puVar10 + -0x10) = uVar7;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c18;\n                printf(*(char **)(puVar10 + -0x10));\n              }\n              if (pcVar16 != (char *)0x0) {\n                *(char **)(puVar10 + -0x10) = pcVar16;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c28;\n                free(*(void **)(puVar10 + -0x10));\n              }\n            }\n            pcVar5 = DAT_00018238;\n            if (DAT_00018254 == 0) {\nLAB_00011c5e:\n              pcVar5 = DAT_00018238;\n              if (DAT_00018238 == (char *)0x0) {\nLAB_00011d70:\n                pcVar5 = local_98;\n              }\n            }\n            else {\n              if (DAT_00018238 == (char *)0x0) goto LAB_00011d70;\n              *(undefined4 *)(puVar10 + -0xc) = 0x2f;\n              *(char **)(puVar10 + -0x10) = DAT_00018238;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11c4e;\n              pcVar6 = strrchr(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc));\n              if (pcVar6 != (char *)0x0) {\n                DAT_00018238 = pcVar6 + 1;\n                goto LAB_00011c5e;\n              }\n            }\n            *(char **)(puVar10 + -0xc) = pcVar5;\n            *(undefined **)(puVar10 + -0x10) = local_a0;\n            *(undefined4 *)(puVar10 + -0x14) = 0x11c75;\n            printf(*(char **)(puVar10 + -0x10));\n            if (DAT_00018230 == 0) {\n              *(undefined **)(puVar10 + -0x10) = &DAT_000153c0;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d5f;\n              puts(*(char **)(puVar10 + -0x10));\n            }\n            else if (DAT_0001822c == 0) {\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(undefined **)(puVar10 + -0x10) = &DAT_0001545d;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d48;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            else {\n              *(int *)(puVar10 + -8) = DAT_0001822c;\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(char **)(puVar10 + -0x10) = "%u (discriminator %u)\n";\n              *(undefined4 *)(puVar10 + -0x14) = 0x11ca5;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            if (DAT_00018268 == 0) {\n              DAT_00018228 = 0;\n              goto LAB_000119cc;\n            }\n            puVar2 = ppuVar4[1];\n            *(int **)(puVar10 + -4) = &DAT_00018230;\n            *(char ***)(puVar10 + -8) = &DAT_00018234;\n            *(char ***)(puVar10 + -0xc) = &DAT_00018238;\n            *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n            pcVar1 = *(code **)(puVar2 + 0x130);\n            *(undefined4 *)(puVar10 + -0x14) = 0x11cef;\n            DAT_00018228 = (*pcVar1)();\n            if (DAT_00018228 == 0) goto LAB_000119cc;\n          } while (DAT_00018258 == 0);\n          *(undefined4 *)(puVar10 + -8) = 5;\n          *(char **)(puVar10 + -0xc) = " (inlined by) ";\n          *(undefined4 *)(puVar10 + -0x10) = 0;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11d21;\n          uVar7 = dcgettext();\n          *(undefined4 *)(puVar10 + -0x10) = uVar7;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11d29;\n          printf(*(char **)(puVar10 + -0x10));\n        } while( true );\n      }\n    }\n    else if (((*(byte *)(local_a8 + 0x14) & 1) != 0) &&\n            (DAT_00018244 < *(uint *)(local_a8 + 0x30) ||\n             DAT_00018244 - *(uint *)(local_a8 + 0x30) <\n             (uint)(DAT_00018240 < *(uint *)(local_a8 + 0x2c)))) {\n      puVar2 = local_9c[1];\n      *(int **)(puVar10 + -0x10) = &DAT_0001822c;\n      *(int **)(puVar10 + -0x14) = &DAT_00018230;\n      *(char ***)(puVar10 + -0x18) = &DAT_00018234;\n      *(char ***)(puVar10 + -0x1c) = &DAT_00018238;\n      *(undefined8 *)(puVar10 + -0x24) = uVar19;\n      *(int *)(puVar10 + -0x28) = local_a8;\n      *(void **)(puVar10 + -0x2c) = DAT_00018248;\n      *(undefined ***)(puVar10 + -0x30) = local_9c;\n      pcVar1 = *(code **)(puVar2 + 0x128);\n      *(undefined4 *)(puVar10 + -0x34) = 0x1197f;\n      DAT_00018228 = (*pcVar1)();\n      ppuVar4 = local_9c;\n      goto joined_r0x00011b72;\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    if (DAT_00018260 != 0) {\n      if (DAT_00018258 == 0) {\n        *(undefined **)(puVar10 + -0x10) = &DAT_000153bf;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11ddf;\n        puts(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n      else {\n        *(undefined **)(puVar10 + -0x10) = &DAT_00015434;\n        *(undefined4 *)(puVar10 + -0x14) = 0x119b7;\n        printf(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    *(undefined **)(puVar10 + -0x10) = &DAT_00015438;\n    *(undefined4 *)(puVar10 + -0x14) = 0x119c9;\n    puts(*(char **)(puVar10 + -0x10));\n    ppuVar4 = local_9c;\n  }" { (expression_statement "local_9c = ppuVar4;" (assignment_expression "local_9c = ppuVar4" identifier = identifier) ;) (expression_statement "*(int *)(puVar10 + -0x10) = *local_a4;" (assignment_expression "*(int *)(puVar10 + -0x10) = *local_a4" (pointer_expression "*(int *)(puVar10 + -0x10)" * (cast_expression "(int *)(puVar10 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = (pointer_expression "*local_a4" * identifier)) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x119dc;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x119dc" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" * (cast_expression "(undefined4 *)(puVar10 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "fflush(*(FILE **)(puVar10 + -0x10));" (call_expression "fflush(*(FILE **)(puVar10 + -0x10))" identifier (argument_list "(*(FILE **)(puVar10 + -0x10))" ( (pointer_expression "*(FILE **)(puVar10 + -0x10)" * (cast_expression "(FILE **)(puVar10 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) ))) ;) (labeled_statement "LAB_000119df:\n    if (local_ac == (int *)0x0) {\n      *(undefined4 *)(puVar10 + -8) = *local_bc;\n      *(undefined4 *)(puVar10 + -0xc) = 100;\n      *(undefined1 **)(puVar10 + -0x10) = local_84;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11a03;\n      pcVar5 = fgets(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc),*(FILE **)(puVar10 + -8));\n      if (pcVar5 == (char *)0x0) {\nLAB_00011e02:\n        ppuVar4 = local_9c;\n        if (DAT_00018248 != (void *)0x0) {\n          *(void **)(puVar10 + -0x10) = DAT_00018248;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11e1b;\n          free(*(void **)(puVar10 + -0x10));\n          DAT_00018248 = (void *)0x0;\n        }\n        *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11e31;\n        bfd_close();\n        return local_c0;\n      }\n      *(undefined4 *)(puVar10 + -8) = 0x10;\n      *(undefined4 *)(puVar10 + -0xc) = 0;\n      *(undefined1 **)(puVar10 + -0x10) = local_84;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11a1b;\n      uVar19 = bfd_scan_vma();\n      puVar2 = local_9c[1];\n      iVar3 = *(int *)(puVar2 + 4);\n    }\n    else {\n      if ((int)DAT_00018250 < 1) goto LAB_00011e02;\n      DAT_00018250 = (int *)((int)DAT_00018250 + -1);\n      *(undefined4 *)(puVar10 + -8) = 0x10;\n      *(undefined4 *)(puVar10 + -0xc) = 0;\n      *(undefined4 *)(puVar10 + -0x10) = *DAT_0001824c;\n      *(undefined4 *)(puVar10 + -0x14) = 0x118cc;\n      DAT_0001824c = DAT_0001824c + 1;\n      uVar19 = bfd_scan_vma();\n      puVar2 = local_9c[1];\n      iVar3 = *(int *)(puVar2 + 4);\n    }" statement_identifier : (if_statement "if (local_ac == (int *)0x0) {\n      *(undefined4 *)(puVar10 + -8) = *local_bc;\n      *(undefined4 *)(puVar10 + -0xc) = 100;\n      *(undefined1 **)(puVar10 + -0x10) = local_84;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11a03;\n      pcVar5 = fgets(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc),*(FILE **)(puVar10 + -8));\n      if (pcVar5 == (char *)0x0) {\nLAB_00011e02:\n        ppuVar4 = local_9c;\n        if (DAT_00018248 != (void *)0x0) {\n          *(void **)(puVar10 + -0x10) = DAT_00018248;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11e1b;\n          free(*(void **)(puVar10 + -0x10));\n          DAT_00018248 = (void *)0x0;\n        }\n        *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11e31;\n        bfd_close();\n        return local_c0;\n      }\n      *(undefined4 *)(puVar10 + -8) = 0x10;\n      *(undefined4 *)(puVar10 + -0xc) = 0;\n      *(undefined1 **)(puVar10 + -0x10) = local_84;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11a1b;\n      uVar19 = bfd_scan_vma();\n      puVar2 = local_9c[1];\n      iVar3 = *(int *)(puVar2 + 4);\n    }\n    else {\n      if ((int)DAT_00018250 < 1) goto LAB_00011e02;\n      DAT_00018250 = (int *)((int)DAT_00018250 + -1);\n      *(undefined4 *)(puVar10 + -8) = 0x10;\n      *(undefined4 *)(puVar10 + -0xc) = 0;\n      *(undefined4 *)(puVar10 + -0x10) = *DAT_0001824c;\n      *(undefined4 *)(puVar10 + -0x14) = 0x118cc;\n      DAT_0001824c = DAT_0001824c + 1;\n      uVar19 = bfd_scan_vma();\n      puVar2 = local_9c[1];\n      iVar3 = *(int *)(puVar2 + 4);\n    }" if (parenthesized_expression "(local_ac == (int *)0x0)" ( (binary_expression "local_ac == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      *(undefined4 *)(puVar10 + -8) = *local_bc;\n      *(undefined4 *)(puVar10 + -0xc) = 100;\n      *(undefined1 **)(puVar10 + -0x10) = local_84;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11a03;\n      pcVar5 = fgets(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc),*(FILE **)(puVar10 + -8));\n      if (pcVar5 == (char *)0x0) {\nLAB_00011e02:\n        ppuVar4 = local_9c;\n        if (DAT_00018248 != (void *)0x0) {\n          *(void **)(puVar10 + -0x10) = DAT_00018248;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11e1b;\n          free(*(void **)(puVar10 + -0x10));\n          DAT_00018248 = (void *)0x0;\n        }\n        *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11e31;\n        bfd_close();\n        return local_c0;\n      }\n      *(undefined4 *)(puVar10 + -8) = 0x10;\n      *(undefined4 *)(puVar10 + -0xc) = 0;\n      *(undefined1 **)(puVar10 + -0x10) = local_84;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11a1b;\n      uVar19 = bfd_scan_vma();\n      puVar2 = local_9c[1];\n      iVar3 = *(int *)(puVar2 + 4);\n    }" { (expression_statement "*(undefined4 *)(puVar10 + -8) = *local_bc;" (assignment_expression "*(undefined4 *)(puVar10 + -8) = *local_bc" (pointer_expression "*(undefined4 *)(puVar10 + -8)" * (cast_expression "(undefined4 *)(puVar10 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -8)" ( (binary_expression "puVar10 + -8" identifier + number_literal) )))) = (pointer_expression "*local_bc" * identifier)) ;) (expression_statement "*(undefined4 *)(puVar10 + -0xc) = 100;" (assignment_expression "*(undefined4 *)(puVar10 + -0xc) = 100" (pointer_expression "*(undefined4 *)(puVar10 + -0xc)" * (cast_expression "(undefined4 *)(puVar10 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0xc)" ( (binary_expression "puVar10 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)(puVar10 + -0x10) = local_84;" (assignment_expression "*(undefined1 **)(puVar10 + -0x10) = local_84" (pointer_expression "*(undefined1 **)(puVar10 + -0x10)" * (cast_expression "(undefined1 **)(puVar10 + -0x10)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x11a03;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x11a03" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" * (cast_expression "(undefined4 *)(puVar10 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar5 = fgets(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc),*(FILE **)(puVar10 + -8));" (assignment_expression "pcVar5 = fgets(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc),*(FILE **)(puVar10 + -8))" identifier = (call_expression "fgets(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc),*(FILE **)(puVar10 + -8))" identifier (argument_list "(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc),*(FILE **)(puVar10 + -8))" ( (pointer_expression "*(char **)(puVar10 + -0x10)" * (cast_expression "(char **)(puVar10 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(int *)(puVar10 + -0xc)" * (cast_expression "(int *)(puVar10 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0xc)" ( (binary_expression "puVar10 + -0xc" identifier + number_literal) )))) , (pointer_expression "*(FILE **)(puVar10 + -8)" * (cast_expression "(FILE **)(puVar10 + -8)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -8)" ( (binary_expression "puVar10 + -8" identifier + number_literal) )))) )))) ;) (if_statement "if (pcVar5 == (char *)0x0) {\nLAB_00011e02:\n        ppuVar4 = local_9c;\n        if (DAT_00018248 != (void *)0x0) {\n          *(void **)(puVar10 + -0x10) = DAT_00018248;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11e1b;\n          free(*(void **)(puVar10 + -0x10));\n          DAT_00018248 = (void *)0x0;\n        }\n        *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11e31;\n        bfd_close();\n        return local_c0;\n      }" if (parenthesized_expression "(pcVar5 == (char *)0x0)" ( (binary_expression "pcVar5 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00011e02:\n        ppuVar4 = local_9c;\n        if (DAT_00018248 != (void *)0x0) {\n          *(void **)(puVar10 + -0x10) = DAT_00018248;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11e1b;\n          free(*(void **)(puVar10 + -0x10));\n          DAT_00018248 = (void *)0x0;\n        }\n        *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11e31;\n        bfd_close();\n        return local_c0;\n      }" { (labeled_statement "LAB_00011e02:\n        ppuVar4 = local_9c;" statement_identifier : (expression_statement "ppuVar4 = local_9c;" (assignment_expression "ppuVar4 = local_9c" identifier = identifier) ;)) (if_statement "if (DAT_00018248 != (void *)0x0) {\n          *(void **)(puVar10 + -0x10) = DAT_00018248;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11e1b;\n          free(*(void **)(puVar10 + -0x10));\n          DAT_00018248 = (void *)0x0;\n        }" if (parenthesized_expression "(DAT_00018248 != (void *)0x0)" ( (binary_expression "DAT_00018248 != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          *(void **)(puVar10 + -0x10) = DAT_00018248;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11e1b;\n          free(*(void **)(puVar10 + -0x10));\n          DAT_00018248 = (void *)0x0;\n        }" { (expression_statement "*(void **)(puVar10 + -0x10) = DAT_00018248;" (assignment_expression "*(void **)(puVar10 + -0x10) = DAT_00018248" (pointer_expression "*(void **)(puVar10 + -0x10)" * (cast_expression "(void **)(puVar10 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x11e1b;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x11e1b" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" * (cast_expression "(undefined4 *)(puVar10 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)(puVar10 + -0x10));" (call_expression "free(*(void **)(puVar10 + -0x10))" identifier (argument_list "(*(void **)(puVar10 + -0x10))" ( (pointer_expression "*(void **)(puVar10 + -0x10)" * (cast_expression "(void **)(puVar10 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "DAT_00018248 = (void *)0x0;" (assignment_expression "DAT_00018248 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (expression_statement "*(undefined ***)(puVar10 + -0x10) = ppuVar4;" (assignment_expression "*(undefined ***)(puVar10 + -0x10) = ppuVar4" (pointer_expression "*(undefined ***)(puVar10 + -0x10)" * (cast_expression "(undefined ***)(puVar10 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x11e31;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x11e31" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" * (cast_expression "(undefined4 *)(puVar10 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "bfd_close();" (call_expression "bfd_close()" identifier (argument_list "()" ( ))) ;) (return_statement "return local_c0;" return identifier ;) })) (expression_statement "*(undefined4 *)(puVar10 + -8) = 0x10;" (assignment_expression "*(undefined4 *)(puVar10 + -8) = 0x10" (pointer_expression "*(undefined4 *)(puVar10 + -8)" * (cast_expression "(undefined4 *)(puVar10 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -8)" ( (binary_expression "puVar10 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar10 + -0xc) = 0;" (assignment_expression "*(undefined4 *)(puVar10 + -0xc) = 0" (pointer_expression "*(undefined4 *)(puVar10 + -0xc)" * (cast_expression "(undefined4 *)(puVar10 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0xc)" ( (binary_expression "puVar10 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)(puVar10 + -0x10) = local_84;" (assignment_expression "*(undefined1 **)(puVar10 + -0x10) = local_84" (pointer_expression "*(undefined1 **)(puVar10 + -0x10)" * (cast_expression "(undefined1 **)(puVar10 + -0x10)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x11a1b;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x11a1b" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" * (cast_expression "(undefined4 *)(puVar10 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar19 = bfd_scan_vma();" (assignment_expression "uVar19 = bfd_scan_vma()" identifier = (call_expression "bfd_scan_vma()" identifier (argument_list "()" ( )))) ;) (expression_statement "puVar2 = local_9c[1];" (assignment_expression "puVar2 = local_9c[1]" identifier = (subscript_expression "local_9c[1]" identifier [ number_literal ])) ;) (expression_statement "iVar3 = *(int *)(puVar2 + 4);" (assignment_expression "iVar3 = *(int *)(puVar2 + 4)" identifier = (pointer_expression "*(int *)(puVar2 + 4)" * (cast_expression "(int *)(puVar2 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 4)" ( (binary_expression "puVar2 + 4" identifier + number_literal) ))))) ;) }) (else_clause "else {\n      if ((int)DAT_00018250 < 1) goto LAB_00011e02;\n      DAT_00018250 = (int *)((int)DAT_00018250 + -1);\n      *(undefined4 *)(puVar10 + -8) = 0x10;\n      *(undefined4 *)(puVar10 + -0xc) = 0;\n      *(undefined4 *)(puVar10 + -0x10) = *DAT_0001824c;\n      *(undefined4 *)(puVar10 + -0x14) = 0x118cc;\n      DAT_0001824c = DAT_0001824c + 1;\n      uVar19 = bfd_scan_vma();\n      puVar2 = local_9c[1];\n      iVar3 = *(int *)(puVar2 + 4);\n    }" else (compound_statement "{\n      if ((int)DAT_00018250 < 1) goto LAB_00011e02;\n      DAT_00018250 = (int *)((int)DAT_00018250 + -1);\n      *(undefined4 *)(puVar10 + -8) = 0x10;\n      *(undefined4 *)(puVar10 + -0xc) = 0;\n      *(undefined4 *)(puVar10 + -0x10) = *DAT_0001824c;\n      *(undefined4 *)(puVar10 + -0x14) = 0x118cc;\n      DAT_0001824c = DAT_0001824c + 1;\n      uVar19 = bfd_scan_vma();\n      puVar2 = local_9c[1];\n      iVar3 = *(int *)(puVar2 + 4);\n    }" { (if_statement "if ((int)DAT_00018250 < 1) goto LAB_00011e02;" if (parenthesized_expression "((int)DAT_00018250 < 1)" ( (binary_expression "(int)DAT_00018250 < 1" (cast_expression "(int)DAT_00018250" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (goto_statement "goto LAB_00011e02;" goto statement_identifier ;)) (expression_statement "DAT_00018250 = (int *)((int)DAT_00018250 + -1);" (assignment_expression "DAT_00018250 = (int *)((int)DAT_00018250 + -1)" identifier = (cast_expression "(int *)((int)DAT_00018250 + -1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)DAT_00018250 + -1)" ( (binary_expression "(int)DAT_00018250 + -1" (cast_expression "(int)DAT_00018250" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(undefined4 *)(puVar10 + -8) = 0x10;" (assignment_expression "*(undefined4 *)(puVar10 + -8) = 0x10" (pointer_expression "*(undefined4 *)(puVar10 + -8)" * (cast_expression "(undefined4 *)(puVar10 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -8)" ( (binary_expression "puVar10 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar10 + -0xc) = 0;" (assignment_expression "*(undefined4 *)(puVar10 + -0xc) = 0" (pointer_expression "*(undefined4 *)(puVar10 + -0xc)" * (cast_expression "(undefined4 *)(puVar10 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0xc)" ( (binary_expression "puVar10 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x10) = *DAT_0001824c;" (assignment_expression "*(undefined4 *)(puVar10 + -0x10) = *DAT_0001824c" (pointer_expression "*(undefined4 *)(puVar10 + -0x10)" * (cast_expression "(undefined4 *)(puVar10 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = (pointer_expression "*DAT_0001824c" * identifier)) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x118cc;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x118cc" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" * (cast_expression "(undefined4 *)(puVar10 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "DAT_0001824c = DAT_0001824c + 1;" (assignment_expression "DAT_0001824c = DAT_0001824c + 1" identifier = (binary_expression "DAT_0001824c + 1" identifier + number_literal)) ;) (expression_statement "uVar19 = bfd_scan_vma();" (assignment_expression "uVar19 = bfd_scan_vma()" identifier = (call_expression "bfd_scan_vma()" identifier (argument_list "()" ( )))) ;) (expression_statement "puVar2 = local_9c[1];" (assignment_expression "puVar2 = local_9c[1]" identifier = (subscript_expression "local_9c[1]" identifier [ number_literal ])) ;) (expression_statement "iVar3 = *(int *)(puVar2 + 4);" (assignment_expression "iVar3 = *(int *)(puVar2 + 4)" identifier = (pointer_expression "*(int *)(puVar2 + 4)" * (cast_expression "(int *)(puVar2 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 4)" ( (binary_expression "puVar2 + 4" identifier + number_literal) ))))) ;) })))) (expression_statement "DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);" (assignment_expression "DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20)" identifier = (call_expression "(uint)((ulonglong)uVar19 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)uVar19 >> 0x20)" ( (binary_expression "(ulonglong)uVar19 >> 0x20" (cast_expression "(ulonglong)uVar19" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "DAT_00018240 = (uint)uVar19;" (assignment_expression "DAT_00018240 = (uint)uVar19" identifier = (cast_expression "(uint)uVar19" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (iVar3 == 5) {\n      bVar8 = *(char *)(*(int *)(*(int *)(puVar2 + 0x1c0) + 0x19c) + 10) - 1;\n      pcVar5 = (char *)(1 << (bVar8 & 0x1f));\n      local_98 = pcVar5;\n      local_94 = (char *)(0 << (bVar8 & 0x1f) | 1U >> 0x20 - (bVar8 & 0x1f));\n      if ((bVar8 & 0x20) != 0) {\n        local_98 = (char *)0x0;\n        local_94 = pcVar5;\n      }\n      uVar9 = DAT_00018240 & (int)local_98 * 2 - 1U;\n      uVar18 = DAT_00018244 &\n               (((int)local_94 << 1 | (uint)local_98 >> 0x1f) - 1) + (uint)((int)local_98 * 2 != 0);\n      uVar19 = CONCAT44(uVar18,uVar9);\n      if ((*(byte *)(*(int *)(puVar2 + 0x1c0) + 0x1e9) & 1) != 0) {\n        local_b8 = (char *)(uVar9 ^ (uint)local_98);\n        local_b4 = uVar18 ^ (uint)local_94;\n        uVar19 = CONCAT44((local_b4 - (int)local_94) - (uint)(local_b8 < local_98),\n                          (int)local_b8 - (int)local_98);\n      }\n    }" if (parenthesized_expression "(iVar3 == 5)" ( (binary_expression "iVar3 == 5" identifier == number_literal) )) (compound_statement "{\n      bVar8 = *(char *)(*(int *)(*(int *)(puVar2 + 0x1c0) + 0x19c) + 10) - 1;\n      pcVar5 = (char *)(1 << (bVar8 & 0x1f));\n      local_98 = pcVar5;\n      local_94 = (char *)(0 << (bVar8 & 0x1f) | 1U >> 0x20 - (bVar8 & 0x1f));\n      if ((bVar8 & 0x20) != 0) {\n        local_98 = (char *)0x0;\n        local_94 = pcVar5;\n      }\n      uVar9 = DAT_00018240 & (int)local_98 * 2 - 1U;\n      uVar18 = DAT_00018244 &\n               (((int)local_94 << 1 | (uint)local_98 >> 0x1f) - 1) + (uint)((int)local_98 * 2 != 0);\n      uVar19 = CONCAT44(uVar18,uVar9);\n      if ((*(byte *)(*(int *)(puVar2 + 0x1c0) + 0x1e9) & 1) != 0) {\n        local_b8 = (char *)(uVar9 ^ (uint)local_98);\n        local_b4 = uVar18 ^ (uint)local_94;\n        uVar19 = CONCAT44((local_b4 - (int)local_94) - (uint)(local_b8 < local_98),\n                          (int)local_b8 - (int)local_98);\n      }\n    }" { (expression_statement "bVar8 = *(char *)(*(int *)(*(int *)(puVar2 + 0x1c0) + 0x19c) + 10) - 1;" (assignment_expression "bVar8 = *(char *)(*(int *)(*(int *)(puVar2 + 0x1c0) + 0x19c) + 10) - 1" identifier = (binary_expression "*(char *)(*(int *)(*(int *)(puVar2 + 0x1c0) + 0x19c) + 10) - 1" (pointer_expression "*(char *)(*(int *)(*(int *)(puVar2 + 0x1c0) + 0x19c) + 10)" * (cast_expression "(char *)(*(int *)(*(int *)(puVar2 + 0x1c0) + 0x19c) + 10)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(puVar2 + 0x1c0) + 0x19c) + 10)" ( (binary_expression "*(int *)(*(int *)(puVar2 + 0x1c0) + 0x19c) + 10" (pointer_expression "*(int *)(*(int *)(puVar2 + 0x1c0) + 0x19c)" * (cast_expression "(int *)(*(int *)(puVar2 + 0x1c0) + 0x19c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar2 + 0x1c0) + 0x19c)" ( (binary_expression "*(int *)(puVar2 + 0x1c0) + 0x19c" (pointer_expression "*(int *)(puVar2 + 0x1c0)" * (cast_expression "(int *)(puVar2 + 0x1c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 0x1c0)" ( (binary_expression "puVar2 + 0x1c0" identifier + number_literal) )))) + number_literal) )))) + number_literal) )))) - number_literal)) ;) (expression_statement "pcVar5 = (char *)(1 << (bVar8 & 0x1f));" (assignment_expression "pcVar5 = (char *)(1 << (bVar8 & 0x1f))" identifier = (cast_expression "(char *)(1 << (bVar8 & 0x1f))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(1 << (bVar8 & 0x1f))" ( (binary_expression "1 << (bVar8 & 0x1f)" number_literal << (parenthesized_expression "(bVar8 & 0x1f)" ( (binary_expression "bVar8 & 0x1f" identifier & number_literal) ))) )))) ;) (expression_statement "local_98 = pcVar5;" (assignment_expression "local_98 = pcVar5" identifier = identifier) ;) (expression_statement "local_94 = (char *)(0 << (bVar8 & 0x1f) | 1U >> 0x20 - (bVar8 & 0x1f));" (assignment_expression "local_94 = (char *)(0 << (bVar8 & 0x1f) | 1U >> 0x20 - (bVar8 & 0x1f))" identifier = (cast_expression "(char *)(0 << (bVar8 & 0x1f) | 1U >> 0x20 - (bVar8 & 0x1f))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(0 << (bVar8 & 0x1f) | 1U >> 0x20 - (bVar8 & 0x1f))" ( (binary_expression "0 << (bVar8 & 0x1f) | 1U >> 0x20 - (bVar8 & 0x1f)" (binary_expression "0 << (bVar8 & 0x1f)" number_literal << (parenthesized_expression "(bVar8 & 0x1f)" ( (binary_expression "bVar8 & 0x1f" identifier & number_literal) ))) | (binary_expression "1U >> 0x20 - (bVar8 & 0x1f)" number_literal >> (binary_expression "0x20 - (bVar8 & 0x1f)" number_literal - (parenthesized_expression "(bVar8 & 0x1f)" ( (binary_expression "bVar8 & 0x1f" identifier & number_literal) ))))) )))) ;) (if_statement "if ((bVar8 & 0x20) != 0) {\n        local_98 = (char *)0x0;\n        local_94 = pcVar5;\n      }" if (parenthesized_expression "((bVar8 & 0x20) != 0)" ( (binary_expression "(bVar8 & 0x20) != 0" (parenthesized_expression "(bVar8 & 0x20)" ( (binary_expression "bVar8 & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        local_98 = (char *)0x0;\n        local_94 = pcVar5;\n      }" { (expression_statement "local_98 = (char *)0x0;" (assignment_expression "local_98 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_94 = pcVar5;" (assignment_expression "local_94 = pcVar5" identifier = identifier) ;) })) (expression_statement "uVar9 = DAT_00018240 & (int)local_98 * 2 - 1U;" (assignment_expression "uVar9 = DAT_00018240 & (int)local_98 * 2 - 1U" identifier = (binary_expression "DAT_00018240 & (int)local_98 * 2 - 1U" identifier & (binary_expression "(int)local_98 * 2 - 1U" (binary_expression "(int)local_98 * 2" (cast_expression "(int)local_98" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) - number_literal))) ;) (expression_statement "uVar18 = DAT_00018244 &\n               (((int)local_94 << 1 | (uint)local_98 >> 0x1f) - 1) + (uint)((int)local_98 * 2 != 0);" (assignment_expression "uVar18 = DAT_00018244 &\n               (((int)local_94 << 1 | (uint)local_98 >> 0x1f) - 1) + (uint)((int)local_98 * 2 != 0)" identifier = (binary_expression "DAT_00018244 &\n               (((int)local_94 << 1 | (uint)local_98 >> 0x1f) - 1) + (uint)((int)local_98 * 2 != 0)" identifier & (binary_expression "(((int)local_94 << 1 | (uint)local_98 >> 0x1f) - 1) + (uint)((int)local_98 * 2 != 0)" (parenthesized_expression "(((int)local_94 << 1 | (uint)local_98 >> 0x1f) - 1)" ( (binary_expression "((int)local_94 << 1 | (uint)local_98 >> 0x1f) - 1" (parenthesized_expression "((int)local_94 << 1 | (uint)local_98 >> 0x1f)" ( (binary_expression "(int)local_94 << 1 | (uint)local_98 >> 0x1f" (binary_expression "(int)local_94 << 1" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal) | (binary_expression "(uint)local_98 >> 0x1f" (cast_expression "(uint)local_98" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal)) )) - number_literal) )) + (call_expression "(uint)((int)local_98 * 2 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)local_98 * 2 != 0)" ( (binary_expression "(int)local_98 * 2 != 0" (binary_expression "(int)local_98 * 2" (cast_expression "(int)local_98" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) != number_literal) )))))) ;) (expression_statement "uVar19 = CONCAT44(uVar18,uVar9);" (assignment_expression "uVar19 = CONCAT44(uVar18,uVar9)" identifier = (call_expression "CONCAT44(uVar18,uVar9)" identifier (argument_list "(uVar18,uVar9)" ( identifier , identifier )))) ;) (if_statement "if ((*(byte *)(*(int *)(puVar2 + 0x1c0) + 0x1e9) & 1) != 0) {\n        local_b8 = (char *)(uVar9 ^ (uint)local_98);\n        local_b4 = uVar18 ^ (uint)local_94;\n        uVar19 = CONCAT44((local_b4 - (int)local_94) - (uint)(local_b8 < local_98),\n                          (int)local_b8 - (int)local_98);\n      }" if (parenthesized_expression "((*(byte *)(*(int *)(puVar2 + 0x1c0) + 0x1e9) & 1) != 0)" ( (binary_expression "(*(byte *)(*(int *)(puVar2 + 0x1c0) + 0x1e9) & 1) != 0" (parenthesized_expression "(*(byte *)(*(int *)(puVar2 + 0x1c0) + 0x1e9) & 1)" ( (binary_expression "*(byte *)(*(int *)(puVar2 + 0x1c0) + 0x1e9) & 1" (pointer_expression "*(byte *)(*(int *)(puVar2 + 0x1c0) + 0x1e9)" * (cast_expression "(byte *)(*(int *)(puVar2 + 0x1c0) + 0x1e9)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar2 + 0x1c0) + 0x1e9)" ( (binary_expression "*(int *)(puVar2 + 0x1c0) + 0x1e9" (pointer_expression "*(int *)(puVar2 + 0x1c0)" * (cast_expression "(int *)(puVar2 + 0x1c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 0x1c0)" ( (binary_expression "puVar2 + 0x1c0" identifier + number_literal) )))) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n        local_b8 = (char *)(uVar9 ^ (uint)local_98);\n        local_b4 = uVar18 ^ (uint)local_94;\n        uVar19 = CONCAT44((local_b4 - (int)local_94) - (uint)(local_b8 < local_98),\n                          (int)local_b8 - (int)local_98);\n      }" { (expression_statement "local_b8 = (char *)(uVar9 ^ (uint)local_98);" (assignment_expression "local_b8 = (char *)(uVar9 ^ (uint)local_98)" identifier = (cast_expression "(char *)(uVar9 ^ (uint)local_98)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar9 ^ (uint)local_98)" ( (binary_expression "uVar9 ^ (uint)local_98" identifier ^ (cast_expression "(uint)local_98" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) ;) (expression_statement "local_b4 = uVar18 ^ (uint)local_94;" (assignment_expression "local_b4 = uVar18 ^ (uint)local_94" identifier = (binary_expression "uVar18 ^ (uint)local_94" identifier ^ (cast_expression "(uint)local_94" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "uVar19 = CONCAT44((local_b4 - (int)local_94) - (uint)(local_b8 < local_98),\n                          (int)local_b8 - (int)local_98);" (assignment_expression "uVar19 = CONCAT44((local_b4 - (int)local_94) - (uint)(local_b8 < local_98),\n                          (int)local_b8 - (int)local_98)" identifier = (call_expression "CONCAT44((local_b4 - (int)local_94) - (uint)(local_b8 < local_98),\n                          (int)local_b8 - (int)local_98)" identifier (argument_list "((local_b4 - (int)local_94) - (uint)(local_b8 < local_98),\n                          (int)local_b8 - (int)local_98)" ( (binary_expression "(local_b4 - (int)local_94) - (uint)(local_b8 < local_98)" (parenthesized_expression "(local_b4 - (int)local_94)" ( (binary_expression "local_b4 - (int)local_94" identifier - (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier)) )) - (call_expression "(uint)(local_b8 < local_98)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_b8 < local_98)" ( (binary_expression "local_b8 < local_98" identifier < identifier) )))) , (binary_expression "(int)local_b8 - (int)local_98" (cast_expression "(int)local_b8" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_98" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) })) })) (expression_statement "DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);" (assignment_expression "DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20)" identifier = (call_expression "(uint)((ulonglong)uVar19 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)uVar19 >> 0x20)" ( (binary_expression "(ulonglong)uVar19 >> 0x20" (cast_expression "(ulonglong)uVar19" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "DAT_00018240 = (uint)uVar19;" (assignment_expression "DAT_00018240 = (uint)uVar19" identifier = (cast_expression "(uint)uVar19" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "local_a4 = local_b0;" (assignment_expression "local_a4 = local_b0" identifier = identifier) ;) (if_statement "if (DAT_00018264 != 0) {\n      *(undefined **)(puVar10 + -0x10) = &DAT_00015431;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11aff;\n      printf(*(char **)(puVar10 + -0x10));\n      local_a4 = (int *)PTR_stdout_00017ff0;\n      *(uint *)(puVar10 + -0x14) = DAT_00018244;\n      *(uint *)(puVar10 + -0x18) = DAT_00018240;\n      *(undefined4 *)(puVar10 + -0x1c) = *(undefined4 *)PTR_stdout_00017ff0;\n      *(undefined ***)(puVar10 + -0x20) = local_9c;\n      *(undefined4 *)(puVar10 + -0x24) = 0x11b24;\n      bfd_fprintf_vma();\n      if (DAT_00018258 == 0) {\n        *(undefined4 *)(puVar10 + -0x10) = 10;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11dfa;\n        putchar(*(int *)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n      else {\n        *(undefined **)(puVar10 + -0x10) = &DAT_00015702;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11b44;\n        printf(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n    }" if (parenthesized_expression "(DAT_00018264 != 0)" ( (binary_expression "DAT_00018264 != 0" identifier != number_literal) )) (compound_statement "{\n      *(undefined **)(puVar10 + -0x10) = &DAT_00015431;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11aff;\n      printf(*(char **)(puVar10 + -0x10));\n      local_a4 = (int *)PTR_stdout_00017ff0;\n      *(uint *)(puVar10 + -0x14) = DAT_00018244;\n      *(uint *)(puVar10 + -0x18) = DAT_00018240;\n      *(undefined4 *)(puVar10 + -0x1c) = *(undefined4 *)PTR_stdout_00017ff0;\n      *(undefined ***)(puVar10 + -0x20) = local_9c;\n      *(undefined4 *)(puVar10 + -0x24) = 0x11b24;\n      bfd_fprintf_vma();\n      if (DAT_00018258 == 0) {\n        *(undefined4 *)(puVar10 + -0x10) = 10;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11dfa;\n        putchar(*(int *)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n      else {\n        *(undefined **)(puVar10 + -0x10) = &DAT_00015702;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11b44;\n        printf(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n    }" { (expression_statement "*(undefined **)(puVar10 + -0x10) = &DAT_00015431;" (assignment_expression "*(undefined **)(puVar10 + -0x10) = &DAT_00015431" (pointer_expression "*(undefined **)(puVar10 + -0x10)" * (cast_expression "(undefined **)(puVar10 + -0x10)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = (pointer_expression "&DAT_00015431" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x11aff;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x11aff" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" * (cast_expression "(undefined4 *)(puVar10 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "printf(*(char **)(puVar10 + -0x10));" (call_expression "printf(*(char **)(puVar10 + -0x10))" identifier (argument_list "(*(char **)(puVar10 + -0x10))" ( (pointer_expression "*(char **)(puVar10 + -0x10)" * (cast_expression "(char **)(puVar10 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "local_a4 = (int *)PTR_stdout_00017ff0;" (assignment_expression "local_a4 = (int *)PTR_stdout_00017ff0" identifier = (cast_expression "(int *)PTR_stdout_00017ff0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "*(uint *)(puVar10 + -0x14) = DAT_00018244;" (assignment_expression "*(uint *)(puVar10 + -0x14) = DAT_00018244" (pointer_expression "*(uint *)(puVar10 + -0x14)" * (cast_expression "(uint *)(puVar10 + -0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(puVar10 + -0x18) = DAT_00018240;" (assignment_expression "*(uint *)(puVar10 + -0x18) = DAT_00018240" (pointer_expression "*(uint *)(puVar10 + -0x18)" * (cast_expression "(uint *)(puVar10 + -0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x18)" ( (binary_expression "puVar10 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x1c) = *(undefined4 *)PTR_stdout_00017ff0;" (assignment_expression "*(undefined4 *)(puVar10 + -0x1c) = *(undefined4 *)PTR_stdout_00017ff0" (pointer_expression "*(undefined4 *)(puVar10 + -0x1c)" * (cast_expression "(undefined4 *)(puVar10 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x1c)" ( (binary_expression "puVar10 + -0x1c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)PTR_stdout_00017ff0" * (cast_expression "(undefined4 *)PTR_stdout_00017ff0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "*(undefined ***)(puVar10 + -0x20) = local_9c;" (assignment_expression "*(undefined ***)(puVar10 + -0x20) = local_9c" (pointer_expression "*(undefined ***)(puVar10 + -0x20)" * (cast_expression "(undefined ***)(puVar10 + -0x20)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar10 + -0x20)" ( (binary_expression "puVar10 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x24) = 0x11b24;" (assignment_expression "*(undefined4 *)(puVar10 + -0x24) = 0x11b24" (pointer_expression "*(undefined4 *)(puVar10 + -0x24)" * (cast_expression "(undefined4 *)(puVar10 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x24)" ( (binary_expression "puVar10 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "bfd_fprintf_vma();" (call_expression "bfd_fprintf_vma()" identifier (argument_list "()" ( ))) ;) (if_statement "if (DAT_00018258 == 0) {\n        *(undefined4 *)(puVar10 + -0x10) = 10;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11dfa;\n        putchar(*(int *)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n      else {\n        *(undefined **)(puVar10 + -0x10) = &DAT_00015702;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11b44;\n        printf(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }" if (parenthesized_expression "(DAT_00018258 == 0)" ( (binary_expression "DAT_00018258 == 0" identifier == number_literal) )) (compound_statement "{\n        *(undefined4 *)(puVar10 + -0x10) = 10;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11dfa;\n        putchar(*(int *)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }" { (expression_statement "*(undefined4 *)(puVar10 + -0x10) = 10;" (assignment_expression "*(undefined4 *)(puVar10 + -0x10) = 10" (pointer_expression "*(undefined4 *)(puVar10 + -0x10)" * (cast_expression "(undefined4 *)(puVar10 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x11dfa;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x11dfa" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" * (cast_expression "(undefined4 *)(puVar10 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "putchar(*(int *)(puVar10 + -0x10));" (call_expression "putchar(*(int *)(puVar10 + -0x10))" identifier (argument_list "(*(int *)(puVar10 + -0x10))" ( (pointer_expression "*(int *)(puVar10 + -0x10)" * (cast_expression "(int *)(puVar10 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "uVar19 = CONCAT44(DAT_00018244,DAT_00018240);" (assignment_expression "uVar19 = CONCAT44(DAT_00018244,DAT_00018240)" identifier = (call_expression "CONCAT44(DAT_00018244,DAT_00018240)" identifier (argument_list "(DAT_00018244,DAT_00018240)" ( identifier , identifier )))) ;) }) (else_clause "else {\n        *(undefined **)(puVar10 + -0x10) = &DAT_00015702;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11b44;\n        printf(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }" else (compound_statement "{\n        *(undefined **)(puVar10 + -0x10) = &DAT_00015702;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11b44;\n        printf(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }" { (expression_statement "*(undefined **)(puVar10 + -0x10) = &DAT_00015702;" (assignment_expression "*(undefined **)(puVar10 + -0x10) = &DAT_00015702" (pointer_expression "*(undefined **)(puVar10 + -0x10)" * (cast_expression "(undefined **)(puVar10 + -0x10)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = (pointer_expression "&DAT_00015702" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x11b44;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x11b44" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" * (cast_expression "(undefined4 *)(puVar10 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "printf(*(char **)(puVar10 + -0x10));" (call_expression "printf(*(char **)(puVar10 + -0x10))" identifier (argument_list "(*(char **)(puVar10 + -0x10))" ( (pointer_expression "*(char **)(puVar10 + -0x10)" * (cast_expression "(char **)(puVar10 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "uVar19 = CONCAT44(DAT_00018244,DAT_00018240);" (assignment_expression "uVar19 = CONCAT44(DAT_00018244,DAT_00018240)" identifier = (call_expression "CONCAT44(DAT_00018244,DAT_00018240)" identifier (argument_list "(DAT_00018244,DAT_00018240)" ( identifier , identifier )))) ;) }))) })) (expression_statement "DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);" (assignment_expression "DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20)" identifier = (call_expression "(uint)((ulonglong)uVar19 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)uVar19 >> 0x20)" ( (binary_expression "(ulonglong)uVar19 >> 0x20" (cast_expression "(ulonglong)uVar19" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "DAT_00018240 = (uint)uVar19;" (assignment_expression "DAT_00018240 = (uint)uVar19" identifier = (cast_expression "(uint)uVar19" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "DAT_00018228 = 0;" (assignment_expression "DAT_00018228 = 0" identifier = number_literal) ;) (if_statement "if (local_a8 == 0) {\n      *(undefined4 *)(puVar10 + -8) = 0;\n      *(code **)(puVar10 + -0xc) = FUN_00012210;\n      *(undefined ***)(puVar10 + -0x10) = local_9c;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11b67;\n      bfd_map_over_sections();\n      ppuVar4 = local_9c;\njoined_r0x00011b72:\n      uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      local_9c = ppuVar4;\n      if (DAT_00018228 != 0) {\n        local_a0 = &DAT_00015442;\n        local_98 = "??";\n        do {\n          local_9c = (undefined **)0x15817;\n          do {\n            pcVar5 = DAT_00018234;\n            if (DAT_00018260 != 0) {\n              pcVar6 = local_98;\n              pcVar16 = DAT_00018234;\n              if (DAT_00018234 != (char *)0x0) {\n                if (*DAT_00018234 == '\0') {\n                  pcVar16 = (char *)0x0;\n                }\n                else {\n                  if (DAT_0001825c != 0) {\n                    *(undefined4 *)(puVar10 + -8) = 3;\n                    *(char **)(puVar10 + -0xc) = DAT_00018234;\n                    *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n                    *(undefined4 *)(puVar10 + -0x14) = 0x11db4;\n                    pcVar6 = (char *)bfd_demangle();\n                    pcVar16 = pcVar6;\n                    if (pcVar6 != (char *)0x0) goto LAB_00011bdd;\n                  }\n                  pcVar6 = pcVar5;\n                  pcVar16 = (char *)0x0;\n                }\n              }\nLAB_00011bdd:\n              *(char **)(puVar10 + -0xc) = pcVar6;\n              *(undefined ***)(puVar10 + -0x10) = local_9c;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11bec;\n              printf(*(char **)(puVar10 + -0x10));\n              if (DAT_00018258 == 0) {\n                *(undefined4 *)(puVar10 + -0x10) = 10;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11d8a;\n                putchar(*(int *)(puVar10 + -0x10));\n              }\n              else {\n                *(undefined4 *)(puVar10 + -8) = 5;\n                *(undefined **)(puVar10 + -0xc) = &DAT_0001543d;\n                *(undefined4 *)(puVar10 + -0x10) = 0;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c10;\n                uVar7 = dcgettext();\n                *(undefined4 *)(puVar10 + -0x10) = uVar7;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c18;\n                printf(*(char **)(puVar10 + -0x10));\n              }\n              if (pcVar16 != (char *)0x0) {\n                *(char **)(puVar10 + -0x10) = pcVar16;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c28;\n                free(*(void **)(puVar10 + -0x10));\n              }\n            }\n            pcVar5 = DAT_00018238;\n            if (DAT_00018254 == 0) {\nLAB_00011c5e:\n              pcVar5 = DAT_00018238;\n              if (DAT_00018238 == (char *)0x0) {\nLAB_00011d70:\n                pcVar5 = local_98;\n              }\n            }\n            else {\n              if (DAT_00018238 == (char *)0x0) goto LAB_00011d70;\n              *(undefined4 *)(puVar10 + -0xc) = 0x2f;\n              *(char **)(puVar10 + -0x10) = DAT_00018238;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11c4e;\n              pcVar6 = strrchr(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc));\n              if (pcVar6 != (char *)0x0) {\n                DAT_00018238 = pcVar6 + 1;\n                goto LAB_00011c5e;\n              }\n            }\n            *(char **)(puVar10 + -0xc) = pcVar5;\n            *(undefined **)(puVar10 + -0x10) = local_a0;\n            *(undefined4 *)(puVar10 + -0x14) = 0x11c75;\n            printf(*(char **)(puVar10 + -0x10));\n            if (DAT_00018230 == 0) {\n              *(undefined **)(puVar10 + -0x10) = &DAT_000153c0;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d5f;\n              puts(*(char **)(puVar10 + -0x10));\n            }\n            else if (DAT_0001822c == 0) {\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(undefined **)(puVar10 + -0x10) = &DAT_0001545d;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d48;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            else {\n              *(int *)(puVar10 + -8) = DAT_0001822c;\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(char **)(puVar10 + -0x10) = "%u (discriminator %u)\n";\n              *(undefined4 *)(puVar10 + -0x14) = 0x11ca5;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            if (DAT_00018268 == 0) {\n              DAT_00018228 = 0;\n              goto LAB_000119cc;\n            }\n            puVar2 = ppuVar4[1];\n            *(int **)(puVar10 + -4) = &DAT_00018230;\n            *(char ***)(puVar10 + -8) = &DAT_00018234;\n            *(char ***)(puVar10 + -0xc) = &DAT_00018238;\n            *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n            pcVar1 = *(code **)(puVar2 + 0x130);\n            *(undefined4 *)(puVar10 + -0x14) = 0x11cef;\n            DAT_00018228 = (*pcVar1)();\n            if (DAT_00018228 == 0) goto LAB_000119cc;\n          } while (DAT_00018258 == 0);\n          *(undefined4 *)(puVar10 + -8) = 5;\n          *(char **)(puVar10 + -0xc) = " (inlined by) ";\n          *(undefined4 *)(puVar10 + -0x10) = 0;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11d21;\n          uVar7 = dcgettext();\n          *(undefined4 *)(puVar10 + -0x10) = uVar7;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11d29;\n          printf(*(char **)(puVar10 + -0x10));\n        } while( true );\n      }\n    }\n    else if (((*(byte *)(local_a8 + 0x14) & 1) != 0) &&\n            (DAT_00018244 < *(uint *)(local_a8 + 0x30) ||\n             DAT_00018244 - *(uint *)(local_a8 + 0x30) <\n             (uint)(DAT_00018240 < *(uint *)(local_a8 + 0x2c)))) {\n      puVar2 = local_9c[1];\n      *(int **)(puVar10 + -0x10) = &DAT_0001822c;\n      *(int **)(puVar10 + -0x14) = &DAT_00018230;\n      *(char ***)(puVar10 + -0x18) = &DAT_00018234;\n      *(char ***)(puVar10 + -0x1c) = &DAT_00018238;\n      *(undefined8 *)(puVar10 + -0x24) = uVar19;\n      *(int *)(puVar10 + -0x28) = local_a8;\n      *(void **)(puVar10 + -0x2c) = DAT_00018248;\n      *(undefined ***)(puVar10 + -0x30) = local_9c;\n      pcVar1 = *(code **)(puVar2 + 0x128);\n      *(undefined4 *)(puVar10 + -0x34) = 0x1197f;\n      DAT_00018228 = (*pcVar1)();\n      ppuVar4 = local_9c;\n      goto joined_r0x00011b72;\n    }" if (parenthesized_expression "(local_a8 == 0)" ( (binary_expression "local_a8 == 0" identifier == number_literal) )) (compound_statement "{\n      *(undefined4 *)(puVar10 + -8) = 0;\n      *(code **)(puVar10 + -0xc) = FUN_00012210;\n      *(undefined ***)(puVar10 + -0x10) = local_9c;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11b67;\n      bfd_map_over_sections();\n      ppuVar4 = local_9c;\njoined_r0x00011b72:\n      uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      local_9c = ppuVar4;\n      if (DAT_00018228 != 0) {\n        local_a0 = &DAT_00015442;\n        local_98 = "??";\n        do {\n          local_9c = (undefined **)0x15817;\n          do {\n            pcVar5 = DAT_00018234;\n            if (DAT_00018260 != 0) {\n              pcVar6 = local_98;\n              pcVar16 = DAT_00018234;\n              if (DAT_00018234 != (char *)0x0) {\n                if (*DAT_00018234 == '\0') {\n                  pcVar16 = (char *)0x0;\n                }\n                else {\n                  if (DAT_0001825c != 0) {\n                    *(undefined4 *)(puVar10 + -8) = 3;\n                    *(char **)(puVar10 + -0xc) = DAT_00018234;\n                    *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n                    *(undefined4 *)(puVar10 + -0x14) = 0x11db4;\n                    pcVar6 = (char *)bfd_demangle();\n                    pcVar16 = pcVar6;\n                    if (pcVar6 != (char *)0x0) goto LAB_00011bdd;\n                  }\n                  pcVar6 = pcVar5;\n                  pcVar16 = (char *)0x0;\n                }\n              }\nLAB_00011bdd:\n              *(char **)(puVar10 + -0xc) = pcVar6;\n              *(undefined ***)(puVar10 + -0x10) = local_9c;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11bec;\n              printf(*(char **)(puVar10 + -0x10));\n              if (DAT_00018258 == 0) {\n                *(undefined4 *)(puVar10 + -0x10) = 10;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11d8a;\n                putchar(*(int *)(puVar10 + -0x10));\n              }\n              else {\n                *(undefined4 *)(puVar10 + -8) = 5;\n                *(undefined **)(puVar10 + -0xc) = &DAT_0001543d;\n                *(undefined4 *)(puVar10 + -0x10) = 0;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c10;\n                uVar7 = dcgettext();\n                *(undefined4 *)(puVar10 + -0x10) = uVar7;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c18;\n                printf(*(char **)(puVar10 + -0x10));\n              }\n              if (pcVar16 != (char *)0x0) {\n                *(char **)(puVar10 + -0x10) = pcVar16;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c28;\n                free(*(void **)(puVar10 + -0x10));\n              }\n            }\n            pcVar5 = DAT_00018238;\n            if (DAT_00018254 == 0) {\nLAB_00011c5e:\n              pcVar5 = DAT_00018238;\n              if (DAT_00018238 == (char *)0x0) {\nLAB_00011d70:\n                pcVar5 = local_98;\n              }\n            }\n            else {\n              if (DAT_00018238 == (char *)0x0) goto LAB_00011d70;\n              *(undefined4 *)(puVar10 + -0xc) = 0x2f;\n              *(char **)(puVar10 + -0x10) = DAT_00018238;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11c4e;\n              pcVar6 = strrchr(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc));\n              if (pcVar6 != (char *)0x0) {\n                DAT_00018238 = pcVar6 + 1;\n                goto LAB_00011c5e;\n              }\n            }\n            *(char **)(puVar10 + -0xc) = pcVar5;\n            *(undefined **)(puVar10 + -0x10) = local_a0;\n            *(undefined4 *)(puVar10 + -0x14) = 0x11c75;\n            printf(*(char **)(puVar10 + -0x10));\n            if (DAT_00018230 == 0) {\n              *(undefined **)(puVar10 + -0x10) = &DAT_000153c0;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d5f;\n              puts(*(char **)(puVar10 + -0x10));\n            }\n            else if (DAT_0001822c == 0) {\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(undefined **)(puVar10 + -0x10) = &DAT_0001545d;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d48;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            else {\n              *(int *)(puVar10 + -8) = DAT_0001822c;\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(char **)(puVar10 + -0x10) = "%u (discriminator %u)\n";\n              *(undefined4 *)(puVar10 + -0x14) = 0x11ca5;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            if (DAT_00018268 == 0) {\n              DAT_00018228 = 0;\n              goto LAB_000119cc;\n            }\n            puVar2 = ppuVar4[1];\n            *(int **)(puVar10 + -4) = &DAT_00018230;\n            *(char ***)(puVar10 + -8) = &DAT_00018234;\n            *(char ***)(puVar10 + -0xc) = &DAT_00018238;\n            *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n            pcVar1 = *(code **)(puVar2 + 0x130);\n            *(undefined4 *)(puVar10 + -0x14) = 0x11cef;\n            DAT_00018228 = (*pcVar1)();\n            if (DAT_00018228 == 0) goto LAB_000119cc;\n          } while (DAT_00018258 == 0);\n          *(undefined4 *)(puVar10 + -8) = 5;\n          *(char **)(puVar10 + -0xc) = " (inlined by) ";\n          *(undefined4 *)(puVar10 + -0x10) = 0;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11d21;\n          uVar7 = dcgettext();\n          *(undefined4 *)(puVar10 + -0x10) = uVar7;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11d29;\n          printf(*(char **)(puVar10 + -0x10));\n        } while( true );\n      }\n    }" { (expression_statement "*(undefined4 *)(puVar10 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar10 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar10 + -8)" * (cast_expression "(undefined4 *)(puVar10 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -8)" ( (binary_expression "puVar10 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(code **)(puVar10 + -0xc) = FUN_00012210;" (assignment_expression "*(code **)(puVar10 + -0xc) = FUN_00012210" (pointer_expression "*(code **)(puVar10 + -0xc)" * (cast_expression "(code **)(puVar10 + -0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0xc)" ( (binary_expression "puVar10 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar10 + -0x10) = local_9c;" (assignment_expression "*(undefined ***)(puVar10 + -0x10) = local_9c" (pointer_expression "*(undefined ***)(puVar10 + -0x10)" * (cast_expression "(undefined ***)(puVar10 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x11b67;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x11b67" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" * (cast_expression "(undefined4 *)(puVar10 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "bfd_map_over_sections();" (call_expression "bfd_map_over_sections()" identifier (argument_list "()" ( ))) ;) (expression_statement "ppuVar4 = local_9c;" (assignment_expression "ppuVar4 = local_9c" identifier = identifier) ;) (labeled_statement "joined_r0x00011b72:\n      uVar19 = CONCAT44(DAT_00018244,DAT_00018240);" statement_identifier : (expression_statement "uVar19 = CONCAT44(DAT_00018244,DAT_00018240);" (assignment_expression "uVar19 = CONCAT44(DAT_00018244,DAT_00018240)" identifier = (call_expression "CONCAT44(DAT_00018244,DAT_00018240)" identifier (argument_list "(DAT_00018244,DAT_00018240)" ( identifier , identifier )))) ;)) (expression_statement "local_9c = ppuVar4;" (assignment_expression "local_9c = ppuVar4" identifier = identifier) ;) (if_statement "if (DAT_00018228 != 0) {\n        local_a0 = &DAT_00015442;\n        local_98 = "??";\n        do {\n          local_9c = (undefined **)0x15817;\n          do {\n            pcVar5 = DAT_00018234;\n            if (DAT_00018260 != 0) {\n              pcVar6 = local_98;\n              pcVar16 = DAT_00018234;\n              if (DAT_00018234 != (char *)0x0) {\n                if (*DAT_00018234 == '\0') {\n                  pcVar16 = (char *)0x0;\n                }\n                else {\n                  if (DAT_0001825c != 0) {\n                    *(undefined4 *)(puVar10 + -8) = 3;\n                    *(char **)(puVar10 + -0xc) = DAT_00018234;\n                    *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n                    *(undefined4 *)(puVar10 + -0x14) = 0x11db4;\n                    pcVar6 = (char *)bfd_demangle();\n                    pcVar16 = pcVar6;\n                    if (pcVar6 != (char *)0x0) goto LAB_00011bdd;\n                  }\n                  pcVar6 = pcVar5;\n                  pcVar16 = (char *)0x0;\n                }\n              }\nLAB_00011bdd:\n              *(char **)(puVar10 + -0xc) = pcVar6;\n              *(undefined ***)(puVar10 + -0x10) = local_9c;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11bec;\n              printf(*(char **)(puVar10 + -0x10));\n              if (DAT_00018258 == 0) {\n                *(undefined4 *)(puVar10 + -0x10) = 10;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11d8a;\n                putchar(*(int *)(puVar10 + -0x10));\n              }\n              else {\n                *(undefined4 *)(puVar10 + -8) = 5;\n                *(undefined **)(puVar10 + -0xc) = &DAT_0001543d;\n                *(undefined4 *)(puVar10 + -0x10) = 0;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c10;\n                uVar7 = dcgettext();\n                *(undefined4 *)(puVar10 + -0x10) = uVar7;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c18;\n                printf(*(char **)(puVar10 + -0x10));\n              }\n              if (pcVar16 != (char *)0x0) {\n                *(char **)(puVar10 + -0x10) = pcVar16;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c28;\n                free(*(void **)(puVar10 + -0x10));\n              }\n            }\n            pcVar5 = DAT_00018238;\n            if (DAT_00018254 == 0) {\nLAB_00011c5e:\n              pcVar5 = DAT_00018238;\n              if (DAT_00018238 == (char *)0x0) {\nLAB_00011d70:\n                pcVar5 = local_98;\n              }\n            }\n            else {\n              if (DAT_00018238 == (char *)0x0) goto LAB_00011d70;\n              *(undefined4 *)(puVar10 + -0xc) = 0x2f;\n              *(char **)(puVar10 + -0x10) = DAT_00018238;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11c4e;\n              pcVar6 = strrchr(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc));\n              if (pcVar6 != (char *)0x0) {\n                DAT_00018238 = pcVar6 + 1;\n                goto LAB_00011c5e;\n              }\n            }\n            *(char **)(puVar10 + -0xc) = pcVar5;\n            *(undefined **)(puVar10 + -0x10) = local_a0;\n            *(undefined4 *)(puVar10 + -0x14) = 0x11c75;\n            printf(*(char **)(puVar10 + -0x10));\n            if (DAT_00018230 == 0) {\n              *(undefined **)(puVar10 + -0x10) = &DAT_000153c0;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d5f;\n              puts(*(char **)(puVar10 + -0x10));\n            }\n            else if (DAT_0001822c == 0) {\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(undefined **)(puVar10 + -0x10) = &DAT_0001545d;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d48;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            else {\n              *(int *)(puVar10 + -8) = DAT_0001822c;\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(char **)(puVar10 + -0x10) = "%u (discriminator %u)\n";\n              *(undefined4 *)(puVar10 + -0x14) = 0x11ca5;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            if (DAT_00018268 == 0) {\n              DAT_00018228 = 0;\n              goto LAB_000119cc;\n            }\n            puVar2 = ppuVar4[1];\n            *(int **)(puVar10 + -4) = &DAT_00018230;\n            *(char ***)(puVar10 + -8) = &DAT_00018234;\n            *(char ***)(puVar10 + -0xc) = &DAT_00018238;\n            *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n            pcVar1 = *(code **)(puVar2 + 0x130);\n            *(undefined4 *)(puVar10 + -0x14) = 0x11cef;\n            DAT_00018228 = (*pcVar1)();\n            if (DAT_00018228 == 0) goto LAB_000119cc;\n          } while (DAT_00018258 == 0);\n          *(undefined4 *)(puVar10 + -8) = 5;\n          *(char **)(puVar10 + -0xc) = " (inlined by) ";\n          *(undefined4 *)(puVar10 + -0x10) = 0;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11d21;\n          uVar7 = dcgettext();\n          *(undefined4 *)(puVar10 + -0x10) = uVar7;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11d29;\n          printf(*(char **)(puVar10 + -0x10));\n        } while( true );\n      }" if (parenthesized_expression "(DAT_00018228 != 0)" ( (binary_expression "DAT_00018228 != 0" identifier != number_literal) )) (compound_statement "{\n        local_a0 = &DAT_00015442;\n        local_98 = "??";\n        do {\n          local_9c = (undefined **)0x15817;\n          do {\n            pcVar5 = DAT_00018234;\n            if (DAT_00018260 != 0) {\n              pcVar6 = local_98;\n              pcVar16 = DAT_00018234;\n              if (DAT_00018234 != (char *)0x0) {\n                if (*DAT_00018234 == '\0') {\n                  pcVar16 = (char *)0x0;\n                }\n                else {\n                  if (DAT_0001825c != 0) {\n                    *(undefined4 *)(puVar10 + -8) = 3;\n                    *(char **)(puVar10 + -0xc) = DAT_00018234;\n                    *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n                    *(undefined4 *)(puVar10 + -0x14) = 0x11db4;\n                    pcVar6 = (char *)bfd_demangle();\n                    pcVar16 = pcVar6;\n                    if (pcVar6 != (char *)0x0) goto LAB_00011bdd;\n                  }\n                  pcVar6 = pcVar5;\n                  pcVar16 = (char *)0x0;\n                }\n              }\nLAB_00011bdd:\n              *(char **)(puVar10 + -0xc) = pcVar6;\n              *(undefined ***)(puVar10 + -0x10) = local_9c;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11bec;\n              printf(*(char **)(puVar10 + -0x10));\n              if (DAT_00018258 == 0) {\n                *(undefined4 *)(puVar10 + -0x10) = 10;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11d8a;\n                putchar(*(int *)(puVar10 + -0x10));\n              }\n              else {\n                *(undefined4 *)(puVar10 + -8) = 5;\n                *(undefined **)(puVar10 + -0xc) = &DAT_0001543d;\n                *(undefined4 *)(puVar10 + -0x10) = 0;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c10;\n                uVar7 = dcgettext();\n                *(undefined4 *)(puVar10 + -0x10) = uVar7;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c18;\n                printf(*(char **)(puVar10 + -0x10));\n              }\n              if (pcVar16 != (char *)0x0) {\n                *(char **)(puVar10 + -0x10) = pcVar16;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c28;\n                free(*(void **)(puVar10 + -0x10));\n              }\n            }\n            pcVar5 = DAT_00018238;\n            if (DAT_00018254 == 0) {\nLAB_00011c5e:\n              pcVar5 = DAT_00018238;\n              if (DAT_00018238 == (char *)0x0) {\nLAB_00011d70:\n                pcVar5 = local_98;\n              }\n            }\n            else {\n              if (DAT_00018238 == (char *)0x0) goto LAB_00011d70;\n              *(undefined4 *)(puVar10 + -0xc) = 0x2f;\n              *(char **)(puVar10 + -0x10) = DAT_00018238;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11c4e;\n              pcVar6 = strrchr(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc));\n              if (pcVar6 != (char *)0x0) {\n                DAT_00018238 = pcVar6 + 1;\n                goto LAB_00011c5e;\n              }\n            }\n            *(char **)(puVar10 + -0xc) = pcVar5;\n            *(undefined **)(puVar10 + -0x10) = local_a0;\n            *(undefined4 *)(puVar10 + -0x14) = 0x11c75;\n            printf(*(char **)(puVar10 + -0x10));\n            if (DAT_00018230 == 0) {\n              *(undefined **)(puVar10 + -0x10) = &DAT_000153c0;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d5f;\n              puts(*(char **)(puVar10 + -0x10));\n            }\n            else if (DAT_0001822c == 0) {\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(undefined **)(puVar10 + -0x10) = &DAT_0001545d;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d48;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            else {\n              *(int *)(puVar10 + -8) = DAT_0001822c;\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(char **)(puVar10 + -0x10) = "%u (discriminator %u)\n";\n              *(undefined4 *)(puVar10 + -0x14) = 0x11ca5;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            if (DAT_00018268 == 0) {\n              DAT_00018228 = 0;\n              goto LAB_000119cc;\n            }\n            puVar2 = ppuVar4[1];\n            *(int **)(puVar10 + -4) = &DAT_00018230;\n            *(char ***)(puVar10 + -8) = &DAT_00018234;\n            *(char ***)(puVar10 + -0xc) = &DAT_00018238;\n            *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n            pcVar1 = *(code **)(puVar2 + 0x130);\n            *(undefined4 *)(puVar10 + -0x14) = 0x11cef;\n            DAT_00018228 = (*pcVar1)();\n            if (DAT_00018228 == 0) goto LAB_000119cc;\n          } while (DAT_00018258 == 0);\n          *(undefined4 *)(puVar10 + -8) = 5;\n          *(char **)(puVar10 + -0xc) = " (inlined by) ";\n          *(undefined4 *)(puVar10 + -0x10) = 0;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11d21;\n          uVar7 = dcgettext();\n          *(undefined4 *)(puVar10 + -0x10) = uVar7;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11d29;\n          printf(*(char **)(puVar10 + -0x10));\n        } while( true );\n      }" { (expression_statement "local_a0 = &DAT_00015442;" (assignment_expression "local_a0 = &DAT_00015442" identifier = (pointer_expression "&DAT_00015442" & identifier)) ;) (expression_statement "local_98 = "??";" (assignment_expression "local_98 = "??"" identifier = (string_literal ""??"" " string_content ")) ;) (do_statement "do {\n          local_9c = (undefined **)0x15817;\n          do {\n            pcVar5 = DAT_00018234;\n            if (DAT_00018260 != 0) {\n              pcVar6 = local_98;\n              pcVar16 = DAT_00018234;\n              if (DAT_00018234 != (char *)0x0) {\n                if (*DAT_00018234 == '\0') {\n                  pcVar16 = (char *)0x0;\n                }\n                else {\n                  if (DAT_0001825c != 0) {\n                    *(undefined4 *)(puVar10 + -8) = 3;\n                    *(char **)(puVar10 + -0xc) = DAT_00018234;\n                    *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n                    *(undefined4 *)(puVar10 + -0x14) = 0x11db4;\n                    pcVar6 = (char *)bfd_demangle();\n                    pcVar16 = pcVar6;\n                    if (pcVar6 != (char *)0x0) goto LAB_00011bdd;\n                  }\n                  pcVar6 = pcVar5;\n                  pcVar16 = (char *)0x0;\n                }\n              }\nLAB_00011bdd:\n              *(char **)(puVar10 + -0xc) = pcVar6;\n              *(undefined ***)(puVar10 + -0x10) = local_9c;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11bec;\n              printf(*(char **)(puVar10 + -0x10));\n              if (DAT_00018258 == 0) {\n                *(undefined4 *)(puVar10 + -0x10) = 10;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11d8a;\n                putchar(*(int *)(puVar10 + -0x10));\n              }\n              else {\n                *(undefined4 *)(puVar10 + -8) = 5;\n                *(undefined **)(puVar10 + -0xc) = &DAT_0001543d;\n                *(undefined4 *)(puVar10 + -0x10) = 0;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c10;\n                uVar7 = dcgettext();\n                *(undefined4 *)(puVar10 + -0x10) = uVar7;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c18;\n                printf(*(char **)(puVar10 + -0x10));\n              }\n              if (pcVar16 != (char *)0x0) {\n                *(char **)(puVar10 + -0x10) = pcVar16;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c28;\n                free(*(void **)(puVar10 + -0x10));\n              }\n            }\n            pcVar5 = DAT_00018238;\n            if (DAT_00018254 == 0) {\nLAB_00011c5e:\n              pcVar5 = DAT_00018238;\n              if (DAT_00018238 == (char *)0x0) {\nLAB_00011d70:\n                pcVar5 = local_98;\n              }\n            }\n            else {\n              if (DAT_00018238 == (char *)0x0) goto LAB_00011d70;\n              *(undefined4 *)(puVar10 + -0xc) = 0x2f;\n              *(char **)(puVar10 + -0x10) = DAT_00018238;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11c4e;\n              pcVar6 = strrchr(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc));\n              if (pcVar6 != (char *)0x0) {\n                DAT_00018238 = pcVar6 + 1;\n                goto LAB_00011c5e;\n              }\n            }\n            *(char **)(puVar10 + -0xc) = pcVar5;\n            *(undefined **)(puVar10 + -0x10) = local_a0;\n            *(undefined4 *)(puVar10 + -0x14) = 0x11c75;\n            printf(*(char **)(puVar10 + -0x10));\n            if (DAT_00018230 == 0) {\n              *(undefined **)(puVar10 + -0x10) = &DAT_000153c0;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d5f;\n              puts(*(char **)(puVar10 + -0x10));\n            }\n            else if (DAT_0001822c == 0) {\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(undefined **)(puVar10 + -0x10) = &DAT_0001545d;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d48;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            else {\n              *(int *)(puVar10 + -8) = DAT_0001822c;\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(char **)(puVar10 + -0x10) = "%u (discriminator %u)\n";\n              *(undefined4 *)(puVar10 + -0x14) = 0x11ca5;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            if (DAT_00018268 == 0) {\n              DAT_00018228 = 0;\n              goto LAB_000119cc;\n            }\n            puVar2 = ppuVar4[1];\n            *(int **)(puVar10 + -4) = &DAT_00018230;\n            *(char ***)(puVar10 + -8) = &DAT_00018234;\n            *(char ***)(puVar10 + -0xc) = &DAT_00018238;\n            *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n            pcVar1 = *(code **)(puVar2 + 0x130);\n            *(undefined4 *)(puVar10 + -0x14) = 0x11cef;\n            DAT_00018228 = (*pcVar1)();\n            if (DAT_00018228 == 0) goto LAB_000119cc;\n          } while (DAT_00018258 == 0);\n          *(undefined4 *)(puVar10 + -8) = 5;\n          *(char **)(puVar10 + -0xc) = " (inlined by) ";\n          *(undefined4 *)(puVar10 + -0x10) = 0;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11d21;\n          uVar7 = dcgettext();\n          *(undefined4 *)(puVar10 + -0x10) = uVar7;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11d29;\n          printf(*(char **)(puVar10 + -0x10));\n        } while( true );" do (compound_statement "{\n          local_9c = (undefined **)0x15817;\n          do {\n            pcVar5 = DAT_00018234;\n            if (DAT_00018260 != 0) {\n              pcVar6 = local_98;\n              pcVar16 = DAT_00018234;\n              if (DAT_00018234 != (char *)0x0) {\n                if (*DAT_00018234 == '\0') {\n                  pcVar16 = (char *)0x0;\n                }\n                else {\n                  if (DAT_0001825c != 0) {\n                    *(undefined4 *)(puVar10 + -8) = 3;\n                    *(char **)(puVar10 + -0xc) = DAT_00018234;\n                    *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n                    *(undefined4 *)(puVar10 + -0x14) = 0x11db4;\n                    pcVar6 = (char *)bfd_demangle();\n                    pcVar16 = pcVar6;\n                    if (pcVar6 != (char *)0x0) goto LAB_00011bdd;\n                  }\n                  pcVar6 = pcVar5;\n                  pcVar16 = (char *)0x0;\n                }\n              }\nLAB_00011bdd:\n              *(char **)(puVar10 + -0xc) = pcVar6;\n              *(undefined ***)(puVar10 + -0x10) = local_9c;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11bec;\n              printf(*(char **)(puVar10 + -0x10));\n              if (DAT_00018258 == 0) {\n                *(undefined4 *)(puVar10 + -0x10) = 10;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11d8a;\n                putchar(*(int *)(puVar10 + -0x10));\n              }\n              else {\n                *(undefined4 *)(puVar10 + -8) = 5;\n                *(undefined **)(puVar10 + -0xc) = &DAT_0001543d;\n                *(undefined4 *)(puVar10 + -0x10) = 0;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c10;\n                uVar7 = dcgettext();\n                *(undefined4 *)(puVar10 + -0x10) = uVar7;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c18;\n                printf(*(char **)(puVar10 + -0x10));\n              }\n              if (pcVar16 != (char *)0x0) {\n                *(char **)(puVar10 + -0x10) = pcVar16;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c28;\n                free(*(void **)(puVar10 + -0x10));\n              }\n            }\n            pcVar5 = DAT_00018238;\n            if (DAT_00018254 == 0) {\nLAB_00011c5e:\n              pcVar5 = DAT_00018238;\n              if (DAT_00018238 == (char *)0x0) {\nLAB_00011d70:\n                pcVar5 = local_98;\n              }\n            }\n            else {\n              if (DAT_00018238 == (char *)0x0) goto LAB_00011d70;\n              *(undefined4 *)(puVar10 + -0xc) = 0x2f;\n              *(char **)(puVar10 + -0x10) = DAT_00018238;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11c4e;\n              pcVar6 = strrchr(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc));\n              if (pcVar6 != (char *)0x0) {\n                DAT_00018238 = pcVar6 + 1;\n                goto LAB_00011c5e;\n              }\n            }\n            *(char **)(puVar10 + -0xc) = pcVar5;\n            *(undefined **)(puVar10 + -0x10) = local_a0;\n            *(undefined4 *)(puVar10 + -0x14) = 0x11c75;\n            printf(*(char **)(puVar10 + -0x10));\n            if (DAT_00018230 == 0) {\n              *(undefined **)(puVar10 + -0x10) = &DAT_000153c0;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d5f;\n              puts(*(char **)(puVar10 + -0x10));\n            }\n            else if (DAT_0001822c == 0) {\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(undefined **)(puVar10 + -0x10) = &DAT_0001545d;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d48;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            else {\n              *(int *)(puVar10 + -8) = DAT_0001822c;\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(char **)(puVar10 + -0x10) = "%u (discriminator %u)\n";\n              *(undefined4 *)(puVar10 + -0x14) = 0x11ca5;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            if (DAT_00018268 == 0) {\n              DAT_00018228 = 0;\n              goto LAB_000119cc;\n            }\n            puVar2 = ppuVar4[1];\n            *(int **)(puVar10 + -4) = &DAT_00018230;\n            *(char ***)(puVar10 + -8) = &DAT_00018234;\n            *(char ***)(puVar10 + -0xc) = &DAT_00018238;\n            *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n            pcVar1 = *(code **)(puVar2 + 0x130);\n            *(undefined4 *)(puVar10 + -0x14) = 0x11cef;\n            DAT_00018228 = (*pcVar1)();\n            if (DAT_00018228 == 0) goto LAB_000119cc;\n          } while (DAT_00018258 == 0);\n          *(undefined4 *)(puVar10 + -8) = 5;\n          *(char **)(puVar10 + -0xc) = " (inlined by) ";\n          *(undefined4 *)(puVar10 + -0x10) = 0;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11d21;\n          uVar7 = dcgettext();\n          *(undefined4 *)(puVar10 + -0x10) = uVar7;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11d29;\n          printf(*(char **)(puVar10 + -0x10));\n        }" { (expression_statement "local_9c = (undefined **)0x15817;" (assignment_expression "local_9c = (undefined **)0x15817" identifier = (cast_expression "(undefined **)0x15817" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (do_statement "do {\n            pcVar5 = DAT_00018234;\n            if (DAT_00018260 != 0) {\n              pcVar6 = local_98;\n              pcVar16 = DAT_00018234;\n              if (DAT_00018234 != (char *)0x0) {\n                if (*DAT_00018234 == '\0') {\n                  pcVar16 = (char *)0x0;\n                }\n                else {\n                  if (DAT_0001825c != 0) {\n                    *(undefined4 *)(puVar10 + -8) = 3;\n                    *(char **)(puVar10 + -0xc) = DAT_00018234;\n                    *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n                    *(undefined4 *)(puVar10 + -0x14) = 0x11db4;\n                    pcVar6 = (char *)bfd_demangle();\n                    pcVar16 = pcVar6;\n                    if (pcVar6 != (char *)0x0) goto LAB_00011bdd;\n                  }\n                  pcVar6 = pcVar5;\n                  pcVar16 = (char *)0x0;\n                }\n              }\nLAB_00011bdd:\n              *(char **)(puVar10 + -0xc) = pcVar6;\n              *(undefined ***)(puVar10 + -0x10) = local_9c;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11bec;\n              printf(*(char **)(puVar10 + -0x10));\n              if (DAT_00018258 == 0) {\n                *(undefined4 *)(puVar10 + -0x10) = 10;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11d8a;\n                putchar(*(int *)(puVar10 + -0x10));\n              }\n              else {\n                *(undefined4 *)(puVar10 + -8) = 5;\n                *(undefined **)(puVar10 + -0xc) = &DAT_0001543d;\n                *(undefined4 *)(puVar10 + -0x10) = 0;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c10;\n                uVar7 = dcgettext();\n                *(undefined4 *)(puVar10 + -0x10) = uVar7;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c18;\n                printf(*(char **)(puVar10 + -0x10));\n              }\n              if (pcVar16 != (char *)0x0) {\n                *(char **)(puVar10 + -0x10) = pcVar16;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c28;\n                free(*(void **)(puVar10 + -0x10));\n              }\n            }\n            pcVar5 = DAT_00018238;\n            if (DAT_00018254 == 0) {\nLAB_00011c5e:\n              pcVar5 = DAT_00018238;\n              if (DAT_00018238 == (char *)0x0) {\nLAB_00011d70:\n                pcVar5 = local_98;\n              }\n            }\n            else {\n              if (DAT_00018238 == (char *)0x0) goto LAB_00011d70;\n              *(undefined4 *)(puVar10 + -0xc) = 0x2f;\n              *(char **)(puVar10 + -0x10) = DAT_00018238;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11c4e;\n              pcVar6 = strrchr(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc));\n              if (pcVar6 != (char *)0x0) {\n                DAT_00018238 = pcVar6 + 1;\n                goto LAB_00011c5e;\n              }\n            }\n            *(char **)(puVar10 + -0xc) = pcVar5;\n            *(undefined **)(puVar10 + -0x10) = local_a0;\n            *(undefined4 *)(puVar10 + -0x14) = 0x11c75;\n            printf(*(char **)(puVar10 + -0x10));\n            if (DAT_00018230 == 0) {\n              *(undefined **)(puVar10 + -0x10) = &DAT_000153c0;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d5f;\n              puts(*(char **)(puVar10 + -0x10));\n            }\n            else if (DAT_0001822c == 0) {\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(undefined **)(puVar10 + -0x10) = &DAT_0001545d;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d48;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            else {\n              *(int *)(puVar10 + -8) = DAT_0001822c;\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(char **)(puVar10 + -0x10) = "%u (discriminator %u)\n";\n              *(undefined4 *)(puVar10 + -0x14) = 0x11ca5;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            if (DAT_00018268 == 0) {\n              DAT_00018228 = 0;\n              goto LAB_000119cc;\n            }\n            puVar2 = ppuVar4[1];\n            *(int **)(puVar10 + -4) = &DAT_00018230;\n            *(char ***)(puVar10 + -8) = &DAT_00018234;\n            *(char ***)(puVar10 + -0xc) = &DAT_00018238;\n            *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n            pcVar1 = *(code **)(puVar2 + 0x130);\n            *(undefined4 *)(puVar10 + -0x14) = 0x11cef;\n            DAT_00018228 = (*pcVar1)();\n            if (DAT_00018228 == 0) goto LAB_000119cc;\n          } while (DAT_00018258 == 0);" do (compound_statement "{\n            pcVar5 = DAT_00018234;\n            if (DAT_00018260 != 0) {\n              pcVar6 = local_98;\n              pcVar16 = DAT_00018234;\n              if (DAT_00018234 != (char *)0x0) {\n                if (*DAT_00018234 == '\0') {\n                  pcVar16 = (char *)0x0;\n                }\n                else {\n                  if (DAT_0001825c != 0) {\n                    *(undefined4 *)(puVar10 + -8) = 3;\n                    *(char **)(puVar10 + -0xc) = DAT_00018234;\n                    *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n                    *(undefined4 *)(puVar10 + -0x14) = 0x11db4;\n                    pcVar6 = (char *)bfd_demangle();\n                    pcVar16 = pcVar6;\n                    if (pcVar6 != (char *)0x0) goto LAB_00011bdd;\n                  }\n                  pcVar6 = pcVar5;\n                  pcVar16 = (char *)0x0;\n                }\n              }\nLAB_00011bdd:\n              *(char **)(puVar10 + -0xc) = pcVar6;\n              *(undefined ***)(puVar10 + -0x10) = local_9c;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11bec;\n              printf(*(char **)(puVar10 + -0x10));\n              if (DAT_00018258 == 0) {\n                *(undefined4 *)(puVar10 + -0x10) = 10;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11d8a;\n                putchar(*(int *)(puVar10 + -0x10));\n              }\n              else {\n                *(undefined4 *)(puVar10 + -8) = 5;\n                *(undefined **)(puVar10 + -0xc) = &DAT_0001543d;\n                *(undefined4 *)(puVar10 + -0x10) = 0;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c10;\n                uVar7 = dcgettext();\n                *(undefined4 *)(puVar10 + -0x10) = uVar7;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c18;\n                printf(*(char **)(puVar10 + -0x10));\n              }\n              if (pcVar16 != (char *)0x0) {\n                *(char **)(puVar10 + -0x10) = pcVar16;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c28;\n                free(*(void **)(puVar10 + -0x10));\n              }\n            }\n            pcVar5 = DAT_00018238;\n            if (DAT_00018254 == 0) {\nLAB_00011c5e:\n              pcVar5 = DAT_00018238;\n              if (DAT_00018238 == (char *)0x0) {\nLAB_00011d70:\n                pcVar5 = local_98;\n              }\n            }\n            else {\n              if (DAT_00018238 == (char *)0x0) goto LAB_00011d70;\n              *(undefined4 *)(puVar10 + -0xc) = 0x2f;\n              *(char **)(puVar10 + -0x10) = DAT_00018238;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11c4e;\n              pcVar6 = strrchr(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc));\n              if (pcVar6 != (char *)0x0) {\n                DAT_00018238 = pcVar6 + 1;\n                goto LAB_00011c5e;\n              }\n            }\n            *(char **)(puVar10 + -0xc) = pcVar5;\n            *(undefined **)(puVar10 + -0x10) = local_a0;\n            *(undefined4 *)(puVar10 + -0x14) = 0x11c75;\n            printf(*(char **)(puVar10 + -0x10));\n            if (DAT_00018230 == 0) {\n              *(undefined **)(puVar10 + -0x10) = &DAT_000153c0;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d5f;\n              puts(*(char **)(puVar10 + -0x10));\n            }\n            else if (DAT_0001822c == 0) {\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(undefined **)(puVar10 + -0x10) = &DAT_0001545d;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d48;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            else {\n              *(int *)(puVar10 + -8) = DAT_0001822c;\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(char **)(puVar10 + -0x10) = "%u (discriminator %u)\n";\n              *(undefined4 *)(puVar10 + -0x14) = 0x11ca5;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            if (DAT_00018268 == 0) {\n              DAT_00018228 = 0;\n              goto LAB_000119cc;\n            }\n            puVar2 = ppuVar4[1];\n            *(int **)(puVar10 + -4) = &DAT_00018230;\n            *(char ***)(puVar10 + -8) = &DAT_00018234;\n            *(char ***)(puVar10 + -0xc) = &DAT_00018238;\n            *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n            pcVar1 = *(code **)(puVar2 + 0x130);\n            *(undefined4 *)(puVar10 + -0x14) = 0x11cef;\n            DAT_00018228 = (*pcVar1)();\n            if (DAT_00018228 == 0) goto LAB_000119cc;\n          }" { (expression_statement "pcVar5 = DAT_00018234;" (assignment_expression "pcVar5 = DAT_00018234" identifier = identifier) ;) (if_statement "if (DAT_00018260 != 0) {\n              pcVar6 = local_98;\n              pcVar16 = DAT_00018234;\n              if (DAT_00018234 != (char *)0x0) {\n                if (*DAT_00018234 == '\0') {\n                  pcVar16 = (char *)0x0;\n                }\n                else {\n                  if (DAT_0001825c != 0) {\n                    *(undefined4 *)(puVar10 + -8) = 3;\n                    *(char **)(puVar10 + -0xc) = DAT_00018234;\n                    *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n                    *(undefined4 *)(puVar10 + -0x14) = 0x11db4;\n                    pcVar6 = (char *)bfd_demangle();\n                    pcVar16 = pcVar6;\n                    if (pcVar6 != (char *)0x0) goto LAB_00011bdd;\n                  }\n                  pcVar6 = pcVar5;\n                  pcVar16 = (char *)0x0;\n                }\n              }\nLAB_00011bdd:\n              *(char **)(puVar10 + -0xc) = pcVar6;\n              *(undefined ***)(puVar10 + -0x10) = local_9c;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11bec;\n              printf(*(char **)(puVar10 + -0x10));\n              if (DAT_00018258 == 0) {\n                *(undefined4 *)(puVar10 + -0x10) = 10;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11d8a;\n                putchar(*(int *)(puVar10 + -0x10));\n              }\n              else {\n                *(undefined4 *)(puVar10 + -8) = 5;\n                *(undefined **)(puVar10 + -0xc) = &DAT_0001543d;\n                *(undefined4 *)(puVar10 + -0x10) = 0;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c10;\n                uVar7 = dcgettext();\n                *(undefined4 *)(puVar10 + -0x10) = uVar7;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c18;\n                printf(*(char **)(puVar10 + -0x10));\n              }\n              if (pcVar16 != (char *)0x0) {\n                *(char **)(puVar10 + -0x10) = pcVar16;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c28;\n                free(*(void **)(puVar10 + -0x10));\n              }\n            }" if (parenthesized_expression "(DAT_00018260 != 0)" ( (binary_expression "DAT_00018260 != 0" identifier != number_literal) )) (compound_statement "{\n              pcVar6 = local_98;\n              pcVar16 = DAT_00018234;\n              if (DAT_00018234 != (char *)0x0) {\n                if (*DAT_00018234 == '\0') {\n                  pcVar16 = (char *)0x0;\n                }\n                else {\n                  if (DAT_0001825c != 0) {\n                    *(undefined4 *)(puVar10 + -8) = 3;\n                    *(char **)(puVar10 + -0xc) = DAT_00018234;\n                    *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n                    *(undefined4 *)(puVar10 + -0x14) = 0x11db4;\n                    pcVar6 = (char *)bfd_demangle();\n                    pcVar16 = pcVar6;\n                    if (pcVar6 != (char *)0x0) goto LAB_00011bdd;\n                  }\n                  pcVar6 = pcVar5;\n                  pcVar16 = (char *)0x0;\n                }\n              }\nLAB_00011bdd:\n              *(char **)(puVar10 + -0xc) = pcVar6;\n              *(undefined ***)(puVar10 + -0x10) = local_9c;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11bec;\n              printf(*(char **)(puVar10 + -0x10));\n              if (DAT_00018258 == 0) {\n                *(undefined4 *)(puVar10 + -0x10) = 10;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11d8a;\n                putchar(*(int *)(puVar10 + -0x10));\n              }\n              else {\n                *(undefined4 *)(puVar10 + -8) = 5;\n                *(undefined **)(puVar10 + -0xc) = &DAT_0001543d;\n                *(undefined4 *)(puVar10 + -0x10) = 0;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c10;\n                uVar7 = dcgettext();\n                *(undefined4 *)(puVar10 + -0x10) = uVar7;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c18;\n                printf(*(char **)(puVar10 + -0x10));\n              }\n              if (pcVar16 != (char *)0x0) {\n                *(char **)(puVar10 + -0x10) = pcVar16;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c28;\n                free(*(void **)(puVar10 + -0x10));\n              }\n            }" { (expression_statement "pcVar6 = local_98;" (assignment_expression "pcVar6 = local_98" identifier = identifier) ;) (expression_statement "pcVar16 = DAT_00018234;" (assignment_expression "pcVar16 = DAT_00018234" identifier = identifier) ;) (if_statement "if (DAT_00018234 != (char *)0x0) {\n                if (*DAT_00018234 == '\0') {\n                  pcVar16 = (char *)0x0;\n                }\n                else {\n                  if (DAT_0001825c != 0) {\n                    *(undefined4 *)(puVar10 + -8) = 3;\n                    *(char **)(puVar10 + -0xc) = DAT_00018234;\n                    *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n                    *(undefined4 *)(puVar10 + -0x14) = 0x11db4;\n                    pcVar6 = (char *)bfd_demangle();\n                    pcVar16 = pcVar6;\n                    if (pcVar6 != (char *)0x0) goto LAB_00011bdd;\n                  }\n                  pcVar6 = pcVar5;\n                  pcVar16 = (char *)0x0;\n                }\n              }" if (parenthesized_expression "(DAT_00018234 != (char *)0x0)" ( (binary_expression "DAT_00018234 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                if (*DAT_00018234 == '\0') {\n                  pcVar16 = (char *)0x0;\n                }\n                else {\n                  if (DAT_0001825c != 0) {\n                    *(undefined4 *)(puVar10 + -8) = 3;\n                    *(char **)(puVar10 + -0xc) = DAT_00018234;\n                    *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n                    *(undefined4 *)(puVar10 + -0x14) = 0x11db4;\n                    pcVar6 = (char *)bfd_demangle();\n                    pcVar16 = pcVar6;\n                    if (pcVar6 != (char *)0x0) goto LAB_00011bdd;\n                  }\n                  pcVar6 = pcVar5;\n                  pcVar16 = (char *)0x0;\n                }\n              }" { (if_statement "if (*DAT_00018234 == '\0') {\n                  pcVar16 = (char *)0x0;\n                }\n                else {\n                  if (DAT_0001825c != 0) {\n                    *(undefined4 *)(puVar10 + -8) = 3;\n                    *(char **)(puVar10 + -0xc) = DAT_00018234;\n                    *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n                    *(undefined4 *)(puVar10 + -0x14) = 0x11db4;\n                    pcVar6 = (char *)bfd_demangle();\n                    pcVar16 = pcVar6;\n                    if (pcVar6 != (char *)0x0) goto LAB_00011bdd;\n                  }\n                  pcVar6 = pcVar5;\n                  pcVar16 = (char *)0x0;\n                }" if (parenthesized_expression "(*DAT_00018234 == '\0')" ( (binary_expression "*DAT_00018234 == '\0'" (pointer_expression "*DAT_00018234" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                  pcVar16 = (char *)0x0;\n                }" { (expression_statement "pcVar16 = (char *)0x0;" (assignment_expression "pcVar16 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n                  if (DAT_0001825c != 0) {\n                    *(undefined4 *)(puVar10 + -8) = 3;\n                    *(char **)(puVar10 + -0xc) = DAT_00018234;\n                    *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n                    *(undefined4 *)(puVar10 + -0x14) = 0x11db4;\n                    pcVar6 = (char *)bfd_demangle();\n                    pcVar16 = pcVar6;\n                    if (pcVar6 != (char *)0x0) goto LAB_00011bdd;\n                  }\n                  pcVar6 = pcVar5;\n                  pcVar16 = (char *)0x0;\n                }" else (compound_statement "{\n                  if (DAT_0001825c != 0) {\n                    *(undefined4 *)(puVar10 + -8) = 3;\n                    *(char **)(puVar10 + -0xc) = DAT_00018234;\n                    *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n                    *(undefined4 *)(puVar10 + -0x14) = 0x11db4;\n                    pcVar6 = (char *)bfd_demangle();\n                    pcVar16 = pcVar6;\n                    if (pcVar6 != (char *)0x0) goto LAB_00011bdd;\n                  }\n                  pcVar6 = pcVar5;\n                  pcVar16 = (char *)0x0;\n                }" { (if_statement "if (DAT_0001825c != 0) {\n                    *(undefined4 *)(puVar10 + -8) = 3;\n                    *(char **)(puVar10 + -0xc) = DAT_00018234;\n                    *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n                    *(undefined4 *)(puVar10 + -0x14) = 0x11db4;\n                    pcVar6 = (char *)bfd_demangle();\n                    pcVar16 = pcVar6;\n                    if (pcVar6 != (char *)0x0) goto LAB_00011bdd;\n                  }" if (parenthesized_expression "(DAT_0001825c != 0)" ( (binary_expression "DAT_0001825c != 0" identifier != number_literal) )) (compound_statement "{\n                    *(undefined4 *)(puVar10 + -8) = 3;\n                    *(char **)(puVar10 + -0xc) = DAT_00018234;\n                    *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n                    *(undefined4 *)(puVar10 + -0x14) = 0x11db4;\n                    pcVar6 = (char *)bfd_demangle();\n                    pcVar16 = pcVar6;\n                    if (pcVar6 != (char *)0x0) goto LAB_00011bdd;\n                  }" { (expression_statement "*(undefined4 *)(puVar10 + -8) = 3;" (assignment_expression "*(undefined4 *)(puVar10 + -8) = 3" (pointer_expression "*(undefined4 *)(puVar10 + -8)" * (cast_expression "(undefined4 *)(puVar10 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -8)" ( (binary_expression "puVar10 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar10 + -0xc) = DAT_00018234;" (assignment_expression "*(char **)(puVar10 + -0xc) = DAT_00018234" (pointer_expression "*(char **)(puVar10 + -0xc)" * (cast_expression "(char **)(puVar10 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0xc)" ( (binary_expression "puVar10 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar10 + -0x10) = ppuVar4;" (assignment_expression "*(undefined ***)(puVar10 + -0x10) = ppuVar4" (pointer_expression "*(undefined ***)(puVar10 + -0x10)" * (cast_expression "(undefined ***)(puVar10 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x11db4;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x11db4" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" * (cast_expression "(undefined4 *)(puVar10 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar6 = (char *)bfd_demangle();" (assignment_expression "pcVar6 = (char *)bfd_demangle()" identifier = (cast_expression "(char *)bfd_demangle()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "bfd_demangle()" identifier (argument_list "()" ( ))))) ;) (expression_statement "pcVar16 = pcVar6;" (assignment_expression "pcVar16 = pcVar6" identifier = identifier) ;) (if_statement "if (pcVar6 != (char *)0x0) goto LAB_00011bdd;" if (parenthesized_expression "(pcVar6 != (char *)0x0)" ( (binary_expression "pcVar6 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00011bdd;" goto statement_identifier ;)) })) (expression_statement "pcVar6 = pcVar5;" (assignment_expression "pcVar6 = pcVar5" identifier = identifier) ;) (expression_statement "pcVar16 = (char *)0x0;" (assignment_expression "pcVar16 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) })) (labeled_statement "LAB_00011bdd:\n              *(char **)(puVar10 + -0xc) = pcVar6;" statement_identifier : (expression_statement "*(char **)(puVar10 + -0xc) = pcVar6;" (assignment_expression "*(char **)(puVar10 + -0xc) = pcVar6" (pointer_expression "*(char **)(puVar10 + -0xc)" * (cast_expression "(char **)(puVar10 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0xc)" ( (binary_expression "puVar10 + -0xc" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined ***)(puVar10 + -0x10) = local_9c;" (assignment_expression "*(undefined ***)(puVar10 + -0x10) = local_9c" (pointer_expression "*(undefined ***)(puVar10 + -0x10)" * (cast_expression "(undefined ***)(puVar10 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x11bec;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x11bec" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" * (cast_expression "(undefined4 *)(puVar10 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "printf(*(char **)(puVar10 + -0x10));" (call_expression "printf(*(char **)(puVar10 + -0x10))" identifier (argument_list "(*(char **)(puVar10 + -0x10))" ( (pointer_expression "*(char **)(puVar10 + -0x10)" * (cast_expression "(char **)(puVar10 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) ))) ;) (if_statement "if (DAT_00018258 == 0) {\n                *(undefined4 *)(puVar10 + -0x10) = 10;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11d8a;\n                putchar(*(int *)(puVar10 + -0x10));\n              }\n              else {\n                *(undefined4 *)(puVar10 + -8) = 5;\n                *(undefined **)(puVar10 + -0xc) = &DAT_0001543d;\n                *(undefined4 *)(puVar10 + -0x10) = 0;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c10;\n                uVar7 = dcgettext();\n                *(undefined4 *)(puVar10 + -0x10) = uVar7;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c18;\n                printf(*(char **)(puVar10 + -0x10));\n              }" if (parenthesized_expression "(DAT_00018258 == 0)" ( (binary_expression "DAT_00018258 == 0" identifier == number_literal) )) (compound_statement "{\n                *(undefined4 *)(puVar10 + -0x10) = 10;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11d8a;\n                putchar(*(int *)(puVar10 + -0x10));\n              }" { (expression_statement "*(undefined4 *)(puVar10 + -0x10) = 10;" (assignment_expression "*(undefined4 *)(puVar10 + -0x10) = 10" (pointer_expression "*(undefined4 *)(puVar10 + -0x10)" * (cast_expression "(undefined4 *)(puVar10 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x11d8a;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x11d8a" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" * (cast_expression "(undefined4 *)(puVar10 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "putchar(*(int *)(puVar10 + -0x10));" (call_expression "putchar(*(int *)(puVar10 + -0x10))" identifier (argument_list "(*(int *)(puVar10 + -0x10))" ( (pointer_expression "*(int *)(puVar10 + -0x10)" * (cast_expression "(int *)(puVar10 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) ))) ;) }) (else_clause "else {\n                *(undefined4 *)(puVar10 + -8) = 5;\n                *(undefined **)(puVar10 + -0xc) = &DAT_0001543d;\n                *(undefined4 *)(puVar10 + -0x10) = 0;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c10;\n                uVar7 = dcgettext();\n                *(undefined4 *)(puVar10 + -0x10) = uVar7;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c18;\n                printf(*(char **)(puVar10 + -0x10));\n              }" else (compound_statement "{\n                *(undefined4 *)(puVar10 + -8) = 5;\n                *(undefined **)(puVar10 + -0xc) = &DAT_0001543d;\n                *(undefined4 *)(puVar10 + -0x10) = 0;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c10;\n                uVar7 = dcgettext();\n                *(undefined4 *)(puVar10 + -0x10) = uVar7;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c18;\n                printf(*(char **)(puVar10 + -0x10));\n              }" { (expression_statement "*(undefined4 *)(puVar10 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar10 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar10 + -8)" * (cast_expression "(undefined4 *)(puVar10 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -8)" ( (binary_expression "puVar10 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined **)(puVar10 + -0xc) = &DAT_0001543d;" (assignment_expression "*(undefined **)(puVar10 + -0xc) = &DAT_0001543d" (pointer_expression "*(undefined **)(puVar10 + -0xc)" * (cast_expression "(undefined **)(puVar10 + -0xc)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0xc)" ( (binary_expression "puVar10 + -0xc" identifier + number_literal) )))) = (pointer_expression "&DAT_0001543d" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar10 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar10 + -0x10)" * (cast_expression "(undefined4 *)(puVar10 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x11c10;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x11c10" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" * (cast_expression "(undefined4 *)(puVar10 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar7 = dcgettext();" (assignment_expression "uVar7 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x10) = uVar7;" (assignment_expression "*(undefined4 *)(puVar10 + -0x10) = uVar7" (pointer_expression "*(undefined4 *)(puVar10 + -0x10)" * (cast_expression "(undefined4 *)(puVar10 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x11c18;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x11c18" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" * (cast_expression "(undefined4 *)(puVar10 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "printf(*(char **)(puVar10 + -0x10));" (call_expression "printf(*(char **)(puVar10 + -0x10))" identifier (argument_list "(*(char **)(puVar10 + -0x10))" ( (pointer_expression "*(char **)(puVar10 + -0x10)" * (cast_expression "(char **)(puVar10 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) ))) ;) }))) (if_statement "if (pcVar16 != (char *)0x0) {\n                *(char **)(puVar10 + -0x10) = pcVar16;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c28;\n                free(*(void **)(puVar10 + -0x10));\n              }" if (parenthesized_expression "(pcVar16 != (char *)0x0)" ( (binary_expression "pcVar16 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                *(char **)(puVar10 + -0x10) = pcVar16;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c28;\n                free(*(void **)(puVar10 + -0x10));\n              }" { (expression_statement "*(char **)(puVar10 + -0x10) = pcVar16;" (assignment_expression "*(char **)(puVar10 + -0x10) = pcVar16" (pointer_expression "*(char **)(puVar10 + -0x10)" * (cast_expression "(char **)(puVar10 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x11c28;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x11c28" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" * (cast_expression "(undefined4 *)(puVar10 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)(puVar10 + -0x10));" (call_expression "free(*(void **)(puVar10 + -0x10))" identifier (argument_list "(*(void **)(puVar10 + -0x10))" ( (pointer_expression "*(void **)(puVar10 + -0x10)" * (cast_expression "(void **)(puVar10 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) ))) ;) })) })) (expression_statement "pcVar5 = DAT_00018238;" (assignment_expression "pcVar5 = DAT_00018238" identifier = identifier) ;) (if_statement "if (DAT_00018254 == 0) {\nLAB_00011c5e:\n              pcVar5 = DAT_00018238;\n              if (DAT_00018238 == (char *)0x0) {\nLAB_00011d70:\n                pcVar5 = local_98;\n              }\n            }\n            else {\n              if (DAT_00018238 == (char *)0x0) goto LAB_00011d70;\n              *(undefined4 *)(puVar10 + -0xc) = 0x2f;\n              *(char **)(puVar10 + -0x10) = DAT_00018238;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11c4e;\n              pcVar6 = strrchr(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc));\n              if (pcVar6 != (char *)0x0) {\n                DAT_00018238 = pcVar6 + 1;\n                goto LAB_00011c5e;\n              }\n            }" if (parenthesized_expression "(DAT_00018254 == 0)" ( (binary_expression "DAT_00018254 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00011c5e:\n              pcVar5 = DAT_00018238;\n              if (DAT_00018238 == (char *)0x0) {\nLAB_00011d70:\n                pcVar5 = local_98;\n              }\n            }" { (labeled_statement "LAB_00011c5e:\n              pcVar5 = DAT_00018238;" statement_identifier : (expression_statement "pcVar5 = DAT_00018238;" (assignment_expression "pcVar5 = DAT_00018238" identifier = identifier) ;)) (if_statement "if (DAT_00018238 == (char *)0x0) {\nLAB_00011d70:\n                pcVar5 = local_98;\n              }" if (parenthesized_expression "(DAT_00018238 == (char *)0x0)" ( (binary_expression "DAT_00018238 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00011d70:\n                pcVar5 = local_98;\n              }" { (labeled_statement "LAB_00011d70:\n                pcVar5 = local_98;" statement_identifier : (expression_statement "pcVar5 = local_98;" (assignment_expression "pcVar5 = local_98" identifier = identifier) ;)) })) }) (else_clause "else {\n              if (DAT_00018238 == (char *)0x0) goto LAB_00011d70;\n              *(undefined4 *)(puVar10 + -0xc) = 0x2f;\n              *(char **)(puVar10 + -0x10) = DAT_00018238;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11c4e;\n              pcVar6 = strrchr(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc));\n              if (pcVar6 != (char *)0x0) {\n                DAT_00018238 = pcVar6 + 1;\n                goto LAB_00011c5e;\n              }\n            }" else (compound_statement "{\n              if (DAT_00018238 == (char *)0x0) goto LAB_00011d70;\n              *(undefined4 *)(puVar10 + -0xc) = 0x2f;\n              *(char **)(puVar10 + -0x10) = DAT_00018238;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11c4e;\n              pcVar6 = strrchr(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc));\n              if (pcVar6 != (char *)0x0) {\n                DAT_00018238 = pcVar6 + 1;\n                goto LAB_00011c5e;\n              }\n            }" { (if_statement "if (DAT_00018238 == (char *)0x0) goto LAB_00011d70;" if (parenthesized_expression "(DAT_00018238 == (char *)0x0)" ( (binary_expression "DAT_00018238 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00011d70;" goto statement_identifier ;)) (expression_statement "*(undefined4 *)(puVar10 + -0xc) = 0x2f;" (assignment_expression "*(undefined4 *)(puVar10 + -0xc) = 0x2f" (pointer_expression "*(undefined4 *)(puVar10 + -0xc)" * (cast_expression "(undefined4 *)(puVar10 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0xc)" ( (binary_expression "puVar10 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar10 + -0x10) = DAT_00018238;" (assignment_expression "*(char **)(puVar10 + -0x10) = DAT_00018238" (pointer_expression "*(char **)(puVar10 + -0x10)" * (cast_expression "(char **)(puVar10 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x11c4e;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x11c4e" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" * (cast_expression "(undefined4 *)(puVar10 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar6 = strrchr(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc));" (assignment_expression "pcVar6 = strrchr(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc))" identifier = (call_expression "strrchr(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc))" identifier (argument_list "(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc))" ( (pointer_expression "*(char **)(puVar10 + -0x10)" * (cast_expression "(char **)(puVar10 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(int *)(puVar10 + -0xc)" * (cast_expression "(int *)(puVar10 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0xc)" ( (binary_expression "puVar10 + -0xc" identifier + number_literal) )))) )))) ;) (if_statement "if (pcVar6 != (char *)0x0) {\n                DAT_00018238 = pcVar6 + 1;\n                goto LAB_00011c5e;\n              }" if (parenthesized_expression "(pcVar6 != (char *)0x0)" ( (binary_expression "pcVar6 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                DAT_00018238 = pcVar6 + 1;\n                goto LAB_00011c5e;\n              }" { (expression_statement "DAT_00018238 = pcVar6 + 1;" (assignment_expression "DAT_00018238 = pcVar6 + 1" identifier = (binary_expression "pcVar6 + 1" identifier + number_literal)) ;) (goto_statement "goto LAB_00011c5e;" goto statement_identifier ;) })) }))) (expression_statement "*(char **)(puVar10 + -0xc) = pcVar5;" (assignment_expression "*(char **)(puVar10 + -0xc) = pcVar5" (pointer_expression "*(char **)(puVar10 + -0xc)" * (cast_expression "(char **)(puVar10 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0xc)" ( (binary_expression "puVar10 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar10 + -0x10) = local_a0;" (assignment_expression "*(undefined **)(puVar10 + -0x10) = local_a0" (pointer_expression "*(undefined **)(puVar10 + -0x10)" * (cast_expression "(undefined **)(puVar10 + -0x10)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x11c75;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x11c75" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" * (cast_expression "(undefined4 *)(puVar10 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "printf(*(char **)(puVar10 + -0x10));" (call_expression "printf(*(char **)(puVar10 + -0x10))" identifier (argument_list "(*(char **)(puVar10 + -0x10))" ( (pointer_expression "*(char **)(puVar10 + -0x10)" * (cast_expression "(char **)(puVar10 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) ))) ;) (if_statement "if (DAT_00018230 == 0) {\n              *(undefined **)(puVar10 + -0x10) = &DAT_000153c0;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d5f;\n              puts(*(char **)(puVar10 + -0x10));\n            }\n            else if (DAT_0001822c == 0) {\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(undefined **)(puVar10 + -0x10) = &DAT_0001545d;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d48;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            else {\n              *(int *)(puVar10 + -8) = DAT_0001822c;\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(char **)(puVar10 + -0x10) = "%u (discriminator %u)\n";\n              *(undefined4 *)(puVar10 + -0x14) = 0x11ca5;\n              printf(*(char **)(puVar10 + -0x10));\n            }" if (parenthesized_expression "(DAT_00018230 == 0)" ( (binary_expression "DAT_00018230 == 0" identifier == number_literal) )) (compound_statement "{\n              *(undefined **)(puVar10 + -0x10) = &DAT_000153c0;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d5f;\n              puts(*(char **)(puVar10 + -0x10));\n            }" { (expression_statement "*(undefined **)(puVar10 + -0x10) = &DAT_000153c0;" (assignment_expression "*(undefined **)(puVar10 + -0x10) = &DAT_000153c0" (pointer_expression "*(undefined **)(puVar10 + -0x10)" * (cast_expression "(undefined **)(puVar10 + -0x10)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = (pointer_expression "&DAT_000153c0" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x11d5f;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x11d5f" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" * (cast_expression "(undefined4 *)(puVar10 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puts(*(char **)(puVar10 + -0x10));" (call_expression "puts(*(char **)(puVar10 + -0x10))" identifier (argument_list "(*(char **)(puVar10 + -0x10))" ( (pointer_expression "*(char **)(puVar10 + -0x10)" * (cast_expression "(char **)(puVar10 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) ))) ;) }) (else_clause "else if (DAT_0001822c == 0) {\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(undefined **)(puVar10 + -0x10) = &DAT_0001545d;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d48;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            else {\n              *(int *)(puVar10 + -8) = DAT_0001822c;\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(char **)(puVar10 + -0x10) = "%u (discriminator %u)\n";\n              *(undefined4 *)(puVar10 + -0x14) = 0x11ca5;\n              printf(*(char **)(puVar10 + -0x10));\n            }" else (if_statement "if (DAT_0001822c == 0) {\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(undefined **)(puVar10 + -0x10) = &DAT_0001545d;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d48;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            else {\n              *(int *)(puVar10 + -8) = DAT_0001822c;\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(char **)(puVar10 + -0x10) = "%u (discriminator %u)\n";\n              *(undefined4 *)(puVar10 + -0x14) = 0x11ca5;\n              printf(*(char **)(puVar10 + -0x10));\n            }" if (parenthesized_expression "(DAT_0001822c == 0)" ( (binary_expression "DAT_0001822c == 0" identifier == number_literal) )) (compound_statement "{\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(undefined **)(puVar10 + -0x10) = &DAT_0001545d;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d48;\n              printf(*(char **)(puVar10 + -0x10));\n            }" { (expression_statement "*(int *)(puVar10 + -0xc) = DAT_00018230;" (assignment_expression "*(int *)(puVar10 + -0xc) = DAT_00018230" (pointer_expression "*(int *)(puVar10 + -0xc)" * (cast_expression "(int *)(puVar10 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0xc)" ( (binary_expression "puVar10 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar10 + -0x10) = &DAT_0001545d;" (assignment_expression "*(undefined **)(puVar10 + -0x10) = &DAT_0001545d" (pointer_expression "*(undefined **)(puVar10 + -0x10)" * (cast_expression "(undefined **)(puVar10 + -0x10)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = (pointer_expression "&DAT_0001545d" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x11d48;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x11d48" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" * (cast_expression "(undefined4 *)(puVar10 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "printf(*(char **)(puVar10 + -0x10));" (call_expression "printf(*(char **)(puVar10 + -0x10))" identifier (argument_list "(*(char **)(puVar10 + -0x10))" ( (pointer_expression "*(char **)(puVar10 + -0x10)" * (cast_expression "(char **)(puVar10 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) ))) ;) }) (else_clause "else {\n              *(int *)(puVar10 + -8) = DAT_0001822c;\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(char **)(puVar10 + -0x10) = "%u (discriminator %u)\n";\n              *(undefined4 *)(puVar10 + -0x14) = 0x11ca5;\n              printf(*(char **)(puVar10 + -0x10));\n            }" else (compound_statement "{\n              *(int *)(puVar10 + -8) = DAT_0001822c;\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(char **)(puVar10 + -0x10) = "%u (discriminator %u)\n";\n              *(undefined4 *)(puVar10 + -0x14) = 0x11ca5;\n              printf(*(char **)(puVar10 + -0x10));\n            }" { (expression_statement "*(int *)(puVar10 + -8) = DAT_0001822c;" (assignment_expression "*(int *)(puVar10 + -8) = DAT_0001822c" (pointer_expression "*(int *)(puVar10 + -8)" * (cast_expression "(int *)(puVar10 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -8)" ( (binary_expression "puVar10 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar10 + -0xc) = DAT_00018230;" (assignment_expression "*(int *)(puVar10 + -0xc) = DAT_00018230" (pointer_expression "*(int *)(puVar10 + -0xc)" * (cast_expression "(int *)(puVar10 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0xc)" ( (binary_expression "puVar10 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char **)(puVar10 + -0x10) = "%u (discriminator %u)\n";" (assignment_expression "*(char **)(puVar10 + -0x10) = "%u (discriminator %u)\n"" (pointer_expression "*(char **)(puVar10 + -0x10)" * (cast_expression "(char **)(puVar10 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = (string_literal ""%u (discriminator %u)\n"" " string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x11ca5;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x11ca5" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" * (cast_expression "(undefined4 *)(puVar10 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "printf(*(char **)(puVar10 + -0x10));" (call_expression "printf(*(char **)(puVar10 + -0x10))" identifier (argument_list "(*(char **)(puVar10 + -0x10))" ( (pointer_expression "*(char **)(puVar10 + -0x10)" * (cast_expression "(char **)(puVar10 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) ))) ;) }))))) (if_statement "if (DAT_00018268 == 0) {\n              DAT_00018228 = 0;\n              goto LAB_000119cc;\n            }" if (parenthesized_expression "(DAT_00018268 == 0)" ( (binary_expression "DAT_00018268 == 0" identifier == number_literal) )) (compound_statement "{\n              DAT_00018228 = 0;\n              goto LAB_000119cc;\n            }" { (expression_statement "DAT_00018228 = 0;" (assignment_expression "DAT_00018228 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_000119cc;" goto statement_identifier ;) })) (expression_statement "puVar2 = ppuVar4[1];" (assignment_expression "puVar2 = ppuVar4[1]" identifier = (subscript_expression "ppuVar4[1]" identifier [ number_literal ])) ;) (expression_statement "*(int **)(puVar10 + -4) = &DAT_00018230;" (assignment_expression "*(int **)(puVar10 + -4) = &DAT_00018230" (pointer_expression "*(int **)(puVar10 + -4)" * (cast_expression "(int **)(puVar10 + -4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -4)" ( (binary_expression "puVar10 + -4" identifier + number_literal) )))) = (pointer_expression "&DAT_00018230" & identifier)) ;) (expression_statement "*(char ***)(puVar10 + -8) = &DAT_00018234;" (assignment_expression "*(char ***)(puVar10 + -8) = &DAT_00018234" (pointer_expression "*(char ***)(puVar10 + -8)" * (cast_expression "(char ***)(puVar10 + -8)" ( (type_descriptor "char ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar10 + -8)" ( (binary_expression "puVar10 + -8" identifier + number_literal) )))) = (pointer_expression "&DAT_00018234" & identifier)) ;) (expression_statement "*(char ***)(puVar10 + -0xc) = &DAT_00018238;" (assignment_expression "*(char ***)(puVar10 + -0xc) = &DAT_00018238" (pointer_expression "*(char ***)(puVar10 + -0xc)" * (cast_expression "(char ***)(puVar10 + -0xc)" ( (type_descriptor "char ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar10 + -0xc)" ( (binary_expression "puVar10 + -0xc" identifier + number_literal) )))) = (pointer_expression "&DAT_00018238" & identifier)) ;) (expression_statement "*(undefined ***)(puVar10 + -0x10) = ppuVar4;" (assignment_expression "*(undefined ***)(puVar10 + -0x10) = ppuVar4" (pointer_expression "*(undefined ***)(puVar10 + -0x10)" * (cast_expression "(undefined ***)(puVar10 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "pcVar1 = *(code **)(puVar2 + 0x130);" (assignment_expression "pcVar1 = *(code **)(puVar2 + 0x130)" identifier = (pointer_expression "*(code **)(puVar2 + 0x130)" * (cast_expression "(code **)(puVar2 + 0x130)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0x130)" ( (binary_expression "puVar2 + 0x130" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x11cef;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x11cef" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" * (cast_expression "(undefined4 *)(puVar10 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "DAT_00018228 = (*pcVar1)();" (assignment_expression "DAT_00018228 = (*pcVar1)()" identifier = (call_expression "(*pcVar1)()" (parenthesized_expression "(*pcVar1)" ( (pointer_expression "*pcVar1" * identifier) )) (argument_list "()" ( )))) ;) (if_statement "if (DAT_00018228 == 0) goto LAB_000119cc;" if (parenthesized_expression "(DAT_00018228 == 0)" ( (binary_expression "DAT_00018228 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000119cc;" goto statement_identifier ;)) }) while (parenthesized_expression "(DAT_00018258 == 0)" ( (binary_expression "DAT_00018258 == 0" identifier == number_literal) )) ;) (expression_statement "*(undefined4 *)(puVar10 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar10 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar10 + -8)" * (cast_expression "(undefined4 *)(puVar10 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -8)" ( (binary_expression "puVar10 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar10 + -0xc) = " (inlined by) ";" (assignment_expression "*(char **)(puVar10 + -0xc) = " (inlined by) "" (pointer_expression "*(char **)(puVar10 + -0xc)" * (cast_expression "(char **)(puVar10 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0xc)" ( (binary_expression "puVar10 + -0xc" identifier + number_literal) )))) = (string_literal "" (inlined by) "" " string_content ")) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar10 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar10 + -0x10)" * (cast_expression "(undefined4 *)(puVar10 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x11d21;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x11d21" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" * (cast_expression "(undefined4 *)(puVar10 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar7 = dcgettext();" (assignment_expression "uVar7 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x10) = uVar7;" (assignment_expression "*(undefined4 *)(puVar10 + -0x10) = uVar7" (pointer_expression "*(undefined4 *)(puVar10 + -0x10)" * (cast_expression "(undefined4 *)(puVar10 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x11d29;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x11d29" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" * (cast_expression "(undefined4 *)(puVar10 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "printf(*(char **)(puVar10 + -0x10));" (call_expression "printf(*(char **)(puVar10 + -0x10))" identifier (argument_list "(*(char **)(puVar10 + -0x10))" ( (pointer_expression "*(char **)(puVar10 + -0x10)" * (cast_expression "(char **)(puVar10 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) ))) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) }) (else_clause "else if (((*(byte *)(local_a8 + 0x14) & 1) != 0) &&\n            (DAT_00018244 < *(uint *)(local_a8 + 0x30) ||\n             DAT_00018244 - *(uint *)(local_a8 + 0x30) <\n             (uint)(DAT_00018240 < *(uint *)(local_a8 + 0x2c)))) {\n      puVar2 = local_9c[1];\n      *(int **)(puVar10 + -0x10) = &DAT_0001822c;\n      *(int **)(puVar10 + -0x14) = &DAT_00018230;\n      *(char ***)(puVar10 + -0x18) = &DAT_00018234;\n      *(char ***)(puVar10 + -0x1c) = &DAT_00018238;\n      *(undefined8 *)(puVar10 + -0x24) = uVar19;\n      *(int *)(puVar10 + -0x28) = local_a8;\n      *(void **)(puVar10 + -0x2c) = DAT_00018248;\n      *(undefined ***)(puVar10 + -0x30) = local_9c;\n      pcVar1 = *(code **)(puVar2 + 0x128);\n      *(undefined4 *)(puVar10 + -0x34) = 0x1197f;\n      DAT_00018228 = (*pcVar1)();\n      ppuVar4 = local_9c;\n      goto joined_r0x00011b72;\n    }" else (if_statement "if (((*(byte *)(local_a8 + 0x14) & 1) != 0) &&\n            (DAT_00018244 < *(uint *)(local_a8 + 0x30) ||\n             DAT_00018244 - *(uint *)(local_a8 + 0x30) <\n             (uint)(DAT_00018240 < *(uint *)(local_a8 + 0x2c)))) {\n      puVar2 = local_9c[1];\n      *(int **)(puVar10 + -0x10) = &DAT_0001822c;\n      *(int **)(puVar10 + -0x14) = &DAT_00018230;\n      *(char ***)(puVar10 + -0x18) = &DAT_00018234;\n      *(char ***)(puVar10 + -0x1c) = &DAT_00018238;\n      *(undefined8 *)(puVar10 + -0x24) = uVar19;\n      *(int *)(puVar10 + -0x28) = local_a8;\n      *(void **)(puVar10 + -0x2c) = DAT_00018248;\n      *(undefined ***)(puVar10 + -0x30) = local_9c;\n      pcVar1 = *(code **)(puVar2 + 0x128);\n      *(undefined4 *)(puVar10 + -0x34) = 0x1197f;\n      DAT_00018228 = (*pcVar1)();\n      ppuVar4 = local_9c;\n      goto joined_r0x00011b72;\n    }" if (parenthesized_expression "(((*(byte *)(local_a8 + 0x14) & 1) != 0) &&\n            (DAT_00018244 < *(uint *)(local_a8 + 0x30) ||\n             DAT_00018244 - *(uint *)(local_a8 + 0x30) <\n             (uint)(DAT_00018240 < *(uint *)(local_a8 + 0x2c))))" ( (binary_expression "((*(byte *)(local_a8 + 0x14) & 1) != 0) &&\n            (DAT_00018244 < *(uint *)(local_a8 + 0x30) ||\n             DAT_00018244 - *(uint *)(local_a8 + 0x30) <\n             (uint)(DAT_00018240 < *(uint *)(local_a8 + 0x2c)))" (parenthesized_expression "((*(byte *)(local_a8 + 0x14) & 1) != 0)" ( (binary_expression "(*(byte *)(local_a8 + 0x14) & 1) != 0" (parenthesized_expression "(*(byte *)(local_a8 + 0x14) & 1)" ( (binary_expression "*(byte *)(local_a8 + 0x14) & 1" (pointer_expression "*(byte *)(local_a8 + 0x14)" * (cast_expression "(byte *)(local_a8 + 0x14)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_a8 + 0x14)" ( (binary_expression "local_a8 + 0x14" identifier + number_literal) )))) & number_literal) )) != number_literal) )) && (parenthesized_expression "(DAT_00018244 < *(uint *)(local_a8 + 0x30) ||\n             DAT_00018244 - *(uint *)(local_a8 + 0x30) <\n             (uint)(DAT_00018240 < *(uint *)(local_a8 + 0x2c)))" ( (binary_expression "DAT_00018244 < *(uint *)(local_a8 + 0x30) ||\n             DAT_00018244 - *(uint *)(local_a8 + 0x30) <\n             (uint)(DAT_00018240 < *(uint *)(local_a8 + 0x2c))" (binary_expression "DAT_00018244 < *(uint *)(local_a8 + 0x30)" identifier < (pointer_expression "*(uint *)(local_a8 + 0x30)" * (cast_expression "(uint *)(local_a8 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_a8 + 0x30)" ( (binary_expression "local_a8 + 0x30" identifier + number_literal) ))))) || (binary_expression "DAT_00018244 - *(uint *)(local_a8 + 0x30) <\n             (uint)(DAT_00018240 < *(uint *)(local_a8 + 0x2c))" (binary_expression "DAT_00018244 - *(uint *)(local_a8 + 0x30)" identifier - (pointer_expression "*(uint *)(local_a8 + 0x30)" * (cast_expression "(uint *)(local_a8 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_a8 + 0x30)" ( (binary_expression "local_a8 + 0x30" identifier + number_literal) ))))) < (call_expression "(uint)(DAT_00018240 < *(uint *)(local_a8 + 0x2c))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(DAT_00018240 < *(uint *)(local_a8 + 0x2c))" ( (binary_expression "DAT_00018240 < *(uint *)(local_a8 + 0x2c)" identifier < (pointer_expression "*(uint *)(local_a8 + 0x2c)" * (cast_expression "(uint *)(local_a8 + 0x2c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_a8 + 0x2c)" ( (binary_expression "local_a8 + 0x2c" identifier + number_literal) ))))) ))))) ))) )) (compound_statement "{\n      puVar2 = local_9c[1];\n      *(int **)(puVar10 + -0x10) = &DAT_0001822c;\n      *(int **)(puVar10 + -0x14) = &DAT_00018230;\n      *(char ***)(puVar10 + -0x18) = &DAT_00018234;\n      *(char ***)(puVar10 + -0x1c) = &DAT_00018238;\n      *(undefined8 *)(puVar10 + -0x24) = uVar19;\n      *(int *)(puVar10 + -0x28) = local_a8;\n      *(void **)(puVar10 + -0x2c) = DAT_00018248;\n      *(undefined ***)(puVar10 + -0x30) = local_9c;\n      pcVar1 = *(code **)(puVar2 + 0x128);\n      *(undefined4 *)(puVar10 + -0x34) = 0x1197f;\n      DAT_00018228 = (*pcVar1)();\n      ppuVar4 = local_9c;\n      goto joined_r0x00011b72;\n    }" { (expression_statement "puVar2 = local_9c[1];" (assignment_expression "puVar2 = local_9c[1]" identifier = (subscript_expression "local_9c[1]" identifier [ number_literal ])) ;) (expression_statement "*(int **)(puVar10 + -0x10) = &DAT_0001822c;" (assignment_expression "*(int **)(puVar10 + -0x10) = &DAT_0001822c" (pointer_expression "*(int **)(puVar10 + -0x10)" * (cast_expression "(int **)(puVar10 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = (pointer_expression "&DAT_0001822c" & identifier)) ;) (expression_statement "*(int **)(puVar10 + -0x14) = &DAT_00018230;" (assignment_expression "*(int **)(puVar10 + -0x14) = &DAT_00018230" (pointer_expression "*(int **)(puVar10 + -0x14)" * (cast_expression "(int **)(puVar10 + -0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = (pointer_expression "&DAT_00018230" & identifier)) ;) (expression_statement "*(char ***)(puVar10 + -0x18) = &DAT_00018234;" (assignment_expression "*(char ***)(puVar10 + -0x18) = &DAT_00018234" (pointer_expression "*(char ***)(puVar10 + -0x18)" * (cast_expression "(char ***)(puVar10 + -0x18)" ( (type_descriptor "char ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar10 + -0x18)" ( (binary_expression "puVar10 + -0x18" identifier + number_literal) )))) = (pointer_expression "&DAT_00018234" & identifier)) ;) (expression_statement "*(char ***)(puVar10 + -0x1c) = &DAT_00018238;" (assignment_expression "*(char ***)(puVar10 + -0x1c) = &DAT_00018238" (pointer_expression "*(char ***)(puVar10 + -0x1c)" * (cast_expression "(char ***)(puVar10 + -0x1c)" ( (type_descriptor "char ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar10 + -0x1c)" ( (binary_expression "puVar10 + -0x1c" identifier + number_literal) )))) = (pointer_expression "&DAT_00018238" & identifier)) ;) (expression_statement "*(undefined8 *)(puVar10 + -0x24) = uVar19;" (assignment_expression "*(undefined8 *)(puVar10 + -0x24) = uVar19" (pointer_expression "*(undefined8 *)(puVar10 + -0x24)" * (cast_expression "(undefined8 *)(puVar10 + -0x24)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x24)" ( (binary_expression "puVar10 + -0x24" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar10 + -0x28) = local_a8;" (assignment_expression "*(int *)(puVar10 + -0x28) = local_a8" (pointer_expression "*(int *)(puVar10 + -0x28)" * (cast_expression "(int *)(puVar10 + -0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x28)" ( (binary_expression "puVar10 + -0x28" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(void **)(puVar10 + -0x2c) = DAT_00018248;" (assignment_expression "*(void **)(puVar10 + -0x2c) = DAT_00018248" (pointer_expression "*(void **)(puVar10 + -0x2c)" * (cast_expression "(void **)(puVar10 + -0x2c)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x2c)" ( (binary_expression "puVar10 + -0x2c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar10 + -0x30) = local_9c;" (assignment_expression "*(undefined ***)(puVar10 + -0x30) = local_9c" (pointer_expression "*(undefined ***)(puVar10 + -0x30)" * (cast_expression "(undefined ***)(puVar10 + -0x30)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar10 + -0x30)" ( (binary_expression "puVar10 + -0x30" identifier + number_literal) )))) = identifier) ;) (expression_statement "pcVar1 = *(code **)(puVar2 + 0x128);" (assignment_expression "pcVar1 = *(code **)(puVar2 + 0x128)" identifier = (pointer_expression "*(code **)(puVar2 + 0x128)" * (cast_expression "(code **)(puVar2 + 0x128)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0x128)" ( (binary_expression "puVar2 + 0x128" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x34) = 0x1197f;" (assignment_expression "*(undefined4 *)(puVar10 + -0x34) = 0x1197f" (pointer_expression "*(undefined4 *)(puVar10 + -0x34)" * (cast_expression "(undefined4 *)(puVar10 + -0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x34)" ( (binary_expression "puVar10 + -0x34" identifier + number_literal) )))) = number_literal) ;) (expression_statement "DAT_00018228 = (*pcVar1)();" (assignment_expression "DAT_00018228 = (*pcVar1)()" identifier = (call_expression "(*pcVar1)()" (parenthesized_expression "(*pcVar1)" ( (pointer_expression "*pcVar1" * identifier) )) (argument_list "()" ( )))) ;) (expression_statement "ppuVar4 = local_9c;" (assignment_expression "ppuVar4 = local_9c" identifier = identifier) ;) (goto_statement "goto joined_r0x00011b72;" goto statement_identifier ;) })))) (expression_statement "DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);" (assignment_expression "DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20)" identifier = (call_expression "(uint)((ulonglong)uVar19 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)uVar19 >> 0x20)" ( (binary_expression "(ulonglong)uVar19 >> 0x20" (cast_expression "(ulonglong)uVar19" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "DAT_00018240 = (uint)uVar19;" (assignment_expression "DAT_00018240 = (uint)uVar19" identifier = (cast_expression "(uint)uVar19" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (DAT_00018260 != 0) {\n      if (DAT_00018258 == 0) {\n        *(undefined **)(puVar10 + -0x10) = &DAT_000153bf;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11ddf;\n        puts(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n      else {\n        *(undefined **)(puVar10 + -0x10) = &DAT_00015434;\n        *(undefined4 *)(puVar10 + -0x14) = 0x119b7;\n        printf(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n    }" if (parenthesized_expression "(DAT_00018260 != 0)" ( (binary_expression "DAT_00018260 != 0" identifier != number_literal) )) (compound_statement "{\n      if (DAT_00018258 == 0) {\n        *(undefined **)(puVar10 + -0x10) = &DAT_000153bf;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11ddf;\n        puts(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n      else {\n        *(undefined **)(puVar10 + -0x10) = &DAT_00015434;\n        *(undefined4 *)(puVar10 + -0x14) = 0x119b7;\n        printf(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n    }" { (if_statement "if (DAT_00018258 == 0) {\n        *(undefined **)(puVar10 + -0x10) = &DAT_000153bf;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11ddf;\n        puts(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n      else {\n        *(undefined **)(puVar10 + -0x10) = &DAT_00015434;\n        *(undefined4 *)(puVar10 + -0x14) = 0x119b7;\n        printf(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }" if (parenthesized_expression "(DAT_00018258 == 0)" ( (binary_expression "DAT_00018258 == 0" identifier == number_literal) )) (compound_statement "{\n        *(undefined **)(puVar10 + -0x10) = &DAT_000153bf;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11ddf;\n        puts(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }" { (expression_statement "*(undefined **)(puVar10 + -0x10) = &DAT_000153bf;" (assignment_expression "*(undefined **)(puVar10 + -0x10) = &DAT_000153bf" (pointer_expression "*(undefined **)(puVar10 + -0x10)" * (cast_expression "(undefined **)(puVar10 + -0x10)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = (pointer_expression "&DAT_000153bf" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x11ddf;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x11ddf" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" * (cast_expression "(undefined4 *)(puVar10 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puts(*(char **)(puVar10 + -0x10));" (call_expression "puts(*(char **)(puVar10 + -0x10))" identifier (argument_list "(*(char **)(puVar10 + -0x10))" ( (pointer_expression "*(char **)(puVar10 + -0x10)" * (cast_expression "(char **)(puVar10 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "uVar19 = CONCAT44(DAT_00018244,DAT_00018240);" (assignment_expression "uVar19 = CONCAT44(DAT_00018244,DAT_00018240)" identifier = (call_expression "CONCAT44(DAT_00018244,DAT_00018240)" identifier (argument_list "(DAT_00018244,DAT_00018240)" ( identifier , identifier )))) ;) }) (else_clause "else {\n        *(undefined **)(puVar10 + -0x10) = &DAT_00015434;\n        *(undefined4 *)(puVar10 + -0x14) = 0x119b7;\n        printf(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }" else (compound_statement "{\n        *(undefined **)(puVar10 + -0x10) = &DAT_00015434;\n        *(undefined4 *)(puVar10 + -0x14) = 0x119b7;\n        printf(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }" { (expression_statement "*(undefined **)(puVar10 + -0x10) = &DAT_00015434;" (assignment_expression "*(undefined **)(puVar10 + -0x10) = &DAT_00015434" (pointer_expression "*(undefined **)(puVar10 + -0x10)" * (cast_expression "(undefined **)(puVar10 + -0x10)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = (pointer_expression "&DAT_00015434" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x119b7;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x119b7" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" * (cast_expression "(undefined4 *)(puVar10 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "printf(*(char **)(puVar10 + -0x10));" (call_expression "printf(*(char **)(puVar10 + -0x10))" identifier (argument_list "(*(char **)(puVar10 + -0x10))" ( (pointer_expression "*(char **)(puVar10 + -0x10)" * (cast_expression "(char **)(puVar10 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "uVar19 = CONCAT44(DAT_00018244,DAT_00018240);" (assignment_expression "uVar19 = CONCAT44(DAT_00018244,DAT_00018240)" identifier = (call_expression "CONCAT44(DAT_00018244,DAT_00018240)" identifier (argument_list "(DAT_00018244,DAT_00018240)" ( identifier , identifier )))) ;) }))) })) (expression_statement "DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);" (assignment_expression "DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20)" identifier = (call_expression "(uint)((ulonglong)uVar19 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)uVar19 >> 0x20)" ( (binary_expression "(ulonglong)uVar19 >> 0x20" (cast_expression "(ulonglong)uVar19" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "DAT_00018240 = (uint)uVar19;" (assignment_expression "DAT_00018240 = (uint)uVar19" identifier = (cast_expression "(uint)uVar19" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "*(undefined **)(puVar10 + -0x10) = &DAT_00015438;" (assignment_expression "*(undefined **)(puVar10 + -0x10) = &DAT_00015438" (pointer_expression "*(undefined **)(puVar10 + -0x10)" * (cast_expression "(undefined **)(puVar10 + -0x10)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = (pointer_expression "&DAT_00015438" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x119c9;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x119c9" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" * (cast_expression "(undefined4 *)(puVar10 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puts(*(char **)(puVar10 + -0x10));" (call_expression "puts(*(char **)(puVar10 + -0x10))" identifier (argument_list "(*(char **)(puVar10 + -0x10))" ( (pointer_expression "*(char **)(puVar10 + -0x10)" * (cast_expression "(char **)(puVar10 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "ppuVar4 = local_9c;" (assignment_expression "ppuVar4 = local_9c" identifier = identifier) ;) }) while (parenthesized_expression "( true )" ( true )) ;)) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nint main(int argc,char **argv)\n\n{\n  int iVar1;\n  int iVar2;\n  undefined4 *puVar3;\n  char *__format;\n  char *pcVar4;\n  undefined4 uVar5;\n  byte bVar6;\n  uint uVar7;\n  int *piVar8;\n  char *pcVar9;\n  uint uVar10;\n  off_t oVar11;\n  bfd_vma bVar12;\n  int local_c0;\n  undefined4 *local_bc;\n  char *local_b8;\n  uint local_b4;\n  int *local_b0;\n  int *local_ac;\n  int local_a8;\n  undefined4 *local_a4;\n  char *local_a0;\n  char *local_9c;\n  char *local_98;\n  char *local_94;\n  char **local_88;\n  char local_84 [108];\n  int *local_18;\n  \n  local_18 = &argc;\n  setlocale(5,"");\n  setlocale(0,"");\n  bindtextdomain();\n  textdomain();\n  program_name = *argv;\n  xmalloc_set_program_name();\n  bfd_set_error_program_name();\n  expandargv(&argc,&argv);\n  bfd_init();\n  set_default_bfd_target();\n  local_98 = "ab:Ce:sfHhij:pVv";\n  piVar8 = &local_c0;\n  local_a4 = (undefined4 *)0x0;\n  local_b0 = (int *)PTR_optarg_00017ffc;\n  local_a8 = 0;\n  local_9c = (char *)0x0;\n  local_ac = local_b0;\n  do {\n    iVar2 = getopt_long(argc,argv,local_98,long_options);\n    if (iVar2 == -1) {\n      pcVar4 = "a.out";\n      if (local_9c != (char *)0x0) {\n        pcVar4 = local_9c;\n      }\n      addr = argv + *(int *)PTR_optind_00017fdc;\n      naddr = argc - *(int *)PTR_optind_00017fdc;\n      local_9c = pcVar4;\n      oVar11 = get_file_size(pcVar4);\n      bVar12 = CONCAT44(pc._4_4_,(uint)pc);\n      if ((int)(uint)((int)oVar11 != 0) <= -(int)((ulonglong)oVar11 >> 0x20)) {\n        local_c0 = 1;\n        goto LAB_00011e34;\n      }\n      puVar3 = (undefined4 *)bfd_openr();\n      if (puVar3 == (undefined4 *)0x0) {\n                    /* WARNING: Subroutine does not return */\n        bfd_fatal(local_9c);\n      }\n      puVar3[10] = puVar3[10] | 0x100000;\n      local_c0 = bfd_check_format();\n      if (local_c0 != 0) {\nLAB_00011f73:\n        *(undefined4 **)((int)piVar8 + -4) = puVar3;\n        *(undefined4 *)((int)piVar8 + -8) = 5;\n        *(char **)((int)piVar8 + -0xc) = "%s: cannot get addresses from archive";\n        *(undefined4 *)((int)piVar8 + -0x10) = 0;\n        *(undefined4 *)((int)piVar8 + -0x14) = 0x11f84;\n        uVar5 = dcgettext();\n        *(char **)((int)piVar8 + -0xc) = local_9c;\n        *(undefined4 *)((int)piVar8 + -0x10) = uVar5;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)piVar8 + -0x14) = 0x11f92;\n        fatal(*(char **)((int)piVar8 + -0x10));\n      }\n      iVar2 = bfd_check_format_matches();\n      if (iVar2 == 0) {\n        bfd_nonfatal((char *)*puVar3);\n        iVar2 = bfd_get_error();\n        if (iVar2 == 0xd) {\n          list_matching_formats(local_88);\n          free(local_88);\n        }\n        piVar8 = (int *)&stack0xffffff30;\n        xexit();\n        goto LAB_00011f73;\n      }\n      iVar2 = local_a8;\n      if ((local_a8 != 0) && (iVar2 = bfd_get_section_by_name(), iVar2 == 0)) {\n        pcVar4 = (char *)dcgettext();\n                    /* WARNING: Subroutine does not return */\n        fatal(pcVar4);\n      }\n      local_a8 = iVar2;\n      if ((*(byte *)((int)puVar3 + 0x29) & 2) != 0) {\n        iVar2 = (**(code **)(puVar3[1] + 0x104))();\n        if (iVar2 == 0) {\n          iVar2 = (**(code **)(puVar3[1] + 0x1a8))();\n          if (iVar2 < 0) goto LAB_00011f3d;\n          syms = (asymbol **)xmalloc();\n          iVar2 = (**(code **)(puVar3[1] + 0x1ac))();\n          if (iVar2 < 0) goto LAB_00011f3d;\n          goto LAB_00011e91;\n        }\n        if (iVar2 < 0) {\nLAB_00011f3d:\n                    /* WARNING: Subroutine does not return */\n          bfd_fatal((char *)*puVar3);\n        }\n        syms = (asymbol **)xmalloc();\n        iVar2 = (**(code **)(puVar3[1] + 0x108))();\n        if (iVar2 < 0) goto LAB_00011f3d;\n        if (iVar2 == 0) {\n          iVar2 = (**(code **)(puVar3[1] + 0x1a8))();\n          if (0 < iVar2) {\n            free(syms);\n            syms = (asymbol **)xmalloc();\n            iVar2 = (**(code **)(puVar3[1] + 0x1ac))();\n            goto LAB_00011e91;\n          }\n        }\n        else {\nLAB_00011e91:\n          if (0 < iVar2) goto LAB_00011862;\n        }\n        free(syms);\n        syms = (asymbol **)0x0;\n      }\nLAB_00011862:\n      local_ac = (int *)naddr;\n      local_bc = (undefined4 *)PTR_stdin_00017fec;\n      local_b0 = (int *)PTR_stdout_00017ff0;\n      local_9c = (char *)puVar3;\n      break;\n    }\n    switch(iVar2) {\n    case 0:\n      break;\n    case 0x43:\n      do_demangle = 1;\n      local_a0 = PTR_optarg_00017ffc;\n      if (*(int *)PTR_optarg_00017ffc != 0) {\n        iVar2 = cplus_demangle_name_to_style();\n        if (iVar2 == 0) goto LAB_00011eed;\n        cplus_demangle_set_style();\n      }\n      break;\n    case 0x48:\n    case 0x68:\n      usage(*(FILE **)PTR_stdout_00017ff0,0);\n    default:\n      usage(*(FILE **)PTR_stderr_00017fd8,1);\nLAB_00011eed:\n      pcVar4 = (char *)dcgettext();\n                    /* WARNING: Subroutine does not return */\n      fatal(pcVar4);\n    case 0x56:\n    case 0x76:\n      print_version("addr2line");\n      break;\n    case 0x61:\n      with_addresses = 1;\n      break;\n    case 0x62:\n      local_a4 = *(undefined4 **)PTR_optarg_00017ffc;\n      break;\n    case 0x65:\n      local_9c = (char *)*local_b0;\n      break;\n    case 0x66:\n      with_functions = 1;\n      break;\n    case 0x69:\n      unwind_inlines = 1;\n      break;\n    case 0x6a:\n      local_a8 = *local_ac;\n      break;\n    case 0x70:\n      pretty_print = 1;\n      break;\n    case 0x73:\n      base_names = 1;\n    }\n  } while( true );\nLAB_000119df:\n  if (local_ac == (int *)0x0) {\n    pcVar4 = fgets(local_84,100,(FILE *)*local_bc);\n    if (pcVar4 == (char *)0x0) {\nLAB_00011e02:\n      if (syms != (asymbol **)0x0) {\n        free(syms);\n        syms = (asymbol **)0x0;\n      }\n      bfd_close();\n      bVar12 = pc;\nLAB_00011e34:\n      pc._4_4_ = (uint)(bVar12 >> 0x20);\n      pc._0_4_ = (uint)bVar12;\n      return local_c0;\n    }\n    bVar12 = bfd_scan_vma();\n    iVar2 = *(int *)((int)local_9c + 4);\n    iVar1 = *(int *)(iVar2 + 4);\n  }\n  else {\n    if (naddr < 1) goto LAB_00011e02;\n    naddr = naddr + -1;\n    addr = addr + 1;\n    bVar12 = bfd_scan_vma();\n    iVar2 = *(int *)((int)local_9c + 4);\n    iVar1 = *(int *)(iVar2 + 4);\n  }\n  pc._4_4_ = (uint)(bVar12 >> 0x20);\n  pc._0_4_ = (uint)bVar12;\n  if (iVar1 == 5) {\n    bVar6 = *(char *)(*(int *)(*(int *)(iVar2 + 0x1c0) + 0x19c) + 10) - 1;\n    pcVar4 = (char *)(1 << (bVar6 & 0x1f));\n    local_98 = pcVar4;\n    local_94 = (char *)(0 << (bVar6 & 0x1f) | 1U >> 0x20 - (bVar6 & 0x1f));\n    if ((bVar6 & 0x20) != 0) {\n      local_98 = (char *)0x0;\n      local_94 = pcVar4;\n    }\n    uVar7 = (uint)pc & (int)local_98 * 2 - 1U;\n    uVar10 = pc._4_4_ &\n             (((int)local_94 << 1 | (uint)local_98 >> 0x1f) - 1) + (uint)((int)local_98 * 2 != 0);\n    bVar12 = CONCAT44(uVar10,uVar7);\n    if ((*(byte *)(*(int *)(iVar2 + 0x1c0) + 0x1e9) & 1) != 0) {\n      local_b8 = (char *)(uVar7 ^ (uint)local_98);\n      local_b4 = uVar10 ^ (uint)local_94;\n      bVar12 = CONCAT44((local_b4 - (int)local_94) - (uint)(local_b8 < local_98),\n                        (int)local_b8 - (int)local_98);\n    }\n  }\n  local_a4 = local_b0;\n  if (with_addresses != 0) {\n    pc = bVar12;\n    printf("0x");\n    local_a4 = (undefined4 *)PTR_stdout_00017ff0;\n    bfd_fprintf_vma(local_9c,*(undefined4 *)PTR_stdout_00017ff0,pc);\n    if (pretty_print == 0) {\n      putchar(10);\n      bVar12 = pc;\n    }\n    else {\n      printf(": ");\n      bVar12 = pc;\n    }\n  }\n  pc._4_4_ = (uint)(bVar12 >> 0x20);\n  pc._0_4_ = (uint)bVar12;\n  found = 0;\n  pc = bVar12;\n  if (local_a8 == 0) {\n    bfd_map_over_sections();\n    pcVar4 = local_9c;\njoined_r0x00011b72:\n    local_9c = pcVar4;\n    bVar12 = pc;\n    if (found != 0) {\n      local_a0 = "%s:";\n      local_98 = "??";\n      do {\n        local_9c = "%s";\n        do {\n          if (with_functions != 0) {\n            pcVar9 = functionname;\n            if (functionname != (char *)0x0) {\n              if (*functionname == '\0') {\n                pcVar9 = (char *)0x0;\n              }\n              else {\n                if (do_demangle != 0) {\n                  pcVar9 = (char *)bfd_demangle();\n                  if (pcVar9 != (char *)0x0) goto LAB_00011bdd;\n                }\n                pcVar9 = (char *)0x0;\n              }\n            }\nLAB_00011bdd:\n            printf(local_9c);\n            if (pretty_print == 0) {\n              putchar(10);\n            }\n            else {\n              __format = (char *)dcgettext();\n              printf(__format);\n            }\n            if (pcVar9 != (char *)0x0) {\n              free(pcVar9);\n            }\n          }\n          if ((base_names != 0) && (filename != (char *)0x0)) {\n            pcVar9 = strrchr(filename,0x2f);\n            if (pcVar9 != (char *)0x0) {\n              filename = pcVar9 + 1;\n            }\n          }\n          printf(local_a0);\n          if (line == 0) {\n            puts("?");\n          }\n          else if (discriminator == 0) {\n            printf("%u\n");\n          }\n          else {\n            printf("%u (discriminator %u)\n");\n          }\n          if (unwind_inlines == 0) {\n            found = 0;\n            local_9c = pcVar4;\n            goto LAB_000119cc;\n          }\n          found = (**(code **)(*(int *)((int)pcVar4 + 4) + 0x130))();\n          if (found == 0) {\n            found = 0;\n            local_9c = pcVar4;\n            goto LAB_000119cc;\n          }\n        } while (pretty_print == 0);\n        pcVar9 = (char *)dcgettext();\n        printf(pcVar9);\n      } while( true );\n    }\n  }\n  else if (((*(byte *)(local_a8 + 0x14) & 1) != 0) &&\n          (pc._4_4_ < *(uint *)(local_a8 + 0x30) ||\n           pc._4_4_ - *(uint *)(local_a8 + 0x30) < (uint)((uint)pc < *(uint *)(local_a8 + 0x2c)))) {\n    found = (**(code **)(*(int *)((int)local_9c + 4) + 0x128))\n                      (local_9c,syms,local_a8,bVar12,&filename,&functionname,&line);\n    pcVar4 = local_9c;\n    goto joined_r0x00011b72;\n  }\n  pc = bVar12;\n  if (with_functions != 0) {\n    if (pretty_print == 0) {\n      puts("??");\n    }\n    else {\n      printf("?? ");\n    }\n  }\n  puts("??:0");\nLAB_000119cc:\n  fflush((FILE *)*local_a4);\n  goto LAB_000119df;\n}\n\n" comment (function_definition "int main(int argc,char **argv)\n\n{\n  int iVar1;\n  int iVar2;\n  undefined4 *puVar3;\n  char *__format;\n  char *pcVar4;\n  undefined4 uVar5;\n  byte bVar6;\n  uint uVar7;\n  int *piVar8;\n  char *pcVar9;\n  uint uVar10;\n  off_t oVar11;\n  bfd_vma bVar12;\n  int local_c0;\n  undefined4 *local_bc;\n  char *local_b8;\n  uint local_b4;\n  int *local_b0;\n  int *local_ac;\n  int local_a8;\n  undefined4 *local_a4;\n  char *local_a0;\n  char *local_9c;\n  char *local_98;\n  char *local_94;\n  char **local_88;\n  char local_84 [108];\n  int *local_18;\n  \n  local_18 = &argc;\n  setlocale(5,"");\n  setlocale(0,"");\n  bindtextdomain();\n  textdomain();\n  program_name = *argv;\n  xmalloc_set_program_name();\n  bfd_set_error_program_name();\n  expandargv(&argc,&argv);\n  bfd_init();\n  set_default_bfd_target();\n  local_98 = "ab:Ce:sfHhij:pVv";\n  piVar8 = &local_c0;\n  local_a4 = (undefined4 *)0x0;\n  local_b0 = (int *)PTR_optarg_00017ffc;\n  local_a8 = 0;\n  local_9c = (char *)0x0;\n  local_ac = local_b0;\n  do {\n    iVar2 = getopt_long(argc,argv,local_98,long_options);\n    if (iVar2 == -1) {\n      pcVar4 = "a.out";\n      if (local_9c != (char *)0x0) {\n        pcVar4 = local_9c;\n      }\n      addr = argv + *(int *)PTR_optind_00017fdc;\n      naddr = argc - *(int *)PTR_optind_00017fdc;\n      local_9c = pcVar4;\n      oVar11 = get_file_size(pcVar4);\n      bVar12 = CONCAT44(pc._4_4_,(uint)pc);\n      if ((int)(uint)((int)oVar11 != 0) <= -(int)((ulonglong)oVar11 >> 0x20)) {\n        local_c0 = 1;\n        goto LAB_00011e34;\n      }\n      puVar3 = (undefined4 *)bfd_openr();\n      if (puVar3 == (undefined4 *)0x0) {\n                    /* WARNING: Subroutine does not return */\n        bfd_fatal(local_9c);\n      }\n      puVar3[10] = puVar3[10] | 0x100000;\n      local_c0 = bfd_check_format();\n      if (local_c0 != 0) {\nLAB_00011f73:\n        *(undefined4 **)((int)piVar8 + -4) = puVar3;\n        *(undefined4 *)((int)piVar8 + -8) = 5;\n        *(char **)((int)piVar8 + -0xc) = "%s: cannot get addresses from archive";\n        *(undefined4 *)((int)piVar8 + -0x10) = 0;\n        *(undefined4 *)((int)piVar8 + -0x14) = 0x11f84;\n        uVar5 = dcgettext();\n        *(char **)((int)piVar8 + -0xc) = local_9c;\n        *(undefined4 *)((int)piVar8 + -0x10) = uVar5;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)piVar8 + -0x14) = 0x11f92;\n        fatal(*(char **)((int)piVar8 + -0x10));\n      }\n      iVar2 = bfd_check_format_matches();\n      if (iVar2 == 0) {\n        bfd_nonfatal((char *)*puVar3);\n        iVar2 = bfd_get_error();\n        if (iVar2 == 0xd) {\n          list_matching_formats(local_88);\n          free(local_88);\n        }\n        piVar8 = (int *)&stack0xffffff30;\n        xexit();\n        goto LAB_00011f73;\n      }\n      iVar2 = local_a8;\n      if ((local_a8 != 0) && (iVar2 = bfd_get_section_by_name(), iVar2 == 0)) {\n        pcVar4 = (char *)dcgettext();\n                    /* WARNING: Subroutine does not return */\n        fatal(pcVar4);\n      }\n      local_a8 = iVar2;\n      if ((*(byte *)((int)puVar3 + 0x29) & 2) != 0) {\n        iVar2 = (**(code **)(puVar3[1] + 0x104))();\n        if (iVar2 == 0) {\n          iVar2 = (**(code **)(puVar3[1] + 0x1a8))();\n          if (iVar2 < 0) goto LAB_00011f3d;\n          syms = (asymbol **)xmalloc();\n          iVar2 = (**(code **)(puVar3[1] + 0x1ac))();\n          if (iVar2 < 0) goto LAB_00011f3d;\n          goto LAB_00011e91;\n        }\n        if (iVar2 < 0) {\nLAB_00011f3d:\n                    /* WARNING: Subroutine does not return */\n          bfd_fatal((char *)*puVar3);\n        }\n        syms = (asymbol **)xmalloc();\n        iVar2 = (**(code **)(puVar3[1] + 0x108))();\n        if (iVar2 < 0) goto LAB_00011f3d;\n        if (iVar2 == 0) {\n          iVar2 = (**(code **)(puVar3[1] + 0x1a8))();\n          if (0 < iVar2) {\n            free(syms);\n            syms = (asymbol **)xmalloc();\n            iVar2 = (**(code **)(puVar3[1] + 0x1ac))();\n            goto LAB_00011e91;\n          }\n        }\n        else {\nLAB_00011e91:\n          if (0 < iVar2) goto LAB_00011862;\n        }\n        free(syms);\n        syms = (asymbol **)0x0;\n      }\nLAB_00011862:\n      local_ac = (int *)naddr;\n      local_bc = (undefined4 *)PTR_stdin_00017fec;\n      local_b0 = (int *)PTR_stdout_00017ff0;\n      local_9c = (char *)puVar3;\n      break;\n    }\n    switch(iVar2) {\n    case 0:\n      break;\n    case 0x43:\n      do_demangle = 1;\n      local_a0 = PTR_optarg_00017ffc;\n      if (*(int *)PTR_optarg_00017ffc != 0) {\n        iVar2 = cplus_demangle_name_to_style();\n        if (iVar2 == 0) goto LAB_00011eed;\n        cplus_demangle_set_style();\n      }\n      break;\n    case 0x48:\n    case 0x68:\n      usage(*(FILE **)PTR_stdout_00017ff0,0);\n    default:\n      usage(*(FILE **)PTR_stderr_00017fd8,1);\nLAB_00011eed:\n      pcVar4 = (char *)dcgettext();\n                    /* WARNING: Subroutine does not return */\n      fatal(pcVar4);\n    case 0x56:\n    case 0x76:\n      print_version("addr2line");\n      break;\n    case 0x61:\n      with_addresses = 1;\n      break;\n    case 0x62:\n      local_a4 = *(undefined4 **)PTR_optarg_00017ffc;\n      break;\n    case 0x65:\n      local_9c = (char *)*local_b0;\n      break;\n    case 0x66:\n      with_functions = 1;\n      break;\n    case 0x69:\n      unwind_inlines = 1;\n      break;\n    case 0x6a:\n      local_a8 = *local_ac;\n      break;\n    case 0x70:\n      pretty_print = 1;\n      break;\n    case 0x73:\n      base_names = 1;\n    }\n  } while( true );\nLAB_000119df:\n  if (local_ac == (int *)0x0) {\n    pcVar4 = fgets(local_84,100,(FILE *)*local_bc);\n    if (pcVar4 == (char *)0x0) {\nLAB_00011e02:\n      if (syms != (asymbol **)0x0) {\n        free(syms);\n        syms = (asymbol **)0x0;\n      }\n      bfd_close();\n      bVar12 = pc;\nLAB_00011e34:\n      pc._4_4_ = (uint)(bVar12 >> 0x20);\n      pc._0_4_ = (uint)bVar12;\n      return local_c0;\n    }\n    bVar12 = bfd_scan_vma();\n    iVar2 = *(int *)((int)local_9c + 4);\n    iVar1 = *(int *)(iVar2 + 4);\n  }\n  else {\n    if (naddr < 1) goto LAB_00011e02;\n    naddr = naddr + -1;\n    addr = addr + 1;\n    bVar12 = bfd_scan_vma();\n    iVar2 = *(int *)((int)local_9c + 4);\n    iVar1 = *(int *)(iVar2 + 4);\n  }\n  pc._4_4_ = (uint)(bVar12 >> 0x20);\n  pc._0_4_ = (uint)bVar12;\n  if (iVar1 == 5) {\n    bVar6 = *(char *)(*(int *)(*(int *)(iVar2 + 0x1c0) + 0x19c) + 10) - 1;\n    pcVar4 = (char *)(1 << (bVar6 & 0x1f));\n    local_98 = pcVar4;\n    local_94 = (char *)(0 << (bVar6 & 0x1f) | 1U >> 0x20 - (bVar6 & 0x1f));\n    if ((bVar6 & 0x20) != 0) {\n      local_98 = (char *)0x0;\n      local_94 = pcVar4;\n    }\n    uVar7 = (uint)pc & (int)local_98 * 2 - 1U;\n    uVar10 = pc._4_4_ &\n             (((int)local_94 << 1 | (uint)local_98 >> 0x1f) - 1) + (uint)((int)local_98 * 2 != 0);\n    bVar12 = CONCAT44(uVar10,uVar7);\n    if ((*(byte *)(*(int *)(iVar2 + 0x1c0) + 0x1e9) & 1) != 0) {\n      local_b8 = (char *)(uVar7 ^ (uint)local_98);\n      local_b4 = uVar10 ^ (uint)local_94;\n      bVar12 = CONCAT44((local_b4 - (int)local_94) - (uint)(local_b8 < local_98),\n                        (int)local_b8 - (int)local_98);\n    }\n  }\n  local_a4 = local_b0;\n  if (with_addresses != 0) {\n    pc = bVar12;\n    printf("0x");\n    local_a4 = (undefined4 *)PTR_stdout_00017ff0;\n    bfd_fprintf_vma(local_9c,*(undefined4 *)PTR_stdout_00017ff0,pc);\n    if (pretty_print == 0) {\n      putchar(10);\n      bVar12 = pc;\n    }\n    else {\n      printf(": ");\n      bVar12 = pc;\n    }\n  }\n  pc._4_4_ = (uint)(bVar12 >> 0x20);\n  pc._0_4_ = (uint)bVar12;\n  found = 0;\n  pc = bVar12;\n  if (local_a8 == 0) {\n    bfd_map_over_sections();\n    pcVar4 = local_9c;\njoined_r0x00011b72:\n    local_9c = pcVar4;\n    bVar12 = pc;\n    if (found != 0) {\n      local_a0 = "%s:";\n      local_98 = "??";\n      do {\n        local_9c = "%s";\n        do {\n          if (with_functions != 0) {\n            pcVar9 = functionname;\n            if (functionname != (char *)0x0) {\n              if (*functionname == '\0') {\n                pcVar9 = (char *)0x0;\n              }\n              else {\n                if (do_demangle != 0) {\n                  pcVar9 = (char *)bfd_demangle();\n                  if (pcVar9 != (char *)0x0) goto LAB_00011bdd;\n                }\n                pcVar9 = (char *)0x0;\n              }\n            }\nLAB_00011bdd:\n            printf(local_9c);\n            if (pretty_print == 0) {\n              putchar(10);\n            }\n            else {\n              __format = (char *)dcgettext();\n              printf(__format);\n            }\n            if (pcVar9 != (char *)0x0) {\n              free(pcVar9);\n            }\n          }\n          if ((base_names != 0) && (filename != (char *)0x0)) {\n            pcVar9 = strrchr(filename,0x2f);\n            if (pcVar9 != (char *)0x0) {\n              filename = pcVar9 + 1;\n            }\n          }\n          printf(local_a0);\n          if (line == 0) {\n            puts("?");\n          }\n          else if (discriminator == 0) {\n            printf("%u\n");\n          }\n          else {\n            printf("%u (discriminator %u)\n");\n          }\n          if (unwind_inlines == 0) {\n            found = 0;\n            local_9c = pcVar4;\n            goto LAB_000119cc;\n          }\n          found = (**(code **)(*(int *)((int)pcVar4 + 4) + 0x130))();\n          if (found == 0) {\n            found = 0;\n            local_9c = pcVar4;\n            goto LAB_000119cc;\n          }\n        } while (pretty_print == 0);\n        pcVar9 = (char *)dcgettext();\n        printf(pcVar9);\n      } while( true );\n    }\n  }\n  else if (((*(byte *)(local_a8 + 0x14) & 1) != 0) &&\n          (pc._4_4_ < *(uint *)(local_a8 + 0x30) ||\n           pc._4_4_ - *(uint *)(local_a8 + 0x30) < (uint)((uint)pc < *(uint *)(local_a8 + 0x2c)))) {\n    found = (**(code **)(*(int *)((int)local_9c + 4) + 0x128))\n                      (local_9c,syms,local_a8,bVar12,&filename,&functionname,&line);\n    pcVar4 = local_9c;\n    goto joined_r0x00011b72;\n  }\n  pc = bVar12;\n  if (with_functions != 0) {\n    if (pretty_print == 0) {\n      puts("??");\n    }\n    else {\n      printf("?? ");\n    }\n  }\n  puts("??:0");\nLAB_000119cc:\n  fflush((FILE *)*local_a4);\n  goto LAB_000119df;\n}" primitive_type (function_declarator "main(int argc,char **argv)" identifier (parameter_list "(int argc,char **argv)" ( (parameter_declaration "int argc" primitive_type identifier) , (parameter_declaration "char **argv" primitive_type (pointer_declarator "**argv" * (pointer_declarator "*argv" * identifier))) ))) (compound_statement "{\n  int iVar1;\n  int iVar2;\n  undefined4 *puVar3;\n  char *__format;\n  char *pcVar4;\n  undefined4 uVar5;\n  byte bVar6;\n  uint uVar7;\n  int *piVar8;\n  char *pcVar9;\n  uint uVar10;\n  off_t oVar11;\n  bfd_vma bVar12;\n  int local_c0;\n  undefined4 *local_bc;\n  char *local_b8;\n  uint local_b4;\n  int *local_b0;\n  int *local_ac;\n  int local_a8;\n  undefined4 *local_a4;\n  char *local_a0;\n  char *local_9c;\n  char *local_98;\n  char *local_94;\n  char **local_88;\n  char local_84 [108];\n  int *local_18;\n  \n  local_18 = &argc;\n  setlocale(5,"");\n  setlocale(0,"");\n  bindtextdomain();\n  textdomain();\n  program_name = *argv;\n  xmalloc_set_program_name();\n  bfd_set_error_program_name();\n  expandargv(&argc,&argv);\n  bfd_init();\n  set_default_bfd_target();\n  local_98 = "ab:Ce:sfHhij:pVv";\n  piVar8 = &local_c0;\n  local_a4 = (undefined4 *)0x0;\n  local_b0 = (int *)PTR_optarg_00017ffc;\n  local_a8 = 0;\n  local_9c = (char *)0x0;\n  local_ac = local_b0;\n  do {\n    iVar2 = getopt_long(argc,argv,local_98,long_options);\n    if (iVar2 == -1) {\n      pcVar4 = "a.out";\n      if (local_9c != (char *)0x0) {\n        pcVar4 = local_9c;\n      }\n      addr = argv + *(int *)PTR_optind_00017fdc;\n      naddr = argc - *(int *)PTR_optind_00017fdc;\n      local_9c = pcVar4;\n      oVar11 = get_file_size(pcVar4);\n      bVar12 = CONCAT44(pc._4_4_,(uint)pc);\n      if ((int)(uint)((int)oVar11 != 0) <= -(int)((ulonglong)oVar11 >> 0x20)) {\n        local_c0 = 1;\n        goto LAB_00011e34;\n      }\n      puVar3 = (undefined4 *)bfd_openr();\n      if (puVar3 == (undefined4 *)0x0) {\n                    /* WARNING: Subroutine does not return */\n        bfd_fatal(local_9c);\n      }\n      puVar3[10] = puVar3[10] | 0x100000;\n      local_c0 = bfd_check_format();\n      if (local_c0 != 0) {\nLAB_00011f73:\n        *(undefined4 **)((int)piVar8 + -4) = puVar3;\n        *(undefined4 *)((int)piVar8 + -8) = 5;\n        *(char **)((int)piVar8 + -0xc) = "%s: cannot get addresses from archive";\n        *(undefined4 *)((int)piVar8 + -0x10) = 0;\n        *(undefined4 *)((int)piVar8 + -0x14) = 0x11f84;\n        uVar5 = dcgettext();\n        *(char **)((int)piVar8 + -0xc) = local_9c;\n        *(undefined4 *)((int)piVar8 + -0x10) = uVar5;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)piVar8 + -0x14) = 0x11f92;\n        fatal(*(char **)((int)piVar8 + -0x10));\n      }\n      iVar2 = bfd_check_format_matches();\n      if (iVar2 == 0) {\n        bfd_nonfatal((char *)*puVar3);\n        iVar2 = bfd_get_error();\n        if (iVar2 == 0xd) {\n          list_matching_formats(local_88);\n          free(local_88);\n        }\n        piVar8 = (int *)&stack0xffffff30;\n        xexit();\n        goto LAB_00011f73;\n      }\n      iVar2 = local_a8;\n      if ((local_a8 != 0) && (iVar2 = bfd_get_section_by_name(), iVar2 == 0)) {\n        pcVar4 = (char *)dcgettext();\n                    /* WARNING: Subroutine does not return */\n        fatal(pcVar4);\n      }\n      local_a8 = iVar2;\n      if ((*(byte *)((int)puVar3 + 0x29) & 2) != 0) {\n        iVar2 = (**(code **)(puVar3[1] + 0x104))();\n        if (iVar2 == 0) {\n          iVar2 = (**(code **)(puVar3[1] + 0x1a8))();\n          if (iVar2 < 0) goto LAB_00011f3d;\n          syms = (asymbol **)xmalloc();\n          iVar2 = (**(code **)(puVar3[1] + 0x1ac))();\n          if (iVar2 < 0) goto LAB_00011f3d;\n          goto LAB_00011e91;\n        }\n        if (iVar2 < 0) {\nLAB_00011f3d:\n                    /* WARNING: Subroutine does not return */\n          bfd_fatal((char *)*puVar3);\n        }\n        syms = (asymbol **)xmalloc();\n        iVar2 = (**(code **)(puVar3[1] + 0x108))();\n        if (iVar2 < 0) goto LAB_00011f3d;\n        if (iVar2 == 0) {\n          iVar2 = (**(code **)(puVar3[1] + 0x1a8))();\n          if (0 < iVar2) {\n            free(syms);\n            syms = (asymbol **)xmalloc();\n            iVar2 = (**(code **)(puVar3[1] + 0x1ac))();\n            goto LAB_00011e91;\n          }\n        }\n        else {\nLAB_00011e91:\n          if (0 < iVar2) goto LAB_00011862;\n        }\n        free(syms);\n        syms = (asymbol **)0x0;\n      }\nLAB_00011862:\n      local_ac = (int *)naddr;\n      local_bc = (undefined4 *)PTR_stdin_00017fec;\n      local_b0 = (int *)PTR_stdout_00017ff0;\n      local_9c = (char *)puVar3;\n      break;\n    }\n    switch(iVar2) {\n    case 0:\n      break;\n    case 0x43:\n      do_demangle = 1;\n      local_a0 = PTR_optarg_00017ffc;\n      if (*(int *)PTR_optarg_00017ffc != 0) {\n        iVar2 = cplus_demangle_name_to_style();\n        if (iVar2 == 0) goto LAB_00011eed;\n        cplus_demangle_set_style();\n      }\n      break;\n    case 0x48:\n    case 0x68:\n      usage(*(FILE **)PTR_stdout_00017ff0,0);\n    default:\n      usage(*(FILE **)PTR_stderr_00017fd8,1);\nLAB_00011eed:\n      pcVar4 = (char *)dcgettext();\n                    /* WARNING: Subroutine does not return */\n      fatal(pcVar4);\n    case 0x56:\n    case 0x76:\n      print_version("addr2line");\n      break;\n    case 0x61:\n      with_addresses = 1;\n      break;\n    case 0x62:\n      local_a4 = *(undefined4 **)PTR_optarg_00017ffc;\n      break;\n    case 0x65:\n      local_9c = (char *)*local_b0;\n      break;\n    case 0x66:\n      with_functions = 1;\n      break;\n    case 0x69:\n      unwind_inlines = 1;\n      break;\n    case 0x6a:\n      local_a8 = *local_ac;\n      break;\n    case 0x70:\n      pretty_print = 1;\n      break;\n    case 0x73:\n      base_names = 1;\n    }\n  } while( true );\nLAB_000119df:\n  if (local_ac == (int *)0x0) {\n    pcVar4 = fgets(local_84,100,(FILE *)*local_bc);\n    if (pcVar4 == (char *)0x0) {\nLAB_00011e02:\n      if (syms != (asymbol **)0x0) {\n        free(syms);\n        syms = (asymbol **)0x0;\n      }\n      bfd_close();\n      bVar12 = pc;\nLAB_00011e34:\n      pc._4_4_ = (uint)(bVar12 >> 0x20);\n      pc._0_4_ = (uint)bVar12;\n      return local_c0;\n    }\n    bVar12 = bfd_scan_vma();\n    iVar2 = *(int *)((int)local_9c + 4);\n    iVar1 = *(int *)(iVar2 + 4);\n  }\n  else {\n    if (naddr < 1) goto LAB_00011e02;\n    naddr = naddr + -1;\n    addr = addr + 1;\n    bVar12 = bfd_scan_vma();\n    iVar2 = *(int *)((int)local_9c + 4);\n    iVar1 = *(int *)(iVar2 + 4);\n  }\n  pc._4_4_ = (uint)(bVar12 >> 0x20);\n  pc._0_4_ = (uint)bVar12;\n  if (iVar1 == 5) {\n    bVar6 = *(char *)(*(int *)(*(int *)(iVar2 + 0x1c0) + 0x19c) + 10) - 1;\n    pcVar4 = (char *)(1 << (bVar6 & 0x1f));\n    local_98 = pcVar4;\n    local_94 = (char *)(0 << (bVar6 & 0x1f) | 1U >> 0x20 - (bVar6 & 0x1f));\n    if ((bVar6 & 0x20) != 0) {\n      local_98 = (char *)0x0;\n      local_94 = pcVar4;\n    }\n    uVar7 = (uint)pc & (int)local_98 * 2 - 1U;\n    uVar10 = pc._4_4_ &\n             (((int)local_94 << 1 | (uint)local_98 >> 0x1f) - 1) + (uint)((int)local_98 * 2 != 0);\n    bVar12 = CONCAT44(uVar10,uVar7);\n    if ((*(byte *)(*(int *)(iVar2 + 0x1c0) + 0x1e9) & 1) != 0) {\n      local_b8 = (char *)(uVar7 ^ (uint)local_98);\n      local_b4 = uVar10 ^ (uint)local_94;\n      bVar12 = CONCAT44((local_b4 - (int)local_94) - (uint)(local_b8 < local_98),\n                        (int)local_b8 - (int)local_98);\n    }\n  }\n  local_a4 = local_b0;\n  if (with_addresses != 0) {\n    pc = bVar12;\n    printf("0x");\n    local_a4 = (undefined4 *)PTR_stdout_00017ff0;\n    bfd_fprintf_vma(local_9c,*(undefined4 *)PTR_stdout_00017ff0,pc);\n    if (pretty_print == 0) {\n      putchar(10);\n      bVar12 = pc;\n    }\n    else {\n      printf(": ");\n      bVar12 = pc;\n    }\n  }\n  pc._4_4_ = (uint)(bVar12 >> 0x20);\n  pc._0_4_ = (uint)bVar12;\n  found = 0;\n  pc = bVar12;\n  if (local_a8 == 0) {\n    bfd_map_over_sections();\n    pcVar4 = local_9c;\njoined_r0x00011b72:\n    local_9c = pcVar4;\n    bVar12 = pc;\n    if (found != 0) {\n      local_a0 = "%s:";\n      local_98 = "??";\n      do {\n        local_9c = "%s";\n        do {\n          if (with_functions != 0) {\n            pcVar9 = functionname;\n            if (functionname != (char *)0x0) {\n              if (*functionname == '\0') {\n                pcVar9 = (char *)0x0;\n              }\n              else {\n                if (do_demangle != 0) {\n                  pcVar9 = (char *)bfd_demangle();\n                  if (pcVar9 != (char *)0x0) goto LAB_00011bdd;\n                }\n                pcVar9 = (char *)0x0;\n              }\n            }\nLAB_00011bdd:\n            printf(local_9c);\n            if (pretty_print == 0) {\n              putchar(10);\n            }\n            else {\n              __format = (char *)dcgettext();\n              printf(__format);\n            }\n            if (pcVar9 != (char *)0x0) {\n              free(pcVar9);\n            }\n          }\n          if ((base_names != 0) && (filename != (char *)0x0)) {\n            pcVar9 = strrchr(filename,0x2f);\n            if (pcVar9 != (char *)0x0) {\n              filename = pcVar9 + 1;\n            }\n          }\n          printf(local_a0);\n          if (line == 0) {\n            puts("?");\n          }\n          else if (discriminator == 0) {\n            printf("%u\n");\n          }\n          else {\n            printf("%u (discriminator %u)\n");\n          }\n          if (unwind_inlines == 0) {\n            found = 0;\n            local_9c = pcVar4;\n            goto LAB_000119cc;\n          }\n          found = (**(code **)(*(int *)((int)pcVar4 + 4) + 0x130))();\n          if (found == 0) {\n            found = 0;\n            local_9c = pcVar4;\n            goto LAB_000119cc;\n          }\n        } while (pretty_print == 0);\n        pcVar9 = (char *)dcgettext();\n        printf(pcVar9);\n      } while( true );\n    }\n  }\n  else if (((*(byte *)(local_a8 + 0x14) & 1) != 0) &&\n          (pc._4_4_ < *(uint *)(local_a8 + 0x30) ||\n           pc._4_4_ - *(uint *)(local_a8 + 0x30) < (uint)((uint)pc < *(uint *)(local_a8 + 0x2c)))) {\n    found = (**(code **)(*(int *)((int)local_9c + 4) + 0x128))\n                      (local_9c,syms,local_a8,bVar12,&filename,&functionname,&line);\n    pcVar4 = local_9c;\n    goto joined_r0x00011b72;\n  }\n  pc = bVar12;\n  if (with_functions != 0) {\n    if (pretty_print == 0) {\n      puts("??");\n    }\n    else {\n      printf("?? ");\n    }\n  }\n  puts("??:0");\nLAB_000119cc:\n  fflush((FILE *)*local_a4);\n  goto LAB_000119df;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined4 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "char *__format;" primitive_type (pointer_declarator "*__format" * identifier) ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "byte bVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "char *pcVar9;" primitive_type (pointer_declarator "*pcVar9" * identifier) ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "off_t oVar11;" type_identifier identifier ;) (declaration "bfd_vma bVar12;" type_identifier identifier ;) (declaration "int local_c0;" primitive_type identifier ;) (declaration "undefined4 *local_bc;" type_identifier (pointer_declarator "*local_bc" * identifier) ;) (declaration "char *local_b8;" primitive_type (pointer_declarator "*local_b8" * identifier) ;) (declaration "uint local_b4;" type_identifier identifier ;) (declaration "int *local_b0;" primitive_type (pointer_declarator "*local_b0" * identifier) ;) (declaration "int *local_ac;" primitive_type (pointer_declarator "*local_ac" * identifier) ;) (declaration "int local_a8;" primitive_type identifier ;) (declaration "undefined4 *local_a4;" type_identifier (pointer_declarator "*local_a4" * identifier) ;) (declaration "char *local_a0;" primitive_type (pointer_declarator "*local_a0" * identifier) ;) (declaration "char *local_9c;" primitive_type (pointer_declarator "*local_9c" * identifier) ;) (declaration "char *local_98;" primitive_type (pointer_declarator "*local_98" * identifier) ;) (declaration "char *local_94;" primitive_type (pointer_declarator "*local_94" * identifier) ;) (declaration "char **local_88;" primitive_type (pointer_declarator "**local_88" * (pointer_declarator "*local_88" * identifier)) ;) (declaration "char local_84 [108];" primitive_type (array_declarator "local_84 [108]" identifier [ number_literal ]) ;) (declaration "int *local_18;" primitive_type (pointer_declarator "*local_18" * identifier) ;) (expression_statement "local_18 = &argc;" (assignment_expression "local_18 = &argc" identifier = (pointer_expression "&argc" & identifier)) ;) (expression_statement "setlocale(5,"");" (call_expression "setlocale(5,"")" identifier (argument_list "(5,"")" ( number_literal , (string_literal """" " ") ))) ;) (expression_statement "setlocale(0,"");" (call_expression "setlocale(0,"")" identifier (argument_list "(0,"")" ( number_literal , (string_literal """" " ") ))) ;) (expression_statement "bindtextdomain();" (call_expression "bindtextdomain()" identifier (argument_list "()" ( ))) ;) (expression_statement "textdomain();" (call_expression "textdomain()" identifier (argument_list "()" ( ))) ;) (expression_statement "program_name = *argv;" (assignment_expression "program_name = *argv" identifier = (pointer_expression "*argv" * identifier)) ;) (expression_statement "xmalloc_set_program_name();" (call_expression "xmalloc_set_program_name()" identifier (argument_list "()" ( ))) ;) (expression_statement "bfd_set_error_program_name();" (call_expression "bfd_set_error_program_name()" identifier (argument_list "()" ( ))) ;) (expression_statement "expandargv(&argc,&argv);" (call_expression "expandargv(&argc,&argv)" identifier (argument_list "(&argc,&argv)" ( (pointer_expression "&argc" & identifier) , (pointer_expression "&argv" & identifier) ))) ;) (expression_statement "bfd_init();" (call_expression "bfd_init()" identifier (argument_list "()" ( ))) ;) (expression_statement "set_default_bfd_target();" (call_expression "set_default_bfd_target()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_98 = "ab:Ce:sfHhij:pVv";" (assignment_expression "local_98 = "ab:Ce:sfHhij:pVv"" identifier = (string_literal ""ab:Ce:sfHhij:pVv"" " string_content ")) ;) (expression_statement "piVar8 = &local_c0;" (assignment_expression "piVar8 = &local_c0" identifier = (pointer_expression "&local_c0" & identifier)) ;) (expression_statement "local_a4 = (undefined4 *)0x0;" (assignment_expression "local_a4 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_b0 = (int *)PTR_optarg_00017ffc;" (assignment_expression "local_b0 = (int *)PTR_optarg_00017ffc" identifier = (cast_expression "(int *)PTR_optarg_00017ffc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "local_a8 = 0;" (assignment_expression "local_a8 = 0" identifier = number_literal) ;) (expression_statement "local_9c = (char *)0x0;" (assignment_expression "local_9c = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_ac = local_b0;" (assignment_expression "local_ac = local_b0" identifier = identifier) ;) (do_statement "do {\n    iVar2 = getopt_long(argc,argv,local_98,long_options);\n    if (iVar2 == -1) {\n      pcVar4 = "a.out";\n      if (local_9c != (char *)0x0) {\n        pcVar4 = local_9c;\n      }\n      addr = argv + *(int *)PTR_optind_00017fdc;\n      naddr = argc - *(int *)PTR_optind_00017fdc;\n      local_9c = pcVar4;\n      oVar11 = get_file_size(pcVar4);\n      bVar12 = CONCAT44(pc._4_4_,(uint)pc);\n      if ((int)(uint)((int)oVar11 != 0) <= -(int)((ulonglong)oVar11 >> 0x20)) {\n        local_c0 = 1;\n        goto LAB_00011e34;\n      }\n      puVar3 = (undefined4 *)bfd_openr();\n      if (puVar3 == (undefined4 *)0x0) {\n                    /* WARNING: Subroutine does not return */\n        bfd_fatal(local_9c);\n      }\n      puVar3[10] = puVar3[10] | 0x100000;\n      local_c0 = bfd_check_format();\n      if (local_c0 != 0) {\nLAB_00011f73:\n        *(undefined4 **)((int)piVar8 + -4) = puVar3;\n        *(undefined4 *)((int)piVar8 + -8) = 5;\n        *(char **)((int)piVar8 + -0xc) = "%s: cannot get addresses from archive";\n        *(undefined4 *)((int)piVar8 + -0x10) = 0;\n        *(undefined4 *)((int)piVar8 + -0x14) = 0x11f84;\n        uVar5 = dcgettext();\n        *(char **)((int)piVar8 + -0xc) = local_9c;\n        *(undefined4 *)((int)piVar8 + -0x10) = uVar5;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)piVar8 + -0x14) = 0x11f92;\n        fatal(*(char **)((int)piVar8 + -0x10));\n      }\n      iVar2 = bfd_check_format_matches();\n      if (iVar2 == 0) {\n        bfd_nonfatal((char *)*puVar3);\n        iVar2 = bfd_get_error();\n        if (iVar2 == 0xd) {\n          list_matching_formats(local_88);\n          free(local_88);\n        }\n        piVar8 = (int *)&stack0xffffff30;\n        xexit();\n        goto LAB_00011f73;\n      }\n      iVar2 = local_a8;\n      if ((local_a8 != 0) && (iVar2 = bfd_get_section_by_name(), iVar2 == 0)) {\n        pcVar4 = (char *)dcgettext();\n                    /* WARNING: Subroutine does not return */\n        fatal(pcVar4);\n      }\n      local_a8 = iVar2;\n      if ((*(byte *)((int)puVar3 + 0x29) & 2) != 0) {\n        iVar2 = (**(code **)(puVar3[1] + 0x104))();\n        if (iVar2 == 0) {\n          iVar2 = (**(code **)(puVar3[1] + 0x1a8))();\n          if (iVar2 < 0) goto LAB_00011f3d;\n          syms = (asymbol **)xmalloc();\n          iVar2 = (**(code **)(puVar3[1] + 0x1ac))();\n          if (iVar2 < 0) goto LAB_00011f3d;\n          goto LAB_00011e91;\n        }\n        if (iVar2 < 0) {\nLAB_00011f3d:\n                    /* WARNING: Subroutine does not return */\n          bfd_fatal((char *)*puVar3);\n        }\n        syms = (asymbol **)xmalloc();\n        iVar2 = (**(code **)(puVar3[1] + 0x108))();\n        if (iVar2 < 0) goto LAB_00011f3d;\n        if (iVar2 == 0) {\n          iVar2 = (**(code **)(puVar3[1] + 0x1a8))();\n          if (0 < iVar2) {\n            free(syms);\n            syms = (asymbol **)xmalloc();\n            iVar2 = (**(code **)(puVar3[1] + 0x1ac))();\n            goto LAB_00011e91;\n          }\n        }\n        else {\nLAB_00011e91:\n          if (0 < iVar2) goto LAB_00011862;\n        }\n        free(syms);\n        syms = (asymbol **)0x0;\n      }\nLAB_00011862:\n      local_ac = (int *)naddr;\n      local_bc = (undefined4 *)PTR_stdin_00017fec;\n      local_b0 = (int *)PTR_stdout_00017ff0;\n      local_9c = (char *)puVar3;\n      break;\n    }\n    switch(iVar2) {\n    case 0:\n      break;\n    case 0x43:\n      do_demangle = 1;\n      local_a0 = PTR_optarg_00017ffc;\n      if (*(int *)PTR_optarg_00017ffc != 0) {\n        iVar2 = cplus_demangle_name_to_style();\n        if (iVar2 == 0) goto LAB_00011eed;\n        cplus_demangle_set_style();\n      }\n      break;\n    case 0x48:\n    case 0x68:\n      usage(*(FILE **)PTR_stdout_00017ff0,0);\n    default:\n      usage(*(FILE **)PTR_stderr_00017fd8,1);\nLAB_00011eed:\n      pcVar4 = (char *)dcgettext();\n                    /* WARNING: Subroutine does not return */\n      fatal(pcVar4);\n    case 0x56:\n    case 0x76:\n      print_version("addr2line");\n      break;\n    case 0x61:\n      with_addresses = 1;\n      break;\n    case 0x62:\n      local_a4 = *(undefined4 **)PTR_optarg_00017ffc;\n      break;\n    case 0x65:\n      local_9c = (char *)*local_b0;\n      break;\n    case 0x66:\n      with_functions = 1;\n      break;\n    case 0x69:\n      unwind_inlines = 1;\n      break;\n    case 0x6a:\n      local_a8 = *local_ac;\n      break;\n    case 0x70:\n      pretty_print = 1;\n      break;\n    case 0x73:\n      base_names = 1;\n    }\n  } while( true );" do (compound_statement "{\n    iVar2 = getopt_long(argc,argv,local_98,long_options);\n    if (iVar2 == -1) {\n      pcVar4 = "a.out";\n      if (local_9c != (char *)0x0) {\n        pcVar4 = local_9c;\n      }\n      addr = argv + *(int *)PTR_optind_00017fdc;\n      naddr = argc - *(int *)PTR_optind_00017fdc;\n      local_9c = pcVar4;\n      oVar11 = get_file_size(pcVar4);\n      bVar12 = CONCAT44(pc._4_4_,(uint)pc);\n      if ((int)(uint)((int)oVar11 != 0) <= -(int)((ulonglong)oVar11 >> 0x20)) {\n        local_c0 = 1;\n        goto LAB_00011e34;\n      }\n      puVar3 = (undefined4 *)bfd_openr();\n      if (puVar3 == (undefined4 *)0x0) {\n                    /* WARNING: Subroutine does not return */\n        bfd_fatal(local_9c);\n      }\n      puVar3[10] = puVar3[10] | 0x100000;\n      local_c0 = bfd_check_format();\n      if (local_c0 != 0) {\nLAB_00011f73:\n        *(undefined4 **)((int)piVar8 + -4) = puVar3;\n        *(undefined4 *)((int)piVar8 + -8) = 5;\n        *(char **)((int)piVar8 + -0xc) = "%s: cannot get addresses from archive";\n        *(undefined4 *)((int)piVar8 + -0x10) = 0;\n        *(undefined4 *)((int)piVar8 + -0x14) = 0x11f84;\n        uVar5 = dcgettext();\n        *(char **)((int)piVar8 + -0xc) = local_9c;\n        *(undefined4 *)((int)piVar8 + -0x10) = uVar5;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)piVar8 + -0x14) = 0x11f92;\n        fatal(*(char **)((int)piVar8 + -0x10));\n      }\n      iVar2 = bfd_check_format_matches();\n      if (iVar2 == 0) {\n        bfd_nonfatal((char *)*puVar3);\n        iVar2 = bfd_get_error();\n        if (iVar2 == 0xd) {\n          list_matching_formats(local_88);\n          free(local_88);\n        }\n        piVar8 = (int *)&stack0xffffff30;\n        xexit();\n        goto LAB_00011f73;\n      }\n      iVar2 = local_a8;\n      if ((local_a8 != 0) && (iVar2 = bfd_get_section_by_name(), iVar2 == 0)) {\n        pcVar4 = (char *)dcgettext();\n                    /* WARNING: Subroutine does not return */\n        fatal(pcVar4);\n      }\n      local_a8 = iVar2;\n      if ((*(byte *)((int)puVar3 + 0x29) & 2) != 0) {\n        iVar2 = (**(code **)(puVar3[1] + 0x104))();\n        if (iVar2 == 0) {\n          iVar2 = (**(code **)(puVar3[1] + 0x1a8))();\n          if (iVar2 < 0) goto LAB_00011f3d;\n          syms = (asymbol **)xmalloc();\n          iVar2 = (**(code **)(puVar3[1] + 0x1ac))();\n          if (iVar2 < 0) goto LAB_00011f3d;\n          goto LAB_00011e91;\n        }\n        if (iVar2 < 0) {\nLAB_00011f3d:\n                    /* WARNING: Subroutine does not return */\n          bfd_fatal((char *)*puVar3);\n        }\n        syms = (asymbol **)xmalloc();\n        iVar2 = (**(code **)(puVar3[1] + 0x108))();\n        if (iVar2 < 0) goto LAB_00011f3d;\n        if (iVar2 == 0) {\n          iVar2 = (**(code **)(puVar3[1] + 0x1a8))();\n          if (0 < iVar2) {\n            free(syms);\n            syms = (asymbol **)xmalloc();\n            iVar2 = (**(code **)(puVar3[1] + 0x1ac))();\n            goto LAB_00011e91;\n          }\n        }\n        else {\nLAB_00011e91:\n          if (0 < iVar2) goto LAB_00011862;\n        }\n        free(syms);\n        syms = (asymbol **)0x0;\n      }\nLAB_00011862:\n      local_ac = (int *)naddr;\n      local_bc = (undefined4 *)PTR_stdin_00017fec;\n      local_b0 = (int *)PTR_stdout_00017ff0;\n      local_9c = (char *)puVar3;\n      break;\n    }\n    switch(iVar2) {\n    case 0:\n      break;\n    case 0x43:\n      do_demangle = 1;\n      local_a0 = PTR_optarg_00017ffc;\n      if (*(int *)PTR_optarg_00017ffc != 0) {\n        iVar2 = cplus_demangle_name_to_style();\n        if (iVar2 == 0) goto LAB_00011eed;\n        cplus_demangle_set_style();\n      }\n      break;\n    case 0x48:\n    case 0x68:\n      usage(*(FILE **)PTR_stdout_00017ff0,0);\n    default:\n      usage(*(FILE **)PTR_stderr_00017fd8,1);\nLAB_00011eed:\n      pcVar4 = (char *)dcgettext();\n                    /* WARNING: Subroutine does not return */\n      fatal(pcVar4);\n    case 0x56:\n    case 0x76:\n      print_version("addr2line");\n      break;\n    case 0x61:\n      with_addresses = 1;\n      break;\n    case 0x62:\n      local_a4 = *(undefined4 **)PTR_optarg_00017ffc;\n      break;\n    case 0x65:\n      local_9c = (char *)*local_b0;\n      break;\n    case 0x66:\n      with_functions = 1;\n      break;\n    case 0x69:\n      unwind_inlines = 1;\n      break;\n    case 0x6a:\n      local_a8 = *local_ac;\n      break;\n    case 0x70:\n      pretty_print = 1;\n      break;\n    case 0x73:\n      base_names = 1;\n    }\n  }" { (expression_statement "iVar2 = getopt_long(argc,argv,local_98,long_options);" (assignment_expression "iVar2 = getopt_long(argc,argv,local_98,long_options)" identifier = (call_expression "getopt_long(argc,argv,local_98,long_options)" identifier (argument_list "(argc,argv,local_98,long_options)" ( identifier , identifier , identifier , identifier )))) ;) (if_statement "if (iVar2 == -1) {\n      pcVar4 = "a.out";\n      if (local_9c != (char *)0x0) {\n        pcVar4 = local_9c;\n      }\n      addr = argv + *(int *)PTR_optind_00017fdc;\n      naddr = argc - *(int *)PTR_optind_00017fdc;\n      local_9c = pcVar4;\n      oVar11 = get_file_size(pcVar4);\n      bVar12 = CONCAT44(pc._4_4_,(uint)pc);\n      if ((int)(uint)((int)oVar11 != 0) <= -(int)((ulonglong)oVar11 >> 0x20)) {\n        local_c0 = 1;\n        goto LAB_00011e34;\n      }\n      puVar3 = (undefined4 *)bfd_openr();\n      if (puVar3 == (undefined4 *)0x0) {\n                    /* WARNING: Subroutine does not return */\n        bfd_fatal(local_9c);\n      }\n      puVar3[10] = puVar3[10] | 0x100000;\n      local_c0 = bfd_check_format();\n      if (local_c0 != 0) {\nLAB_00011f73:\n        *(undefined4 **)((int)piVar8 + -4) = puVar3;\n        *(undefined4 *)((int)piVar8 + -8) = 5;\n        *(char **)((int)piVar8 + -0xc) = "%s: cannot get addresses from archive";\n        *(undefined4 *)((int)piVar8 + -0x10) = 0;\n        *(undefined4 *)((int)piVar8 + -0x14) = 0x11f84;\n        uVar5 = dcgettext();\n        *(char **)((int)piVar8 + -0xc) = local_9c;\n        *(undefined4 *)((int)piVar8 + -0x10) = uVar5;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)piVar8 + -0x14) = 0x11f92;\n        fatal(*(char **)((int)piVar8 + -0x10));\n      }\n      iVar2 = bfd_check_format_matches();\n      if (iVar2 == 0) {\n        bfd_nonfatal((char *)*puVar3);\n        iVar2 = bfd_get_error();\n        if (iVar2 == 0xd) {\n          list_matching_formats(local_88);\n          free(local_88);\n        }\n        piVar8 = (int *)&stack0xffffff30;\n        xexit();\n        goto LAB_00011f73;\n      }\n      iVar2 = local_a8;\n      if ((local_a8 != 0) && (iVar2 = bfd_get_section_by_name(), iVar2 == 0)) {\n        pcVar4 = (char *)dcgettext();\n                    /* WARNING: Subroutine does not return */\n        fatal(pcVar4);\n      }\n      local_a8 = iVar2;\n      if ((*(byte *)((int)puVar3 + 0x29) & 2) != 0) {\n        iVar2 = (**(code **)(puVar3[1] + 0x104))();\n        if (iVar2 == 0) {\n          iVar2 = (**(code **)(puVar3[1] + 0x1a8))();\n          if (iVar2 < 0) goto LAB_00011f3d;\n          syms = (asymbol **)xmalloc();\n          iVar2 = (**(code **)(puVar3[1] + 0x1ac))();\n          if (iVar2 < 0) goto LAB_00011f3d;\n          goto LAB_00011e91;\n        }\n        if (iVar2 < 0) {\nLAB_00011f3d:\n                    /* WARNING: Subroutine does not return */\n          bfd_fatal((char *)*puVar3);\n        }\n        syms = (asymbol **)xmalloc();\n        iVar2 = (**(code **)(puVar3[1] + 0x108))();\n        if (iVar2 < 0) goto LAB_00011f3d;\n        if (iVar2 == 0) {\n          iVar2 = (**(code **)(puVar3[1] + 0x1a8))();\n          if (0 < iVar2) {\n            free(syms);\n            syms = (asymbol **)xmalloc();\n            iVar2 = (**(code **)(puVar3[1] + 0x1ac))();\n            goto LAB_00011e91;\n          }\n        }\n        else {\nLAB_00011e91:\n          if (0 < iVar2) goto LAB_00011862;\n        }\n        free(syms);\n        syms = (asymbol **)0x0;\n      }\nLAB_00011862:\n      local_ac = (int *)naddr;\n      local_bc = (undefined4 *)PTR_stdin_00017fec;\n      local_b0 = (int *)PTR_stdout_00017ff0;\n      local_9c = (char *)puVar3;\n      break;\n    }" if (parenthesized_expression "(iVar2 == -1)" ( (binary_expression "iVar2 == -1" identifier == number_literal) )) (compound_statement "{\n      pcVar4 = "a.out";\n      if (local_9c != (char *)0x0) {\n        pcVar4 = local_9c;\n      }\n      addr = argv + *(int *)PTR_optind_00017fdc;\n      naddr = argc - *(int *)PTR_optind_00017fdc;\n      local_9c = pcVar4;\n      oVar11 = get_file_size(pcVar4);\n      bVar12 = CONCAT44(pc._4_4_,(uint)pc);\n      if ((int)(uint)((int)oVar11 != 0) <= -(int)((ulonglong)oVar11 >> 0x20)) {\n        local_c0 = 1;\n        goto LAB_00011e34;\n      }\n      puVar3 = (undefined4 *)bfd_openr();\n      if (puVar3 == (undefined4 *)0x0) {\n                    /* WARNING: Subroutine does not return */\n        bfd_fatal(local_9c);\n      }\n      puVar3[10] = puVar3[10] | 0x100000;\n      local_c0 = bfd_check_format();\n      if (local_c0 != 0) {\nLAB_00011f73:\n        *(undefined4 **)((int)piVar8 + -4) = puVar3;\n        *(undefined4 *)((int)piVar8 + -8) = 5;\n        *(char **)((int)piVar8 + -0xc) = "%s: cannot get addresses from archive";\n        *(undefined4 *)((int)piVar8 + -0x10) = 0;\n        *(undefined4 *)((int)piVar8 + -0x14) = 0x11f84;\n        uVar5 = dcgettext();\n        *(char **)((int)piVar8 + -0xc) = local_9c;\n        *(undefined4 *)((int)piVar8 + -0x10) = uVar5;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)piVar8 + -0x14) = 0x11f92;\n        fatal(*(char **)((int)piVar8 + -0x10));\n      }\n      iVar2 = bfd_check_format_matches();\n      if (iVar2 == 0) {\n        bfd_nonfatal((char *)*puVar3);\n        iVar2 = bfd_get_error();\n        if (iVar2 == 0xd) {\n          list_matching_formats(local_88);\n          free(local_88);\n        }\n        piVar8 = (int *)&stack0xffffff30;\n        xexit();\n        goto LAB_00011f73;\n      }\n      iVar2 = local_a8;\n      if ((local_a8 != 0) && (iVar2 = bfd_get_section_by_name(), iVar2 == 0)) {\n        pcVar4 = (char *)dcgettext();\n                    /* WARNING: Subroutine does not return */\n        fatal(pcVar4);\n      }\n      local_a8 = iVar2;\n      if ((*(byte *)((int)puVar3 + 0x29) & 2) != 0) {\n        iVar2 = (**(code **)(puVar3[1] + 0x104))();\n        if (iVar2 == 0) {\n          iVar2 = (**(code **)(puVar3[1] + 0x1a8))();\n          if (iVar2 < 0) goto LAB_00011f3d;\n          syms = (asymbol **)xmalloc();\n          iVar2 = (**(code **)(puVar3[1] + 0x1ac))();\n          if (iVar2 < 0) goto LAB_00011f3d;\n          goto LAB_00011e91;\n        }\n        if (iVar2 < 0) {\nLAB_00011f3d:\n                    /* WARNING: Subroutine does not return */\n          bfd_fatal((char *)*puVar3);\n        }\n        syms = (asymbol **)xmalloc();\n        iVar2 = (**(code **)(puVar3[1] + 0x108))();\n        if (iVar2 < 0) goto LAB_00011f3d;\n        if (iVar2 == 0) {\n          iVar2 = (**(code **)(puVar3[1] + 0x1a8))();\n          if (0 < iVar2) {\n            free(syms);\n            syms = (asymbol **)xmalloc();\n            iVar2 = (**(code **)(puVar3[1] + 0x1ac))();\n            goto LAB_00011e91;\n          }\n        }\n        else {\nLAB_00011e91:\n          if (0 < iVar2) goto LAB_00011862;\n        }\n        free(syms);\n        syms = (asymbol **)0x0;\n      }\nLAB_00011862:\n      local_ac = (int *)naddr;\n      local_bc = (undefined4 *)PTR_stdin_00017fec;\n      local_b0 = (int *)PTR_stdout_00017ff0;\n      local_9c = (char *)puVar3;\n      break;\n    }" { (expression_statement "pcVar4 = "a.out";" (assignment_expression "pcVar4 = "a.out"" identifier = (string_literal ""a.out"" " string_content ")) ;) (if_statement "if (local_9c != (char *)0x0) {\n        pcVar4 = local_9c;\n      }" if (parenthesized_expression "(local_9c != (char *)0x0)" ( (binary_expression "local_9c != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pcVar4 = local_9c;\n      }" { (expression_statement "pcVar4 = local_9c;" (assignment_expression "pcVar4 = local_9c" identifier = identifier) ;) })) (expression_statement "addr = argv + *(int *)PTR_optind_00017fdc;" (assignment_expression "addr = argv + *(int *)PTR_optind_00017fdc" identifier = (binary_expression "argv + *(int *)PTR_optind_00017fdc" identifier + (pointer_expression "*(int *)PTR_optind_00017fdc" * (cast_expression "(int *)PTR_optind_00017fdc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "naddr = argc - *(int *)PTR_optind_00017fdc;" (assignment_expression "naddr = argc - *(int *)PTR_optind_00017fdc" identifier = (binary_expression "argc - *(int *)PTR_optind_00017fdc" identifier - (pointer_expression "*(int *)PTR_optind_00017fdc" * (cast_expression "(int *)PTR_optind_00017fdc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "local_9c = pcVar4;" (assignment_expression "local_9c = pcVar4" identifier = identifier) ;) (expression_statement "oVar11 = get_file_size(pcVar4);" (assignment_expression "oVar11 = get_file_size(pcVar4)" identifier = (call_expression "get_file_size(pcVar4)" identifier (argument_list "(pcVar4)" ( identifier )))) ;) (expression_statement "bVar12 = CONCAT44(pc._4_4_,(uint)pc);" (assignment_expression "bVar12 = CONCAT44(pc._4_4_,(uint)pc)" identifier = (call_expression "CONCAT44(pc._4_4_,(uint)pc)" identifier (argument_list "(pc._4_4_,(uint)pc)" ( (field_expression "pc._4_4_" identifier . field_identifier) , (cast_expression "(uint)pc" ( (type_descriptor "uint" type_identifier) ) identifier) )))) ;) (if_statement "if ((int)(uint)((int)oVar11 != 0) <= -(int)((ulonglong)oVar11 >> 0x20)) {\n        local_c0 = 1;\n        goto LAB_00011e34;\n      }" if (parenthesized_expression "((int)(uint)((int)oVar11 != 0) <= -(int)((ulonglong)oVar11 >> 0x20))" ( (binary_expression "(int)(uint)((int)oVar11 != 0) <= -(int)((ulonglong)oVar11 >> 0x20)" (cast_expression "(int)(uint)((int)oVar11 != 0)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)((int)oVar11 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)oVar11 != 0)" ( (binary_expression "(int)oVar11 != 0" (cast_expression "(int)oVar11" ( (type_descriptor "int" primitive_type) ) identifier) != number_literal) )))) <= (unary_expression "-(int)((ulonglong)oVar11 >> 0x20)" - (cast_expression "(int)((ulonglong)oVar11 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)oVar11 >> 0x20)" ( (binary_expression "(ulonglong)oVar11 >> 0x20" (cast_expression "(ulonglong)oVar11" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))))) )) (compound_statement "{\n        local_c0 = 1;\n        goto LAB_00011e34;\n      }" { (expression_statement "local_c0 = 1;" (assignment_expression "local_c0 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_00011e34;" goto statement_identifier ;) })) (expression_statement "puVar3 = (undefined4 *)bfd_openr();" (assignment_expression "puVar3 = (undefined4 *)bfd_openr()" identifier = (cast_expression "(undefined4 *)bfd_openr()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "bfd_openr()" identifier (argument_list "()" ( ))))) ;) (if_statement "if (puVar3 == (undefined4 *)0x0) {\n                    /* WARNING: Subroutine does not return */\n        bfd_fatal(local_9c);\n      }" if (parenthesized_expression "(puVar3 == (undefined4 *)0x0)" ( (binary_expression "puVar3 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        bfd_fatal(local_9c);\n      }" { comment (expression_statement "bfd_fatal(local_9c);" (call_expression "bfd_fatal(local_9c)" identifier (argument_list "(local_9c)" ( identifier ))) ;) })) (expression_statement "puVar3[10] = puVar3[10] | 0x100000;" (assignment_expression "puVar3[10] = puVar3[10] | 0x100000" (subscript_expression "puVar3[10]" identifier [ number_literal ]) = (binary_expression "puVar3[10] | 0x100000" (subscript_expression "puVar3[10]" identifier [ number_literal ]) | number_literal)) ;) (expression_statement "local_c0 = bfd_check_format();" (assignment_expression "local_c0 = bfd_check_format()" identifier = (call_expression "bfd_check_format()" identifier (argument_list "()" ( )))) ;) (if_statement "if (local_c0 != 0) {\nLAB_00011f73:\n        *(undefined4 **)((int)piVar8 + -4) = puVar3;\n        *(undefined4 *)((int)piVar8 + -8) = 5;\n        *(char **)((int)piVar8 + -0xc) = "%s: cannot get addresses from archive";\n        *(undefined4 *)((int)piVar8 + -0x10) = 0;\n        *(undefined4 *)((int)piVar8 + -0x14) = 0x11f84;\n        uVar5 = dcgettext();\n        *(char **)((int)piVar8 + -0xc) = local_9c;\n        *(undefined4 *)((int)piVar8 + -0x10) = uVar5;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)piVar8 + -0x14) = 0x11f92;\n        fatal(*(char **)((int)piVar8 + -0x10));\n      }" if (parenthesized_expression "(local_c0 != 0)" ( (binary_expression "local_c0 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_00011f73:\n        *(undefined4 **)((int)piVar8 + -4) = puVar3;\n        *(undefined4 *)((int)piVar8 + -8) = 5;\n        *(char **)((int)piVar8 + -0xc) = "%s: cannot get addresses from archive";\n        *(undefined4 *)((int)piVar8 + -0x10) = 0;\n        *(undefined4 *)((int)piVar8 + -0x14) = 0x11f84;\n        uVar5 = dcgettext();\n        *(char **)((int)piVar8 + -0xc) = local_9c;\n        *(undefined4 *)((int)piVar8 + -0x10) = uVar5;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)piVar8 + -0x14) = 0x11f92;\n        fatal(*(char **)((int)piVar8 + -0x10));\n      }" { (labeled_statement "LAB_00011f73:\n        *(undefined4 **)((int)piVar8 + -4) = puVar3;" statement_identifier : (expression_statement "*(undefined4 **)((int)piVar8 + -4) = puVar3;" (assignment_expression "*(undefined4 **)((int)piVar8 + -4) = puVar3" (pointer_expression "*(undefined4 **)((int)piVar8 + -4)" * (cast_expression "(undefined4 **)((int)piVar8 + -4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)piVar8 + -4)" ( (binary_expression "(int)piVar8 + -4" (cast_expression "(int)piVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined4 *)((int)piVar8 + -8) = 5;" (assignment_expression "*(undefined4 *)((int)piVar8 + -8) = 5" (pointer_expression "*(undefined4 *)((int)piVar8 + -8)" * (cast_expression "(undefined4 *)((int)piVar8 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar8 + -8)" ( (binary_expression "(int)piVar8 + -8" (cast_expression "(int)piVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)((int)piVar8 + -0xc) = "%s: cannot get addresses from archive";" (assignment_expression "*(char **)((int)piVar8 + -0xc) = "%s: cannot get addresses from archive"" (pointer_expression "*(char **)((int)piVar8 + -0xc)" * (cast_expression "(char **)((int)piVar8 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)piVar8 + -0xc)" ( (binary_expression "(int)piVar8 + -0xc" (cast_expression "(int)piVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (string_literal ""%s: cannot get addresses from archive"" " string_content ")) ;) (expression_statement "*(undefined4 *)((int)piVar8 + -0x10) = 0;" (assignment_expression "*(undefined4 *)((int)piVar8 + -0x10) = 0" (pointer_expression "*(undefined4 *)((int)piVar8 + -0x10)" * (cast_expression "(undefined4 *)((int)piVar8 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar8 + -0x10)" ( (binary_expression "(int)piVar8 + -0x10" (cast_expression "(int)piVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)piVar8 + -0x14) = 0x11f84;" (assignment_expression "*(undefined4 *)((int)piVar8 + -0x14) = 0x11f84" (pointer_expression "*(undefined4 *)((int)piVar8 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar8 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar8 + -0x14)" ( (binary_expression "(int)piVar8 + -0x14" (cast_expression "(int)piVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar5 = dcgettext();" (assignment_expression "uVar5 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(char **)((int)piVar8 + -0xc) = local_9c;" (assignment_expression "*(char **)((int)piVar8 + -0xc) = local_9c" (pointer_expression "*(char **)((int)piVar8 + -0xc)" * (cast_expression "(char **)((int)piVar8 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)piVar8 + -0xc)" ( (binary_expression "(int)piVar8 + -0xc" (cast_expression "(int)piVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)piVar8 + -0x10) = uVar5;" (assignment_expression "*(undefined4 *)((int)piVar8 + -0x10) = uVar5" (pointer_expression "*(undefined4 *)((int)piVar8 + -0x10)" * (cast_expression "(undefined4 *)((int)piVar8 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar8 + -0x10)" ( (binary_expression "(int)piVar8 + -0x10" (cast_expression "(int)piVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)((int)piVar8 + -0x14) = 0x11f92;" (assignment_expression "*(undefined4 *)((int)piVar8 + -0x14) = 0x11f92" (pointer_expression "*(undefined4 *)((int)piVar8 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar8 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar8 + -0x14)" ( (binary_expression "(int)piVar8 + -0x14" (cast_expression "(int)piVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "fatal(*(char **)((int)piVar8 + -0x10));" (call_expression "fatal(*(char **)((int)piVar8 + -0x10))" identifier (argument_list "(*(char **)((int)piVar8 + -0x10))" ( (pointer_expression "*(char **)((int)piVar8 + -0x10)" * (cast_expression "(char **)((int)piVar8 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)piVar8 + -0x10)" ( (binary_expression "(int)piVar8 + -0x10" (cast_expression "(int)piVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) })) (expression_statement "iVar2 = bfd_check_format_matches();" (assignment_expression "iVar2 = bfd_check_format_matches()" identifier = (call_expression "bfd_check_format_matches()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar2 == 0) {\n        bfd_nonfatal((char *)*puVar3);\n        iVar2 = bfd_get_error();\n        if (iVar2 == 0xd) {\n          list_matching_formats(local_88);\n          free(local_88);\n        }\n        piVar8 = (int *)&stack0xffffff30;\n        xexit();\n        goto LAB_00011f73;\n      }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n        bfd_nonfatal((char *)*puVar3);\n        iVar2 = bfd_get_error();\n        if (iVar2 == 0xd) {\n          list_matching_formats(local_88);\n          free(local_88);\n        }\n        piVar8 = (int *)&stack0xffffff30;\n        xexit();\n        goto LAB_00011f73;\n      }" { (expression_statement "bfd_nonfatal((char *)*puVar3);" (call_expression "bfd_nonfatal((char *)*puVar3)" identifier (argument_list "((char *)*puVar3)" ( (cast_expression "(char *)*puVar3" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar3" * identifier)) ))) ;) (expression_statement "iVar2 = bfd_get_error();" (assignment_expression "iVar2 = bfd_get_error()" identifier = (call_expression "bfd_get_error()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar2 == 0xd) {\n          list_matching_formats(local_88);\n          free(local_88);\n        }" if (parenthesized_expression "(iVar2 == 0xd)" ( (binary_expression "iVar2 == 0xd" identifier == number_literal) )) (compound_statement "{\n          list_matching_formats(local_88);\n          free(local_88);\n        }" { (expression_statement "list_matching_formats(local_88);" (call_expression "list_matching_formats(local_88)" identifier (argument_list "(local_88)" ( identifier ))) ;) (expression_statement "free(local_88);" (call_expression "free(local_88)" identifier (argument_list "(local_88)" ( identifier ))) ;) })) (expression_statement "piVar8 = (int *)&stack0xffffff30;" (assignment_expression "piVar8 = (int *)&stack0xffffff30" identifier = (cast_expression "(int *)&stack0xffffff30" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&stack0xffffff30" & identifier))) ;) (expression_statement "xexit();" (call_expression "xexit()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_00011f73;" goto statement_identifier ;) })) (expression_statement "iVar2 = local_a8;" (assignment_expression "iVar2 = local_a8" identifier = identifier) ;) (if_statement "if ((local_a8 != 0) && (iVar2 = bfd_get_section_by_name(), iVar2 == 0)) {\n        pcVar4 = (char *)dcgettext();\n                    /* WARNING: Subroutine does not return */\n        fatal(pcVar4);\n      }" if (parenthesized_expression "((local_a8 != 0) && (iVar2 = bfd_get_section_by_name(), iVar2 == 0))" ( (binary_expression "(local_a8 != 0) && (iVar2 = bfd_get_section_by_name(), iVar2 == 0)" (parenthesized_expression "(local_a8 != 0)" ( (binary_expression "local_a8 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar2 = bfd_get_section_by_name(), iVar2 == 0)" ( (comma_expression "iVar2 = bfd_get_section_by_name(), iVar2 == 0" (assignment_expression "iVar2 = bfd_get_section_by_name()" identifier = (call_expression "bfd_get_section_by_name()" identifier (argument_list "()" ( )))) , (binary_expression "iVar2 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n        pcVar4 = (char *)dcgettext();\n                    /* WARNING: Subroutine does not return */\n        fatal(pcVar4);\n      }" { (expression_statement "pcVar4 = (char *)dcgettext();" (assignment_expression "pcVar4 = (char *)dcgettext()" identifier = (cast_expression "(char *)dcgettext()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext()" identifier (argument_list "()" ( ))))) ;) comment (expression_statement "fatal(pcVar4);" (call_expression "fatal(pcVar4)" identifier (argument_list "(pcVar4)" ( identifier ))) ;) })) (expression_statement "local_a8 = iVar2;" (assignment_expression "local_a8 = iVar2" identifier = identifier) ;) (if_statement "if ((*(byte *)((int)puVar3 + 0x29) & 2) != 0) {\n        iVar2 = (**(code **)(puVar3[1] + 0x104))();\n        if (iVar2 == 0) {\n          iVar2 = (**(code **)(puVar3[1] + 0x1a8))();\n          if (iVar2 < 0) goto LAB_00011f3d;\n          syms = (asymbol **)xmalloc();\n          iVar2 = (**(code **)(puVar3[1] + 0x1ac))();\n          if (iVar2 < 0) goto LAB_00011f3d;\n          goto LAB_00011e91;\n        }\n        if (iVar2 < 0) {\nLAB_00011f3d:\n                    /* WARNING: Subroutine does not return */\n          bfd_fatal((char *)*puVar3);\n        }\n        syms = (asymbol **)xmalloc();\n        iVar2 = (**(code **)(puVar3[1] + 0x108))();\n        if (iVar2 < 0) goto LAB_00011f3d;\n        if (iVar2 == 0) {\n          iVar2 = (**(code **)(puVar3[1] + 0x1a8))();\n          if (0 < iVar2) {\n            free(syms);\n            syms = (asymbol **)xmalloc();\n            iVar2 = (**(code **)(puVar3[1] + 0x1ac))();\n            goto LAB_00011e91;\n          }\n        }\n        else {\nLAB_00011e91:\n          if (0 < iVar2) goto LAB_00011862;\n        }\n        free(syms);\n        syms = (asymbol **)0x0;\n      }" if (parenthesized_expression "((*(byte *)((int)puVar3 + 0x29) & 2) != 0)" ( (binary_expression "(*(byte *)((int)puVar3 + 0x29) & 2) != 0" (parenthesized_expression "(*(byte *)((int)puVar3 + 0x29) & 2)" ( (binary_expression "*(byte *)((int)puVar3 + 0x29) & 2" (pointer_expression "*(byte *)((int)puVar3 + 0x29)" * (cast_expression "(byte *)((int)puVar3 + 0x29)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar3 + 0x29)" ( (binary_expression "(int)puVar3 + 0x29" (cast_expression "(int)puVar3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n        iVar2 = (**(code **)(puVar3[1] + 0x104))();\n        if (iVar2 == 0) {\n          iVar2 = (**(code **)(puVar3[1] + 0x1a8))();\n          if (iVar2 < 0) goto LAB_00011f3d;\n          syms = (asymbol **)xmalloc();\n          iVar2 = (**(code **)(puVar3[1] + 0x1ac))();\n          if (iVar2 < 0) goto LAB_00011f3d;\n          goto LAB_00011e91;\n        }\n        if (iVar2 < 0) {\nLAB_00011f3d:\n                    /* WARNING: Subroutine does not return */\n          bfd_fatal((char *)*puVar3);\n        }\n        syms = (asymbol **)xmalloc();\n        iVar2 = (**(code **)(puVar3[1] + 0x108))();\n        if (iVar2 < 0) goto LAB_00011f3d;\n        if (iVar2 == 0) {\n          iVar2 = (**(code **)(puVar3[1] + 0x1a8))();\n          if (0 < iVar2) {\n            free(syms);\n            syms = (asymbol **)xmalloc();\n            iVar2 = (**(code **)(puVar3[1] + 0x1ac))();\n            goto LAB_00011e91;\n          }\n        }\n        else {\nLAB_00011e91:\n          if (0 < iVar2) goto LAB_00011862;\n        }\n        free(syms);\n        syms = (asymbol **)0x0;\n      }" { (expression_statement "iVar2 = (**(code **)(puVar3[1] + 0x104))();" (assignment_expression "iVar2 = (**(code **)(puVar3[1] + 0x104))()" identifier = (call_expression "(**(code **)(puVar3[1] + 0x104))()" (parenthesized_expression "(**(code **)(puVar3[1] + 0x104))" ( (pointer_expression "**(code **)(puVar3[1] + 0x104)" * (pointer_expression "*(code **)(puVar3[1] + 0x104)" * (cast_expression "(code **)(puVar3[1] + 0x104)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar3[1] + 0x104)" ( (binary_expression "puVar3[1] + 0x104" (subscript_expression "puVar3[1]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar2 == 0) {\n          iVar2 = (**(code **)(puVar3[1] + 0x1a8))();\n          if (iVar2 < 0) goto LAB_00011f3d;\n          syms = (asymbol **)xmalloc();\n          iVar2 = (**(code **)(puVar3[1] + 0x1ac))();\n          if (iVar2 < 0) goto LAB_00011f3d;\n          goto LAB_00011e91;\n        }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n          iVar2 = (**(code **)(puVar3[1] + 0x1a8))();\n          if (iVar2 < 0) goto LAB_00011f3d;\n          syms = (asymbol **)xmalloc();\n          iVar2 = (**(code **)(puVar3[1] + 0x1ac))();\n          if (iVar2 < 0) goto LAB_00011f3d;\n          goto LAB_00011e91;\n        }" { (expression_statement "iVar2 = (**(code **)(puVar3[1] + 0x1a8))();" (assignment_expression "iVar2 = (**(code **)(puVar3[1] + 0x1a8))()" identifier = (call_expression "(**(code **)(puVar3[1] + 0x1a8))()" (parenthesized_expression "(**(code **)(puVar3[1] + 0x1a8))" ( (pointer_expression "**(code **)(puVar3[1] + 0x1a8)" * (pointer_expression "*(code **)(puVar3[1] + 0x1a8)" * (cast_expression "(code **)(puVar3[1] + 0x1a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar3[1] + 0x1a8)" ( (binary_expression "puVar3[1] + 0x1a8" (subscript_expression "puVar3[1]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar2 < 0) goto LAB_00011f3d;" if (parenthesized_expression "(iVar2 < 0)" ( (binary_expression "iVar2 < 0" identifier < number_literal) )) (goto_statement "goto LAB_00011f3d;" goto statement_identifier ;)) (expression_statement "syms = (asymbol **)xmalloc();" (assignment_expression "syms = (asymbol **)xmalloc()" identifier = (cast_expression "(asymbol **)xmalloc()" ( (type_descriptor "asymbol **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "xmalloc()" identifier (argument_list "()" ( ))))) ;) (expression_statement "iVar2 = (**(code **)(puVar3[1] + 0x1ac))();" (assignment_expression "iVar2 = (**(code **)(puVar3[1] + 0x1ac))()" identifier = (call_expression "(**(code **)(puVar3[1] + 0x1ac))()" (parenthesized_expression "(**(code **)(puVar3[1] + 0x1ac))" ( (pointer_expression "**(code **)(puVar3[1] + 0x1ac)" * (pointer_expression "*(code **)(puVar3[1] + 0x1ac)" * (cast_expression "(code **)(puVar3[1] + 0x1ac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar3[1] + 0x1ac)" ( (binary_expression "puVar3[1] + 0x1ac" (subscript_expression "puVar3[1]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar2 < 0) goto LAB_00011f3d;" if (parenthesized_expression "(iVar2 < 0)" ( (binary_expression "iVar2 < 0" identifier < number_literal) )) (goto_statement "goto LAB_00011f3d;" goto statement_identifier ;)) (goto_statement "goto LAB_00011e91;" goto statement_identifier ;) })) (if_statement "if (iVar2 < 0) {\nLAB_00011f3d:\n                    /* WARNING: Subroutine does not return */\n          bfd_fatal((char *)*puVar3);\n        }" if (parenthesized_expression "(iVar2 < 0)" ( (binary_expression "iVar2 < 0" identifier < number_literal) )) (compound_statement "{\nLAB_00011f3d:\n                    /* WARNING: Subroutine does not return */\n          bfd_fatal((char *)*puVar3);\n        }" { (labeled_statement "LAB_00011f3d:\n                    /* WARNING: Subroutine does not return */\n          bfd_fatal((char *)*puVar3);" statement_identifier : comment (expression_statement "bfd_fatal((char *)*puVar3);" (call_expression "bfd_fatal((char *)*puVar3)" identifier (argument_list "((char *)*puVar3)" ( (cast_expression "(char *)*puVar3" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar3" * identifier)) ))) ;)) })) (expression_statement "syms = (asymbol **)xmalloc();" (assignment_expression "syms = (asymbol **)xmalloc()" identifier = (cast_expression "(asymbol **)xmalloc()" ( (type_descriptor "asymbol **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "xmalloc()" identifier (argument_list "()" ( ))))) ;) (expression_statement "iVar2 = (**(code **)(puVar3[1] + 0x108))();" (assignment_expression "iVar2 = (**(code **)(puVar3[1] + 0x108))()" identifier = (call_expression "(**(code **)(puVar3[1] + 0x108))()" (parenthesized_expression "(**(code **)(puVar3[1] + 0x108))" ( (pointer_expression "**(code **)(puVar3[1] + 0x108)" * (pointer_expression "*(code **)(puVar3[1] + 0x108)" * (cast_expression "(code **)(puVar3[1] + 0x108)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar3[1] + 0x108)" ( (binary_expression "puVar3[1] + 0x108" (subscript_expression "puVar3[1]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar2 < 0) goto LAB_00011f3d;" if (parenthesized_expression "(iVar2 < 0)" ( (binary_expression "iVar2 < 0" identifier < number_literal) )) (goto_statement "goto LAB_00011f3d;" goto statement_identifier ;)) (if_statement "if (iVar2 == 0) {\n          iVar2 = (**(code **)(puVar3[1] + 0x1a8))();\n          if (0 < iVar2) {\n            free(syms);\n            syms = (asymbol **)xmalloc();\n            iVar2 = (**(code **)(puVar3[1] + 0x1ac))();\n            goto LAB_00011e91;\n          }\n        }\n        else {\nLAB_00011e91:\n          if (0 < iVar2) goto LAB_00011862;\n        }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n          iVar2 = (**(code **)(puVar3[1] + 0x1a8))();\n          if (0 < iVar2) {\n            free(syms);\n            syms = (asymbol **)xmalloc();\n            iVar2 = (**(code **)(puVar3[1] + 0x1ac))();\n            goto LAB_00011e91;\n          }\n        }" { (expression_statement "iVar2 = (**(code **)(puVar3[1] + 0x1a8))();" (assignment_expression "iVar2 = (**(code **)(puVar3[1] + 0x1a8))()" identifier = (call_expression "(**(code **)(puVar3[1] + 0x1a8))()" (parenthesized_expression "(**(code **)(puVar3[1] + 0x1a8))" ( (pointer_expression "**(code **)(puVar3[1] + 0x1a8)" * (pointer_expression "*(code **)(puVar3[1] + 0x1a8)" * (cast_expression "(code **)(puVar3[1] + 0x1a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar3[1] + 0x1a8)" ( (binary_expression "puVar3[1] + 0x1a8" (subscript_expression "puVar3[1]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (0 < iVar2) {\n            free(syms);\n            syms = (asymbol **)xmalloc();\n            iVar2 = (**(code **)(puVar3[1] + 0x1ac))();\n            goto LAB_00011e91;\n          }" if (parenthesized_expression "(0 < iVar2)" ( (binary_expression "0 < iVar2" number_literal < identifier) )) (compound_statement "{\n            free(syms);\n            syms = (asymbol **)xmalloc();\n            iVar2 = (**(code **)(puVar3[1] + 0x1ac))();\n            goto LAB_00011e91;\n          }" { (expression_statement "free(syms);" (call_expression "free(syms)" identifier (argument_list "(syms)" ( identifier ))) ;) (expression_statement "syms = (asymbol **)xmalloc();" (assignment_expression "syms = (asymbol **)xmalloc()" identifier = (cast_expression "(asymbol **)xmalloc()" ( (type_descriptor "asymbol **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "xmalloc()" identifier (argument_list "()" ( ))))) ;) (expression_statement "iVar2 = (**(code **)(puVar3[1] + 0x1ac))();" (assignment_expression "iVar2 = (**(code **)(puVar3[1] + 0x1ac))()" identifier = (call_expression "(**(code **)(puVar3[1] + 0x1ac))()" (parenthesized_expression "(**(code **)(puVar3[1] + 0x1ac))" ( (pointer_expression "**(code **)(puVar3[1] + 0x1ac)" * (pointer_expression "*(code **)(puVar3[1] + 0x1ac)" * (cast_expression "(code **)(puVar3[1] + 0x1ac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar3[1] + 0x1ac)" ( (binary_expression "puVar3[1] + 0x1ac" (subscript_expression "puVar3[1]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "()" ( )))) ;) (goto_statement "goto LAB_00011e91;" goto statement_identifier ;) })) }) (else_clause "else {\nLAB_00011e91:\n          if (0 < iVar2) goto LAB_00011862;\n        }" else (compound_statement "{\nLAB_00011e91:\n          if (0 < iVar2) goto LAB_00011862;\n        }" { (labeled_statement "LAB_00011e91:\n          if (0 < iVar2) goto LAB_00011862;" statement_identifier : (if_statement "if (0 < iVar2) goto LAB_00011862;" if (parenthesized_expression "(0 < iVar2)" ( (binary_expression "0 < iVar2" number_literal < identifier) )) (goto_statement "goto LAB_00011862;" goto statement_identifier ;))) }))) (expression_statement "free(syms);" (call_expression "free(syms)" identifier (argument_list "(syms)" ( identifier ))) ;) (expression_statement "syms = (asymbol **)0x0;" (assignment_expression "syms = (asymbol **)0x0" identifier = (cast_expression "(asymbol **)0x0" ( (type_descriptor "asymbol **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) })) (labeled_statement "LAB_00011862:\n      local_ac = (int *)naddr;" statement_identifier : (expression_statement "local_ac = (int *)naddr;" (assignment_expression "local_ac = (int *)naddr" identifier = (cast_expression "(int *)naddr" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (expression_statement "local_bc = (undefined4 *)PTR_stdin_00017fec;" (assignment_expression "local_bc = (undefined4 *)PTR_stdin_00017fec" identifier = (cast_expression "(undefined4 *)PTR_stdin_00017fec" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "local_b0 = (int *)PTR_stdout_00017ff0;" (assignment_expression "local_b0 = (int *)PTR_stdout_00017ff0" identifier = (cast_expression "(int *)PTR_stdout_00017ff0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "local_9c = (char *)puVar3;" (assignment_expression "local_9c = (char *)puVar3" identifier = (cast_expression "(char *)puVar3" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (break_statement "break;" break ;) })) (switch_statement "switch(iVar2) {\n    case 0:\n      break;\n    case 0x43:\n      do_demangle = 1;\n      local_a0 = PTR_optarg_00017ffc;\n      if (*(int *)PTR_optarg_00017ffc != 0) {\n        iVar2 = cplus_demangle_name_to_style();\n        if (iVar2 == 0) goto LAB_00011eed;\n        cplus_demangle_set_style();\n      }\n      break;\n    case 0x48:\n    case 0x68:\n      usage(*(FILE **)PTR_stdout_00017ff0,0);\n    default:\n      usage(*(FILE **)PTR_stderr_00017fd8,1);\nLAB_00011eed:\n      pcVar4 = (char *)dcgettext();\n                    /* WARNING: Subroutine does not return */\n      fatal(pcVar4);\n    case 0x56:\n    case 0x76:\n      print_version("addr2line");\n      break;\n    case 0x61:\n      with_addresses = 1;\n      break;\n    case 0x62:\n      local_a4 = *(undefined4 **)PTR_optarg_00017ffc;\n      break;\n    case 0x65:\n      local_9c = (char *)*local_b0;\n      break;\n    case 0x66:\n      with_functions = 1;\n      break;\n    case 0x69:\n      unwind_inlines = 1;\n      break;\n    case 0x6a:\n      local_a8 = *local_ac;\n      break;\n    case 0x70:\n      pretty_print = 1;\n      break;\n    case 0x73:\n      base_names = 1;\n    }" switch (parenthesized_expression "(iVar2)" ( identifier )) (compound_statement "{\n    case 0:\n      break;\n    case 0x43:\n      do_demangle = 1;\n      local_a0 = PTR_optarg_00017ffc;\n      if (*(int *)PTR_optarg_00017ffc != 0) {\n        iVar2 = cplus_demangle_name_to_style();\n        if (iVar2 == 0) goto LAB_00011eed;\n        cplus_demangle_set_style();\n      }\n      break;\n    case 0x48:\n    case 0x68:\n      usage(*(FILE **)PTR_stdout_00017ff0,0);\n    default:\n      usage(*(FILE **)PTR_stderr_00017fd8,1);\nLAB_00011eed:\n      pcVar4 = (char *)dcgettext();\n                    /* WARNING: Subroutine does not return */\n      fatal(pcVar4);\n    case 0x56:\n    case 0x76:\n      print_version("addr2line");\n      break;\n    case 0x61:\n      with_addresses = 1;\n      break;\n    case 0x62:\n      local_a4 = *(undefined4 **)PTR_optarg_00017ffc;\n      break;\n    case 0x65:\n      local_9c = (char *)*local_b0;\n      break;\n    case 0x66:\n      with_functions = 1;\n      break;\n    case 0x69:\n      unwind_inlines = 1;\n      break;\n    case 0x6a:\n      local_a8 = *local_ac;\n      break;\n    case 0x70:\n      pretty_print = 1;\n      break;\n    case 0x73:\n      base_names = 1;\n    }" { (case_statement "case 0:\n      break;" case number_literal : (break_statement "break;" break ;)) (case_statement "case 0x43:\n      do_demangle = 1;\n      local_a0 = PTR_optarg_00017ffc;\n      if (*(int *)PTR_optarg_00017ffc != 0) {\n        iVar2 = cplus_demangle_name_to_style();\n        if (iVar2 == 0) goto LAB_00011eed;\n        cplus_demangle_set_style();\n      }\n      break;" case number_literal : (expression_statement "do_demangle = 1;" (assignment_expression "do_demangle = 1" identifier = number_literal) ;) (expression_statement "local_a0 = PTR_optarg_00017ffc;" (assignment_expression "local_a0 = PTR_optarg_00017ffc" identifier = identifier) ;) (if_statement "if (*(int *)PTR_optarg_00017ffc != 0) {\n        iVar2 = cplus_demangle_name_to_style();\n        if (iVar2 == 0) goto LAB_00011eed;\n        cplus_demangle_set_style();\n      }" if (parenthesized_expression "(*(int *)PTR_optarg_00017ffc != 0)" ( (binary_expression "*(int *)PTR_optarg_00017ffc != 0" (pointer_expression "*(int *)PTR_optarg_00017ffc" * (cast_expression "(int *)PTR_optarg_00017ffc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) )) (compound_statement "{\n        iVar2 = cplus_demangle_name_to_style();\n        if (iVar2 == 0) goto LAB_00011eed;\n        cplus_demangle_set_style();\n      }" { (expression_statement "iVar2 = cplus_demangle_name_to_style();" (assignment_expression "iVar2 = cplus_demangle_name_to_style()" identifier = (call_expression "cplus_demangle_name_to_style()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar2 == 0) goto LAB_00011eed;" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00011eed;" goto statement_identifier ;)) (expression_statement "cplus_demangle_set_style();" (call_expression "cplus_demangle_set_style()" identifier (argument_list "()" ( ))) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x48:" case number_literal :) (case_statement "case 0x68:\n      usage(*(FILE **)PTR_stdout_00017ff0,0);" case number_literal : (expression_statement "usage(*(FILE **)PTR_stdout_00017ff0,0);" (call_expression "usage(*(FILE **)PTR_stdout_00017ff0,0)" identifier (argument_list "(*(FILE **)PTR_stdout_00017ff0,0)" ( (pointer_expression "*(FILE **)PTR_stdout_00017ff0" * (cast_expression "(FILE **)PTR_stdout_00017ff0" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) , number_literal ))) ;)) (case_statement "default:\n      usage(*(FILE **)PTR_stderr_00017fd8,1);\nLAB_00011eed:\n      pcVar4 = (char *)dcgettext();\n                    /* WARNING: Subroutine does not return */\n      fatal(pcVar4);" default : (expression_statement "usage(*(FILE **)PTR_stderr_00017fd8,1);" (call_expression "usage(*(FILE **)PTR_stderr_00017fd8,1)" identifier (argument_list "(*(FILE **)PTR_stderr_00017fd8,1)" ( (pointer_expression "*(FILE **)PTR_stderr_00017fd8" * (cast_expression "(FILE **)PTR_stderr_00017fd8" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) , number_literal ))) ;) (labeled_statement "LAB_00011eed:\n      pcVar4 = (char *)dcgettext();" statement_identifier : (expression_statement "pcVar4 = (char *)dcgettext();" (assignment_expression "pcVar4 = (char *)dcgettext()" identifier = (cast_expression "(char *)dcgettext()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext()" identifier (argument_list "()" ( ))))) ;)) comment (expression_statement "fatal(pcVar4);" (call_expression "fatal(pcVar4)" identifier (argument_list "(pcVar4)" ( identifier ))) ;)) (case_statement "case 0x56:" case number_literal :) (case_statement "case 0x76:\n      print_version("addr2line");\n      break;" case number_literal : (expression_statement "print_version("addr2line");" (call_expression "print_version("addr2line")" identifier (argument_list "("addr2line")" ( (string_literal ""addr2line"" " string_content ") ))) ;) (break_statement "break;" break ;)) (case_statement "case 0x61:\n      with_addresses = 1;\n      break;" case number_literal : (expression_statement "with_addresses = 1;" (assignment_expression "with_addresses = 1" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x62:\n      local_a4 = *(undefined4 **)PTR_optarg_00017ffc;\n      break;" case number_literal : (expression_statement "local_a4 = *(undefined4 **)PTR_optarg_00017ffc;" (assignment_expression "local_a4 = *(undefined4 **)PTR_optarg_00017ffc" identifier = (pointer_expression "*(undefined4 **)PTR_optarg_00017ffc" * (cast_expression "(undefined4 **)PTR_optarg_00017ffc" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (break_statement "break;" break ;)) (case_statement "case 0x65:\n      local_9c = (char *)*local_b0;\n      break;" case number_literal : (expression_statement "local_9c = (char *)*local_b0;" (assignment_expression "local_9c = (char *)*local_b0" identifier = (cast_expression "(char *)*local_b0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_b0" * identifier))) ;) (break_statement "break;" break ;)) (case_statement "case 0x66:\n      with_functions = 1;\n      break;" case number_literal : (expression_statement "with_functions = 1;" (assignment_expression "with_functions = 1" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x69:\n      unwind_inlines = 1;\n      break;" case number_literal : (expression_statement "unwind_inlines = 1;" (assignment_expression "unwind_inlines = 1" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x6a:\n      local_a8 = *local_ac;\n      break;" case number_literal : (expression_statement "local_a8 = *local_ac;" (assignment_expression "local_a8 = *local_ac" identifier = (pointer_expression "*local_ac" * identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 0x70:\n      pretty_print = 1;\n      break;" case number_literal : (expression_statement "pretty_print = 1;" (assignment_expression "pretty_print = 1" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x73:\n      base_names = 1;" case number_literal : (expression_statement "base_names = 1;" (assignment_expression "base_names = 1" identifier = number_literal) ;)) })) }) while (parenthesized_expression "( true )" ( true )) ;) (labeled_statement "LAB_000119df:\n  if (local_ac == (int *)0x0) {\n    pcVar4 = fgets(local_84,100,(FILE *)*local_bc);\n    if (pcVar4 == (char *)0x0) {\nLAB_00011e02:\n      if (syms != (asymbol **)0x0) {\n        free(syms);\n        syms = (asymbol **)0x0;\n      }\n      bfd_close();\n      bVar12 = pc;\nLAB_00011e34:\n      pc._4_4_ = (uint)(bVar12 >> 0x20);\n      pc._0_4_ = (uint)bVar12;\n      return local_c0;\n    }\n    bVar12 = bfd_scan_vma();\n    iVar2 = *(int *)((int)local_9c + 4);\n    iVar1 = *(int *)(iVar2 + 4);\n  }\n  else {\n    if (naddr < 1) goto LAB_00011e02;\n    naddr = naddr + -1;\n    addr = addr + 1;\n    bVar12 = bfd_scan_vma();\n    iVar2 = *(int *)((int)local_9c + 4);\n    iVar1 = *(int *)(iVar2 + 4);\n  }" statement_identifier : (if_statement "if (local_ac == (int *)0x0) {\n    pcVar4 = fgets(local_84,100,(FILE *)*local_bc);\n    if (pcVar4 == (char *)0x0) {\nLAB_00011e02:\n      if (syms != (asymbol **)0x0) {\n        free(syms);\n        syms = (asymbol **)0x0;\n      }\n      bfd_close();\n      bVar12 = pc;\nLAB_00011e34:\n      pc._4_4_ = (uint)(bVar12 >> 0x20);\n      pc._0_4_ = (uint)bVar12;\n      return local_c0;\n    }\n    bVar12 = bfd_scan_vma();\n    iVar2 = *(int *)((int)local_9c + 4);\n    iVar1 = *(int *)(iVar2 + 4);\n  }\n  else {\n    if (naddr < 1) goto LAB_00011e02;\n    naddr = naddr + -1;\n    addr = addr + 1;\n    bVar12 = bfd_scan_vma();\n    iVar2 = *(int *)((int)local_9c + 4);\n    iVar1 = *(int *)(iVar2 + 4);\n  }" if (parenthesized_expression "(local_ac == (int *)0x0)" ( (binary_expression "local_ac == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pcVar4 = fgets(local_84,100,(FILE *)*local_bc);\n    if (pcVar4 == (char *)0x0) {\nLAB_00011e02:\n      if (syms != (asymbol **)0x0) {\n        free(syms);\n        syms = (asymbol **)0x0;\n      }\n      bfd_close();\n      bVar12 = pc;\nLAB_00011e34:\n      pc._4_4_ = (uint)(bVar12 >> 0x20);\n      pc._0_4_ = (uint)bVar12;\n      return local_c0;\n    }\n    bVar12 = bfd_scan_vma();\n    iVar2 = *(int *)((int)local_9c + 4);\n    iVar1 = *(int *)(iVar2 + 4);\n  }" { (expression_statement "pcVar4 = fgets(local_84,100,(FILE *)*local_bc);" (assignment_expression "pcVar4 = fgets(local_84,100,(FILE *)*local_bc)" identifier = (call_expression "fgets(local_84,100,(FILE *)*local_bc)" identifier (argument_list "(local_84,100,(FILE *)*local_bc)" ( identifier , number_literal , (cast_expression "(FILE *)*local_bc" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_bc" * identifier)) )))) ;) (if_statement "if (pcVar4 == (char *)0x0) {\nLAB_00011e02:\n      if (syms != (asymbol **)0x0) {\n        free(syms);\n        syms = (asymbol **)0x0;\n      }\n      bfd_close();\n      bVar12 = pc;\nLAB_00011e34:\n      pc._4_4_ = (uint)(bVar12 >> 0x20);\n      pc._0_4_ = (uint)bVar12;\n      return local_c0;\n    }" if (parenthesized_expression "(pcVar4 == (char *)0x0)" ( (binary_expression "pcVar4 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00011e02:\n      if (syms != (asymbol **)0x0) {\n        free(syms);\n        syms = (asymbol **)0x0;\n      }\n      bfd_close();\n      bVar12 = pc;\nLAB_00011e34:\n      pc._4_4_ = (uint)(bVar12 >> 0x20);\n      pc._0_4_ = (uint)bVar12;\n      return local_c0;\n    }" { (labeled_statement "LAB_00011e02:\n      if (syms != (asymbol **)0x0) {\n        free(syms);\n        syms = (asymbol **)0x0;\n      }" statement_identifier : (if_statement "if (syms != (asymbol **)0x0) {\n        free(syms);\n        syms = (asymbol **)0x0;\n      }" if (parenthesized_expression "(syms != (asymbol **)0x0)" ( (binary_expression "syms != (asymbol **)0x0" identifier != (cast_expression "(asymbol **)0x0" ( (type_descriptor "asymbol **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n        free(syms);\n        syms = (asymbol **)0x0;\n      }" { (expression_statement "free(syms);" (call_expression "free(syms)" identifier (argument_list "(syms)" ( identifier ))) ;) (expression_statement "syms = (asymbol **)0x0;" (assignment_expression "syms = (asymbol **)0x0" identifier = (cast_expression "(asymbol **)0x0" ( (type_descriptor "asymbol **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) }))) (expression_statement "bfd_close();" (call_expression "bfd_close()" identifier (argument_list "()" ( ))) ;) (expression_statement "bVar12 = pc;" (assignment_expression "bVar12 = pc" identifier = identifier) ;) (labeled_statement "LAB_00011e34:\n      pc._4_4_ = (uint)(bVar12 >> 0x20);" statement_identifier : (expression_statement "pc._4_4_ = (uint)(bVar12 >> 0x20);" (assignment_expression "pc._4_4_ = (uint)(bVar12 >> 0x20)" (field_expression "pc._4_4_" identifier . field_identifier) = (call_expression "(uint)(bVar12 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(bVar12 >> 0x20)" ( (binary_expression "bVar12 >> 0x20" identifier >> number_literal) )))) ;)) (expression_statement "pc._0_4_ = (uint)bVar12;" (assignment_expression "pc._0_4_ = (uint)bVar12" (field_expression "pc._0_4_" identifier . field_identifier) = (cast_expression "(uint)bVar12" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (return_statement "return local_c0;" return identifier ;) })) (expression_statement "bVar12 = bfd_scan_vma();" (assignment_expression "bVar12 = bfd_scan_vma()" identifier = (call_expression "bfd_scan_vma()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar2 = *(int *)((int)local_9c + 4);" (assignment_expression "iVar2 = *(int *)((int)local_9c + 4)" identifier = (pointer_expression "*(int *)((int)local_9c + 4)" * (cast_expression "(int *)((int)local_9c + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_9c + 4)" ( (binary_expression "(int)local_9c + 4" (cast_expression "(int)local_9c" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "iVar1 = *(int *)(iVar2 + 4);" (assignment_expression "iVar1 = *(int *)(iVar2 + 4)" identifier = (pointer_expression "*(int *)(iVar2 + 4)" * (cast_expression "(int *)(iVar2 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 4)" ( (binary_expression "iVar2 + 4" identifier + number_literal) ))))) ;) }) (else_clause "else {\n    if (naddr < 1) goto LAB_00011e02;\n    naddr = naddr + -1;\n    addr = addr + 1;\n    bVar12 = bfd_scan_vma();\n    iVar2 = *(int *)((int)local_9c + 4);\n    iVar1 = *(int *)(iVar2 + 4);\n  }" else (compound_statement "{\n    if (naddr < 1) goto LAB_00011e02;\n    naddr = naddr + -1;\n    addr = addr + 1;\n    bVar12 = bfd_scan_vma();\n    iVar2 = *(int *)((int)local_9c + 4);\n    iVar1 = *(int *)(iVar2 + 4);\n  }" { (if_statement "if (naddr < 1) goto LAB_00011e02;" if (parenthesized_expression "(naddr < 1)" ( (binary_expression "naddr < 1" identifier < number_literal) )) (goto_statement "goto LAB_00011e02;" goto statement_identifier ;)) (expression_statement "naddr = naddr + -1;" (assignment_expression "naddr = naddr + -1" identifier = (binary_expression "naddr + -1" identifier + number_literal)) ;) (expression_statement "addr = addr + 1;" (assignment_expression "addr = addr + 1" identifier = (binary_expression "addr + 1" identifier + number_literal)) ;) (expression_statement "bVar12 = bfd_scan_vma();" (assignment_expression "bVar12 = bfd_scan_vma()" identifier = (call_expression "bfd_scan_vma()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar2 = *(int *)((int)local_9c + 4);" (assignment_expression "iVar2 = *(int *)((int)local_9c + 4)" identifier = (pointer_expression "*(int *)((int)local_9c + 4)" * (cast_expression "(int *)((int)local_9c + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_9c + 4)" ( (binary_expression "(int)local_9c + 4" (cast_expression "(int)local_9c" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "iVar1 = *(int *)(iVar2 + 4);" (assignment_expression "iVar1 = *(int *)(iVar2 + 4)" identifier = (pointer_expression "*(int *)(iVar2 + 4)" * (cast_expression "(int *)(iVar2 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 4)" ( (binary_expression "iVar2 + 4" identifier + number_literal) ))))) ;) })))) (expression_statement "pc._4_4_ = (uint)(bVar12 >> 0x20);" (assignment_expression "pc._4_4_ = (uint)(bVar12 >> 0x20)" (field_expression "pc._4_4_" identifier . field_identifier) = (call_expression "(uint)(bVar12 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(bVar12 >> 0x20)" ( (binary_expression "bVar12 >> 0x20" identifier >> number_literal) )))) ;) (expression_statement "pc._0_4_ = (uint)bVar12;" (assignment_expression "pc._0_4_ = (uint)bVar12" (field_expression "pc._0_4_" identifier . field_identifier) = (cast_expression "(uint)bVar12" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (iVar1 == 5) {\n    bVar6 = *(char *)(*(int *)(*(int *)(iVar2 + 0x1c0) + 0x19c) + 10) - 1;\n    pcVar4 = (char *)(1 << (bVar6 & 0x1f));\n    local_98 = pcVar4;\n    local_94 = (char *)(0 << (bVar6 & 0x1f) | 1U >> 0x20 - (bVar6 & 0x1f));\n    if ((bVar6 & 0x20) != 0) {\n      local_98 = (char *)0x0;\n      local_94 = pcVar4;\n    }\n    uVar7 = (uint)pc & (int)local_98 * 2 - 1U;\n    uVar10 = pc._4_4_ &\n             (((int)local_94 << 1 | (uint)local_98 >> 0x1f) - 1) + (uint)((int)local_98 * 2 != 0);\n    bVar12 = CONCAT44(uVar10,uVar7);\n    if ((*(byte *)(*(int *)(iVar2 + 0x1c0) + 0x1e9) & 1) != 0) {\n      local_b8 = (char *)(uVar7 ^ (uint)local_98);\n      local_b4 = uVar10 ^ (uint)local_94;\n      bVar12 = CONCAT44((local_b4 - (int)local_94) - (uint)(local_b8 < local_98),\n                        (int)local_b8 - (int)local_98);\n    }\n  }" if (parenthesized_expression "(iVar1 == 5)" ( (binary_expression "iVar1 == 5" identifier == number_literal) )) (compound_statement "{\n    bVar6 = *(char *)(*(int *)(*(int *)(iVar2 + 0x1c0) + 0x19c) + 10) - 1;\n    pcVar4 = (char *)(1 << (bVar6 & 0x1f));\n    local_98 = pcVar4;\n    local_94 = (char *)(0 << (bVar6 & 0x1f) | 1U >> 0x20 - (bVar6 & 0x1f));\n    if ((bVar6 & 0x20) != 0) {\n      local_98 = (char *)0x0;\n      local_94 = pcVar4;\n    }\n    uVar7 = (uint)pc & (int)local_98 * 2 - 1U;\n    uVar10 = pc._4_4_ &\n             (((int)local_94 << 1 | (uint)local_98 >> 0x1f) - 1) + (uint)((int)local_98 * 2 != 0);\n    bVar12 = CONCAT44(uVar10,uVar7);\n    if ((*(byte *)(*(int *)(iVar2 + 0x1c0) + 0x1e9) & 1) != 0) {\n      local_b8 = (char *)(uVar7 ^ (uint)local_98);\n      local_b4 = uVar10 ^ (uint)local_94;\n      bVar12 = CONCAT44((local_b4 - (int)local_94) - (uint)(local_b8 < local_98),\n                        (int)local_b8 - (int)local_98);\n    }\n  }" { (expression_statement "bVar6 = *(char *)(*(int *)(*(int *)(iVar2 + 0x1c0) + 0x19c) + 10) - 1;" (assignment_expression "bVar6 = *(char *)(*(int *)(*(int *)(iVar2 + 0x1c0) + 0x19c) + 10) - 1" identifier = (binary_expression "*(char *)(*(int *)(*(int *)(iVar2 + 0x1c0) + 0x19c) + 10) - 1" (pointer_expression "*(char *)(*(int *)(*(int *)(iVar2 + 0x1c0) + 0x19c) + 10)" * (cast_expression "(char *)(*(int *)(*(int *)(iVar2 + 0x1c0) + 0x19c) + 10)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(iVar2 + 0x1c0) + 0x19c) + 10)" ( (binary_expression "*(int *)(*(int *)(iVar2 + 0x1c0) + 0x19c) + 10" (pointer_expression "*(int *)(*(int *)(iVar2 + 0x1c0) + 0x19c)" * (cast_expression "(int *)(*(int *)(iVar2 + 0x1c0) + 0x19c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar2 + 0x1c0) + 0x19c)" ( (binary_expression "*(int *)(iVar2 + 0x1c0) + 0x19c" (pointer_expression "*(int *)(iVar2 + 0x1c0)" * (cast_expression "(int *)(iVar2 + 0x1c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x1c0)" ( (binary_expression "iVar2 + 0x1c0" identifier + number_literal) )))) + number_literal) )))) + number_literal) )))) - number_literal)) ;) (expression_statement "pcVar4 = (char *)(1 << (bVar6 & 0x1f));" (assignment_expression "pcVar4 = (char *)(1 << (bVar6 & 0x1f))" identifier = (cast_expression "(char *)(1 << (bVar6 & 0x1f))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(1 << (bVar6 & 0x1f))" ( (binary_expression "1 << (bVar6 & 0x1f)" number_literal << (parenthesized_expression "(bVar6 & 0x1f)" ( (binary_expression "bVar6 & 0x1f" identifier & number_literal) ))) )))) ;) (expression_statement "local_98 = pcVar4;" (assignment_expression "local_98 = pcVar4" identifier = identifier) ;) (expression_statement "local_94 = (char *)(0 << (bVar6 & 0x1f) | 1U >> 0x20 - (bVar6 & 0x1f));" (assignment_expression "local_94 = (char *)(0 << (bVar6 & 0x1f) | 1U >> 0x20 - (bVar6 & 0x1f))" identifier = (cast_expression "(char *)(0 << (bVar6 & 0x1f) | 1U >> 0x20 - (bVar6 & 0x1f))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(0 << (bVar6 & 0x1f) | 1U >> 0x20 - (bVar6 & 0x1f))" ( (binary_expression "0 << (bVar6 & 0x1f) | 1U >> 0x20 - (bVar6 & 0x1f)" (binary_expression "0 << (bVar6 & 0x1f)" number_literal << (parenthesized_expression "(bVar6 & 0x1f)" ( (binary_expression "bVar6 & 0x1f" identifier & number_literal) ))) | (binary_expression "1U >> 0x20 - (bVar6 & 0x1f)" number_literal >> (binary_expression "0x20 - (bVar6 & 0x1f)" number_literal - (parenthesized_expression "(bVar6 & 0x1f)" ( (binary_expression "bVar6 & 0x1f" identifier & number_literal) ))))) )))) ;) (if_statement "if ((bVar6 & 0x20) != 0) {\n      local_98 = (char *)0x0;\n      local_94 = pcVar4;\n    }" if (parenthesized_expression "((bVar6 & 0x20) != 0)" ( (binary_expression "(bVar6 & 0x20) != 0" (parenthesized_expression "(bVar6 & 0x20)" ( (binary_expression "bVar6 & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      local_98 = (char *)0x0;\n      local_94 = pcVar4;\n    }" { (expression_statement "local_98 = (char *)0x0;" (assignment_expression "local_98 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_94 = pcVar4;" (assignment_expression "local_94 = pcVar4" identifier = identifier) ;) })) (expression_statement "uVar7 = (uint)pc & (int)local_98 * 2 - 1U;" (assignment_expression "uVar7 = (uint)pc & (int)local_98 * 2 - 1U" identifier = (binary_expression "(uint)pc & (int)local_98 * 2 - 1U" (cast_expression "(uint)pc" ( (type_descriptor "uint" type_identifier) ) identifier) & (binary_expression "(int)local_98 * 2 - 1U" (binary_expression "(int)local_98 * 2" (cast_expression "(int)local_98" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) - number_literal))) ;) (expression_statement "uVar10 = pc._4_4_ &\n             (((int)local_94 << 1 | (uint)local_98 >> 0x1f) - 1) + (uint)((int)local_98 * 2 != 0);" (assignment_expression "uVar10 = pc._4_4_ &\n             (((int)local_94 << 1 | (uint)local_98 >> 0x1f) - 1) + (uint)((int)local_98 * 2 != 0)" identifier = (binary_expression "pc._4_4_ &\n             (((int)local_94 << 1 | (uint)local_98 >> 0x1f) - 1) + (uint)((int)local_98 * 2 != 0)" (field_expression "pc._4_4_" identifier . field_identifier) & (binary_expression "(((int)local_94 << 1 | (uint)local_98 >> 0x1f) - 1) + (uint)((int)local_98 * 2 != 0)" (parenthesized_expression "(((int)local_94 << 1 | (uint)local_98 >> 0x1f) - 1)" ( (binary_expression "((int)local_94 << 1 | (uint)local_98 >> 0x1f) - 1" (parenthesized_expression "((int)local_94 << 1 | (uint)local_98 >> 0x1f)" ( (binary_expression "(int)local_94 << 1 | (uint)local_98 >> 0x1f" (binary_expression "(int)local_94 << 1" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal) | (binary_expression "(uint)local_98 >> 0x1f" (cast_expression "(uint)local_98" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal)) )) - number_literal) )) + (call_expression "(uint)((int)local_98 * 2 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)local_98 * 2 != 0)" ( (binary_expression "(int)local_98 * 2 != 0" (binary_expression "(int)local_98 * 2" (cast_expression "(int)local_98" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) != number_literal) )))))) ;) (expression_statement "bVar12 = CONCAT44(uVar10,uVar7);" (assignment_expression "bVar12 = CONCAT44(uVar10,uVar7)" identifier = (call_expression "CONCAT44(uVar10,uVar7)" identifier (argument_list "(uVar10,uVar7)" ( identifier , identifier )))) ;) (if_statement "if ((*(byte *)(*(int *)(iVar2 + 0x1c0) + 0x1e9) & 1) != 0) {\n      local_b8 = (char *)(uVar7 ^ (uint)local_98);\n      local_b4 = uVar10 ^ (uint)local_94;\n      bVar12 = CONCAT44((local_b4 - (int)local_94) - (uint)(local_b8 < local_98),\n                        (int)local_b8 - (int)local_98);\n    }" if (parenthesized_expression "((*(byte *)(*(int *)(iVar2 + 0x1c0) + 0x1e9) & 1) != 0)" ( (binary_expression "(*(byte *)(*(int *)(iVar2 + 0x1c0) + 0x1e9) & 1) != 0" (parenthesized_expression "(*(byte *)(*(int *)(iVar2 + 0x1c0) + 0x1e9) & 1)" ( (binary_expression "*(byte *)(*(int *)(iVar2 + 0x1c0) + 0x1e9) & 1" (pointer_expression "*(byte *)(*(int *)(iVar2 + 0x1c0) + 0x1e9)" * (cast_expression "(byte *)(*(int *)(iVar2 + 0x1c0) + 0x1e9)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar2 + 0x1c0) + 0x1e9)" ( (binary_expression "*(int *)(iVar2 + 0x1c0) + 0x1e9" (pointer_expression "*(int *)(iVar2 + 0x1c0)" * (cast_expression "(int *)(iVar2 + 0x1c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x1c0)" ( (binary_expression "iVar2 + 0x1c0" identifier + number_literal) )))) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n      local_b8 = (char *)(uVar7 ^ (uint)local_98);\n      local_b4 = uVar10 ^ (uint)local_94;\n      bVar12 = CONCAT44((local_b4 - (int)local_94) - (uint)(local_b8 < local_98),\n                        (int)local_b8 - (int)local_98);\n    }" { (expression_statement "local_b8 = (char *)(uVar7 ^ (uint)local_98);" (assignment_expression "local_b8 = (char *)(uVar7 ^ (uint)local_98)" identifier = (cast_expression "(char *)(uVar7 ^ (uint)local_98)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar7 ^ (uint)local_98)" ( (binary_expression "uVar7 ^ (uint)local_98" identifier ^ (cast_expression "(uint)local_98" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) ;) (expression_statement "local_b4 = uVar10 ^ (uint)local_94;" (assignment_expression "local_b4 = uVar10 ^ (uint)local_94" identifier = (binary_expression "uVar10 ^ (uint)local_94" identifier ^ (cast_expression "(uint)local_94" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "bVar12 = CONCAT44((local_b4 - (int)local_94) - (uint)(local_b8 < local_98),\n                        (int)local_b8 - (int)local_98);" (assignment_expression "bVar12 = CONCAT44((local_b4 - (int)local_94) - (uint)(local_b8 < local_98),\n                        (int)local_b8 - (int)local_98)" identifier = (call_expression "CONCAT44((local_b4 - (int)local_94) - (uint)(local_b8 < local_98),\n                        (int)local_b8 - (int)local_98)" identifier (argument_list "((local_b4 - (int)local_94) - (uint)(local_b8 < local_98),\n                        (int)local_b8 - (int)local_98)" ( (binary_expression "(local_b4 - (int)local_94) - (uint)(local_b8 < local_98)" (parenthesized_expression "(local_b4 - (int)local_94)" ( (binary_expression "local_b4 - (int)local_94" identifier - (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier)) )) - (call_expression "(uint)(local_b8 < local_98)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_b8 < local_98)" ( (binary_expression "local_b8 < local_98" identifier < identifier) )))) , (binary_expression "(int)local_b8 - (int)local_98" (cast_expression "(int)local_b8" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_98" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) })) })) (expression_statement "local_a4 = local_b0;" (assignment_expression "local_a4 = local_b0" identifier = identifier) ;) (if_statement "if (with_addresses != 0) {\n    pc = bVar12;\n    printf("0x");\n    local_a4 = (undefined4 *)PTR_stdout_00017ff0;\n    bfd_fprintf_vma(local_9c,*(undefined4 *)PTR_stdout_00017ff0,pc);\n    if (pretty_print == 0) {\n      putchar(10);\n      bVar12 = pc;\n    }\n    else {\n      printf(": ");\n      bVar12 = pc;\n    }\n  }" if (parenthesized_expression "(with_addresses != 0)" ( (binary_expression "with_addresses != 0" identifier != number_literal) )) (compound_statement "{\n    pc = bVar12;\n    printf("0x");\n    local_a4 = (undefined4 *)PTR_stdout_00017ff0;\n    bfd_fprintf_vma(local_9c,*(undefined4 *)PTR_stdout_00017ff0,pc);\n    if (pretty_print == 0) {\n      putchar(10);\n      bVar12 = pc;\n    }\n    else {\n      printf(": ");\n      bVar12 = pc;\n    }\n  }" { (expression_statement "pc = bVar12;" (assignment_expression "pc = bVar12" identifier = identifier) ;) (expression_statement "printf("0x");" (call_expression "printf("0x")" identifier (argument_list "("0x")" ( (string_literal ""0x"" " string_content ") ))) ;) (expression_statement "local_a4 = (undefined4 *)PTR_stdout_00017ff0;" (assignment_expression "local_a4 = (undefined4 *)PTR_stdout_00017ff0" identifier = (cast_expression "(undefined4 *)PTR_stdout_00017ff0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "bfd_fprintf_vma(local_9c,*(undefined4 *)PTR_stdout_00017ff0,pc);" (call_expression "bfd_fprintf_vma(local_9c,*(undefined4 *)PTR_stdout_00017ff0,pc)" identifier (argument_list "(local_9c,*(undefined4 *)PTR_stdout_00017ff0,pc)" ( identifier , (pointer_expression "*(undefined4 *)PTR_stdout_00017ff0" * (cast_expression "(undefined4 *)PTR_stdout_00017ff0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , identifier ))) ;) (if_statement "if (pretty_print == 0) {\n      putchar(10);\n      bVar12 = pc;\n    }\n    else {\n      printf(": ");\n      bVar12 = pc;\n    }" if (parenthesized_expression "(pretty_print == 0)" ( (binary_expression "pretty_print == 0" identifier == number_literal) )) (compound_statement "{\n      putchar(10);\n      bVar12 = pc;\n    }" { (expression_statement "putchar(10);" (call_expression "putchar(10)" identifier (argument_list "(10)" ( number_literal ))) ;) (expression_statement "bVar12 = pc;" (assignment_expression "bVar12 = pc" identifier = identifier) ;) }) (else_clause "else {\n      printf(": ");\n      bVar12 = pc;\n    }" else (compound_statement "{\n      printf(": ");\n      bVar12 = pc;\n    }" { (expression_statement "printf(": ");" (call_expression "printf(": ")" identifier (argument_list "(": ")" ( (string_literal "": "" " string_content ") ))) ;) (expression_statement "bVar12 = pc;" (assignment_expression "bVar12 = pc" identifier = identifier) ;) }))) })) (expression_statement "pc._4_4_ = (uint)(bVar12 >> 0x20);" (assignment_expression "pc._4_4_ = (uint)(bVar12 >> 0x20)" (field_expression "pc._4_4_" identifier . field_identifier) = (call_expression "(uint)(bVar12 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(bVar12 >> 0x20)" ( (binary_expression "bVar12 >> 0x20" identifier >> number_literal) )))) ;) (expression_statement "pc._0_4_ = (uint)bVar12;" (assignment_expression "pc._0_4_ = (uint)bVar12" (field_expression "pc._0_4_" identifier . field_identifier) = (cast_expression "(uint)bVar12" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "found = 0;" (assignment_expression "found = 0" identifier = number_literal) ;) (expression_statement "pc = bVar12;" (assignment_expression "pc = bVar12" identifier = identifier) ;) (if_statement "if (local_a8 == 0) {\n    bfd_map_over_sections();\n    pcVar4 = local_9c;\njoined_r0x00011b72:\n    local_9c = pcVar4;\n    bVar12 = pc;\n    if (found != 0) {\n      local_a0 = "%s:";\n      local_98 = "??";\n      do {\n        local_9c = "%s";\n        do {\n          if (with_functions != 0) {\n            pcVar9 = functionname;\n            if (functionname != (char *)0x0) {\n              if (*functionname == '\0') {\n                pcVar9 = (char *)0x0;\n              }\n              else {\n                if (do_demangle != 0) {\n                  pcVar9 = (char *)bfd_demangle();\n                  if (pcVar9 != (char *)0x0) goto LAB_00011bdd;\n                }\n                pcVar9 = (char *)0x0;\n              }\n            }\nLAB_00011bdd:\n            printf(local_9c);\n            if (pretty_print == 0) {\n              putchar(10);\n            }\n            else {\n              __format = (char *)dcgettext();\n              printf(__format);\n            }\n            if (pcVar9 != (char *)0x0) {\n              free(pcVar9);\n            }\n          }\n          if ((base_names != 0) && (filename != (char *)0x0)) {\n            pcVar9 = strrchr(filename,0x2f);\n            if (pcVar9 != (char *)0x0) {\n              filename = pcVar9 + 1;\n            }\n          }\n          printf(local_a0);\n          if (line == 0) {\n            puts("?");\n          }\n          else if (discriminator == 0) {\n            printf("%u\n");\n          }\n          else {\n            printf("%u (discriminator %u)\n");\n          }\n          if (unwind_inlines == 0) {\n            found = 0;\n            local_9c = pcVar4;\n            goto LAB_000119cc;\n          }\n          found = (**(code **)(*(int *)((int)pcVar4 + 4) + 0x130))();\n          if (found == 0) {\n            found = 0;\n            local_9c = pcVar4;\n            goto LAB_000119cc;\n          }\n        } while (pretty_print == 0);\n        pcVar9 = (char *)dcgettext();\n        printf(pcVar9);\n      } while( true );\n    }\n  }\n  else if (((*(byte *)(local_a8 + 0x14) & 1) != 0) &&\n          (pc._4_4_ < *(uint *)(local_a8 + 0x30) ||\n           pc._4_4_ - *(uint *)(local_a8 + 0x30) < (uint)((uint)pc < *(uint *)(local_a8 + 0x2c)))) {\n    found = (**(code **)(*(int *)((int)local_9c + 4) + 0x128))\n                      (local_9c,syms,local_a8,bVar12,&filename,&functionname,&line);\n    pcVar4 = local_9c;\n    goto joined_r0x00011b72;\n  }" if (parenthesized_expression "(local_a8 == 0)" ( (binary_expression "local_a8 == 0" identifier == number_literal) )) (compound_statement "{\n    bfd_map_over_sections();\n    pcVar4 = local_9c;\njoined_r0x00011b72:\n    local_9c = pcVar4;\n    bVar12 = pc;\n    if (found != 0) {\n      local_a0 = "%s:";\n      local_98 = "??";\n      do {\n        local_9c = "%s";\n        do {\n          if (with_functions != 0) {\n            pcVar9 = functionname;\n            if (functionname != (char *)0x0) {\n              if (*functionname == '\0') {\n                pcVar9 = (char *)0x0;\n              }\n              else {\n                if (do_demangle != 0) {\n                  pcVar9 = (char *)bfd_demangle();\n                  if (pcVar9 != (char *)0x0) goto LAB_00011bdd;\n                }\n                pcVar9 = (char *)0x0;\n              }\n            }\nLAB_00011bdd:\n            printf(local_9c);\n            if (pretty_print == 0) {\n              putchar(10);\n            }\n            else {\n              __format = (char *)dcgettext();\n              printf(__format);\n            }\n            if (pcVar9 != (char *)0x0) {\n              free(pcVar9);\n            }\n          }\n          if ((base_names != 0) && (filename != (char *)0x0)) {\n            pcVar9 = strrchr(filename,0x2f);\n            if (pcVar9 != (char *)0x0) {\n              filename = pcVar9 + 1;\n            }\n          }\n          printf(local_a0);\n          if (line == 0) {\n            puts("?");\n          }\n          else if (discriminator == 0) {\n            printf("%u\n");\n          }\n          else {\n            printf("%u (discriminator %u)\n");\n          }\n          if (unwind_inlines == 0) {\n            found = 0;\n            local_9c = pcVar4;\n            goto LAB_000119cc;\n          }\n          found = (**(code **)(*(int *)((int)pcVar4 + 4) + 0x130))();\n          if (found == 0) {\n            found = 0;\n            local_9c = pcVar4;\n            goto LAB_000119cc;\n          }\n        } while (pretty_print == 0);\n        pcVar9 = (char *)dcgettext();\n        printf(pcVar9);\n      } while( true );\n    }\n  }" { (expression_statement "bfd_map_over_sections();" (call_expression "bfd_map_over_sections()" identifier (argument_list "()" ( ))) ;) (expression_statement "pcVar4 = local_9c;" (assignment_expression "pcVar4 = local_9c" identifier = identifier) ;) (labeled_statement "joined_r0x00011b72:\n    local_9c = pcVar4;" statement_identifier : (expression_statement "local_9c = pcVar4;" (assignment_expression "local_9c = pcVar4" identifier = identifier) ;)) (expression_statement "bVar12 = pc;" (assignment_expression "bVar12 = pc" identifier = identifier) ;) (if_statement "if (found != 0) {\n      local_a0 = "%s:";\n      local_98 = "??";\n      do {\n        local_9c = "%s";\n        do {\n          if (with_functions != 0) {\n            pcVar9 = functionname;\n            if (functionname != (char *)0x0) {\n              if (*functionname == '\0') {\n                pcVar9 = (char *)0x0;\n              }\n              else {\n                if (do_demangle != 0) {\n                  pcVar9 = (char *)bfd_demangle();\n                  if (pcVar9 != (char *)0x0) goto LAB_00011bdd;\n                }\n                pcVar9 = (char *)0x0;\n              }\n            }\nLAB_00011bdd:\n            printf(local_9c);\n            if (pretty_print == 0) {\n              putchar(10);\n            }\n            else {\n              __format = (char *)dcgettext();\n              printf(__format);\n            }\n            if (pcVar9 != (char *)0x0) {\n              free(pcVar9);\n            }\n          }\n          if ((base_names != 0) && (filename != (char *)0x0)) {\n            pcVar9 = strrchr(filename,0x2f);\n            if (pcVar9 != (char *)0x0) {\n              filename = pcVar9 + 1;\n            }\n          }\n          printf(local_a0);\n          if (line == 0) {\n            puts("?");\n          }\n          else if (discriminator == 0) {\n            printf("%u\n");\n          }\n          else {\n            printf("%u (discriminator %u)\n");\n          }\n          if (unwind_inlines == 0) {\n            found = 0;\n            local_9c = pcVar4;\n            goto LAB_000119cc;\n          }\n          found = (**(code **)(*(int *)((int)pcVar4 + 4) + 0x130))();\n          if (found == 0) {\n            found = 0;\n            local_9c = pcVar4;\n            goto LAB_000119cc;\n          }\n        } while (pretty_print == 0);\n        pcVar9 = (char *)dcgettext();\n        printf(pcVar9);\n      } while( true );\n    }" if (parenthesized_expression "(found != 0)" ( (binary_expression "found != 0" identifier != number_literal) )) (compound_statement "{\n      local_a0 = "%s:";\n      local_98 = "??";\n      do {\n        local_9c = "%s";\n        do {\n          if (with_functions != 0) {\n            pcVar9 = functionname;\n            if (functionname != (char *)0x0) {\n              if (*functionname == '\0') {\n                pcVar9 = (char *)0x0;\n              }\n              else {\n                if (do_demangle != 0) {\n                  pcVar9 = (char *)bfd_demangle();\n                  if (pcVar9 != (char *)0x0) goto LAB_00011bdd;\n                }\n                pcVar9 = (char *)0x0;\n              }\n            }\nLAB_00011bdd:\n            printf(local_9c);\n            if (pretty_print == 0) {\n              putchar(10);\n            }\n            else {\n              __format = (char *)dcgettext();\n              printf(__format);\n            }\n            if (pcVar9 != (char *)0x0) {\n              free(pcVar9);\n            }\n          }\n          if ((base_names != 0) && (filename != (char *)0x0)) {\n            pcVar9 = strrchr(filename,0x2f);\n            if (pcVar9 != (char *)0x0) {\n              filename = pcVar9 + 1;\n            }\n          }\n          printf(local_a0);\n          if (line == 0) {\n            puts("?");\n          }\n          else if (discriminator == 0) {\n            printf("%u\n");\n          }\n          else {\n            printf("%u (discriminator %u)\n");\n          }\n          if (unwind_inlines == 0) {\n            found = 0;\n            local_9c = pcVar4;\n            goto LAB_000119cc;\n          }\n          found = (**(code **)(*(int *)((int)pcVar4 + 4) + 0x130))();\n          if (found == 0) {\n            found = 0;\n            local_9c = pcVar4;\n            goto LAB_000119cc;\n          }\n        } while (pretty_print == 0);\n        pcVar9 = (char *)dcgettext();\n        printf(pcVar9);\n      } while( true );\n    }" { (expression_statement "local_a0 = "%s:";" (assignment_expression "local_a0 = "%s:"" identifier = (string_literal ""%s:"" " string_content ")) ;) (expression_statement "local_98 = "??";" (assignment_expression "local_98 = "??"" identifier = (string_literal ""??"" " string_content ")) ;) (do_statement "do {\n        local_9c = "%s";\n        do {\n          if (with_functions != 0) {\n            pcVar9 = functionname;\n            if (functionname != (char *)0x0) {\n              if (*functionname == '\0') {\n                pcVar9 = (char *)0x0;\n              }\n              else {\n                if (do_demangle != 0) {\n                  pcVar9 = (char *)bfd_demangle();\n                  if (pcVar9 != (char *)0x0) goto LAB_00011bdd;\n                }\n                pcVar9 = (char *)0x0;\n              }\n            }\nLAB_00011bdd:\n            printf(local_9c);\n            if (pretty_print == 0) {\n              putchar(10);\n            }\n            else {\n              __format = (char *)dcgettext();\n              printf(__format);\n            }\n            if (pcVar9 != (char *)0x0) {\n              free(pcVar9);\n            }\n          }\n          if ((base_names != 0) && (filename != (char *)0x0)) {\n            pcVar9 = strrchr(filename,0x2f);\n            if (pcVar9 != (char *)0x0) {\n              filename = pcVar9 + 1;\n            }\n          }\n          printf(local_a0);\n          if (line == 0) {\n            puts("?");\n          }\n          else if (discriminator == 0) {\n            printf("%u\n");\n          }\n          else {\n            printf("%u (discriminator %u)\n");\n          }\n          if (unwind_inlines == 0) {\n            found = 0;\n            local_9c = pcVar4;\n            goto LAB_000119cc;\n          }\n          found = (**(code **)(*(int *)((int)pcVar4 + 4) + 0x130))();\n          if (found == 0) {\n            found = 0;\n            local_9c = pcVar4;\n            goto LAB_000119cc;\n          }\n        } while (pretty_print == 0);\n        pcVar9 = (char *)dcgettext();\n        printf(pcVar9);\n      } while( true );" do (compound_statement "{\n        local_9c = "%s";\n        do {\n          if (with_functions != 0) {\n            pcVar9 = functionname;\n            if (functionname != (char *)0x0) {\n              if (*functionname == '\0') {\n                pcVar9 = (char *)0x0;\n              }\n              else {\n                if (do_demangle != 0) {\n                  pcVar9 = (char *)bfd_demangle();\n                  if (pcVar9 != (char *)0x0) goto LAB_00011bdd;\n                }\n                pcVar9 = (char *)0x0;\n              }\n            }\nLAB_00011bdd:\n            printf(local_9c);\n            if (pretty_print == 0) {\n              putchar(10);\n            }\n            else {\n              __format = (char *)dcgettext();\n              printf(__format);\n            }\n            if (pcVar9 != (char *)0x0) {\n              free(pcVar9);\n            }\n          }\n          if ((base_names != 0) && (filename != (char *)0x0)) {\n            pcVar9 = strrchr(filename,0x2f);\n            if (pcVar9 != (char *)0x0) {\n              filename = pcVar9 + 1;\n            }\n          }\n          printf(local_a0);\n          if (line == 0) {\n            puts("?");\n          }\n          else if (discriminator == 0) {\n            printf("%u\n");\n          }\n          else {\n            printf("%u (discriminator %u)\n");\n          }\n          if (unwind_inlines == 0) {\n            found = 0;\n            local_9c = pcVar4;\n            goto LAB_000119cc;\n          }\n          found = (**(code **)(*(int *)((int)pcVar4 + 4) + 0x130))();\n          if (found == 0) {\n            found = 0;\n            local_9c = pcVar4;\n            goto LAB_000119cc;\n          }\n        } while (pretty_print == 0);\n        pcVar9 = (char *)dcgettext();\n        printf(pcVar9);\n      }" { (expression_statement "local_9c = "%s";" (assignment_expression "local_9c = "%s"" identifier = (string_literal ""%s"" " string_content ")) ;) (do_statement "do {\n          if (with_functions != 0) {\n            pcVar9 = functionname;\n            if (functionname != (char *)0x0) {\n              if (*functionname == '\0') {\n                pcVar9 = (char *)0x0;\n              }\n              else {\n                if (do_demangle != 0) {\n                  pcVar9 = (char *)bfd_demangle();\n                  if (pcVar9 != (char *)0x0) goto LAB_00011bdd;\n                }\n                pcVar9 = (char *)0x0;\n              }\n            }\nLAB_00011bdd:\n            printf(local_9c);\n            if (pretty_print == 0) {\n              putchar(10);\n            }\n            else {\n              __format = (char *)dcgettext();\n              printf(__format);\n            }\n            if (pcVar9 != (char *)0x0) {\n              free(pcVar9);\n            }\n          }\n          if ((base_names != 0) && (filename != (char *)0x0)) {\n            pcVar9 = strrchr(filename,0x2f);\n            if (pcVar9 != (char *)0x0) {\n              filename = pcVar9 + 1;\n            }\n          }\n          printf(local_a0);\n          if (line == 0) {\n            puts("?");\n          }\n          else if (discriminator == 0) {\n            printf("%u\n");\n          }\n          else {\n            printf("%u (discriminator %u)\n");\n          }\n          if (unwind_inlines == 0) {\n            found = 0;\n            local_9c = pcVar4;\n            goto LAB_000119cc;\n          }\n          found = (**(code **)(*(int *)((int)pcVar4 + 4) + 0x130))();\n          if (found == 0) {\n            found = 0;\n            local_9c = pcVar4;\n            goto LAB_000119cc;\n          }\n        } while (pretty_print == 0);" do (compound_statement "{\n          if (with_functions != 0) {\n            pcVar9 = functionname;\n            if (functionname != (char *)0x0) {\n              if (*functionname == '\0') {\n                pcVar9 = (char *)0x0;\n              }\n              else {\n                if (do_demangle != 0) {\n                  pcVar9 = (char *)bfd_demangle();\n                  if (pcVar9 != (char *)0x0) goto LAB_00011bdd;\n                }\n                pcVar9 = (char *)0x0;\n              }\n            }\nLAB_00011bdd:\n            printf(local_9c);\n            if (pretty_print == 0) {\n              putchar(10);\n            }\n            else {\n              __format = (char *)dcgettext();\n              printf(__format);\n            }\n            if (pcVar9 != (char *)0x0) {\n              free(pcVar9);\n            }\n          }\n          if ((base_names != 0) && (filename != (char *)0x0)) {\n            pcVar9 = strrchr(filename,0x2f);\n            if (pcVar9 != (char *)0x0) {\n              filename = pcVar9 + 1;\n            }\n          }\n          printf(local_a0);\n          if (line == 0) {\n            puts("?");\n          }\n          else if (discriminator == 0) {\n            printf("%u\n");\n          }\n          else {\n            printf("%u (discriminator %u)\n");\n          }\n          if (unwind_inlines == 0) {\n            found = 0;\n            local_9c = pcVar4;\n            goto LAB_000119cc;\n          }\n          found = (**(code **)(*(int *)((int)pcVar4 + 4) + 0x130))();\n          if (found == 0) {\n            found = 0;\n            local_9c = pcVar4;\n            goto LAB_000119cc;\n          }\n        }" { (if_statement "if (with_functions != 0) {\n            pcVar9 = functionname;\n            if (functionname != (char *)0x0) {\n              if (*functionname == '\0') {\n                pcVar9 = (char *)0x0;\n              }\n              else {\n                if (do_demangle != 0) {\n                  pcVar9 = (char *)bfd_demangle();\n                  if (pcVar9 != (char *)0x0) goto LAB_00011bdd;\n                }\n                pcVar9 = (char *)0x0;\n              }\n            }\nLAB_00011bdd:\n            printf(local_9c);\n            if (pretty_print == 0) {\n              putchar(10);\n            }\n            else {\n              __format = (char *)dcgettext();\n              printf(__format);\n            }\n            if (pcVar9 != (char *)0x0) {\n              free(pcVar9);\n            }\n          }" if (parenthesized_expression "(with_functions != 0)" ( (binary_expression "with_functions != 0" identifier != number_literal) )) (compound_statement "{\n            pcVar9 = functionname;\n            if (functionname != (char *)0x0) {\n              if (*functionname == '\0') {\n                pcVar9 = (char *)0x0;\n              }\n              else {\n                if (do_demangle != 0) {\n                  pcVar9 = (char *)bfd_demangle();\n                  if (pcVar9 != (char *)0x0) goto LAB_00011bdd;\n                }\n                pcVar9 = (char *)0x0;\n              }\n            }\nLAB_00011bdd:\n            printf(local_9c);\n            if (pretty_print == 0) {\n              putchar(10);\n            }\n            else {\n              __format = (char *)dcgettext();\n              printf(__format);\n            }\n            if (pcVar9 != (char *)0x0) {\n              free(pcVar9);\n            }\n          }" { (expression_statement "pcVar9 = functionname;" (assignment_expression "pcVar9 = functionname" identifier = identifier) ;) (if_statement "if (functionname != (char *)0x0) {\n              if (*functionname == '\0') {\n                pcVar9 = (char *)0x0;\n              }\n              else {\n                if (do_demangle != 0) {\n                  pcVar9 = (char *)bfd_demangle();\n                  if (pcVar9 != (char *)0x0) goto LAB_00011bdd;\n                }\n                pcVar9 = (char *)0x0;\n              }\n            }" if (parenthesized_expression "(functionname != (char *)0x0)" ( (binary_expression "functionname != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              if (*functionname == '\0') {\n                pcVar9 = (char *)0x0;\n              }\n              else {\n                if (do_demangle != 0) {\n                  pcVar9 = (char *)bfd_demangle();\n                  if (pcVar9 != (char *)0x0) goto LAB_00011bdd;\n                }\n                pcVar9 = (char *)0x0;\n              }\n            }" { (if_statement "if (*functionname == '\0') {\n                pcVar9 = (char *)0x0;\n              }\n              else {\n                if (do_demangle != 0) {\n                  pcVar9 = (char *)bfd_demangle();\n                  if (pcVar9 != (char *)0x0) goto LAB_00011bdd;\n                }\n                pcVar9 = (char *)0x0;\n              }" if (parenthesized_expression "(*functionname == '\0')" ( (binary_expression "*functionname == '\0'" (pointer_expression "*functionname" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                pcVar9 = (char *)0x0;\n              }" { (expression_statement "pcVar9 = (char *)0x0;" (assignment_expression "pcVar9 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n                if (do_demangle != 0) {\n                  pcVar9 = (char *)bfd_demangle();\n                  if (pcVar9 != (char *)0x0) goto LAB_00011bdd;\n                }\n                pcVar9 = (char *)0x0;\n              }" else (compound_statement "{\n                if (do_demangle != 0) {\n                  pcVar9 = (char *)bfd_demangle();\n                  if (pcVar9 != (char *)0x0) goto LAB_00011bdd;\n                }\n                pcVar9 = (char *)0x0;\n              }" { (if_statement "if (do_demangle != 0) {\n                  pcVar9 = (char *)bfd_demangle();\n                  if (pcVar9 != (char *)0x0) goto LAB_00011bdd;\n                }" if (parenthesized_expression "(do_demangle != 0)" ( (binary_expression "do_demangle != 0" identifier != number_literal) )) (compound_statement "{\n                  pcVar9 = (char *)bfd_demangle();\n                  if (pcVar9 != (char *)0x0) goto LAB_00011bdd;\n                }" { (expression_statement "pcVar9 = (char *)bfd_demangle();" (assignment_expression "pcVar9 = (char *)bfd_demangle()" identifier = (cast_expression "(char *)bfd_demangle()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "bfd_demangle()" identifier (argument_list "()" ( ))))) ;) (if_statement "if (pcVar9 != (char *)0x0) goto LAB_00011bdd;" if (parenthesized_expression "(pcVar9 != (char *)0x0)" ( (binary_expression "pcVar9 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00011bdd;" goto statement_identifier ;)) })) (expression_statement "pcVar9 = (char *)0x0;" (assignment_expression "pcVar9 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) })) (labeled_statement "LAB_00011bdd:\n            printf(local_9c);" statement_identifier : (expression_statement "printf(local_9c);" (call_expression "printf(local_9c)" identifier (argument_list "(local_9c)" ( identifier ))) ;)) (if_statement "if (pretty_print == 0) {\n              putchar(10);\n            }\n            else {\n              __format = (char *)dcgettext();\n              printf(__format);\n            }" if (parenthesized_expression "(pretty_print == 0)" ( (binary_expression "pretty_print == 0" identifier == number_literal) )) (compound_statement "{\n              putchar(10);\n            }" { (expression_statement "putchar(10);" (call_expression "putchar(10)" identifier (argument_list "(10)" ( number_literal ))) ;) }) (else_clause "else {\n              __format = (char *)dcgettext();\n              printf(__format);\n            }" else (compound_statement "{\n              __format = (char *)dcgettext();\n              printf(__format);\n            }" { (expression_statement "__format = (char *)dcgettext();" (assignment_expression "__format = (char *)dcgettext()" identifier = (cast_expression "(char *)dcgettext()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext()" identifier (argument_list "()" ( ))))) ;) (expression_statement "printf(__format);" (call_expression "printf(__format)" identifier (argument_list "(__format)" ( identifier ))) ;) }))) (if_statement "if (pcVar9 != (char *)0x0) {\n              free(pcVar9);\n            }" if (parenthesized_expression "(pcVar9 != (char *)0x0)" ( (binary_expression "pcVar9 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              free(pcVar9);\n            }" { (expression_statement "free(pcVar9);" (call_expression "free(pcVar9)" identifier (argument_list "(pcVar9)" ( identifier ))) ;) })) })) (if_statement "if ((base_names != 0) && (filename != (char *)0x0)) {\n            pcVar9 = strrchr(filename,0x2f);\n            if (pcVar9 != (char *)0x0) {\n              filename = pcVar9 + 1;\n            }\n          }" if (parenthesized_expression "((base_names != 0) && (filename != (char *)0x0))" ( (binary_expression "(base_names != 0) && (filename != (char *)0x0)" (parenthesized_expression "(base_names != 0)" ( (binary_expression "base_names != 0" identifier != number_literal) )) && (parenthesized_expression "(filename != (char *)0x0)" ( (binary_expression "filename != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n            pcVar9 = strrchr(filename,0x2f);\n            if (pcVar9 != (char *)0x0) {\n              filename = pcVar9 + 1;\n            }\n          }" { (expression_statement "pcVar9 = strrchr(filename,0x2f);" (assignment_expression "pcVar9 = strrchr(filename,0x2f)" identifier = (call_expression "strrchr(filename,0x2f)" identifier (argument_list "(filename,0x2f)" ( identifier , number_literal )))) ;) (if_statement "if (pcVar9 != (char *)0x0) {\n              filename = pcVar9 + 1;\n            }" if (parenthesized_expression "(pcVar9 != (char *)0x0)" ( (binary_expression "pcVar9 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              filename = pcVar9 + 1;\n            }" { (expression_statement "filename = pcVar9 + 1;" (assignment_expression "filename = pcVar9 + 1" identifier = (binary_expression "pcVar9 + 1" identifier + number_literal)) ;) })) })) (expression_statement "printf(local_a0);" (call_expression "printf(local_a0)" identifier (argument_list "(local_a0)" ( identifier ))) ;) (if_statement "if (line == 0) {\n            puts("?");\n          }\n          else if (discriminator == 0) {\n            printf("%u\n");\n          }\n          else {\n            printf("%u (discriminator %u)\n");\n          }" if (parenthesized_expression "(line == 0)" ( (binary_expression "line == 0" identifier == number_literal) )) (compound_statement "{\n            puts("?");\n          }" { (expression_statement "puts("?");" (call_expression "puts("?")" identifier (argument_list "("?")" ( (string_literal ""?"" " string_content ") ))) ;) }) (else_clause "else if (discriminator == 0) {\n            printf("%u\n");\n          }\n          else {\n            printf("%u (discriminator %u)\n");\n          }" else (if_statement "if (discriminator == 0) {\n            printf("%u\n");\n          }\n          else {\n            printf("%u (discriminator %u)\n");\n          }" if (parenthesized_expression "(discriminator == 0)" ( (binary_expression "discriminator == 0" identifier == number_literal) )) (compound_statement "{\n            printf("%u\n");\n          }" { (expression_statement "printf("%u\n");" (call_expression "printf("%u\n")" identifier (argument_list "("%u\n")" ( (string_literal ""%u\n"" " string_content escape_sequence ") ))) ;) }) (else_clause "else {\n            printf("%u (discriminator %u)\n");\n          }" else (compound_statement "{\n            printf("%u (discriminator %u)\n");\n          }" { (expression_statement "printf("%u (discriminator %u)\n");" (call_expression "printf("%u (discriminator %u)\n")" identifier (argument_list "("%u (discriminator %u)\n")" ( (string_literal ""%u (discriminator %u)\n"" " string_content escape_sequence ") ))) ;) }))))) (if_statement "if (unwind_inlines == 0) {\n            found = 0;\n            local_9c = pcVar4;\n            goto LAB_000119cc;\n          }" if (parenthesized_expression "(unwind_inlines == 0)" ( (binary_expression "unwind_inlines == 0" identifier == number_literal) )) (compound_statement "{\n            found = 0;\n            local_9c = pcVar4;\n            goto LAB_000119cc;\n          }" { (expression_statement "found = 0;" (assignment_expression "found = 0" identifier = number_literal) ;) (expression_statement "local_9c = pcVar4;" (assignment_expression "local_9c = pcVar4" identifier = identifier) ;) (goto_statement "goto LAB_000119cc;" goto statement_identifier ;) })) (expression_statement "found = (**(code **)(*(int *)((int)pcVar4 + 4) + 0x130))();" (assignment_expression "found = (**(code **)(*(int *)((int)pcVar4 + 4) + 0x130))()" identifier = (call_expression "(**(code **)(*(int *)((int)pcVar4 + 4) + 0x130))()" (parenthesized_expression "(**(code **)(*(int *)((int)pcVar4 + 4) + 0x130))" ( (pointer_expression "**(code **)(*(int *)((int)pcVar4 + 4) + 0x130)" * (pointer_expression "*(code **)(*(int *)((int)pcVar4 + 4) + 0x130)" * (cast_expression "(code **)(*(int *)((int)pcVar4 + 4) + 0x130)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)((int)pcVar4 + 4) + 0x130)" ( (binary_expression "*(int *)((int)pcVar4 + 4) + 0x130" (pointer_expression "*(int *)((int)pcVar4 + 4)" * (cast_expression "(int *)((int)pcVar4 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pcVar4 + 4)" ( (binary_expression "(int)pcVar4 + 4" (cast_expression "(int)pcVar4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (found == 0) {\n            found = 0;\n            local_9c = pcVar4;\n            goto LAB_000119cc;\n          }" if (parenthesized_expression "(found == 0)" ( (binary_expression "found == 0" identifier == number_literal) )) (compound_statement "{\n            found = 0;\n            local_9c = pcVar4;\n            goto LAB_000119cc;\n          }" { (expression_statement "found = 0;" (assignment_expression "found = 0" identifier = number_literal) ;) (expression_statement "local_9c = pcVar4;" (assignment_expression "local_9c = pcVar4" identifier = identifier) ;) (goto_statement "goto LAB_000119cc;" goto statement_identifier ;) })) }) while (parenthesized_expression "(pretty_print == 0)" ( (binary_expression "pretty_print == 0" identifier == number_literal) )) ;) (expression_statement "pcVar9 = (char *)dcgettext();" (assignment_expression "pcVar9 = (char *)dcgettext()" identifier = (cast_expression "(char *)dcgettext()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext()" identifier (argument_list "()" ( ))))) ;) (expression_statement "printf(pcVar9);" (call_expression "printf(pcVar9)" identifier (argument_list "(pcVar9)" ( identifier ))) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) }) (else_clause "else if (((*(byte *)(local_a8 + 0x14) & 1) != 0) &&\n          (pc._4_4_ < *(uint *)(local_a8 + 0x30) ||\n           pc._4_4_ - *(uint *)(local_a8 + 0x30) < (uint)((uint)pc < *(uint *)(local_a8 + 0x2c)))) {\n    found = (**(code **)(*(int *)((int)local_9c + 4) + 0x128))\n                      (local_9c,syms,local_a8,bVar12,&filename,&functionname,&line);\n    pcVar4 = local_9c;\n    goto joined_r0x00011b72;\n  }" else (if_statement "if (((*(byte *)(local_a8 + 0x14) & 1) != 0) &&\n          (pc._4_4_ < *(uint *)(local_a8 + 0x30) ||\n           pc._4_4_ - *(uint *)(local_a8 + 0x30) < (uint)((uint)pc < *(uint *)(local_a8 + 0x2c)))) {\n    found = (**(code **)(*(int *)((int)local_9c + 4) + 0x128))\n                      (local_9c,syms,local_a8,bVar12,&filename,&functionname,&line);\n    pcVar4 = local_9c;\n    goto joined_r0x00011b72;\n  }" if (parenthesized_expression "(((*(byte *)(local_a8 + 0x14) & 1) != 0) &&\n          (pc._4_4_ < *(uint *)(local_a8 + 0x30) ||\n           pc._4_4_ - *(uint *)(local_a8 + 0x30) < (uint)((uint)pc < *(uint *)(local_a8 + 0x2c))))" ( (binary_expression "((*(byte *)(local_a8 + 0x14) & 1) != 0) &&\n          (pc._4_4_ < *(uint *)(local_a8 + 0x30) ||\n           pc._4_4_ - *(uint *)(local_a8 + 0x30) < (uint)((uint)pc < *(uint *)(local_a8 + 0x2c)))" (parenthesized_expression "((*(byte *)(local_a8 + 0x14) & 1) != 0)" ( (binary_expression "(*(byte *)(local_a8 + 0x14) & 1) != 0" (parenthesized_expression "(*(byte *)(local_a8 + 0x14) & 1)" ( (binary_expression "*(byte *)(local_a8 + 0x14) & 1" (pointer_expression "*(byte *)(local_a8 + 0x14)" * (cast_expression "(byte *)(local_a8 + 0x14)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_a8 + 0x14)" ( (binary_expression "local_a8 + 0x14" identifier + number_literal) )))) & number_literal) )) != number_literal) )) && (parenthesized_expression "(pc._4_4_ < *(uint *)(local_a8 + 0x30) ||\n           pc._4_4_ - *(uint *)(local_a8 + 0x30) < (uint)((uint)pc < *(uint *)(local_a8 + 0x2c)))" ( (binary_expression "pc._4_4_ < *(uint *)(local_a8 + 0x30) ||\n           pc._4_4_ - *(uint *)(local_a8 + 0x30) < (uint)((uint)pc < *(uint *)(local_a8 + 0x2c))" (binary_expression "pc._4_4_ < *(uint *)(local_a8 + 0x30)" (field_expression "pc._4_4_" identifier . field_identifier) < (pointer_expression "*(uint *)(local_a8 + 0x30)" * (cast_expression "(uint *)(local_a8 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_a8 + 0x30)" ( (binary_expression "local_a8 + 0x30" identifier + number_literal) ))))) || (binary_expression "pc._4_4_ - *(uint *)(local_a8 + 0x30) < (uint)((uint)pc < *(uint *)(local_a8 + 0x2c))" (binary_expression "pc._4_4_ - *(uint *)(local_a8 + 0x30)" (field_expression "pc._4_4_" identifier . field_identifier) - (pointer_expression "*(uint *)(local_a8 + 0x30)" * (cast_expression "(uint *)(local_a8 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_a8 + 0x30)" ( (binary_expression "local_a8 + 0x30" identifier + number_literal) ))))) < (call_expression "(uint)((uint)pc < *(uint *)(local_a8 + 0x2c))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)pc < *(uint *)(local_a8 + 0x2c))" ( (binary_expression "(uint)pc < *(uint *)(local_a8 + 0x2c)" (cast_expression "(uint)pc" ( (type_descriptor "uint" type_identifier) ) identifier) < (pointer_expression "*(uint *)(local_a8 + 0x2c)" * (cast_expression "(uint *)(local_a8 + 0x2c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_a8 + 0x2c)" ( (binary_expression "local_a8 + 0x2c" identifier + number_literal) ))))) ))))) ))) )) (compound_statement "{\n    found = (**(code **)(*(int *)((int)local_9c + 4) + 0x128))\n                      (local_9c,syms,local_a8,bVar12,&filename,&functionname,&line);\n    pcVar4 = local_9c;\n    goto joined_r0x00011b72;\n  }" { (expression_statement "found = (**(code **)(*(int *)((int)local_9c + 4) + 0x128))\n                      (local_9c,syms,local_a8,bVar12,&filename,&functionname,&line);" (assignment_expression "found = (**(code **)(*(int *)((int)local_9c + 4) + 0x128))\n                      (local_9c,syms,local_a8,bVar12,&filename,&functionname,&line)" identifier = (call_expression "(**(code **)(*(int *)((int)local_9c + 4) + 0x128))\n                      (local_9c,syms,local_a8,bVar12,&filename,&functionname,&line)" (parenthesized_expression "(**(code **)(*(int *)((int)local_9c + 4) + 0x128))" ( (pointer_expression "**(code **)(*(int *)((int)local_9c + 4) + 0x128)" * (pointer_expression "*(code **)(*(int *)((int)local_9c + 4) + 0x128)" * (cast_expression "(code **)(*(int *)((int)local_9c + 4) + 0x128)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)((int)local_9c + 4) + 0x128)" ( (binary_expression "*(int *)((int)local_9c + 4) + 0x128" (pointer_expression "*(int *)((int)local_9c + 4)" * (cast_expression "(int *)((int)local_9c + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_9c + 4)" ( (binary_expression "(int)local_9c + 4" (cast_expression "(int)local_9c" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal) ))))) )) (argument_list "(local_9c,syms,local_a8,bVar12,&filename,&functionname,&line)" ( identifier , identifier , identifier , identifier , (pointer_expression "&filename" & identifier) , (pointer_expression "&functionname" & identifier) , (pointer_expression "&line" & identifier) )))) ;) (expression_statement "pcVar4 = local_9c;" (assignment_expression "pcVar4 = local_9c" identifier = identifier) ;) (goto_statement "goto joined_r0x00011b72;" goto statement_identifier ;) })))) (expression_statement "pc = bVar12;" (assignment_expression "pc = bVar12" identifier = identifier) ;) (if_statement "if (with_functions != 0) {\n    if (pretty_print == 0) {\n      puts("??");\n    }\n    else {\n      printf("?? ");\n    }\n  }" if (parenthesized_expression "(with_functions != 0)" ( (binary_expression "with_functions != 0" identifier != number_literal) )) (compound_statement "{\n    if (pretty_print == 0) {\n      puts("??");\n    }\n    else {\n      printf("?? ");\n    }\n  }" { (if_statement "if (pretty_print == 0) {\n      puts("??");\n    }\n    else {\n      printf("?? ");\n    }" if (parenthesized_expression "(pretty_print == 0)" ( (binary_expression "pretty_print == 0" identifier == number_literal) )) (compound_statement "{\n      puts("??");\n    }" { (expression_statement "puts("??");" (call_expression "puts("??")" identifier (argument_list "("??")" ( (string_literal ""??"" " string_content ") ))) ;) }) (else_clause "else {\n      printf("?? ");\n    }" else (compound_statement "{\n      printf("?? ");\n    }" { (expression_statement "printf("?? ");" (call_expression "printf("?? ")" identifier (argument_list "("?? ")" ( (string_literal ""?? "" " string_content ") ))) ;) }))) })) (expression_statement "puts("??:0");" (call_expression "puts("??:0")" identifier (argument_list "("??:0")" ( (string_literal ""??:0"" " string_content ") ))) ;) (labeled_statement "LAB_000119cc:\n  fflush((FILE *)*local_a4);" statement_identifier : (expression_statement "fflush((FILE *)*local_a4);" (call_expression "fflush((FILE *)*local_a4)" identifier (argument_list "((FILE *)*local_a4)" ( (cast_expression "(FILE *)*local_a4" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_a4" * identifier)) ))) ;)) (goto_statement "goto LAB_000119df;" goto statement_identifier ;) })))
(translation_unit "int FUN_00011500(int param_1,undefined4 *param_2)\n\n{\n  code *pcVar1;\n  undefined *puVar2;\n  int iVar3;\n  undefined **ppuVar4;\n  char *pcVar5;\n  char *pcVar6;\n  undefined4 uVar7;\n  byte bVar8;\n  uint uVar9;\n  undefined1 *puVar10;\n  undefined1 *puVar11;\n  undefined1 *puVar12;\n  undefined1 *puVar13;\n  undefined1 *puVar14;\n  undefined1 *puVar15;\n  char *pcVar16;\n  undefined4 *puVar17;\n  uint uVar18;\n  undefined8 uVar19;\n  int aiStack_134 [21];\n  int local_c0;\n  undefined4 *local_bc;\n  char *local_b8;\n  uint local_b4;\n  int *local_b0;\n  int *local_ac;\n  int local_a8;\n  int *local_a4;\n  undefined *local_a0;\n  undefined **local_9c;\n  char *local_98;\n  char *local_94;\n  undefined4 local_88;\n  undefined1 local_84 [108];\n  undefined4 *local_18;\n  \n  puVar17 = &param_1;\n  local_18 = puVar17;\n  setlocale(5,"");\n  setlocale(0,"");\n  bindtextdomain();\n  textdomain();\n  DAT_00018278 = *param_2;\n  xmalloc_set_program_name();\n  ppuVar4 = &PTR_s_addresses_00018160;\n  bfd_set_error_program_name();\n  FUN_00013990();\n  bfd_init();\n  FUN_00012710();\n  local_98 = "ab:Ce:sfHhij:pVv";\n  puVar11 = (undefined1 *)&stack0xffffff40;\n  puVar12 = (undefined1 *)&stack0xffffff40;\n  puVar15 = (undefined1 *)&stack0xffffff40;\n  puVar14 = (undefined1 *)&stack0xffffff40;\n  puVar10 = (undefined1 *)&stack0xffffff40;\n  local_a4 = (int *)0x0;\n  local_b0 = (int *)PTR_optarg_00017ffc;\n  local_a8 = 0;\n  local_9c = (undefined **)0x0;\n  local_ac = local_b0;\ncode_r0x000115d8:\n  iVar3 = getopt_long(param_1,param_2,local_98,&PTR_s_addresses_00018160);\n  if (iVar3 == -1) {\n    ppuVar4 = (undefined **)"a.out";\n    if (local_9c != (undefined **)0x0) {\n      ppuVar4 = local_9c;\n    }\n    DAT_0001824c = param_2 + *(int *)PTR_optind_00017fdc;\n    DAT_00018250 = (int *)(param_1 - *(int *)PTR_optind_00017fdc);\n    local_9c = ppuVar4;\n    uVar19 = FUN_00012f60();\n    if ((int)(uint)((int)uVar19 != 0) <= -(int)((ulonglong)uVar19 >> 0x20)) {\n      return 1;\n    }\n    ppuVar4 = (undefined **)bfd_openr();\n    if (ppuVar4 == (undefined **)0x0) goto LAB_00011f2f;\n    ppuVar4[10] = (undefined *)((uint)ppuVar4[10] | 0x100000);\n    local_c0 = bfd_check_format();\n    if (local_c0 != 0) goto LAB_00011f73;\n    iVar3 = bfd_check_format_matches();\n    if (iVar3 == 0) {\n      FUN_000123f0();\n      iVar3 = bfd_get_error();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 == 0xd) goto LAB_00011f92;\n      do {\n        puVar15 = puVar14 + -0x10;\n        *(undefined4 *)(puVar14 + -0x10) = 1;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11f73;\n        xexit();\nLAB_00011f73:\n        *(undefined ***)(puVar15 + -4) = ppuVar4;\n        *(undefined4 *)(puVar15 + -8) = 5;\n        *(char **)(puVar15 + -0xc) = "%s: cannot get addresses from archive";\n        *(undefined4 *)(puVar15 + -0x10) = 0;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11f84;\n        uVar7 = dcgettext();\n        *(undefined ***)(puVar15 + -0xc) = local_9c;\n        *(undefined4 *)(puVar15 + -0x10) = uVar7;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11f92;\n        FUN_000126c0();\n        puVar13 = puVar15 + -0x10;\nLAB_00011f92:\n        puVar14 = puVar13;\n        *(undefined4 *)(puVar14 + -0x10) = local_88;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11f9d;\n        FUN_00012770();\n        *(undefined4 *)(puVar14 + -0x10) = local_88;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11fa6;\n        free(*(void **)(puVar14 + -0x10));\n      } while( true );\n    }\n    iVar3 = local_a8;\n    if ((local_a8 != 0) && (iVar3 = bfd_get_section_by_name(), iVar3 == 0)) goto LAB_00011f09;\n    local_a8 = iVar3;\n    if ((*(byte *)((int)ppuVar4 + 0x29) & 2) == 0) goto LAB_00011862;\n    iVar3 = (**(code **)(ppuVar4[1] + 0x104))();\n    if (iVar3 == 0) {\n      iVar3 = (**(code **)(ppuVar4[1] + 0x1a8))();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\n      DAT_00018248 = (void *)xmalloc();\n      iVar3 = (**(code **)(ppuVar4[1] + 0x1ac))();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\nLAB_00011e91:\n      if (0 < iVar3) goto LAB_00011862;\n    }\n    else {\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\n      DAT_00018248 = (void *)xmalloc();\n      iVar3 = (**(code **)(ppuVar4[1] + 0x108))();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\n      if (iVar3 != 0) goto LAB_00011e91;\n      iVar3 = (**(code **)(ppuVar4[1] + 0x1a8))();\n      if (0 < iVar3) {\n        free(DAT_00018248);\n        DAT_00018248 = (void *)xmalloc();\n        iVar3 = (**(code **)(ppuVar4[1] + 0x1ac))();\n        goto LAB_00011e91;\n      }\n    }\n    free(DAT_00018248);\n    DAT_00018248 = (void *)0x0;\nLAB_00011862:\n    local_ac = DAT_00018250;\n    local_bc = (undefined4 *)PTR_stdin_00017fec;\n    local_b0 = (int *)PTR_stdout_00017ff0;\n    local_9c = ppuVar4;\n    goto LAB_000119df;\n  }\n  switch(iVar3) {\n  case 0:\n    goto code_r0x000115d8;\n  default:\n    break;\n  case 0x43:\n    DAT_0001825c = 1;\n    local_a0 = PTR_optarg_00017ffc;\n    if (*(int *)PTR_optarg_00017ffc != 0) {\n      iVar3 = func_0x00011040();\n      uVar19 = CONCAT44(local_a0,iVar3);\n      if (iVar3 == 0) goto code_r0x00011eed;\n      func_0x000110d0();\n    }\n    goto code_r0x000115d8;\n  case 0x48:\n  case 0x68:\n    FUN_00012130();\n    break;\n  case 0x56:\n  case 0x76:\n    FUN_00013310();\n    goto code_r0x000115d8;\n  case 0x61:\n    DAT_00018264 = 1;\n    goto code_r0x000115d8;\n  case 0x62:\n    local_a4 = *(int **)PTR_optarg_00017ffc;\n    goto code_r0x000115d8;\n  case 0x65:\n    local_9c = (undefined **)*local_b0;\n    goto code_r0x000115d8;\n  case 0x66:\n    DAT_00018260 = 1;\n    goto code_r0x000115d8;\n  case 0x69:\n    DAT_00018268 = 1;\n    goto code_r0x000115d8;\n  case 0x6a:\n    local_a8 = *local_ac;\n    goto code_r0x000115d8;\n  case 0x70:\n    DAT_00018258 = 1;\n    goto code_r0x000115d8;\n  case 0x73:\n    DAT_00018254 = 1;\n    goto code_r0x000115d8;\n  }\n  uVar19 = FUN_00012130();\ncode_r0x00011eed:\n  puVar17 = (undefined4 *)*(int *)((ulonglong)uVar19 >> 0x20);\n  dcgettext();\n  puVar11 = &stack0xffffff30;\n  FUN_000126c0();\nLAB_00011f09:\n  *(undefined4 **)(puVar11 + -4) = puVar17;\n  *(undefined4 *)(puVar11 + -8) = 5;\n  *(char **)(puVar11 + -0xc) = "%s: cannot find section %s";\n  *(undefined4 *)(puVar11 + -0x10) = 0;\n  *(undefined4 *)(puVar11 + -0x14) = 0x11f1a;\n  uVar7 = dcgettext();\n  *(int *)(puVar11 + -8) = local_a8;\n  *(undefined ***)(puVar11 + -0xc) = local_9c;\n  puVar12 = puVar11 + -0x10;\n  *(undefined4 *)(puVar11 + -0x10) = uVar7;\n  *(undefined4 *)(puVar11 + -0x14) = 0x11f2f;\n  FUN_000126c0();\nLAB_00011f2f:\n  *(undefined ***)(puVar12 + -0x10) = local_9c;\n  *(undefined4 *)(puVar12 + -0x14) = 0x11f3d;\n  FUN_00012630();\n  puVar13 = puVar12 + -0x10;\nLAB_00011f3d:\n  puVar10 = puVar13 + -0x10;\n  *(undefined **)(puVar13 + -0x10) = *ppuVar4;\n  *(undefined4 *)(puVar13 + -0x14) = 0x11f47;\n  FUN_00012630();\nLAB_000119cc:\n  do {\n    local_9c = ppuVar4;\n    *(int *)(puVar10 + -0x10) = *local_a4;\n    *(undefined4 *)(puVar10 + -0x14) = 0x119dc;\n    fflush(*(FILE **)(puVar10 + -0x10));\nLAB_000119df:\n    if (local_ac == (int *)0x0) {\n      *(undefined4 *)(puVar10 + -8) = *local_bc;\n      *(undefined4 *)(puVar10 + -0xc) = 100;\n      *(undefined1 **)(puVar10 + -0x10) = local_84;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11a03;\n      pcVar5 = fgets(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc),*(FILE **)(puVar10 + -8));\n      if (pcVar5 == (char *)0x0) {\nLAB_00011e02:\n        ppuVar4 = local_9c;\n        if (DAT_00018248 != (void *)0x0) {\n          *(void **)(puVar10 + -0x10) = DAT_00018248;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11e1b;\n          free(*(void **)(puVar10 + -0x10));\n          DAT_00018248 = (void *)0x0;\n        }\n        *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11e31;\n        bfd_close();\n        return local_c0;\n      }\n      *(undefined4 *)(puVar10 + -8) = 0x10;\n      *(undefined4 *)(puVar10 + -0xc) = 0;\n      *(undefined1 **)(puVar10 + -0x10) = local_84;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11a1b;\n      uVar19 = bfd_scan_vma();\n      puVar2 = local_9c[1];\n      iVar3 = *(int *)(puVar2 + 4);\n    }\n    else {\n      if ((int)DAT_00018250 < 1) goto LAB_00011e02;\n      DAT_00018250 = (int *)((int)DAT_00018250 + -1);\n      *(undefined4 *)(puVar10 + -8) = 0x10;\n      *(undefined4 *)(puVar10 + -0xc) = 0;\n      *(undefined4 *)(puVar10 + -0x10) = *DAT_0001824c;\n      *(undefined4 *)(puVar10 + -0x14) = 0x118cc;\n      DAT_0001824c = DAT_0001824c + 1;\n      uVar19 = bfd_scan_vma();\n      puVar2 = local_9c[1];\n      iVar3 = *(int *)(puVar2 + 4);\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    if (iVar3 == 5) {\n      bVar8 = *(char *)(*(int *)(*(int *)(puVar2 + 0x1c0) + 0x19c) + 10) - 1;\n      pcVar5 = (char *)(1 << (bVar8 & 0x1f));\n      local_98 = pcVar5;\n      local_94 = (char *)(0 << (bVar8 & 0x1f) | 1U >> 0x20 - (bVar8 & 0x1f));\n      if ((bVar8 & 0x20) != 0) {\n        local_98 = (char *)0x0;\n        local_94 = pcVar5;\n      }\n      uVar9 = DAT_00018240 & (int)local_98 * 2 - 1U;\n      uVar18 = DAT_00018244 &\n               (((int)local_94 << 1 | (uint)local_98 >> 0x1f) - 1) + (uint)((int)local_98 * 2 != 0);\n      uVar19 = CONCAT44(uVar18,uVar9);\n      if ((*(byte *)(*(int *)(puVar2 + 0x1c0) + 0x1e9) & 1) != 0) {\n        local_b8 = (char *)(uVar9 ^ (uint)local_98);\n        local_b4 = uVar18 ^ (uint)local_94;\n        uVar19 = CONCAT44((local_b4 - (int)local_94) - (uint)(local_b8 < local_98),\n                          (int)local_b8 - (int)local_98);\n      }\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    local_a4 = local_b0;\n    if (DAT_00018264 != 0) {\n      *(undefined **)(puVar10 + -0x10) = &DAT_00015431;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11aff;\n      printf(*(char **)(puVar10 + -0x10));\n      local_a4 = (int *)PTR_stdout_00017ff0;\n      *(uint *)(puVar10 + -0x14) = DAT_00018244;\n      *(uint *)(puVar10 + -0x18) = DAT_00018240;\n      *(undefined4 *)(puVar10 + -0x1c) = *(undefined4 *)PTR_stdout_00017ff0;\n      *(undefined ***)(puVar10 + -0x20) = local_9c;\n      *(undefined4 *)(puVar10 + -0x24) = 0x11b24;\n      bfd_fprintf_vma();\n      if (DAT_00018258 == 0) {\n        *(undefined4 *)(puVar10 + -0x10) = 10;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11dfa;\n        putchar(*(int *)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n      else {\n        *(undefined **)(puVar10 + -0x10) = &DAT_00015702;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11b44;\n        printf(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    DAT_00018228 = 0;\n    if (local_a8 == 0) {\n      *(undefined4 *)(puVar10 + -8) = 0;\n      *(code **)(puVar10 + -0xc) = FUN_00012210;\n      *(undefined ***)(puVar10 + -0x10) = local_9c;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11b67;\n      bfd_map_over_sections();\n      ppuVar4 = local_9c;\njoined_r0x00011b72:\n      uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      local_9c = ppuVar4;\n      if (DAT_00018228 != 0) {\n        local_a0 = &DAT_00015442;\n        local_98 = "??";\n        do {\n          local_9c = (undefined **)0x15817;\n          do {\n            pcVar5 = DAT_00018234;\n            if (DAT_00018260 != 0) {\n              pcVar6 = local_98;\n              pcVar16 = DAT_00018234;\n              if (DAT_00018234 != (char *)0x0) {\n                if (*DAT_00018234 == '\0') {\n                  pcVar16 = (char *)0x0;\n                }\n                else {\n                  if (DAT_0001825c != 0) {\n                    *(undefined4 *)(puVar10 + -8) = 3;\n                    *(char **)(puVar10 + -0xc) = DAT_00018234;\n                    *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n                    *(undefined4 *)(puVar10 + -0x14) = 0x11db4;\n                    pcVar6 = (char *)bfd_demangle();\n                    pcVar16 = pcVar6;\n                    if (pcVar6 != (char *)0x0) goto LAB_00011bdd;\n                  }\n                  pcVar6 = pcVar5;\n                  pcVar16 = (char *)0x0;\n                }\n              }\nLAB_00011bdd:\n              *(char **)(puVar10 + -0xc) = pcVar6;\n              *(undefined ***)(puVar10 + -0x10) = local_9c;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11bec;\n              printf(*(char **)(puVar10 + -0x10));\n              if (DAT_00018258 == 0) {\n                *(undefined4 *)(puVar10 + -0x10) = 10;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11d8a;\n                putchar(*(int *)(puVar10 + -0x10));\n              }\n              else {\n                *(undefined4 *)(puVar10 + -8) = 5;\n                *(undefined **)(puVar10 + -0xc) = &DAT_0001543d;\n                *(undefined4 *)(puVar10 + -0x10) = 0;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c10;\n                uVar7 = dcgettext();\n                *(undefined4 *)(puVar10 + -0x10) = uVar7;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c18;\n                printf(*(char **)(puVar10 + -0x10));\n              }\n              if (pcVar16 != (char *)0x0) {\n                *(char **)(puVar10 + -0x10) = pcVar16;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c28;\n                free(*(void **)(puVar10 + -0x10));\n              }\n            }\n            pcVar5 = DAT_00018238;\n            if (DAT_00018254 == 0) {\nLAB_00011c5e:\n              pcVar5 = DAT_00018238;\n              if (DAT_00018238 == (char *)0x0) {\nLAB_00011d70:\n                pcVar5 = local_98;\n              }\n            }\n            else {\n              if (DAT_00018238 == (char *)0x0) goto LAB_00011d70;\n              *(undefined4 *)(puVar10 + -0xc) = 0x2f;\n              *(char **)(puVar10 + -0x10) = DAT_00018238;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11c4e;\n              pcVar6 = strrchr(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc));\n              if (pcVar6 != (char *)0x0) {\n                DAT_00018238 = pcVar6 + 1;\n                goto LAB_00011c5e;\n              }\n            }\n            *(char **)(puVar10 + -0xc) = pcVar5;\n            *(undefined **)(puVar10 + -0x10) = local_a0;\n            *(undefined4 *)(puVar10 + -0x14) = 0x11c75;\n            printf(*(char **)(puVar10 + -0x10));\n            if (DAT_00018230 == 0) {\n              *(undefined **)(puVar10 + -0x10) = &DAT_000153c0;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d5f;\n              puts(*(char **)(puVar10 + -0x10));\n            }\n            else if (DAT_0001822c == 0) {\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(undefined **)(puVar10 + -0x10) = &DAT_0001545d;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d48;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            else {\n              *(int *)(puVar10 + -8) = DAT_0001822c;\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(char **)(puVar10 + -0x10) = "%u (discriminator %u)\n";\n              *(undefined4 *)(puVar10 + -0x14) = 0x11ca5;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            if (DAT_00018268 == 0) {\n              DAT_00018228 = 0;\n              goto LAB_000119cc;\n            }\n            puVar2 = ppuVar4[1];\n            *(int **)(puVar10 + -4) = &DAT_00018230;\n            *(char ***)(puVar10 + -8) = &DAT_00018234;\n            *(char ***)(puVar10 + -0xc) = &DAT_00018238;\n            *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n            pcVar1 = *(code **)(puVar2 + 0x130);\n            *(undefined4 *)(puVar10 + -0x14) = 0x11cef;\n            DAT_00018228 = (*pcVar1)();\n            if (DAT_00018228 == 0) goto LAB_000119cc;\n          } while (DAT_00018258 == 0);\n          *(undefined4 *)(puVar10 + -8) = 5;\n          *(char **)(puVar10 + -0xc) = " (inlined by) ";\n          *(undefined4 *)(puVar10 + -0x10) = 0;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11d21;\n          uVar7 = dcgettext();\n          *(undefined4 *)(puVar10 + -0x10) = uVar7;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11d29;\n          printf(*(char **)(puVar10 + -0x10));\n        } while( true );\n      }\n    }\n    else if (((*(byte *)(local_a8 + 0x14) & 1) != 0) &&\n            (DAT_00018244 < *(uint *)(local_a8 + 0x30) ||\n             DAT_00018244 - *(uint *)(local_a8 + 0x30) <\n             (uint)(DAT_00018240 < *(uint *)(local_a8 + 0x2c)))) {\n      puVar2 = local_9c[1];\n      *(int **)(puVar10 + -0x10) = &DAT_0001822c;\n      *(int **)(puVar10 + -0x14) = &DAT_00018230;\n      *(char ***)(puVar10 + -0x18) = &DAT_00018234;\n      *(char ***)(puVar10 + -0x1c) = &DAT_00018238;\n      *(undefined8 *)(puVar10 + -0x24) = uVar19;\n      *(int *)(puVar10 + -0x28) = local_a8;\n      *(void **)(puVar10 + -0x2c) = DAT_00018248;\n      *(undefined ***)(puVar10 + -0x30) = local_9c;\n      pcVar1 = *(code **)(puVar2 + 0x128);\n      *(undefined4 *)(puVar10 + -0x34) = 0x1197f;\n      DAT_00018228 = (*pcVar1)();\n      ppuVar4 = local_9c;\n      goto joined_r0x00011b72;\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    if (DAT_00018260 != 0) {\n      if (DAT_00018258 == 0) {\n        *(undefined **)(puVar10 + -0x10) = &DAT_000153bf;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11ddf;\n        puts(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n      else {\n        *(undefined **)(puVar10 + -0x10) = &DAT_00015434;\n        *(undefined4 *)(puVar10 + -0x14) = 0x119b7;\n        printf(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    *(undefined **)(puVar10 + -0x10) = &DAT_00015438;\n    *(undefined4 *)(puVar10 + -0x14) = 0x119c9;\n    puts(*(char **)(puVar10 + -0x10));\n    ppuVar4 = local_9c;\n  } while( true );\n}\n\n" (function_definition "int FUN_00011500(int param_1,undefined4 *param_2)\n\n{\n  code *pcVar1;\n  undefined *puVar2;\n  int iVar3;\n  undefined **ppuVar4;\n  char *pcVar5;\n  char *pcVar6;\n  undefined4 uVar7;\n  byte bVar8;\n  uint uVar9;\n  undefined1 *puVar10;\n  undefined1 *puVar11;\n  undefined1 *puVar12;\n  undefined1 *puVar13;\n  undefined1 *puVar14;\n  undefined1 *puVar15;\n  char *pcVar16;\n  undefined4 *puVar17;\n  uint uVar18;\n  undefined8 uVar19;\n  int aiStack_134 [21];\n  int local_c0;\n  undefined4 *local_bc;\n  char *local_b8;\n  uint local_b4;\n  int *local_b0;\n  int *local_ac;\n  int local_a8;\n  int *local_a4;\n  undefined *local_a0;\n  undefined **local_9c;\n  char *local_98;\n  char *local_94;\n  undefined4 local_88;\n  undefined1 local_84 [108];\n  undefined4 *local_18;\n  \n  puVar17 = &param_1;\n  local_18 = puVar17;\n  setlocale(5,"");\n  setlocale(0,"");\n  bindtextdomain();\n  textdomain();\n  DAT_00018278 = *param_2;\n  xmalloc_set_program_name();\n  ppuVar4 = &PTR_s_addresses_00018160;\n  bfd_set_error_program_name();\n  FUN_00013990();\n  bfd_init();\n  FUN_00012710();\n  local_98 = "ab:Ce:sfHhij:pVv";\n  puVar11 = (undefined1 *)&stack0xffffff40;\n  puVar12 = (undefined1 *)&stack0xffffff40;\n  puVar15 = (undefined1 *)&stack0xffffff40;\n  puVar14 = (undefined1 *)&stack0xffffff40;\n  puVar10 = (undefined1 *)&stack0xffffff40;\n  local_a4 = (int *)0x0;\n  local_b0 = (int *)PTR_optarg_00017ffc;\n  local_a8 = 0;\n  local_9c = (undefined **)0x0;\n  local_ac = local_b0;\ncode_r0x000115d8:\n  iVar3 = getopt_long(param_1,param_2,local_98,&PTR_s_addresses_00018160);\n  if (iVar3 == -1) {\n    ppuVar4 = (undefined **)"a.out";\n    if (local_9c != (undefined **)0x0) {\n      ppuVar4 = local_9c;\n    }\n    DAT_0001824c = param_2 + *(int *)PTR_optind_00017fdc;\n    DAT_00018250 = (int *)(param_1 - *(int *)PTR_optind_00017fdc);\n    local_9c = ppuVar4;\n    uVar19 = FUN_00012f60();\n    if ((int)(uint)((int)uVar19 != 0) <= -(int)((ulonglong)uVar19 >> 0x20)) {\n      return 1;\n    }\n    ppuVar4 = (undefined **)bfd_openr();\n    if (ppuVar4 == (undefined **)0x0) goto LAB_00011f2f;\n    ppuVar4[10] = (undefined *)((uint)ppuVar4[10] | 0x100000);\n    local_c0 = bfd_check_format();\n    if (local_c0 != 0) goto LAB_00011f73;\n    iVar3 = bfd_check_format_matches();\n    if (iVar3 == 0) {\n      FUN_000123f0();\n      iVar3 = bfd_get_error();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 == 0xd) goto LAB_00011f92;\n      do {\n        puVar15 = puVar14 + -0x10;\n        *(undefined4 *)(puVar14 + -0x10) = 1;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11f73;\n        xexit();\nLAB_00011f73:\n        *(undefined ***)(puVar15 + -4) = ppuVar4;\n        *(undefined4 *)(puVar15 + -8) = 5;\n        *(char **)(puVar15 + -0xc) = "%s: cannot get addresses from archive";\n        *(undefined4 *)(puVar15 + -0x10) = 0;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11f84;\n        uVar7 = dcgettext();\n        *(undefined ***)(puVar15 + -0xc) = local_9c;\n        *(undefined4 *)(puVar15 + -0x10) = uVar7;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11f92;\n        FUN_000126c0();\n        puVar13 = puVar15 + -0x10;\nLAB_00011f92:\n        puVar14 = puVar13;\n        *(undefined4 *)(puVar14 + -0x10) = local_88;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11f9d;\n        FUN_00012770();\n        *(undefined4 *)(puVar14 + -0x10) = local_88;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11fa6;\n        free(*(void **)(puVar14 + -0x10));\n      } while( true );\n    }\n    iVar3 = local_a8;\n    if ((local_a8 != 0) && (iVar3 = bfd_get_section_by_name(), iVar3 == 0)) goto LAB_00011f09;\n    local_a8 = iVar3;\n    if ((*(byte *)((int)ppuVar4 + 0x29) & 2) == 0) goto LAB_00011862;\n    iVar3 = (**(code **)(ppuVar4[1] + 0x104))();\n    if (iVar3 == 0) {\n      iVar3 = (**(code **)(ppuVar4[1] + 0x1a8))();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\n      DAT_00018248 = (void *)xmalloc();\n      iVar3 = (**(code **)(ppuVar4[1] + 0x1ac))();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\nLAB_00011e91:\n      if (0 < iVar3) goto LAB_00011862;\n    }\n    else {\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\n      DAT_00018248 = (void *)xmalloc();\n      iVar3 = (**(code **)(ppuVar4[1] + 0x108))();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\n      if (iVar3 != 0) goto LAB_00011e91;\n      iVar3 = (**(code **)(ppuVar4[1] + 0x1a8))();\n      if (0 < iVar3) {\n        free(DAT_00018248);\n        DAT_00018248 = (void *)xmalloc();\n        iVar3 = (**(code **)(ppuVar4[1] + 0x1ac))();\n        goto LAB_00011e91;\n      }\n    }\n    free(DAT_00018248);\n    DAT_00018248 = (void *)0x0;\nLAB_00011862:\n    local_ac = DAT_00018250;\n    local_bc = (undefined4 *)PTR_stdin_00017fec;\n    local_b0 = (int *)PTR_stdout_00017ff0;\n    local_9c = ppuVar4;\n    goto LAB_000119df;\n  }\n  switch(iVar3) {\n  case 0:\n    goto code_r0x000115d8;\n  default:\n    break;\n  case 0x43:\n    DAT_0001825c = 1;\n    local_a0 = PTR_optarg_00017ffc;\n    if (*(int *)PTR_optarg_00017ffc != 0) {\n      iVar3 = func_0x00011040();\n      uVar19 = CONCAT44(local_a0,iVar3);\n      if (iVar3 == 0) goto code_r0x00011eed;\n      func_0x000110d0();\n    }\n    goto code_r0x000115d8;\n  case 0x48:\n  case 0x68:\n    FUN_00012130();\n    break;\n  case 0x56:\n  case 0x76:\n    FUN_00013310();\n    goto code_r0x000115d8;\n  case 0x61:\n    DAT_00018264 = 1;\n    goto code_r0x000115d8;\n  case 0x62:\n    local_a4 = *(int **)PTR_optarg_00017ffc;\n    goto code_r0x000115d8;\n  case 0x65:\n    local_9c = (undefined **)*local_b0;\n    goto code_r0x000115d8;\n  case 0x66:\n    DAT_00018260 = 1;\n    goto code_r0x000115d8;\n  case 0x69:\n    DAT_00018268 = 1;\n    goto code_r0x000115d8;\n  case 0x6a:\n    local_a8 = *local_ac;\n    goto code_r0x000115d8;\n  case 0x70:\n    DAT_00018258 = 1;\n    goto code_r0x000115d8;\n  case 0x73:\n    DAT_00018254 = 1;\n    goto code_r0x000115d8;\n  }\n  uVar19 = FUN_00012130();\ncode_r0x00011eed:\n  puVar17 = (undefined4 *)*(int *)((ulonglong)uVar19 >> 0x20);\n  dcgettext();\n  puVar11 = &stack0xffffff30;\n  FUN_000126c0();\nLAB_00011f09:\n  *(undefined4 **)(puVar11 + -4) = puVar17;\n  *(undefined4 *)(puVar11 + -8) = 5;\n  *(char **)(puVar11 + -0xc) = "%s: cannot find section %s";\n  *(undefined4 *)(puVar11 + -0x10) = 0;\n  *(undefined4 *)(puVar11 + -0x14) = 0x11f1a;\n  uVar7 = dcgettext();\n  *(int *)(puVar11 + -8) = local_a8;\n  *(undefined ***)(puVar11 + -0xc) = local_9c;\n  puVar12 = puVar11 + -0x10;\n  *(undefined4 *)(puVar11 + -0x10) = uVar7;\n  *(undefined4 *)(puVar11 + -0x14) = 0x11f2f;\n  FUN_000126c0();\nLAB_00011f2f:\n  *(undefined ***)(puVar12 + -0x10) = local_9c;\n  *(undefined4 *)(puVar12 + -0x14) = 0x11f3d;\n  FUN_00012630();\n  puVar13 = puVar12 + -0x10;\nLAB_00011f3d:\n  puVar10 = puVar13 + -0x10;\n  *(undefined **)(puVar13 + -0x10) = *ppuVar4;\n  *(undefined4 *)(puVar13 + -0x14) = 0x11f47;\n  FUN_00012630();\nLAB_000119cc:\n  do {\n    local_9c = ppuVar4;\n    *(int *)(puVar10 + -0x10) = *local_a4;\n    *(undefined4 *)(puVar10 + -0x14) = 0x119dc;\n    fflush(*(FILE **)(puVar10 + -0x10));\nLAB_000119df:\n    if (local_ac == (int *)0x0) {\n      *(undefined4 *)(puVar10 + -8) = *local_bc;\n      *(undefined4 *)(puVar10 + -0xc) = 100;\n      *(undefined1 **)(puVar10 + -0x10) = local_84;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11a03;\n      pcVar5 = fgets(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc),*(FILE **)(puVar10 + -8));\n      if (pcVar5 == (char *)0x0) {\nLAB_00011e02:\n        ppuVar4 = local_9c;\n        if (DAT_00018248 != (void *)0x0) {\n          *(void **)(puVar10 + -0x10) = DAT_00018248;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11e1b;\n          free(*(void **)(puVar10 + -0x10));\n          DAT_00018248 = (void *)0x0;\n        }\n        *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11e31;\n        bfd_close();\n        return local_c0;\n      }\n      *(undefined4 *)(puVar10 + -8) = 0x10;\n      *(undefined4 *)(puVar10 + -0xc) = 0;\n      *(undefined1 **)(puVar10 + -0x10) = local_84;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11a1b;\n      uVar19 = bfd_scan_vma();\n      puVar2 = local_9c[1];\n      iVar3 = *(int *)(puVar2 + 4);\n    }\n    else {\n      if ((int)DAT_00018250 < 1) goto LAB_00011e02;\n      DAT_00018250 = (int *)((int)DAT_00018250 + -1);\n      *(undefined4 *)(puVar10 + -8) = 0x10;\n      *(undefined4 *)(puVar10 + -0xc) = 0;\n      *(undefined4 *)(puVar10 + -0x10) = *DAT_0001824c;\n      *(undefined4 *)(puVar10 + -0x14) = 0x118cc;\n      DAT_0001824c = DAT_0001824c + 1;\n      uVar19 = bfd_scan_vma();\n      puVar2 = local_9c[1];\n      iVar3 = *(int *)(puVar2 + 4);\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    if (iVar3 == 5) {\n      bVar8 = *(char *)(*(int *)(*(int *)(puVar2 + 0x1c0) + 0x19c) + 10) - 1;\n      pcVar5 = (char *)(1 << (bVar8 & 0x1f));\n      local_98 = pcVar5;\n      local_94 = (char *)(0 << (bVar8 & 0x1f) | 1U >> 0x20 - (bVar8 & 0x1f));\n      if ((bVar8 & 0x20) != 0) {\n        local_98 = (char *)0x0;\n        local_94 = pcVar5;\n      }\n      uVar9 = DAT_00018240 & (int)local_98 * 2 - 1U;\n      uVar18 = DAT_00018244 &\n               (((int)local_94 << 1 | (uint)local_98 >> 0x1f) - 1) + (uint)((int)local_98 * 2 != 0);\n      uVar19 = CONCAT44(uVar18,uVar9);\n      if ((*(byte *)(*(int *)(puVar2 + 0x1c0) + 0x1e9) & 1) != 0) {\n        local_b8 = (char *)(uVar9 ^ (uint)local_98);\n        local_b4 = uVar18 ^ (uint)local_94;\n        uVar19 = CONCAT44((local_b4 - (int)local_94) - (uint)(local_b8 < local_98),\n                          (int)local_b8 - (int)local_98);\n      }\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    local_a4 = local_b0;\n    if (DAT_00018264 != 0) {\n      *(undefined **)(puVar10 + -0x10) = &DAT_00015431;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11aff;\n      printf(*(char **)(puVar10 + -0x10));\n      local_a4 = (int *)PTR_stdout_00017ff0;\n      *(uint *)(puVar10 + -0x14) = DAT_00018244;\n      *(uint *)(puVar10 + -0x18) = DAT_00018240;\n      *(undefined4 *)(puVar10 + -0x1c) = *(undefined4 *)PTR_stdout_00017ff0;\n      *(undefined ***)(puVar10 + -0x20) = local_9c;\n      *(undefined4 *)(puVar10 + -0x24) = 0x11b24;\n      bfd_fprintf_vma();\n      if (DAT_00018258 == 0) {\n        *(undefined4 *)(puVar10 + -0x10) = 10;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11dfa;\n        putchar(*(int *)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n      else {\n        *(undefined **)(puVar10 + -0x10) = &DAT_00015702;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11b44;\n        printf(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    DAT_00018228 = 0;\n    if (local_a8 == 0) {\n      *(undefined4 *)(puVar10 + -8) = 0;\n      *(code **)(puVar10 + -0xc) = FUN_00012210;\n      *(undefined ***)(puVar10 + -0x10) = local_9c;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11b67;\n      bfd_map_over_sections();\n      ppuVar4 = local_9c;\njoined_r0x00011b72:\n      uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      local_9c = ppuVar4;\n      if (DAT_00018228 != 0) {\n        local_a0 = &DAT_00015442;\n        local_98 = "??";\n        do {\n          local_9c = (undefined **)0x15817;\n          do {\n            pcVar5 = DAT_00018234;\n            if (DAT_00018260 != 0) {\n              pcVar6 = local_98;\n              pcVar16 = DAT_00018234;\n              if (DAT_00018234 != (char *)0x0) {\n                if (*DAT_00018234 == '\0') {\n                  pcVar16 = (char *)0x0;\n                }\n                else {\n                  if (DAT_0001825c != 0) {\n                    *(undefined4 *)(puVar10 + -8) = 3;\n                    *(char **)(puVar10 + -0xc) = DAT_00018234;\n                    *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n                    *(undefined4 *)(puVar10 + -0x14) = 0x11db4;\n                    pcVar6 = (char *)bfd_demangle();\n                    pcVar16 = pcVar6;\n                    if (pcVar6 != (char *)0x0) goto LAB_00011bdd;\n                  }\n                  pcVar6 = pcVar5;\n                  pcVar16 = (char *)0x0;\n                }\n              }\nLAB_00011bdd:\n              *(char **)(puVar10 + -0xc) = pcVar6;\n              *(undefined ***)(puVar10 + -0x10) = local_9c;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11bec;\n              printf(*(char **)(puVar10 + -0x10));\n              if (DAT_00018258 == 0) {\n                *(undefined4 *)(puVar10 + -0x10) = 10;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11d8a;\n                putchar(*(int *)(puVar10 + -0x10));\n              }\n              else {\n                *(undefined4 *)(puVar10 + -8) = 5;\n                *(undefined **)(puVar10 + -0xc) = &DAT_0001543d;\n                *(undefined4 *)(puVar10 + -0x10) = 0;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c10;\n                uVar7 = dcgettext();\n                *(undefined4 *)(puVar10 + -0x10) = uVar7;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c18;\n                printf(*(char **)(puVar10 + -0x10));\n              }\n              if (pcVar16 != (char *)0x0) {\n                *(char **)(puVar10 + -0x10) = pcVar16;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c28;\n                free(*(void **)(puVar10 + -0x10));\n              }\n            }\n            pcVar5 = DAT_00018238;\n            if (DAT_00018254 == 0) {\nLAB_00011c5e:\n              pcVar5 = DAT_00018238;\n              if (DAT_00018238 == (char *)0x0) {\nLAB_00011d70:\n                pcVar5 = local_98;\n              }\n            }\n            else {\n              if (DAT_00018238 == (char *)0x0) goto LAB_00011d70;\n              *(undefined4 *)(puVar10 + -0xc) = 0x2f;\n              *(char **)(puVar10 + -0x10) = DAT_00018238;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11c4e;\n              pcVar6 = strrchr(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc));\n              if (pcVar6 != (char *)0x0) {\n                DAT_00018238 = pcVar6 + 1;\n                goto LAB_00011c5e;\n              }\n            }\n            *(char **)(puVar10 + -0xc) = pcVar5;\n            *(undefined **)(puVar10 + -0x10) = local_a0;\n            *(undefined4 *)(puVar10 + -0x14) = 0x11c75;\n            printf(*(char **)(puVar10 + -0x10));\n            if (DAT_00018230 == 0) {\n              *(undefined **)(puVar10 + -0x10) = &DAT_000153c0;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d5f;\n              puts(*(char **)(puVar10 + -0x10));\n            }\n            else if (DAT_0001822c == 0) {\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(undefined **)(puVar10 + -0x10) = &DAT_0001545d;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d48;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            else {\n              *(int *)(puVar10 + -8) = DAT_0001822c;\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(char **)(puVar10 + -0x10) = "%u (discriminator %u)\n";\n              *(undefined4 *)(puVar10 + -0x14) = 0x11ca5;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            if (DAT_00018268 == 0) {\n              DAT_00018228 = 0;\n              goto LAB_000119cc;\n            }\n            puVar2 = ppuVar4[1];\n            *(int **)(puVar10 + -4) = &DAT_00018230;\n            *(char ***)(puVar10 + -8) = &DAT_00018234;\n            *(char ***)(puVar10 + -0xc) = &DAT_00018238;\n            *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n            pcVar1 = *(code **)(puVar2 + 0x130);\n            *(undefined4 *)(puVar10 + -0x14) = 0x11cef;\n            DAT_00018228 = (*pcVar1)();\n            if (DAT_00018228 == 0) goto LAB_000119cc;\n          } while (DAT_00018258 == 0);\n          *(undefined4 *)(puVar10 + -8) = 5;\n          *(char **)(puVar10 + -0xc) = " (inlined by) ";\n          *(undefined4 *)(puVar10 + -0x10) = 0;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11d21;\n          uVar7 = dcgettext();\n          *(undefined4 *)(puVar10 + -0x10) = uVar7;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11d29;\n          printf(*(char **)(puVar10 + -0x10));\n        } while( true );\n      }\n    }\n    else if (((*(byte *)(local_a8 + 0x14) & 1) != 0) &&\n            (DAT_00018244 < *(uint *)(local_a8 + 0x30) ||\n             DAT_00018244 - *(uint *)(local_a8 + 0x30) <\n             (uint)(DAT_00018240 < *(uint *)(local_a8 + 0x2c)))) {\n      puVar2 = local_9c[1];\n      *(int **)(puVar10 + -0x10) = &DAT_0001822c;\n      *(int **)(puVar10 + -0x14) = &DAT_00018230;\n      *(char ***)(puVar10 + -0x18) = &DAT_00018234;\n      *(char ***)(puVar10 + -0x1c) = &DAT_00018238;\n      *(undefined8 *)(puVar10 + -0x24) = uVar19;\n      *(int *)(puVar10 + -0x28) = local_a8;\n      *(void **)(puVar10 + -0x2c) = DAT_00018248;\n      *(undefined ***)(puVar10 + -0x30) = local_9c;\n      pcVar1 = *(code **)(puVar2 + 0x128);\n      *(undefined4 *)(puVar10 + -0x34) = 0x1197f;\n      DAT_00018228 = (*pcVar1)();\n      ppuVar4 = local_9c;\n      goto joined_r0x00011b72;\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    if (DAT_00018260 != 0) {\n      if (DAT_00018258 == 0) {\n        *(undefined **)(puVar10 + -0x10) = &DAT_000153bf;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11ddf;\n        puts(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n      else {\n        *(undefined **)(puVar10 + -0x10) = &DAT_00015434;\n        *(undefined4 *)(puVar10 + -0x14) = 0x119b7;\n        printf(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    *(undefined **)(puVar10 + -0x10) = &DAT_00015438;\n    *(undefined4 *)(puVar10 + -0x14) = 0x119c9;\n    puts(*(char **)(puVar10 + -0x10));\n    ppuVar4 = local_9c;\n  } while( true );\n}" primitive_type (function_declarator "FUN_00011500(int param_1,undefined4 *param_2)" identifier (parameter_list "(int param_1,undefined4 *param_2)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined4 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) ))) (compound_statement "{\n  code *pcVar1;\n  undefined *puVar2;\n  int iVar3;\n  undefined **ppuVar4;\n  char *pcVar5;\n  char *pcVar6;\n  undefined4 uVar7;\n  byte bVar8;\n  uint uVar9;\n  undefined1 *puVar10;\n  undefined1 *puVar11;\n  undefined1 *puVar12;\n  undefined1 *puVar13;\n  undefined1 *puVar14;\n  undefined1 *puVar15;\n  char *pcVar16;\n  undefined4 *puVar17;\n  uint uVar18;\n  undefined8 uVar19;\n  int aiStack_134 [21];\n  int local_c0;\n  undefined4 *local_bc;\n  char *local_b8;\n  uint local_b4;\n  int *local_b0;\n  int *local_ac;\n  int local_a8;\n  int *local_a4;\n  undefined *local_a0;\n  undefined **local_9c;\n  char *local_98;\n  char *local_94;\n  undefined4 local_88;\n  undefined1 local_84 [108];\n  undefined4 *local_18;\n  \n  puVar17 = &param_1;\n  local_18 = puVar17;\n  setlocale(5,"");\n  setlocale(0,"");\n  bindtextdomain();\n  textdomain();\n  DAT_00018278 = *param_2;\n  xmalloc_set_program_name();\n  ppuVar4 = &PTR_s_addresses_00018160;\n  bfd_set_error_program_name();\n  FUN_00013990();\n  bfd_init();\n  FUN_00012710();\n  local_98 = "ab:Ce:sfHhij:pVv";\n  puVar11 = (undefined1 *)&stack0xffffff40;\n  puVar12 = (undefined1 *)&stack0xffffff40;\n  puVar15 = (undefined1 *)&stack0xffffff40;\n  puVar14 = (undefined1 *)&stack0xffffff40;\n  puVar10 = (undefined1 *)&stack0xffffff40;\n  local_a4 = (int *)0x0;\n  local_b0 = (int *)PTR_optarg_00017ffc;\n  local_a8 = 0;\n  local_9c = (undefined **)0x0;\n  local_ac = local_b0;\ncode_r0x000115d8:\n  iVar3 = getopt_long(param_1,param_2,local_98,&PTR_s_addresses_00018160);\n  if (iVar3 == -1) {\n    ppuVar4 = (undefined **)"a.out";\n    if (local_9c != (undefined **)0x0) {\n      ppuVar4 = local_9c;\n    }\n    DAT_0001824c = param_2 + *(int *)PTR_optind_00017fdc;\n    DAT_00018250 = (int *)(param_1 - *(int *)PTR_optind_00017fdc);\n    local_9c = ppuVar4;\n    uVar19 = FUN_00012f60();\n    if ((int)(uint)((int)uVar19 != 0) <= -(int)((ulonglong)uVar19 >> 0x20)) {\n      return 1;\n    }\n    ppuVar4 = (undefined **)bfd_openr();\n    if (ppuVar4 == (undefined **)0x0) goto LAB_00011f2f;\n    ppuVar4[10] = (undefined *)((uint)ppuVar4[10] | 0x100000);\n    local_c0 = bfd_check_format();\n    if (local_c0 != 0) goto LAB_00011f73;\n    iVar3 = bfd_check_format_matches();\n    if (iVar3 == 0) {\n      FUN_000123f0();\n      iVar3 = bfd_get_error();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 == 0xd) goto LAB_00011f92;\n      do {\n        puVar15 = puVar14 + -0x10;\n        *(undefined4 *)(puVar14 + -0x10) = 1;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11f73;\n        xexit();\nLAB_00011f73:\n        *(undefined ***)(puVar15 + -4) = ppuVar4;\n        *(undefined4 *)(puVar15 + -8) = 5;\n        *(char **)(puVar15 + -0xc) = "%s: cannot get addresses from archive";\n        *(undefined4 *)(puVar15 + -0x10) = 0;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11f84;\n        uVar7 = dcgettext();\n        *(undefined ***)(puVar15 + -0xc) = local_9c;\n        *(undefined4 *)(puVar15 + -0x10) = uVar7;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11f92;\n        FUN_000126c0();\n        puVar13 = puVar15 + -0x10;\nLAB_00011f92:\n        puVar14 = puVar13;\n        *(undefined4 *)(puVar14 + -0x10) = local_88;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11f9d;\n        FUN_00012770();\n        *(undefined4 *)(puVar14 + -0x10) = local_88;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11fa6;\n        free(*(void **)(puVar14 + -0x10));\n      } while( true );\n    }\n    iVar3 = local_a8;\n    if ((local_a8 != 0) && (iVar3 = bfd_get_section_by_name(), iVar3 == 0)) goto LAB_00011f09;\n    local_a8 = iVar3;\n    if ((*(byte *)((int)ppuVar4 + 0x29) & 2) == 0) goto LAB_00011862;\n    iVar3 = (**(code **)(ppuVar4[1] + 0x104))();\n    if (iVar3 == 0) {\n      iVar3 = (**(code **)(ppuVar4[1] + 0x1a8))();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\n      DAT_00018248 = (void *)xmalloc();\n      iVar3 = (**(code **)(ppuVar4[1] + 0x1ac))();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\nLAB_00011e91:\n      if (0 < iVar3) goto LAB_00011862;\n    }\n    else {\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\n      DAT_00018248 = (void *)xmalloc();\n      iVar3 = (**(code **)(ppuVar4[1] + 0x108))();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\n      if (iVar3 != 0) goto LAB_00011e91;\n      iVar3 = (**(code **)(ppuVar4[1] + 0x1a8))();\n      if (0 < iVar3) {\n        free(DAT_00018248);\n        DAT_00018248 = (void *)xmalloc();\n        iVar3 = (**(code **)(ppuVar4[1] + 0x1ac))();\n        goto LAB_00011e91;\n      }\n    }\n    free(DAT_00018248);\n    DAT_00018248 = (void *)0x0;\nLAB_00011862:\n    local_ac = DAT_00018250;\n    local_bc = (undefined4 *)PTR_stdin_00017fec;\n    local_b0 = (int *)PTR_stdout_00017ff0;\n    local_9c = ppuVar4;\n    goto LAB_000119df;\n  }\n  switch(iVar3) {\n  case 0:\n    goto code_r0x000115d8;\n  default:\n    break;\n  case 0x43:\n    DAT_0001825c = 1;\n    local_a0 = PTR_optarg_00017ffc;\n    if (*(int *)PTR_optarg_00017ffc != 0) {\n      iVar3 = func_0x00011040();\n      uVar19 = CONCAT44(local_a0,iVar3);\n      if (iVar3 == 0) goto code_r0x00011eed;\n      func_0x000110d0();\n    }\n    goto code_r0x000115d8;\n  case 0x48:\n  case 0x68:\n    FUN_00012130();\n    break;\n  case 0x56:\n  case 0x76:\n    FUN_00013310();\n    goto code_r0x000115d8;\n  case 0x61:\n    DAT_00018264 = 1;\n    goto code_r0x000115d8;\n  case 0x62:\n    local_a4 = *(int **)PTR_optarg_00017ffc;\n    goto code_r0x000115d8;\n  case 0x65:\n    local_9c = (undefined **)*local_b0;\n    goto code_r0x000115d8;\n  case 0x66:\n    DAT_00018260 = 1;\n    goto code_r0x000115d8;\n  case 0x69:\n    DAT_00018268 = 1;\n    goto code_r0x000115d8;\n  case 0x6a:\n    local_a8 = *local_ac;\n    goto code_r0x000115d8;\n  case 0x70:\n    DAT_00018258 = 1;\n    goto code_r0x000115d8;\n  case 0x73:\n    DAT_00018254 = 1;\n    goto code_r0x000115d8;\n  }\n  uVar19 = FUN_00012130();\ncode_r0x00011eed:\n  puVar17 = (undefined4 *)*(int *)((ulonglong)uVar19 >> 0x20);\n  dcgettext();\n  puVar11 = &stack0xffffff30;\n  FUN_000126c0();\nLAB_00011f09:\n  *(undefined4 **)(puVar11 + -4) = puVar17;\n  *(undefined4 *)(puVar11 + -8) = 5;\n  *(char **)(puVar11 + -0xc) = "%s: cannot find section %s";\n  *(undefined4 *)(puVar11 + -0x10) = 0;\n  *(undefined4 *)(puVar11 + -0x14) = 0x11f1a;\n  uVar7 = dcgettext();\n  *(int *)(puVar11 + -8) = local_a8;\n  *(undefined ***)(puVar11 + -0xc) = local_9c;\n  puVar12 = puVar11 + -0x10;\n  *(undefined4 *)(puVar11 + -0x10) = uVar7;\n  *(undefined4 *)(puVar11 + -0x14) = 0x11f2f;\n  FUN_000126c0();\nLAB_00011f2f:\n  *(undefined ***)(puVar12 + -0x10) = local_9c;\n  *(undefined4 *)(puVar12 + -0x14) = 0x11f3d;\n  FUN_00012630();\n  puVar13 = puVar12 + -0x10;\nLAB_00011f3d:\n  puVar10 = puVar13 + -0x10;\n  *(undefined **)(puVar13 + -0x10) = *ppuVar4;\n  *(undefined4 *)(puVar13 + -0x14) = 0x11f47;\n  FUN_00012630();\nLAB_000119cc:\n  do {\n    local_9c = ppuVar4;\n    *(int *)(puVar10 + -0x10) = *local_a4;\n    *(undefined4 *)(puVar10 + -0x14) = 0x119dc;\n    fflush(*(FILE **)(puVar10 + -0x10));\nLAB_000119df:\n    if (local_ac == (int *)0x0) {\n      *(undefined4 *)(puVar10 + -8) = *local_bc;\n      *(undefined4 *)(puVar10 + -0xc) = 100;\n      *(undefined1 **)(puVar10 + -0x10) = local_84;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11a03;\n      pcVar5 = fgets(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc),*(FILE **)(puVar10 + -8));\n      if (pcVar5 == (char *)0x0) {\nLAB_00011e02:\n        ppuVar4 = local_9c;\n        if (DAT_00018248 != (void *)0x0) {\n          *(void **)(puVar10 + -0x10) = DAT_00018248;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11e1b;\n          free(*(void **)(puVar10 + -0x10));\n          DAT_00018248 = (void *)0x0;\n        }\n        *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11e31;\n        bfd_close();\n        return local_c0;\n      }\n      *(undefined4 *)(puVar10 + -8) = 0x10;\n      *(undefined4 *)(puVar10 + -0xc) = 0;\n      *(undefined1 **)(puVar10 + -0x10) = local_84;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11a1b;\n      uVar19 = bfd_scan_vma();\n      puVar2 = local_9c[1];\n      iVar3 = *(int *)(puVar2 + 4);\n    }\n    else {\n      if ((int)DAT_00018250 < 1) goto LAB_00011e02;\n      DAT_00018250 = (int *)((int)DAT_00018250 + -1);\n      *(undefined4 *)(puVar10 + -8) = 0x10;\n      *(undefined4 *)(puVar10 + -0xc) = 0;\n      *(undefined4 *)(puVar10 + -0x10) = *DAT_0001824c;\n      *(undefined4 *)(puVar10 + -0x14) = 0x118cc;\n      DAT_0001824c = DAT_0001824c + 1;\n      uVar19 = bfd_scan_vma();\n      puVar2 = local_9c[1];\n      iVar3 = *(int *)(puVar2 + 4);\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    if (iVar3 == 5) {\n      bVar8 = *(char *)(*(int *)(*(int *)(puVar2 + 0x1c0) + 0x19c) + 10) - 1;\n      pcVar5 = (char *)(1 << (bVar8 & 0x1f));\n      local_98 = pcVar5;\n      local_94 = (char *)(0 << (bVar8 & 0x1f) | 1U >> 0x20 - (bVar8 & 0x1f));\n      if ((bVar8 & 0x20) != 0) {\n        local_98 = (char *)0x0;\n        local_94 = pcVar5;\n      }\n      uVar9 = DAT_00018240 & (int)local_98 * 2 - 1U;\n      uVar18 = DAT_00018244 &\n               (((int)local_94 << 1 | (uint)local_98 >> 0x1f) - 1) + (uint)((int)local_98 * 2 != 0);\n      uVar19 = CONCAT44(uVar18,uVar9);\n      if ((*(byte *)(*(int *)(puVar2 + 0x1c0) + 0x1e9) & 1) != 0) {\n        local_b8 = (char *)(uVar9 ^ (uint)local_98);\n        local_b4 = uVar18 ^ (uint)local_94;\n        uVar19 = CONCAT44((local_b4 - (int)local_94) - (uint)(local_b8 < local_98),\n                          (int)local_b8 - (int)local_98);\n      }\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    local_a4 = local_b0;\n    if (DAT_00018264 != 0) {\n      *(undefined **)(puVar10 + -0x10) = &DAT_00015431;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11aff;\n      printf(*(char **)(puVar10 + -0x10));\n      local_a4 = (int *)PTR_stdout_00017ff0;\n      *(uint *)(puVar10 + -0x14) = DAT_00018244;\n      *(uint *)(puVar10 + -0x18) = DAT_00018240;\n      *(undefined4 *)(puVar10 + -0x1c) = *(undefined4 *)PTR_stdout_00017ff0;\n      *(undefined ***)(puVar10 + -0x20) = local_9c;\n      *(undefined4 *)(puVar10 + -0x24) = 0x11b24;\n      bfd_fprintf_vma();\n      if (DAT_00018258 == 0) {\n        *(undefined4 *)(puVar10 + -0x10) = 10;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11dfa;\n        putchar(*(int *)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n      else {\n        *(undefined **)(puVar10 + -0x10) = &DAT_00015702;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11b44;\n        printf(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    DAT_00018228 = 0;\n    if (local_a8 == 0) {\n      *(undefined4 *)(puVar10 + -8) = 0;\n      *(code **)(puVar10 + -0xc) = FUN_00012210;\n      *(undefined ***)(puVar10 + -0x10) = local_9c;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11b67;\n      bfd_map_over_sections();\n      ppuVar4 = local_9c;\njoined_r0x00011b72:\n      uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      local_9c = ppuVar4;\n      if (DAT_00018228 != 0) {\n        local_a0 = &DAT_00015442;\n        local_98 = "??";\n        do {\n          local_9c = (undefined **)0x15817;\n          do {\n            pcVar5 = DAT_00018234;\n            if (DAT_00018260 != 0) {\n              pcVar6 = local_98;\n              pcVar16 = DAT_00018234;\n              if (DAT_00018234 != (char *)0x0) {\n                if (*DAT_00018234 == '\0') {\n                  pcVar16 = (char *)0x0;\n                }\n                else {\n                  if (DAT_0001825c != 0) {\n                    *(undefined4 *)(puVar10 + -8) = 3;\n                    *(char **)(puVar10 + -0xc) = DAT_00018234;\n                    *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n                    *(undefined4 *)(puVar10 + -0x14) = 0x11db4;\n                    pcVar6 = (char *)bfd_demangle();\n                    pcVar16 = pcVar6;\n                    if (pcVar6 != (char *)0x0) goto LAB_00011bdd;\n                  }\n                  pcVar6 = pcVar5;\n                  pcVar16 = (char *)0x0;\n                }\n              }\nLAB_00011bdd:\n              *(char **)(puVar10 + -0xc) = pcVar6;\n              *(undefined ***)(puVar10 + -0x10) = local_9c;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11bec;\n              printf(*(char **)(puVar10 + -0x10));\n              if (DAT_00018258 == 0) {\n                *(undefined4 *)(puVar10 + -0x10) = 10;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11d8a;\n                putchar(*(int *)(puVar10 + -0x10));\n              }\n              else {\n                *(undefined4 *)(puVar10 + -8) = 5;\n                *(undefined **)(puVar10 + -0xc) = &DAT_0001543d;\n                *(undefined4 *)(puVar10 + -0x10) = 0;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c10;\n                uVar7 = dcgettext();\n                *(undefined4 *)(puVar10 + -0x10) = uVar7;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c18;\n                printf(*(char **)(puVar10 + -0x10));\n              }\n              if (pcVar16 != (char *)0x0) {\n                *(char **)(puVar10 + -0x10) = pcVar16;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c28;\n                free(*(void **)(puVar10 + -0x10));\n              }\n            }\n            pcVar5 = DAT_00018238;\n            if (DAT_00018254 == 0) {\nLAB_00011c5e:\n              pcVar5 = DAT_00018238;\n              if (DAT_00018238 == (char *)0x0) {\nLAB_00011d70:\n                pcVar5 = local_98;\n              }\n            }\n            else {\n              if (DAT_00018238 == (char *)0x0) goto LAB_00011d70;\n              *(undefined4 *)(puVar10 + -0xc) = 0x2f;\n              *(char **)(puVar10 + -0x10) = DAT_00018238;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11c4e;\n              pcVar6 = strrchr(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc));\n              if (pcVar6 != (char *)0x0) {\n                DAT_00018238 = pcVar6 + 1;\n                goto LAB_00011c5e;\n              }\n            }\n            *(char **)(puVar10 + -0xc) = pcVar5;\n            *(undefined **)(puVar10 + -0x10) = local_a0;\n            *(undefined4 *)(puVar10 + -0x14) = 0x11c75;\n            printf(*(char **)(puVar10 + -0x10));\n            if (DAT_00018230 == 0) {\n              *(undefined **)(puVar10 + -0x10) = &DAT_000153c0;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d5f;\n              puts(*(char **)(puVar10 + -0x10));\n            }\n            else if (DAT_0001822c == 0) {\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(undefined **)(puVar10 + -0x10) = &DAT_0001545d;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d48;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            else {\n              *(int *)(puVar10 + -8) = DAT_0001822c;\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(char **)(puVar10 + -0x10) = "%u (discriminator %u)\n";\n              *(undefined4 *)(puVar10 + -0x14) = 0x11ca5;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            if (DAT_00018268 == 0) {\n              DAT_00018228 = 0;\n              goto LAB_000119cc;\n            }\n            puVar2 = ppuVar4[1];\n            *(int **)(puVar10 + -4) = &DAT_00018230;\n            *(char ***)(puVar10 + -8) = &DAT_00018234;\n            *(char ***)(puVar10 + -0xc) = &DAT_00018238;\n            *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n            pcVar1 = *(code **)(puVar2 + 0x130);\n            *(undefined4 *)(puVar10 + -0x14) = 0x11cef;\n            DAT_00018228 = (*pcVar1)();\n            if (DAT_00018228 == 0) goto LAB_000119cc;\n          } while (DAT_00018258 == 0);\n          *(undefined4 *)(puVar10 + -8) = 5;\n          *(char **)(puVar10 + -0xc) = " (inlined by) ";\n          *(undefined4 *)(puVar10 + -0x10) = 0;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11d21;\n          uVar7 = dcgettext();\n          *(undefined4 *)(puVar10 + -0x10) = uVar7;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11d29;\n          printf(*(char **)(puVar10 + -0x10));\n        } while( true );\n      }\n    }\n    else if (((*(byte *)(local_a8 + 0x14) & 1) != 0) &&\n            (DAT_00018244 < *(uint *)(local_a8 + 0x30) ||\n             DAT_00018244 - *(uint *)(local_a8 + 0x30) <\n             (uint)(DAT_00018240 < *(uint *)(local_a8 + 0x2c)))) {\n      puVar2 = local_9c[1];\n      *(int **)(puVar10 + -0x10) = &DAT_0001822c;\n      *(int **)(puVar10 + -0x14) = &DAT_00018230;\n      *(char ***)(puVar10 + -0x18) = &DAT_00018234;\n      *(char ***)(puVar10 + -0x1c) = &DAT_00018238;\n      *(undefined8 *)(puVar10 + -0x24) = uVar19;\n      *(int *)(puVar10 + -0x28) = local_a8;\n      *(void **)(puVar10 + -0x2c) = DAT_00018248;\n      *(undefined ***)(puVar10 + -0x30) = local_9c;\n      pcVar1 = *(code **)(puVar2 + 0x128);\n      *(undefined4 *)(puVar10 + -0x34) = 0x1197f;\n      DAT_00018228 = (*pcVar1)();\n      ppuVar4 = local_9c;\n      goto joined_r0x00011b72;\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    if (DAT_00018260 != 0) {\n      if (DAT_00018258 == 0) {\n        *(undefined **)(puVar10 + -0x10) = &DAT_000153bf;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11ddf;\n        puts(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n      else {\n        *(undefined **)(puVar10 + -0x10) = &DAT_00015434;\n        *(undefined4 *)(puVar10 + -0x14) = 0x119b7;\n        printf(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    *(undefined **)(puVar10 + -0x10) = &DAT_00015438;\n    *(undefined4 *)(puVar10 + -0x14) = 0x119c9;\n    puts(*(char **)(puVar10 + -0x10));\n    ppuVar4 = local_9c;\n  } while( true );\n}" { (declaration "code *pcVar1;" type_identifier (pointer_declarator "*pcVar1" * identifier) ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "undefined **ppuVar4;" type_identifier (pointer_declarator "**ppuVar4" * (pointer_declarator "*ppuVar4" * identifier)) ;) (declaration "char *pcVar5;" primitive_type (pointer_declarator "*pcVar5" * identifier) ;) (declaration "char *pcVar6;" primitive_type (pointer_declarator "*pcVar6" * identifier) ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "byte bVar8;" type_identifier identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "undefined1 *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "undefined1 *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "undefined1 *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "undefined1 *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "undefined1 *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "undefined1 *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "char *pcVar16;" primitive_type (pointer_declarator "*pcVar16" * identifier) ;) (declaration "undefined4 *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "uint uVar18;" type_identifier identifier ;) (declaration "undefined8 uVar19;" type_identifier identifier ;) (declaration "int aiStack_134 [21];" primitive_type (array_declarator "aiStack_134 [21]" identifier [ number_literal ]) ;) (declaration "int local_c0;" primitive_type identifier ;) (declaration "undefined4 *local_bc;" type_identifier (pointer_declarator "*local_bc" * identifier) ;) (declaration "char *local_b8;" primitive_type (pointer_declarator "*local_b8" * identifier) ;) (declaration "uint local_b4;" type_identifier identifier ;) (declaration "int *local_b0;" primitive_type (pointer_declarator "*local_b0" * identifier) ;) (declaration "int *local_ac;" primitive_type (pointer_declarator "*local_ac" * identifier) ;) (declaration "int local_a8;" primitive_type identifier ;) (declaration "int *local_a4;" primitive_type (pointer_declarator "*local_a4" * identifier) ;) (declaration "undefined *local_a0;" type_identifier (pointer_declarator "*local_a0" * identifier) ;) (declaration "undefined **local_9c;" type_identifier (pointer_declarator "**local_9c" * (pointer_declarator "*local_9c" * identifier)) ;) (declaration "char *local_98;" primitive_type (pointer_declarator "*local_98" * identifier) ;) (declaration "char *local_94;" primitive_type (pointer_declarator "*local_94" * identifier) ;) (declaration "undefined4 local_88;" type_identifier identifier ;) (declaration "undefined1 local_84 [108];" type_identifier (array_declarator "local_84 [108]" identifier [ number_literal ]) ;) (declaration "undefined4 *local_18;" type_identifier (pointer_declarator "*local_18" * identifier) ;) (expression_statement "puVar17 = &param_1;" (assignment_expression "puVar17 = &param_1" identifier = (pointer_expression "&param_1" & identifier)) ;) (expression_statement "local_18 = puVar17;" (assignment_expression "local_18 = puVar17" identifier = identifier) ;) (expression_statement "setlocale(5,"");" (call_expression "setlocale(5,"")" identifier (argument_list "(5,"")" ( number_literal , (string_literal """" " ") ))) ;) (expression_statement "setlocale(0,"");" (call_expression "setlocale(0,"")" identifier (argument_list "(0,"")" ( number_literal , (string_literal """" " ") ))) ;) (expression_statement "bindtextdomain();" (call_expression "bindtextdomain()" identifier (argument_list "()" ( ))) ;) (expression_statement "textdomain();" (call_expression "textdomain()" identifier (argument_list "()" ( ))) ;) (expression_statement "DAT_00018278 = *param_2;" (assignment_expression "DAT_00018278 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "xmalloc_set_program_name();" (call_expression "xmalloc_set_program_name()" identifier (argument_list "()" ( ))) ;) (expression_statement "ppuVar4 = &PTR_s_addresses_00018160;" (assignment_expression "ppuVar4 = &PTR_s_addresses_00018160" identifier = (pointer_expression "&PTR_s_addresses_00018160" & identifier)) ;) (expression_statement "bfd_set_error_program_name();" (call_expression "bfd_set_error_program_name()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_00013990();" (call_expression "FUN_00013990()" identifier (argument_list "()" ( ))) ;) (expression_statement "bfd_init();" (call_expression "bfd_init()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_00012710();" (call_expression "FUN_00012710()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_98 = "ab:Ce:sfHhij:pVv";" (assignment_expression "local_98 = "ab:Ce:sfHhij:pVv"" identifier = (string_literal ""ab:Ce:sfHhij:pVv"" " string_content ")) ;) (expression_statement "puVar11 = (undefined1 *)&stack0xffffff40;" (assignment_expression "puVar11 = (undefined1 *)&stack0xffffff40" identifier = (cast_expression "(undefined1 *)&stack0xffffff40" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&stack0xffffff40" & identifier))) ;) (expression_statement "puVar12 = (undefined1 *)&stack0xffffff40;" (assignment_expression "puVar12 = (undefined1 *)&stack0xffffff40" identifier = (cast_expression "(undefined1 *)&stack0xffffff40" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&stack0xffffff40" & identifier))) ;) (expression_statement "puVar15 = (undefined1 *)&stack0xffffff40;" (assignment_expression "puVar15 = (undefined1 *)&stack0xffffff40" identifier = (cast_expression "(undefined1 *)&stack0xffffff40" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&stack0xffffff40" & identifier))) ;) (expression_statement "puVar14 = (undefined1 *)&stack0xffffff40;" (assignment_expression "puVar14 = (undefined1 *)&stack0xffffff40" identifier = (cast_expression "(undefined1 *)&stack0xffffff40" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&stack0xffffff40" & identifier))) ;) (expression_statement "puVar10 = (undefined1 *)&stack0xffffff40;" (assignment_expression "puVar10 = (undefined1 *)&stack0xffffff40" identifier = (cast_expression "(undefined1 *)&stack0xffffff40" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&stack0xffffff40" & identifier))) ;) (expression_statement "local_a4 = (int *)0x0;" (assignment_expression "local_a4 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_b0 = (int *)PTR_optarg_00017ffc;" (assignment_expression "local_b0 = (int *)PTR_optarg_00017ffc" identifier = (cast_expression "(int *)PTR_optarg_00017ffc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "local_a8 = 0;" (assignment_expression "local_a8 = 0" identifier = number_literal) ;) (expression_statement "local_9c = (undefined **)0x0;" (assignment_expression "local_9c = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "local_ac = local_b0;" (assignment_expression "local_ac = local_b0" identifier = identifier) ;) (labeled_statement "code_r0x000115d8:\n  iVar3 = getopt_long(param_1,param_2,local_98,&PTR_s_addresses_00018160);" statement_identifier : (expression_statement "iVar3 = getopt_long(param_1,param_2,local_98,&PTR_s_addresses_00018160);" (assignment_expression "iVar3 = getopt_long(param_1,param_2,local_98,&PTR_s_addresses_00018160)" identifier = (call_expression "getopt_long(param_1,param_2,local_98,&PTR_s_addresses_00018160)" identifier (argument_list "(param_1,param_2,local_98,&PTR_s_addresses_00018160)" ( identifier , identifier , identifier , (pointer_expression "&PTR_s_addresses_00018160" & identifier) )))) ;)) (if_statement "if (iVar3 == -1) {\n    ppuVar4 = (undefined **)"a.out";\n    if (local_9c != (undefined **)0x0) {\n      ppuVar4 = local_9c;\n    }\n    DAT_0001824c = param_2 + *(int *)PTR_optind_00017fdc;\n    DAT_00018250 = (int *)(param_1 - *(int *)PTR_optind_00017fdc);\n    local_9c = ppuVar4;\n    uVar19 = FUN_00012f60();\n    if ((int)(uint)((int)uVar19 != 0) <= -(int)((ulonglong)uVar19 >> 0x20)) {\n      return 1;\n    }\n    ppuVar4 = (undefined **)bfd_openr();\n    if (ppuVar4 == (undefined **)0x0) goto LAB_00011f2f;\n    ppuVar4[10] = (undefined *)((uint)ppuVar4[10] | 0x100000);\n    local_c0 = bfd_check_format();\n    if (local_c0 != 0) goto LAB_00011f73;\n    iVar3 = bfd_check_format_matches();\n    if (iVar3 == 0) {\n      FUN_000123f0();\n      iVar3 = bfd_get_error();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 == 0xd) goto LAB_00011f92;\n      do {\n        puVar15 = puVar14 + -0x10;\n        *(undefined4 *)(puVar14 + -0x10) = 1;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11f73;\n        xexit();\nLAB_00011f73:\n        *(undefined ***)(puVar15 + -4) = ppuVar4;\n        *(undefined4 *)(puVar15 + -8) = 5;\n        *(char **)(puVar15 + -0xc) = "%s: cannot get addresses from archive";\n        *(undefined4 *)(puVar15 + -0x10) = 0;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11f84;\n        uVar7 = dcgettext();\n        *(undefined ***)(puVar15 + -0xc) = local_9c;\n        *(undefined4 *)(puVar15 + -0x10) = uVar7;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11f92;\n        FUN_000126c0();\n        puVar13 = puVar15 + -0x10;\nLAB_00011f92:\n        puVar14 = puVar13;\n        *(undefined4 *)(puVar14 + -0x10) = local_88;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11f9d;\n        FUN_00012770();\n        *(undefined4 *)(puVar14 + -0x10) = local_88;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11fa6;\n        free(*(void **)(puVar14 + -0x10));\n      } while( true );\n    }\n    iVar3 = local_a8;\n    if ((local_a8 != 0) && (iVar3 = bfd_get_section_by_name(), iVar3 == 0)) goto LAB_00011f09;\n    local_a8 = iVar3;\n    if ((*(byte *)((int)ppuVar4 + 0x29) & 2) == 0) goto LAB_00011862;\n    iVar3 = (**(code **)(ppuVar4[1] + 0x104))();\n    if (iVar3 == 0) {\n      iVar3 = (**(code **)(ppuVar4[1] + 0x1a8))();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\n      DAT_00018248 = (void *)xmalloc();\n      iVar3 = (**(code **)(ppuVar4[1] + 0x1ac))();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\nLAB_00011e91:\n      if (0 < iVar3) goto LAB_00011862;\n    }\n    else {\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\n      DAT_00018248 = (void *)xmalloc();\n      iVar3 = (**(code **)(ppuVar4[1] + 0x108))();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\n      if (iVar3 != 0) goto LAB_00011e91;\n      iVar3 = (**(code **)(ppuVar4[1] + 0x1a8))();\n      if (0 < iVar3) {\n        free(DAT_00018248);\n        DAT_00018248 = (void *)xmalloc();\n        iVar3 = (**(code **)(ppuVar4[1] + 0x1ac))();\n        goto LAB_00011e91;\n      }\n    }\n    free(DAT_00018248);\n    DAT_00018248 = (void *)0x0;\nLAB_00011862:\n    local_ac = DAT_00018250;\n    local_bc = (undefined4 *)PTR_stdin_00017fec;\n    local_b0 = (int *)PTR_stdout_00017ff0;\n    local_9c = ppuVar4;\n    goto LAB_000119df;\n  }" if (parenthesized_expression "(iVar3 == -1)" ( (binary_expression "iVar3 == -1" identifier == number_literal) )) (compound_statement "{\n    ppuVar4 = (undefined **)"a.out";\n    if (local_9c != (undefined **)0x0) {\n      ppuVar4 = local_9c;\n    }\n    DAT_0001824c = param_2 + *(int *)PTR_optind_00017fdc;\n    DAT_00018250 = (int *)(param_1 - *(int *)PTR_optind_00017fdc);\n    local_9c = ppuVar4;\n    uVar19 = FUN_00012f60();\n    if ((int)(uint)((int)uVar19 != 0) <= -(int)((ulonglong)uVar19 >> 0x20)) {\n      return 1;\n    }\n    ppuVar4 = (undefined **)bfd_openr();\n    if (ppuVar4 == (undefined **)0x0) goto LAB_00011f2f;\n    ppuVar4[10] = (undefined *)((uint)ppuVar4[10] | 0x100000);\n    local_c0 = bfd_check_format();\n    if (local_c0 != 0) goto LAB_00011f73;\n    iVar3 = bfd_check_format_matches();\n    if (iVar3 == 0) {\n      FUN_000123f0();\n      iVar3 = bfd_get_error();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 == 0xd) goto LAB_00011f92;\n      do {\n        puVar15 = puVar14 + -0x10;\n        *(undefined4 *)(puVar14 + -0x10) = 1;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11f73;\n        xexit();\nLAB_00011f73:\n        *(undefined ***)(puVar15 + -4) = ppuVar4;\n        *(undefined4 *)(puVar15 + -8) = 5;\n        *(char **)(puVar15 + -0xc) = "%s: cannot get addresses from archive";\n        *(undefined4 *)(puVar15 + -0x10) = 0;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11f84;\n        uVar7 = dcgettext();\n        *(undefined ***)(puVar15 + -0xc) = local_9c;\n        *(undefined4 *)(puVar15 + -0x10) = uVar7;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11f92;\n        FUN_000126c0();\n        puVar13 = puVar15 + -0x10;\nLAB_00011f92:\n        puVar14 = puVar13;\n        *(undefined4 *)(puVar14 + -0x10) = local_88;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11f9d;\n        FUN_00012770();\n        *(undefined4 *)(puVar14 + -0x10) = local_88;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11fa6;\n        free(*(void **)(puVar14 + -0x10));\n      } while( true );\n    }\n    iVar3 = local_a8;\n    if ((local_a8 != 0) && (iVar3 = bfd_get_section_by_name(), iVar3 == 0)) goto LAB_00011f09;\n    local_a8 = iVar3;\n    if ((*(byte *)((int)ppuVar4 + 0x29) & 2) == 0) goto LAB_00011862;\n    iVar3 = (**(code **)(ppuVar4[1] + 0x104))();\n    if (iVar3 == 0) {\n      iVar3 = (**(code **)(ppuVar4[1] + 0x1a8))();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\n      DAT_00018248 = (void *)xmalloc();\n      iVar3 = (**(code **)(ppuVar4[1] + 0x1ac))();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\nLAB_00011e91:\n      if (0 < iVar3) goto LAB_00011862;\n    }\n    else {\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\n      DAT_00018248 = (void *)xmalloc();\n      iVar3 = (**(code **)(ppuVar4[1] + 0x108))();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\n      if (iVar3 != 0) goto LAB_00011e91;\n      iVar3 = (**(code **)(ppuVar4[1] + 0x1a8))();\n      if (0 < iVar3) {\n        free(DAT_00018248);\n        DAT_00018248 = (void *)xmalloc();\n        iVar3 = (**(code **)(ppuVar4[1] + 0x1ac))();\n        goto LAB_00011e91;\n      }\n    }\n    free(DAT_00018248);\n    DAT_00018248 = (void *)0x0;\nLAB_00011862:\n    local_ac = DAT_00018250;\n    local_bc = (undefined4 *)PTR_stdin_00017fec;\n    local_b0 = (int *)PTR_stdout_00017ff0;\n    local_9c = ppuVar4;\n    goto LAB_000119df;\n  }" { (expression_statement "ppuVar4 = (undefined **)"a.out";" (assignment_expression "ppuVar4 = (undefined **)"a.out"" identifier = (cast_expression "(undefined **)"a.out"" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (string_literal ""a.out"" " string_content "))) ;) (if_statement "if (local_9c != (undefined **)0x0) {\n      ppuVar4 = local_9c;\n    }" if (parenthesized_expression "(local_9c != (undefined **)0x0)" ( (binary_expression "local_9c != (undefined **)0x0" identifier != (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n      ppuVar4 = local_9c;\n    }" { (expression_statement "ppuVar4 = local_9c;" (assignment_expression "ppuVar4 = local_9c" identifier = identifier) ;) })) (expression_statement "DAT_0001824c = param_2 + *(int *)PTR_optind_00017fdc;" (assignment_expression "DAT_0001824c = param_2 + *(int *)PTR_optind_00017fdc" identifier = (binary_expression "param_2 + *(int *)PTR_optind_00017fdc" identifier + (pointer_expression "*(int *)PTR_optind_00017fdc" * (cast_expression "(int *)PTR_optind_00017fdc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "DAT_00018250 = (int *)(param_1 - *(int *)PTR_optind_00017fdc);" (assignment_expression "DAT_00018250 = (int *)(param_1 - *(int *)PTR_optind_00017fdc)" identifier = (cast_expression "(int *)(param_1 - *(int *)PTR_optind_00017fdc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 - *(int *)PTR_optind_00017fdc)" ( (binary_expression "param_1 - *(int *)PTR_optind_00017fdc" identifier - (pointer_expression "*(int *)PTR_optind_00017fdc" * (cast_expression "(int *)PTR_optind_00017fdc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )))) ;) (expression_statement "local_9c = ppuVar4;" (assignment_expression "local_9c = ppuVar4" identifier = identifier) ;) (expression_statement "uVar19 = FUN_00012f60();" (assignment_expression "uVar19 = FUN_00012f60()" identifier = (call_expression "FUN_00012f60()" identifier (argument_list "()" ( )))) ;) (if_statement "if ((int)(uint)((int)uVar19 != 0) <= -(int)((ulonglong)uVar19 >> 0x20)) {\n      return 1;\n    }" if (parenthesized_expression "((int)(uint)((int)uVar19 != 0) <= -(int)((ulonglong)uVar19 >> 0x20))" ( (binary_expression "(int)(uint)((int)uVar19 != 0) <= -(int)((ulonglong)uVar19 >> 0x20)" (cast_expression "(int)(uint)((int)uVar19 != 0)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)((int)uVar19 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)uVar19 != 0)" ( (binary_expression "(int)uVar19 != 0" (cast_expression "(int)uVar19" ( (type_descriptor "int" primitive_type) ) identifier) != number_literal) )))) <= (unary_expression "-(int)((ulonglong)uVar19 >> 0x20)" - (cast_expression "(int)((ulonglong)uVar19 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar19 >> 0x20)" ( (binary_expression "(ulonglong)uVar19 >> 0x20" (cast_expression "(ulonglong)uVar19" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))))) )) (compound_statement "{\n      return 1;\n    }" { (return_statement "return 1;" return number_literal ;) })) (expression_statement "ppuVar4 = (undefined **)bfd_openr();" (assignment_expression "ppuVar4 = (undefined **)bfd_openr()" identifier = (cast_expression "(undefined **)bfd_openr()" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "bfd_openr()" identifier (argument_list "()" ( ))))) ;) (if_statement "if (ppuVar4 == (undefined **)0x0) goto LAB_00011f2f;" if (parenthesized_expression "(ppuVar4 == (undefined **)0x0)" ( (binary_expression "ppuVar4 == (undefined **)0x0" identifier == (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (goto_statement "goto LAB_00011f2f;" goto statement_identifier ;)) (expression_statement "ppuVar4[10] = (undefined *)((uint)ppuVar4[10] | 0x100000);" (assignment_expression "ppuVar4[10] = (undefined *)((uint)ppuVar4[10] | 0x100000)" (subscript_expression "ppuVar4[10]" identifier [ number_literal ]) = (cast_expression "(undefined *)((uint)ppuVar4[10] | 0x100000)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)ppuVar4[10] | 0x100000)" ( (binary_expression "(uint)ppuVar4[10] | 0x100000" (cast_expression "(uint)ppuVar4[10]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "ppuVar4[10]" identifier [ number_literal ])) | number_literal) )))) ;) (expression_statement "local_c0 = bfd_check_format();" (assignment_expression "local_c0 = bfd_check_format()" identifier = (call_expression "bfd_check_format()" identifier (argument_list "()" ( )))) ;) (if_statement "if (local_c0 != 0) goto LAB_00011f73;" if (parenthesized_expression "(local_c0 != 0)" ( (binary_expression "local_c0 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00011f73;" goto statement_identifier ;)) (expression_statement "iVar3 = bfd_check_format_matches();" (assignment_expression "iVar3 = bfd_check_format_matches()" identifier = (call_expression "bfd_check_format_matches()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar3 == 0) {\n      FUN_000123f0();\n      iVar3 = bfd_get_error();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 == 0xd) goto LAB_00011f92;\n      do {\n        puVar15 = puVar14 + -0x10;\n        *(undefined4 *)(puVar14 + -0x10) = 1;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11f73;\n        xexit();\nLAB_00011f73:\n        *(undefined ***)(puVar15 + -4) = ppuVar4;\n        *(undefined4 *)(puVar15 + -8) = 5;\n        *(char **)(puVar15 + -0xc) = "%s: cannot get addresses from archive";\n        *(undefined4 *)(puVar15 + -0x10) = 0;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11f84;\n        uVar7 = dcgettext();\n        *(undefined ***)(puVar15 + -0xc) = local_9c;\n        *(undefined4 *)(puVar15 + -0x10) = uVar7;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11f92;\n        FUN_000126c0();\n        puVar13 = puVar15 + -0x10;\nLAB_00011f92:\n        puVar14 = puVar13;\n        *(undefined4 *)(puVar14 + -0x10) = local_88;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11f9d;\n        FUN_00012770();\n        *(undefined4 *)(puVar14 + -0x10) = local_88;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11fa6;\n        free(*(void **)(puVar14 + -0x10));\n      } while( true );\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      FUN_000123f0();\n      iVar3 = bfd_get_error();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 == 0xd) goto LAB_00011f92;\n      do {\n        puVar15 = puVar14 + -0x10;\n        *(undefined4 *)(puVar14 + -0x10) = 1;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11f73;\n        xexit();\nLAB_00011f73:\n        *(undefined ***)(puVar15 + -4) = ppuVar4;\n        *(undefined4 *)(puVar15 + -8) = 5;\n        *(char **)(puVar15 + -0xc) = "%s: cannot get addresses from archive";\n        *(undefined4 *)(puVar15 + -0x10) = 0;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11f84;\n        uVar7 = dcgettext();\n        *(undefined ***)(puVar15 + -0xc) = local_9c;\n        *(undefined4 *)(puVar15 + -0x10) = uVar7;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11f92;\n        FUN_000126c0();\n        puVar13 = puVar15 + -0x10;\nLAB_00011f92:\n        puVar14 = puVar13;\n        *(undefined4 *)(puVar14 + -0x10) = local_88;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11f9d;\n        FUN_00012770();\n        *(undefined4 *)(puVar14 + -0x10) = local_88;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11fa6;\n        free(*(void **)(puVar14 + -0x10));\n      } while( true );\n    }" { (expression_statement "FUN_000123f0();" (call_expression "FUN_000123f0()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar3 = bfd_get_error();" (assignment_expression "iVar3 = bfd_get_error()" identifier = (call_expression "bfd_get_error()" identifier (argument_list "()" ( )))) ;) (expression_statement "puVar13 = (undefined1 *)&stack0xffffff40;" (assignment_expression "puVar13 = (undefined1 *)&stack0xffffff40" identifier = (cast_expression "(undefined1 *)&stack0xffffff40" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&stack0xffffff40" & identifier))) ;) (if_statement "if (iVar3 == 0xd) goto LAB_00011f92;" if (parenthesized_expression "(iVar3 == 0xd)" ( (binary_expression "iVar3 == 0xd" identifier == number_literal) )) (goto_statement "goto LAB_00011f92;" goto statement_identifier ;)) (do_statement "do {\n        puVar15 = puVar14 + -0x10;\n        *(undefined4 *)(puVar14 + -0x10) = 1;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11f73;\n        xexit();\nLAB_00011f73:\n        *(undefined ***)(puVar15 + -4) = ppuVar4;\n        *(undefined4 *)(puVar15 + -8) = 5;\n        *(char **)(puVar15 + -0xc) = "%s: cannot get addresses from archive";\n        *(undefined4 *)(puVar15 + -0x10) = 0;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11f84;\n        uVar7 = dcgettext();\n        *(undefined ***)(puVar15 + -0xc) = local_9c;\n        *(undefined4 *)(puVar15 + -0x10) = uVar7;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11f92;\n        FUN_000126c0();\n        puVar13 = puVar15 + -0x10;\nLAB_00011f92:\n        puVar14 = puVar13;\n        *(undefined4 *)(puVar14 + -0x10) = local_88;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11f9d;\n        FUN_00012770();\n        *(undefined4 *)(puVar14 + -0x10) = local_88;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11fa6;\n        free(*(void **)(puVar14 + -0x10));\n      } while( true );" do (compound_statement "{\n        puVar15 = puVar14 + -0x10;\n        *(undefined4 *)(puVar14 + -0x10) = 1;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11f73;\n        xexit();\nLAB_00011f73:\n        *(undefined ***)(puVar15 + -4) = ppuVar4;\n        *(undefined4 *)(puVar15 + -8) = 5;\n        *(char **)(puVar15 + -0xc) = "%s: cannot get addresses from archive";\n        *(undefined4 *)(puVar15 + -0x10) = 0;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11f84;\n        uVar7 = dcgettext();\n        *(undefined ***)(puVar15 + -0xc) = local_9c;\n        *(undefined4 *)(puVar15 + -0x10) = uVar7;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11f92;\n        FUN_000126c0();\n        puVar13 = puVar15 + -0x10;\nLAB_00011f92:\n        puVar14 = puVar13;\n        *(undefined4 *)(puVar14 + -0x10) = local_88;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11f9d;\n        FUN_00012770();\n        *(undefined4 *)(puVar14 + -0x10) = local_88;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11fa6;\n        free(*(void **)(puVar14 + -0x10));\n      }" { (expression_statement "puVar15 = puVar14 + -0x10;" (assignment_expression "puVar15 = puVar14 + -0x10" identifier = (binary_expression "puVar14 + -0x10" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar14 + -0x10) = 1;" (assignment_expression "*(undefined4 *)(puVar14 + -0x10) = 1" (pointer_expression "*(undefined4 *)(puVar14 + -0x10)" * (cast_expression "(undefined4 *)(puVar14 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x10)" ( (binary_expression "puVar14 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar14 + -0x14) = 0x11f73;" (assignment_expression "*(undefined4 *)(puVar14 + -0x14) = 0x11f73" (pointer_expression "*(undefined4 *)(puVar14 + -0x14)" * (cast_expression "(undefined4 *)(puVar14 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x14)" ( (binary_expression "puVar14 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "xexit();" (call_expression "xexit()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_00011f73:\n        *(undefined ***)(puVar15 + -4) = ppuVar4;" statement_identifier : (expression_statement "*(undefined ***)(puVar15 + -4) = ppuVar4;" (assignment_expression "*(undefined ***)(puVar15 + -4) = ppuVar4" (pointer_expression "*(undefined ***)(puVar15 + -4)" * (cast_expression "(undefined ***)(puVar15 + -4)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined4 *)(puVar15 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar15 + -8)" * (cast_expression "(undefined4 *)(puVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar15 + -0xc) = "%s: cannot get addresses from archive";" (assignment_expression "*(char **)(puVar15 + -0xc) = "%s: cannot get addresses from archive"" (pointer_expression "*(char **)(puVar15 + -0xc)" * (cast_expression "(char **)(puVar15 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = (string_literal ""%s: cannot get addresses from archive"" " string_content ")) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11f84;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11f84" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar7 = dcgettext();" (assignment_expression "uVar7 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined ***)(puVar15 + -0xc) = local_9c;" (assignment_expression "*(undefined ***)(puVar15 + -0xc) = local_9c" (pointer_expression "*(undefined ***)(puVar15 + -0xc)" * (cast_expression "(undefined ***)(puVar15 + -0xc)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = uVar7;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = uVar7" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11f92;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11f92" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000126c0();" (call_expression "FUN_000126c0()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar13 = puVar15 + -0x10;" (assignment_expression "puVar13 = puVar15 + -0x10" identifier = (binary_expression "puVar15 + -0x10" identifier + number_literal)) ;) (labeled_statement "LAB_00011f92:\n        puVar14 = puVar13;" statement_identifier : (expression_statement "puVar14 = puVar13;" (assignment_expression "puVar14 = puVar13" identifier = identifier) ;)) (expression_statement "*(undefined4 *)(puVar14 + -0x10) = local_88;" (assignment_expression "*(undefined4 *)(puVar14 + -0x10) = local_88" (pointer_expression "*(undefined4 *)(puVar14 + -0x10)" * (cast_expression "(undefined4 *)(puVar14 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x10)" ( (binary_expression "puVar14 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar14 + -0x14) = 0x11f9d;" (assignment_expression "*(undefined4 *)(puVar14 + -0x14) = 0x11f9d" (pointer_expression "*(undefined4 *)(puVar14 + -0x14)" * (cast_expression "(undefined4 *)(puVar14 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x14)" ( (binary_expression "puVar14 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00012770();" (call_expression "FUN_00012770()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar14 + -0x10) = local_88;" (assignment_expression "*(undefined4 *)(puVar14 + -0x10) = local_88" (pointer_expression "*(undefined4 *)(puVar14 + -0x10)" * (cast_expression "(undefined4 *)(puVar14 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x10)" ( (binary_expression "puVar14 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar14 + -0x14) = 0x11fa6;" (assignment_expression "*(undefined4 *)(puVar14 + -0x14) = 0x11fa6" (pointer_expression "*(undefined4 *)(puVar14 + -0x14)" * (cast_expression "(undefined4 *)(puVar14 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x14)" ( (binary_expression "puVar14 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)(puVar14 + -0x10));" (call_expression "free(*(void **)(puVar14 + -0x10))" identifier (argument_list "(*(void **)(puVar14 + -0x10))" ( (pointer_expression "*(void **)(puVar14 + -0x10)" * (cast_expression "(void **)(puVar14 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + -0x10)" ( (binary_expression "puVar14 + -0x10" identifier + number_literal) )))) ))) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "iVar3 = local_a8;" (assignment_expression "iVar3 = local_a8" identifier = identifier) ;) (if_statement "if ((local_a8 != 0) && (iVar3 = bfd_get_section_by_name(), iVar3 == 0)) goto LAB_00011f09;" if (parenthesized_expression "((local_a8 != 0) && (iVar3 = bfd_get_section_by_name(), iVar3 == 0))" ( (binary_expression "(local_a8 != 0) && (iVar3 = bfd_get_section_by_name(), iVar3 == 0)" (parenthesized_expression "(local_a8 != 0)" ( (binary_expression "local_a8 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar3 = bfd_get_section_by_name(), iVar3 == 0)" ( (comma_expression "iVar3 = bfd_get_section_by_name(), iVar3 == 0" (assignment_expression "iVar3 = bfd_get_section_by_name()" identifier = (call_expression "bfd_get_section_by_name()" identifier (argument_list "()" ( )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_00011f09;" goto statement_identifier ;)) (expression_statement "local_a8 = iVar3;" (assignment_expression "local_a8 = iVar3" identifier = identifier) ;) (if_statement "if ((*(byte *)((int)ppuVar4 + 0x29) & 2) == 0) goto LAB_00011862;" if (parenthesized_expression "((*(byte *)((int)ppuVar4 + 0x29) & 2) == 0)" ( (binary_expression "(*(byte *)((int)ppuVar4 + 0x29) & 2) == 0" (parenthesized_expression "(*(byte *)((int)ppuVar4 + 0x29) & 2)" ( (binary_expression "*(byte *)((int)ppuVar4 + 0x29) & 2" (pointer_expression "*(byte *)((int)ppuVar4 + 0x29)" * (cast_expression "(byte *)((int)ppuVar4 + 0x29)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppuVar4 + 0x29)" ( (binary_expression "(int)ppuVar4 + 0x29" (cast_expression "(int)ppuVar4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00011862;" goto statement_identifier ;)) (expression_statement "iVar3 = (**(code **)(ppuVar4[1] + 0x104))();" (assignment_expression "iVar3 = (**(code **)(ppuVar4[1] + 0x104))()" identifier = (call_expression "(**(code **)(ppuVar4[1] + 0x104))()" (parenthesized_expression "(**(code **)(ppuVar4[1] + 0x104))" ( (pointer_expression "**(code **)(ppuVar4[1] + 0x104)" * (pointer_expression "*(code **)(ppuVar4[1] + 0x104)" * (cast_expression "(code **)(ppuVar4[1] + 0x104)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(ppuVar4[1] + 0x104)" ( (binary_expression "ppuVar4[1] + 0x104" (subscript_expression "ppuVar4[1]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar3 == 0) {\n      iVar3 = (**(code **)(ppuVar4[1] + 0x1a8))();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\n      DAT_00018248 = (void *)xmalloc();\n      iVar3 = (**(code **)(ppuVar4[1] + 0x1ac))();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\nLAB_00011e91:\n      if (0 < iVar3) goto LAB_00011862;\n    }\n    else {\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\n      DAT_00018248 = (void *)xmalloc();\n      iVar3 = (**(code **)(ppuVar4[1] + 0x108))();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\n      if (iVar3 != 0) goto LAB_00011e91;\n      iVar3 = (**(code **)(ppuVar4[1] + 0x1a8))();\n      if (0 < iVar3) {\n        free(DAT_00018248);\n        DAT_00018248 = (void *)xmalloc();\n        iVar3 = (**(code **)(ppuVar4[1] + 0x1ac))();\n        goto LAB_00011e91;\n      }\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar3 = (**(code **)(ppuVar4[1] + 0x1a8))();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\n      DAT_00018248 = (void *)xmalloc();\n      iVar3 = (**(code **)(ppuVar4[1] + 0x1ac))();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\nLAB_00011e91:\n      if (0 < iVar3) goto LAB_00011862;\n    }" { (expression_statement "iVar3 = (**(code **)(ppuVar4[1] + 0x1a8))();" (assignment_expression "iVar3 = (**(code **)(ppuVar4[1] + 0x1a8))()" identifier = (call_expression "(**(code **)(ppuVar4[1] + 0x1a8))()" (parenthesized_expression "(**(code **)(ppuVar4[1] + 0x1a8))" ( (pointer_expression "**(code **)(ppuVar4[1] + 0x1a8)" * (pointer_expression "*(code **)(ppuVar4[1] + 0x1a8)" * (cast_expression "(code **)(ppuVar4[1] + 0x1a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(ppuVar4[1] + 0x1a8)" ( (binary_expression "ppuVar4[1] + 0x1a8" (subscript_expression "ppuVar4[1]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "puVar13 = (undefined1 *)&stack0xffffff40;" (assignment_expression "puVar13 = (undefined1 *)&stack0xffffff40" identifier = (cast_expression "(undefined1 *)&stack0xffffff40" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&stack0xffffff40" & identifier))) ;) (if_statement "if (iVar3 < 0) goto LAB_00011f3d;" if (parenthesized_expression "(iVar3 < 0)" ( (binary_expression "iVar3 < 0" identifier < number_literal) )) (goto_statement "goto LAB_00011f3d;" goto statement_identifier ;)) (expression_statement "DAT_00018248 = (void *)xmalloc();" (assignment_expression "DAT_00018248 = (void *)xmalloc()" identifier = (cast_expression "(void *)xmalloc()" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc()" identifier (argument_list "()" ( ))))) ;) (expression_statement "iVar3 = (**(code **)(ppuVar4[1] + 0x1ac))();" (assignment_expression "iVar3 = (**(code **)(ppuVar4[1] + 0x1ac))()" identifier = (call_expression "(**(code **)(ppuVar4[1] + 0x1ac))()" (parenthesized_expression "(**(code **)(ppuVar4[1] + 0x1ac))" ( (pointer_expression "**(code **)(ppuVar4[1] + 0x1ac)" * (pointer_expression "*(code **)(ppuVar4[1] + 0x1ac)" * (cast_expression "(code **)(ppuVar4[1] + 0x1ac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(ppuVar4[1] + 0x1ac)" ( (binary_expression "ppuVar4[1] + 0x1ac" (subscript_expression "ppuVar4[1]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "puVar13 = (undefined1 *)&stack0xffffff40;" (assignment_expression "puVar13 = (undefined1 *)&stack0xffffff40" identifier = (cast_expression "(undefined1 *)&stack0xffffff40" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&stack0xffffff40" & identifier))) ;) (if_statement "if (iVar3 < 0) goto LAB_00011f3d;" if (parenthesized_expression "(iVar3 < 0)" ( (binary_expression "iVar3 < 0" identifier < number_literal) )) (goto_statement "goto LAB_00011f3d;" goto statement_identifier ;)) (labeled_statement "LAB_00011e91:\n      if (0 < iVar3) goto LAB_00011862;" statement_identifier : (if_statement "if (0 < iVar3) goto LAB_00011862;" if (parenthesized_expression "(0 < iVar3)" ( (binary_expression "0 < iVar3" number_literal < identifier) )) (goto_statement "goto LAB_00011862;" goto statement_identifier ;))) }) (else_clause "else {\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\n      DAT_00018248 = (void *)xmalloc();\n      iVar3 = (**(code **)(ppuVar4[1] + 0x108))();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\n      if (iVar3 != 0) goto LAB_00011e91;\n      iVar3 = (**(code **)(ppuVar4[1] + 0x1a8))();\n      if (0 < iVar3) {\n        free(DAT_00018248);\n        DAT_00018248 = (void *)xmalloc();\n        iVar3 = (**(code **)(ppuVar4[1] + 0x1ac))();\n        goto LAB_00011e91;\n      }\n    }" else (compound_statement "{\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\n      DAT_00018248 = (void *)xmalloc();\n      iVar3 = (**(code **)(ppuVar4[1] + 0x108))();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\n      if (iVar3 != 0) goto LAB_00011e91;\n      iVar3 = (**(code **)(ppuVar4[1] + 0x1a8))();\n      if (0 < iVar3) {\n        free(DAT_00018248);\n        DAT_00018248 = (void *)xmalloc();\n        iVar3 = (**(code **)(ppuVar4[1] + 0x1ac))();\n        goto LAB_00011e91;\n      }\n    }" { (expression_statement "puVar13 = (undefined1 *)&stack0xffffff40;" (assignment_expression "puVar13 = (undefined1 *)&stack0xffffff40" identifier = (cast_expression "(undefined1 *)&stack0xffffff40" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&stack0xffffff40" & identifier))) ;) (if_statement "if (iVar3 < 0) goto LAB_00011f3d;" if (parenthesized_expression "(iVar3 < 0)" ( (binary_expression "iVar3 < 0" identifier < number_literal) )) (goto_statement "goto LAB_00011f3d;" goto statement_identifier ;)) (expression_statement "DAT_00018248 = (void *)xmalloc();" (assignment_expression "DAT_00018248 = (void *)xmalloc()" identifier = (cast_expression "(void *)xmalloc()" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc()" identifier (argument_list "()" ( ))))) ;) (expression_statement "iVar3 = (**(code **)(ppuVar4[1] + 0x108))();" (assignment_expression "iVar3 = (**(code **)(ppuVar4[1] + 0x108))()" identifier = (call_expression "(**(code **)(ppuVar4[1] + 0x108))()" (parenthesized_expression "(**(code **)(ppuVar4[1] + 0x108))" ( (pointer_expression "**(code **)(ppuVar4[1] + 0x108)" * (pointer_expression "*(code **)(ppuVar4[1] + 0x108)" * (cast_expression "(code **)(ppuVar4[1] + 0x108)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(ppuVar4[1] + 0x108)" ( (binary_expression "ppuVar4[1] + 0x108" (subscript_expression "ppuVar4[1]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "puVar13 = (undefined1 *)&stack0xffffff40;" (assignment_expression "puVar13 = (undefined1 *)&stack0xffffff40" identifier = (cast_expression "(undefined1 *)&stack0xffffff40" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&stack0xffffff40" & identifier))) ;) (if_statement "if (iVar3 < 0) goto LAB_00011f3d;" if (parenthesized_expression "(iVar3 < 0)" ( (binary_expression "iVar3 < 0" identifier < number_literal) )) (goto_statement "goto LAB_00011f3d;" goto statement_identifier ;)) (if_statement "if (iVar3 != 0) goto LAB_00011e91;" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00011e91;" goto statement_identifier ;)) (expression_statement "iVar3 = (**(code **)(ppuVar4[1] + 0x1a8))();" (assignment_expression "iVar3 = (**(code **)(ppuVar4[1] + 0x1a8))()" identifier = (call_expression "(**(code **)(ppuVar4[1] + 0x1a8))()" (parenthesized_expression "(**(code **)(ppuVar4[1] + 0x1a8))" ( (pointer_expression "**(code **)(ppuVar4[1] + 0x1a8)" * (pointer_expression "*(code **)(ppuVar4[1] + 0x1a8)" * (cast_expression "(code **)(ppuVar4[1] + 0x1a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(ppuVar4[1] + 0x1a8)" ( (binary_expression "ppuVar4[1] + 0x1a8" (subscript_expression "ppuVar4[1]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (0 < iVar3) {\n        free(DAT_00018248);\n        DAT_00018248 = (void *)xmalloc();\n        iVar3 = (**(code **)(ppuVar4[1] + 0x1ac))();\n        goto LAB_00011e91;\n      }" if (parenthesized_expression "(0 < iVar3)" ( (binary_expression "0 < iVar3" number_literal < identifier) )) (compound_statement "{\n        free(DAT_00018248);\n        DAT_00018248 = (void *)xmalloc();\n        iVar3 = (**(code **)(ppuVar4[1] + 0x1ac))();\n        goto LAB_00011e91;\n      }" { (expression_statement "free(DAT_00018248);" (call_expression "free(DAT_00018248)" identifier (argument_list "(DAT_00018248)" ( identifier ))) ;) (expression_statement "DAT_00018248 = (void *)xmalloc();" (assignment_expression "DAT_00018248 = (void *)xmalloc()" identifier = (cast_expression "(void *)xmalloc()" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc()" identifier (argument_list "()" ( ))))) ;) (expression_statement "iVar3 = (**(code **)(ppuVar4[1] + 0x1ac))();" (assignment_expression "iVar3 = (**(code **)(ppuVar4[1] + 0x1ac))()" identifier = (call_expression "(**(code **)(ppuVar4[1] + 0x1ac))()" (parenthesized_expression "(**(code **)(ppuVar4[1] + 0x1ac))" ( (pointer_expression "**(code **)(ppuVar4[1] + 0x1ac)" * (pointer_expression "*(code **)(ppuVar4[1] + 0x1ac)" * (cast_expression "(code **)(ppuVar4[1] + 0x1ac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(ppuVar4[1] + 0x1ac)" ( (binary_expression "ppuVar4[1] + 0x1ac" (subscript_expression "ppuVar4[1]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "()" ( )))) ;) (goto_statement "goto LAB_00011e91;" goto statement_identifier ;) })) }))) (expression_statement "free(DAT_00018248);" (call_expression "free(DAT_00018248)" identifier (argument_list "(DAT_00018248)" ( identifier ))) ;) (expression_statement "DAT_00018248 = (void *)0x0;" (assignment_expression "DAT_00018248 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_00011862:\n    local_ac = DAT_00018250;" statement_identifier : (expression_statement "local_ac = DAT_00018250;" (assignment_expression "local_ac = DAT_00018250" identifier = identifier) ;)) (expression_statement "local_bc = (undefined4 *)PTR_stdin_00017fec;" (assignment_expression "local_bc = (undefined4 *)PTR_stdin_00017fec" identifier = (cast_expression "(undefined4 *)PTR_stdin_00017fec" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "local_b0 = (int *)PTR_stdout_00017ff0;" (assignment_expression "local_b0 = (int *)PTR_stdout_00017ff0" identifier = (cast_expression "(int *)PTR_stdout_00017ff0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "local_9c = ppuVar4;" (assignment_expression "local_9c = ppuVar4" identifier = identifier) ;) (goto_statement "goto LAB_000119df;" goto statement_identifier ;) })) (switch_statement "switch(iVar3) {\n  case 0:\n    goto code_r0x000115d8;\n  default:\n    break;\n  case 0x43:\n    DAT_0001825c = 1;\n    local_a0 = PTR_optarg_00017ffc;\n    if (*(int *)PTR_optarg_00017ffc != 0) {\n      iVar3 = func_0x00011040();\n      uVar19 = CONCAT44(local_a0,iVar3);\n      if (iVar3 == 0) goto code_r0x00011eed;\n      func_0x000110d0();\n    }\n    goto code_r0x000115d8;\n  case 0x48:\n  case 0x68:\n    FUN_00012130();\n    break;\n  case 0x56:\n  case 0x76:\n    FUN_00013310();\n    goto code_r0x000115d8;\n  case 0x61:\n    DAT_00018264 = 1;\n    goto code_r0x000115d8;\n  case 0x62:\n    local_a4 = *(int **)PTR_optarg_00017ffc;\n    goto code_r0x000115d8;\n  case 0x65:\n    local_9c = (undefined **)*local_b0;\n    goto code_r0x000115d8;\n  case 0x66:\n    DAT_00018260 = 1;\n    goto code_r0x000115d8;\n  case 0x69:\n    DAT_00018268 = 1;\n    goto code_r0x000115d8;\n  case 0x6a:\n    local_a8 = *local_ac;\n    goto code_r0x000115d8;\n  case 0x70:\n    DAT_00018258 = 1;\n    goto code_r0x000115d8;\n  case 0x73:\n    DAT_00018254 = 1;\n    goto code_r0x000115d8;\n  }" switch (parenthesized_expression "(iVar3)" ( identifier )) (compound_statement "{\n  case 0:\n    goto code_r0x000115d8;\n  default:\n    break;\n  case 0x43:\n    DAT_0001825c = 1;\n    local_a0 = PTR_optarg_00017ffc;\n    if (*(int *)PTR_optarg_00017ffc != 0) {\n      iVar3 = func_0x00011040();\n      uVar19 = CONCAT44(local_a0,iVar3);\n      if (iVar3 == 0) goto code_r0x00011eed;\n      func_0x000110d0();\n    }\n    goto code_r0x000115d8;\n  case 0x48:\n  case 0x68:\n    FUN_00012130();\n    break;\n  case 0x56:\n  case 0x76:\n    FUN_00013310();\n    goto code_r0x000115d8;\n  case 0x61:\n    DAT_00018264 = 1;\n    goto code_r0x000115d8;\n  case 0x62:\n    local_a4 = *(int **)PTR_optarg_00017ffc;\n    goto code_r0x000115d8;\n  case 0x65:\n    local_9c = (undefined **)*local_b0;\n    goto code_r0x000115d8;\n  case 0x66:\n    DAT_00018260 = 1;\n    goto code_r0x000115d8;\n  case 0x69:\n    DAT_00018268 = 1;\n    goto code_r0x000115d8;\n  case 0x6a:\n    local_a8 = *local_ac;\n    goto code_r0x000115d8;\n  case 0x70:\n    DAT_00018258 = 1;\n    goto code_r0x000115d8;\n  case 0x73:\n    DAT_00018254 = 1;\n    goto code_r0x000115d8;\n  }" { (case_statement "case 0:\n    goto code_r0x000115d8;" case number_literal : (goto_statement "goto code_r0x000115d8;" goto statement_identifier ;)) (case_statement "default:\n    break;" default : (break_statement "break;" break ;)) (case_statement "case 0x43:\n    DAT_0001825c = 1;\n    local_a0 = PTR_optarg_00017ffc;\n    if (*(int *)PTR_optarg_00017ffc != 0) {\n      iVar3 = func_0x00011040();\n      uVar19 = CONCAT44(local_a0,iVar3);\n      if (iVar3 == 0) goto code_r0x00011eed;\n      func_0x000110d0();\n    }\n    goto code_r0x000115d8;" case number_literal : (expression_statement "DAT_0001825c = 1;" (assignment_expression "DAT_0001825c = 1" identifier = number_literal) ;) (expression_statement "local_a0 = PTR_optarg_00017ffc;" (assignment_expression "local_a0 = PTR_optarg_00017ffc" identifier = identifier) ;) (if_statement "if (*(int *)PTR_optarg_00017ffc != 0) {\n      iVar3 = func_0x00011040();\n      uVar19 = CONCAT44(local_a0,iVar3);\n      if (iVar3 == 0) goto code_r0x00011eed;\n      func_0x000110d0();\n    }" if (parenthesized_expression "(*(int *)PTR_optarg_00017ffc != 0)" ( (binary_expression "*(int *)PTR_optarg_00017ffc != 0" (pointer_expression "*(int *)PTR_optarg_00017ffc" * (cast_expression "(int *)PTR_optarg_00017ffc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) )) (compound_statement "{\n      iVar3 = func_0x00011040();\n      uVar19 = CONCAT44(local_a0,iVar3);\n      if (iVar3 == 0) goto code_r0x00011eed;\n      func_0x000110d0();\n    }" { (expression_statement "iVar3 = func_0x00011040();" (assignment_expression "iVar3 = func_0x00011040()" identifier = (call_expression "func_0x00011040()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar19 = CONCAT44(local_a0,iVar3);" (assignment_expression "uVar19 = CONCAT44(local_a0,iVar3)" identifier = (call_expression "CONCAT44(local_a0,iVar3)" identifier (argument_list "(local_a0,iVar3)" ( identifier , identifier )))) ;) (if_statement "if (iVar3 == 0) goto code_r0x00011eed;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (goto_statement "goto code_r0x00011eed;" goto statement_identifier ;)) (expression_statement "func_0x000110d0();" (call_expression "func_0x000110d0()" identifier (argument_list "()" ( ))) ;) })) (goto_statement "goto code_r0x000115d8;" goto statement_identifier ;)) (case_statement "case 0x48:" case number_literal :) (case_statement "case 0x68:\n    FUN_00012130();\n    break;" case number_literal : (expression_statement "FUN_00012130();" (call_expression "FUN_00012130()" identifier (argument_list "()" ( ))) ;) (break_statement "break;" break ;)) (case_statement "case 0x56:" case number_literal :) (case_statement "case 0x76:\n    FUN_00013310();\n    goto code_r0x000115d8;" case number_literal : (expression_statement "FUN_00013310();" (call_expression "FUN_00013310()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto code_r0x000115d8;" goto statement_identifier ;)) (case_statement "case 0x61:\n    DAT_00018264 = 1;\n    goto code_r0x000115d8;" case number_literal : (expression_statement "DAT_00018264 = 1;" (assignment_expression "DAT_00018264 = 1" identifier = number_literal) ;) (goto_statement "goto code_r0x000115d8;" goto statement_identifier ;)) (case_statement "case 0x62:\n    local_a4 = *(int **)PTR_optarg_00017ffc;\n    goto code_r0x000115d8;" case number_literal : (expression_statement "local_a4 = *(int **)PTR_optarg_00017ffc;" (assignment_expression "local_a4 = *(int **)PTR_optarg_00017ffc" identifier = (pointer_expression "*(int **)PTR_optarg_00017ffc" * (cast_expression "(int **)PTR_optarg_00017ffc" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (goto_statement "goto code_r0x000115d8;" goto statement_identifier ;)) (case_statement "case 0x65:\n    local_9c = (undefined **)*local_b0;\n    goto code_r0x000115d8;" case number_literal : (expression_statement "local_9c = (undefined **)*local_b0;" (assignment_expression "local_9c = (undefined **)*local_b0" identifier = (cast_expression "(undefined **)*local_b0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*local_b0" * identifier))) ;) (goto_statement "goto code_r0x000115d8;" goto statement_identifier ;)) (case_statement "case 0x66:\n    DAT_00018260 = 1;\n    goto code_r0x000115d8;" case number_literal : (expression_statement "DAT_00018260 = 1;" (assignment_expression "DAT_00018260 = 1" identifier = number_literal) ;) (goto_statement "goto code_r0x000115d8;" goto statement_identifier ;)) (case_statement "case 0x69:\n    DAT_00018268 = 1;\n    goto code_r0x000115d8;" case number_literal : (expression_statement "DAT_00018268 = 1;" (assignment_expression "DAT_00018268 = 1" identifier = number_literal) ;) (goto_statement "goto code_r0x000115d8;" goto statement_identifier ;)) (case_statement "case 0x6a:\n    local_a8 = *local_ac;\n    goto code_r0x000115d8;" case number_literal : (expression_statement "local_a8 = *local_ac;" (assignment_expression "local_a8 = *local_ac" identifier = (pointer_expression "*local_ac" * identifier)) ;) (goto_statement "goto code_r0x000115d8;" goto statement_identifier ;)) (case_statement "case 0x70:\n    DAT_00018258 = 1;\n    goto code_r0x000115d8;" case number_literal : (expression_statement "DAT_00018258 = 1;" (assignment_expression "DAT_00018258 = 1" identifier = number_literal) ;) (goto_statement "goto code_r0x000115d8;" goto statement_identifier ;)) (case_statement "case 0x73:\n    DAT_00018254 = 1;\n    goto code_r0x000115d8;" case number_literal : (expression_statement "DAT_00018254 = 1;" (assignment_expression "DAT_00018254 = 1" identifier = number_literal) ;) (goto_statement "goto code_r0x000115d8;" goto statement_identifier ;)) })) (expression_statement "uVar19 = FUN_00012130();" (assignment_expression "uVar19 = FUN_00012130()" identifier = (call_expression "FUN_00012130()" identifier (argument_list "()" ( )))) ;) (labeled_statement "code_r0x00011eed:\n  puVar17 = (undefined4 *)*(int *)((ulonglong)uVar19 >> 0x20);" statement_identifier : (expression_statement "puVar17 = (undefined4 *)*(int *)((ulonglong)uVar19 >> 0x20);" (assignment_expression "puVar17 = (undefined4 *)*(int *)((ulonglong)uVar19 >> 0x20)" identifier = (cast_expression "(undefined4 *)*(int *)((ulonglong)uVar19 >> 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*(int *)((ulonglong)uVar19 >> 0x20)" * (cast_expression "(int *)((ulonglong)uVar19 >> 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulonglong)uVar19 >> 0x20)" ( (binary_expression "(ulonglong)uVar19 >> 0x20" (cast_expression "(ulonglong)uVar19" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))))) ;)) (expression_statement "dcgettext();" (call_expression "dcgettext()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar11 = &stack0xffffff30;" (assignment_expression "puVar11 = &stack0xffffff30" identifier = (pointer_expression "&stack0xffffff30" & identifier)) ;) (expression_statement "FUN_000126c0();" (call_expression "FUN_000126c0()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_00011f09:\n  *(undefined4 **)(puVar11 + -4) = puVar17;" statement_identifier : (expression_statement "*(undefined4 **)(puVar11 + -4) = puVar17;" (assignment_expression "*(undefined4 **)(puVar11 + -4) = puVar17" (pointer_expression "*(undefined4 **)(puVar11 + -4)" * (cast_expression "(undefined4 **)(puVar11 + -4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + -4)" ( (binary_expression "puVar11 + -4" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined4 *)(puVar11 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar11 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar11 + -8)" * (cast_expression "(undefined4 *)(puVar11 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + -8)" ( (binary_expression "puVar11 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar11 + -0xc) = "%s: cannot find section %s";" (assignment_expression "*(char **)(puVar11 + -0xc) = "%s: cannot find section %s"" (pointer_expression "*(char **)(puVar11 + -0xc)" * (cast_expression "(char **)(puVar11 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + -0xc)" ( (binary_expression "puVar11 + -0xc" identifier + number_literal) )))) = (string_literal ""%s: cannot find section %s"" " string_content ")) ;) (expression_statement "*(undefined4 *)(puVar11 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar11 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar11 + -0x10)" * (cast_expression "(undefined4 *)(puVar11 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + -0x10)" ( (binary_expression "puVar11 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar11 + -0x14) = 0x11f1a;" (assignment_expression "*(undefined4 *)(puVar11 + -0x14) = 0x11f1a" (pointer_expression "*(undefined4 *)(puVar11 + -0x14)" * (cast_expression "(undefined4 *)(puVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + -0x14)" ( (binary_expression "puVar11 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar7 = dcgettext();" (assignment_expression "uVar7 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int *)(puVar11 + -8) = local_a8;" (assignment_expression "*(int *)(puVar11 + -8) = local_a8" (pointer_expression "*(int *)(puVar11 + -8)" * (cast_expression "(int *)(puVar11 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + -8)" ( (binary_expression "puVar11 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar11 + -0xc) = local_9c;" (assignment_expression "*(undefined ***)(puVar11 + -0xc) = local_9c" (pointer_expression "*(undefined ***)(puVar11 + -0xc)" * (cast_expression "(undefined ***)(puVar11 + -0xc)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar11 + -0xc)" ( (binary_expression "puVar11 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar12 = puVar11 + -0x10;" (assignment_expression "puVar12 = puVar11 + -0x10" identifier = (binary_expression "puVar11 + -0x10" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar11 + -0x10) = uVar7;" (assignment_expression "*(undefined4 *)(puVar11 + -0x10) = uVar7" (pointer_expression "*(undefined4 *)(puVar11 + -0x10)" * (cast_expression "(undefined4 *)(puVar11 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + -0x10)" ( (binary_expression "puVar11 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar11 + -0x14) = 0x11f2f;" (assignment_expression "*(undefined4 *)(puVar11 + -0x14) = 0x11f2f" (pointer_expression "*(undefined4 *)(puVar11 + -0x14)" * (cast_expression "(undefined4 *)(puVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + -0x14)" ( (binary_expression "puVar11 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000126c0();" (call_expression "FUN_000126c0()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_00011f2f:\n  *(undefined ***)(puVar12 + -0x10) = local_9c;" statement_identifier : (expression_statement "*(undefined ***)(puVar12 + -0x10) = local_9c;" (assignment_expression "*(undefined ***)(puVar12 + -0x10) = local_9c" (pointer_expression "*(undefined ***)(puVar12 + -0x10)" * (cast_expression "(undefined ***)(puVar12 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar12 + -0x10)" ( (binary_expression "puVar12 + -0x10" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined4 *)(puVar12 + -0x14) = 0x11f3d;" (assignment_expression "*(undefined4 *)(puVar12 + -0x14) = 0x11f3d" (pointer_expression "*(undefined4 *)(puVar12 + -0x14)" * (cast_expression "(undefined4 *)(puVar12 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + -0x14)" ( (binary_expression "puVar12 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00012630();" (call_expression "FUN_00012630()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar13 = puVar12 + -0x10;" (assignment_expression "puVar13 = puVar12 + -0x10" identifier = (binary_expression "puVar12 + -0x10" identifier + number_literal)) ;) (labeled_statement "LAB_00011f3d:\n  puVar10 = puVar13 + -0x10;" statement_identifier : (expression_statement "puVar10 = puVar13 + -0x10;" (assignment_expression "puVar10 = puVar13 + -0x10" identifier = (binary_expression "puVar13 + -0x10" identifier + number_literal)) ;)) (expression_statement "*(undefined **)(puVar13 + -0x10) = *ppuVar4;" (assignment_expression "*(undefined **)(puVar13 + -0x10) = *ppuVar4" (pointer_expression "*(undefined **)(puVar13 + -0x10)" * (cast_expression "(undefined **)(puVar13 + -0x10)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar13 + -0x10)" ( (binary_expression "puVar13 + -0x10" identifier + number_literal) )))) = (pointer_expression "*ppuVar4" * identifier)) ;) (expression_statement "*(undefined4 *)(puVar13 + -0x14) = 0x11f47;" (assignment_expression "*(undefined4 *)(puVar13 + -0x14) = 0x11f47" (pointer_expression "*(undefined4 *)(puVar13 + -0x14)" * (cast_expression "(undefined4 *)(puVar13 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + -0x14)" ( (binary_expression "puVar13 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00012630();" (call_expression "FUN_00012630()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_000119cc:\n  do {\n    local_9c = ppuVar4;\n    *(int *)(puVar10 + -0x10) = *local_a4;\n    *(undefined4 *)(puVar10 + -0x14) = 0x119dc;\n    fflush(*(FILE **)(puVar10 + -0x10));\nLAB_000119df:\n    if (local_ac == (int *)0x0) {\n      *(undefined4 *)(puVar10 + -8) = *local_bc;\n      *(undefined4 *)(puVar10 + -0xc) = 100;\n      *(undefined1 **)(puVar10 + -0x10) = local_84;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11a03;\n      pcVar5 = fgets(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc),*(FILE **)(puVar10 + -8));\n      if (pcVar5 == (char *)0x0) {\nLAB_00011e02:\n        ppuVar4 = local_9c;\n        if (DAT_00018248 != (void *)0x0) {\n          *(void **)(puVar10 + -0x10) = DAT_00018248;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11e1b;\n          free(*(void **)(puVar10 + -0x10));\n          DAT_00018248 = (void *)0x0;\n        }\n        *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11e31;\n        bfd_close();\n        return local_c0;\n      }\n      *(undefined4 *)(puVar10 + -8) = 0x10;\n      *(undefined4 *)(puVar10 + -0xc) = 0;\n      *(undefined1 **)(puVar10 + -0x10) = local_84;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11a1b;\n      uVar19 = bfd_scan_vma();\n      puVar2 = local_9c[1];\n      iVar3 = *(int *)(puVar2 + 4);\n    }\n    else {\n      if ((int)DAT_00018250 < 1) goto LAB_00011e02;\n      DAT_00018250 = (int *)((int)DAT_00018250 + -1);\n      *(undefined4 *)(puVar10 + -8) = 0x10;\n      *(undefined4 *)(puVar10 + -0xc) = 0;\n      *(undefined4 *)(puVar10 + -0x10) = *DAT_0001824c;\n      *(undefined4 *)(puVar10 + -0x14) = 0x118cc;\n      DAT_0001824c = DAT_0001824c + 1;\n      uVar19 = bfd_scan_vma();\n      puVar2 = local_9c[1];\n      iVar3 = *(int *)(puVar2 + 4);\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    if (iVar3 == 5) {\n      bVar8 = *(char *)(*(int *)(*(int *)(puVar2 + 0x1c0) + 0x19c) + 10) - 1;\n      pcVar5 = (char *)(1 << (bVar8 & 0x1f));\n      local_98 = pcVar5;\n      local_94 = (char *)(0 << (bVar8 & 0x1f) | 1U >> 0x20 - (bVar8 & 0x1f));\n      if ((bVar8 & 0x20) != 0) {\n        local_98 = (char *)0x0;\n        local_94 = pcVar5;\n      }\n      uVar9 = DAT_00018240 & (int)local_98 * 2 - 1U;\n      uVar18 = DAT_00018244 &\n               (((int)local_94 << 1 | (uint)local_98 >> 0x1f) - 1) + (uint)((int)local_98 * 2 != 0);\n      uVar19 = CONCAT44(uVar18,uVar9);\n      if ((*(byte *)(*(int *)(puVar2 + 0x1c0) + 0x1e9) & 1) != 0) {\n        local_b8 = (char *)(uVar9 ^ (uint)local_98);\n        local_b4 = uVar18 ^ (uint)local_94;\n        uVar19 = CONCAT44((local_b4 - (int)local_94) - (uint)(local_b8 < local_98),\n                          (int)local_b8 - (int)local_98);\n      }\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    local_a4 = local_b0;\n    if (DAT_00018264 != 0) {\n      *(undefined **)(puVar10 + -0x10) = &DAT_00015431;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11aff;\n      printf(*(char **)(puVar10 + -0x10));\n      local_a4 = (int *)PTR_stdout_00017ff0;\n      *(uint *)(puVar10 + -0x14) = DAT_00018244;\n      *(uint *)(puVar10 + -0x18) = DAT_00018240;\n      *(undefined4 *)(puVar10 + -0x1c) = *(undefined4 *)PTR_stdout_00017ff0;\n      *(undefined ***)(puVar10 + -0x20) = local_9c;\n      *(undefined4 *)(puVar10 + -0x24) = 0x11b24;\n      bfd_fprintf_vma();\n      if (DAT_00018258 == 0) {\n        *(undefined4 *)(puVar10 + -0x10) = 10;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11dfa;\n        putchar(*(int *)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n      else {\n        *(undefined **)(puVar10 + -0x10) = &DAT_00015702;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11b44;\n        printf(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    DAT_00018228 = 0;\n    if (local_a8 == 0) {\n      *(undefined4 *)(puVar10 + -8) = 0;\n      *(code **)(puVar10 + -0xc) = FUN_00012210;\n      *(undefined ***)(puVar10 + -0x10) = local_9c;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11b67;\n      bfd_map_over_sections();\n      ppuVar4 = local_9c;\njoined_r0x00011b72:\n      uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      local_9c = ppuVar4;\n      if (DAT_00018228 != 0) {\n        local_a0 = &DAT_00015442;\n        local_98 = "??";\n        do {\n          local_9c = (undefined **)0x15817;\n          do {\n            pcVar5 = DAT_00018234;\n            if (DAT_00018260 != 0) {\n              pcVar6 = local_98;\n              pcVar16 = DAT_00018234;\n              if (DAT_00018234 != (char *)0x0) {\n                if (*DAT_00018234 == '\0') {\n                  pcVar16 = (char *)0x0;\n                }\n                else {\n                  if (DAT_0001825c != 0) {\n                    *(undefined4 *)(puVar10 + -8) = 3;\n                    *(char **)(puVar10 + -0xc) = DAT_00018234;\n                    *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n                    *(undefined4 *)(puVar10 + -0x14) = 0x11db4;\n                    pcVar6 = (char *)bfd_demangle();\n                    pcVar16 = pcVar6;\n                    if (pcVar6 != (char *)0x0) goto LAB_00011bdd;\n                  }\n                  pcVar6 = pcVar5;\n                  pcVar16 = (char *)0x0;\n                }\n              }\nLAB_00011bdd:\n              *(char **)(puVar10 + -0xc) = pcVar6;\n              *(undefined ***)(puVar10 + -0x10) = local_9c;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11bec;\n              printf(*(char **)(puVar10 + -0x10));\n              if (DAT_00018258 == 0) {\n                *(undefined4 *)(puVar10 + -0x10) = 10;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11d8a;\n                putchar(*(int *)(puVar10 + -0x10));\n              }\n              else {\n                *(undefined4 *)(puVar10 + -8) = 5;\n                *(undefined **)(puVar10 + -0xc) = &DAT_0001543d;\n                *(undefined4 *)(puVar10 + -0x10) = 0;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c10;\n                uVar7 = dcgettext();\n                *(undefined4 *)(puVar10 + -0x10) = uVar7;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c18;\n                printf(*(char **)(puVar10 + -0x10));\n              }\n              if (pcVar16 != (char *)0x0) {\n                *(char **)(puVar10 + -0x10) = pcVar16;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c28;\n                free(*(void **)(puVar10 + -0x10));\n              }\n            }\n            pcVar5 = DAT_00018238;\n            if (DAT_00018254 == 0) {\nLAB_00011c5e:\n              pcVar5 = DAT_00018238;\n              if (DAT_00018238 == (char *)0x0) {\nLAB_00011d70:\n                pcVar5 = local_98;\n              }\n            }\n            else {\n              if (DAT_00018238 == (char *)0x0) goto LAB_00011d70;\n              *(undefined4 *)(puVar10 + -0xc) = 0x2f;\n              *(char **)(puVar10 + -0x10) = DAT_00018238;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11c4e;\n              pcVar6 = strrchr(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc));\n              if (pcVar6 != (char *)0x0) {\n                DAT_00018238 = pcVar6 + 1;\n                goto LAB_00011c5e;\n              }\n            }\n            *(char **)(puVar10 + -0xc) = pcVar5;\n            *(undefined **)(puVar10 + -0x10) = local_a0;\n            *(undefined4 *)(puVar10 + -0x14) = 0x11c75;\n            printf(*(char **)(puVar10 + -0x10));\n            if (DAT_00018230 == 0) {\n              *(undefined **)(puVar10 + -0x10) = &DAT_000153c0;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d5f;\n              puts(*(char **)(puVar10 + -0x10));\n            }\n            else if (DAT_0001822c == 0) {\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(undefined **)(puVar10 + -0x10) = &DAT_0001545d;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d48;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            else {\n              *(int *)(puVar10 + -8) = DAT_0001822c;\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(char **)(puVar10 + -0x10) = "%u (discriminator %u)\n";\n              *(undefined4 *)(puVar10 + -0x14) = 0x11ca5;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            if (DAT_00018268 == 0) {\n              DAT_00018228 = 0;\n              goto LAB_000119cc;\n            }\n            puVar2 = ppuVar4[1];\n            *(int **)(puVar10 + -4) = &DAT_00018230;\n            *(char ***)(puVar10 + -8) = &DAT_00018234;\n            *(char ***)(puVar10 + -0xc) = &DAT_00018238;\n            *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n            pcVar1 = *(code **)(puVar2 + 0x130);\n            *(undefined4 *)(puVar10 + -0x14) = 0x11cef;\n            DAT_00018228 = (*pcVar1)();\n            if (DAT_00018228 == 0) goto LAB_000119cc;\n          } while (DAT_00018258 == 0);\n          *(undefined4 *)(puVar10 + -8) = 5;\n          *(char **)(puVar10 + -0xc) = " (inlined by) ";\n          *(undefined4 *)(puVar10 + -0x10) = 0;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11d21;\n          uVar7 = dcgettext();\n          *(undefined4 *)(puVar10 + -0x10) = uVar7;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11d29;\n          printf(*(char **)(puVar10 + -0x10));\n        } while( true );\n      }\n    }\n    else if (((*(byte *)(local_a8 + 0x14) & 1) != 0) &&\n            (DAT_00018244 < *(uint *)(local_a8 + 0x30) ||\n             DAT_00018244 - *(uint *)(local_a8 + 0x30) <\n             (uint)(DAT_00018240 < *(uint *)(local_a8 + 0x2c)))) {\n      puVar2 = local_9c[1];\n      *(int **)(puVar10 + -0x10) = &DAT_0001822c;\n      *(int **)(puVar10 + -0x14) = &DAT_00018230;\n      *(char ***)(puVar10 + -0x18) = &DAT_00018234;\n      *(char ***)(puVar10 + -0x1c) = &DAT_00018238;\n      *(undefined8 *)(puVar10 + -0x24) = uVar19;\n      *(int *)(puVar10 + -0x28) = local_a8;\n      *(void **)(puVar10 + -0x2c) = DAT_00018248;\n      *(undefined ***)(puVar10 + -0x30) = local_9c;\n      pcVar1 = *(code **)(puVar2 + 0x128);\n      *(undefined4 *)(puVar10 + -0x34) = 0x1197f;\n      DAT_00018228 = (*pcVar1)();\n      ppuVar4 = local_9c;\n      goto joined_r0x00011b72;\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    if (DAT_00018260 != 0) {\n      if (DAT_00018258 == 0) {\n        *(undefined **)(puVar10 + -0x10) = &DAT_000153bf;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11ddf;\n        puts(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n      else {\n        *(undefined **)(puVar10 + -0x10) = &DAT_00015434;\n        *(undefined4 *)(puVar10 + -0x14) = 0x119b7;\n        printf(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    *(undefined **)(puVar10 + -0x10) = &DAT_00015438;\n    *(undefined4 *)(puVar10 + -0x14) = 0x119c9;\n    puts(*(char **)(puVar10 + -0x10));\n    ppuVar4 = local_9c;\n  } while( true );" statement_identifier : (do_statement "do {\n    local_9c = ppuVar4;\n    *(int *)(puVar10 + -0x10) = *local_a4;\n    *(undefined4 *)(puVar10 + -0x14) = 0x119dc;\n    fflush(*(FILE **)(puVar10 + -0x10));\nLAB_000119df:\n    if (local_ac == (int *)0x0) {\n      *(undefined4 *)(puVar10 + -8) = *local_bc;\n      *(undefined4 *)(puVar10 + -0xc) = 100;\n      *(undefined1 **)(puVar10 + -0x10) = local_84;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11a03;\n      pcVar5 = fgets(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc),*(FILE **)(puVar10 + -8));\n      if (pcVar5 == (char *)0x0) {\nLAB_00011e02:\n        ppuVar4 = local_9c;\n        if (DAT_00018248 != (void *)0x0) {\n          *(void **)(puVar10 + -0x10) = DAT_00018248;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11e1b;\n          free(*(void **)(puVar10 + -0x10));\n          DAT_00018248 = (void *)0x0;\n        }\n        *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11e31;\n        bfd_close();\n        return local_c0;\n      }\n      *(undefined4 *)(puVar10 + -8) = 0x10;\n      *(undefined4 *)(puVar10 + -0xc) = 0;\n      *(undefined1 **)(puVar10 + -0x10) = local_84;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11a1b;\n      uVar19 = bfd_scan_vma();\n      puVar2 = local_9c[1];\n      iVar3 = *(int *)(puVar2 + 4);\n    }\n    else {\n      if ((int)DAT_00018250 < 1) goto LAB_00011e02;\n      DAT_00018250 = (int *)((int)DAT_00018250 + -1);\n      *(undefined4 *)(puVar10 + -8) = 0x10;\n      *(undefined4 *)(puVar10 + -0xc) = 0;\n      *(undefined4 *)(puVar10 + -0x10) = *DAT_0001824c;\n      *(undefined4 *)(puVar10 + -0x14) = 0x118cc;\n      DAT_0001824c = DAT_0001824c + 1;\n      uVar19 = bfd_scan_vma();\n      puVar2 = local_9c[1];\n      iVar3 = *(int *)(puVar2 + 4);\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    if (iVar3 == 5) {\n      bVar8 = *(char *)(*(int *)(*(int *)(puVar2 + 0x1c0) + 0x19c) + 10) - 1;\n      pcVar5 = (char *)(1 << (bVar8 & 0x1f));\n      local_98 = pcVar5;\n      local_94 = (char *)(0 << (bVar8 & 0x1f) | 1U >> 0x20 - (bVar8 & 0x1f));\n      if ((bVar8 & 0x20) != 0) {\n        local_98 = (char *)0x0;\n        local_94 = pcVar5;\n      }\n      uVar9 = DAT_00018240 & (int)local_98 * 2 - 1U;\n      uVar18 = DAT_00018244 &\n               (((int)local_94 << 1 | (uint)local_98 >> 0x1f) - 1) + (uint)((int)local_98 * 2 != 0);\n      uVar19 = CONCAT44(uVar18,uVar9);\n      if ((*(byte *)(*(int *)(puVar2 + 0x1c0) + 0x1e9) & 1) != 0) {\n        local_b8 = (char *)(uVar9 ^ (uint)local_98);\n        local_b4 = uVar18 ^ (uint)local_94;\n        uVar19 = CONCAT44((local_b4 - (int)local_94) - (uint)(local_b8 < local_98),\n                          (int)local_b8 - (int)local_98);\n      }\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    local_a4 = local_b0;\n    if (DAT_00018264 != 0) {\n      *(undefined **)(puVar10 + -0x10) = &DAT_00015431;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11aff;\n      printf(*(char **)(puVar10 + -0x10));\n      local_a4 = (int *)PTR_stdout_00017ff0;\n      *(uint *)(puVar10 + -0x14) = DAT_00018244;\n      *(uint *)(puVar10 + -0x18) = DAT_00018240;\n      *(undefined4 *)(puVar10 + -0x1c) = *(undefined4 *)PTR_stdout_00017ff0;\n      *(undefined ***)(puVar10 + -0x20) = local_9c;\n      *(undefined4 *)(puVar10 + -0x24) = 0x11b24;\n      bfd_fprintf_vma();\n      if (DAT_00018258 == 0) {\n        *(undefined4 *)(puVar10 + -0x10) = 10;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11dfa;\n        putchar(*(int *)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n      else {\n        *(undefined **)(puVar10 + -0x10) = &DAT_00015702;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11b44;\n        printf(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    DAT_00018228 = 0;\n    if (local_a8 == 0) {\n      *(undefined4 *)(puVar10 + -8) = 0;\n      *(code **)(puVar10 + -0xc) = FUN_00012210;\n      *(undefined ***)(puVar10 + -0x10) = local_9c;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11b67;\n      bfd_map_over_sections();\n      ppuVar4 = local_9c;\njoined_r0x00011b72:\n      uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      local_9c = ppuVar4;\n      if (DAT_00018228 != 0) {\n        local_a0 = &DAT_00015442;\n        local_98 = "??";\n        do {\n          local_9c = (undefined **)0x15817;\n          do {\n            pcVar5 = DAT_00018234;\n            if (DAT_00018260 != 0) {\n              pcVar6 = local_98;\n              pcVar16 = DAT_00018234;\n              if (DAT_00018234 != (char *)0x0) {\n                if (*DAT_00018234 == '\0') {\n                  pcVar16 = (char *)0x0;\n                }\n                else {\n                  if (DAT_0001825c != 0) {\n                    *(undefined4 *)(puVar10 + -8) = 3;\n                    *(char **)(puVar10 + -0xc) = DAT_00018234;\n                    *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n                    *(undefined4 *)(puVar10 + -0x14) = 0x11db4;\n                    pcVar6 = (char *)bfd_demangle();\n                    pcVar16 = pcVar6;\n                    if (pcVar6 != (char *)0x0) goto LAB_00011bdd;\n                  }\n                  pcVar6 = pcVar5;\n                  pcVar16 = (char *)0x0;\n                }\n              }\nLAB_00011bdd:\n              *(char **)(puVar10 + -0xc) = pcVar6;\n              *(undefined ***)(puVar10 + -0x10) = local_9c;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11bec;\n              printf(*(char **)(puVar10 + -0x10));\n              if (DAT_00018258 == 0) {\n                *(undefined4 *)(puVar10 + -0x10) = 10;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11d8a;\n                putchar(*(int *)(puVar10 + -0x10));\n              }\n              else {\n                *(undefined4 *)(puVar10 + -8) = 5;\n                *(undefined **)(puVar10 + -0xc) = &DAT_0001543d;\n                *(undefined4 *)(puVar10 + -0x10) = 0;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c10;\n                uVar7 = dcgettext();\n                *(undefined4 *)(puVar10 + -0x10) = uVar7;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c18;\n                printf(*(char **)(puVar10 + -0x10));\n              }\n              if (pcVar16 != (char *)0x0) {\n                *(char **)(puVar10 + -0x10) = pcVar16;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c28;\n                free(*(void **)(puVar10 + -0x10));\n              }\n            }\n            pcVar5 = DAT_00018238;\n            if (DAT_00018254 == 0) {\nLAB_00011c5e:\n              pcVar5 = DAT_00018238;\n              if (DAT_00018238 == (char *)0x0) {\nLAB_00011d70:\n                pcVar5 = local_98;\n              }\n            }\n            else {\n              if (DAT_00018238 == (char *)0x0) goto LAB_00011d70;\n              *(undefined4 *)(puVar10 + -0xc) = 0x2f;\n              *(char **)(puVar10 + -0x10) = DAT_00018238;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11c4e;\n              pcVar6 = strrchr(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc));\n              if (pcVar6 != (char *)0x0) {\n                DAT_00018238 = pcVar6 + 1;\n                goto LAB_00011c5e;\n              }\n            }\n            *(char **)(puVar10 + -0xc) = pcVar5;\n            *(undefined **)(puVar10 + -0x10) = local_a0;\n            *(undefined4 *)(puVar10 + -0x14) = 0x11c75;\n            printf(*(char **)(puVar10 + -0x10));\n            if (DAT_00018230 == 0) {\n              *(undefined **)(puVar10 + -0x10) = &DAT_000153c0;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d5f;\n              puts(*(char **)(puVar10 + -0x10));\n            }\n            else if (DAT_0001822c == 0) {\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(undefined **)(puVar10 + -0x10) = &DAT_0001545d;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d48;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            else {\n              *(int *)(puVar10 + -8) = DAT_0001822c;\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(char **)(puVar10 + -0x10) = "%u (discriminator %u)\n";\n              *(undefined4 *)(puVar10 + -0x14) = 0x11ca5;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            if (DAT_00018268 == 0) {\n              DAT_00018228 = 0;\n              goto LAB_000119cc;\n            }\n            puVar2 = ppuVar4[1];\n            *(int **)(puVar10 + -4) = &DAT_00018230;\n            *(char ***)(puVar10 + -8) = &DAT_00018234;\n            *(char ***)(puVar10 + -0xc) = &DAT_00018238;\n            *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n            pcVar1 = *(code **)(puVar2 + 0x130);\n            *(undefined4 *)(puVar10 + -0x14) = 0x11cef;\n            DAT_00018228 = (*pcVar1)();\n            if (DAT_00018228 == 0) goto LAB_000119cc;\n          } while (DAT_00018258 == 0);\n          *(undefined4 *)(puVar10 + -8) = 5;\n          *(char **)(puVar10 + -0xc) = " (inlined by) ";\n          *(undefined4 *)(puVar10 + -0x10) = 0;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11d21;\n          uVar7 = dcgettext();\n          *(undefined4 *)(puVar10 + -0x10) = uVar7;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11d29;\n          printf(*(char **)(puVar10 + -0x10));\n        } while( true );\n      }\n    }\n    else if (((*(byte *)(local_a8 + 0x14) & 1) != 0) &&\n            (DAT_00018244 < *(uint *)(local_a8 + 0x30) ||\n             DAT_00018244 - *(uint *)(local_a8 + 0x30) <\n             (uint)(DAT_00018240 < *(uint *)(local_a8 + 0x2c)))) {\n      puVar2 = local_9c[1];\n      *(int **)(puVar10 + -0x10) = &DAT_0001822c;\n      *(int **)(puVar10 + -0x14) = &DAT_00018230;\n      *(char ***)(puVar10 + -0x18) = &DAT_00018234;\n      *(char ***)(puVar10 + -0x1c) = &DAT_00018238;\n      *(undefined8 *)(puVar10 + -0x24) = uVar19;\n      *(int *)(puVar10 + -0x28) = local_a8;\n      *(void **)(puVar10 + -0x2c) = DAT_00018248;\n      *(undefined ***)(puVar10 + -0x30) = local_9c;\n      pcVar1 = *(code **)(puVar2 + 0x128);\n      *(undefined4 *)(puVar10 + -0x34) = 0x1197f;\n      DAT_00018228 = (*pcVar1)();\n      ppuVar4 = local_9c;\n      goto joined_r0x00011b72;\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    if (DAT_00018260 != 0) {\n      if (DAT_00018258 == 0) {\n        *(undefined **)(puVar10 + -0x10) = &DAT_000153bf;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11ddf;\n        puts(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n      else {\n        *(undefined **)(puVar10 + -0x10) = &DAT_00015434;\n        *(undefined4 *)(puVar10 + -0x14) = 0x119b7;\n        printf(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    *(undefined **)(puVar10 + -0x10) = &DAT_00015438;\n    *(undefined4 *)(puVar10 + -0x14) = 0x119c9;\n    puts(*(char **)(puVar10 + -0x10));\n    ppuVar4 = local_9c;\n  } while( true );" do (compound_statement "{\n    local_9c = ppuVar4;\n    *(int *)(puVar10 + -0x10) = *local_a4;\n    *(undefined4 *)(puVar10 + -0x14) = 0x119dc;\n    fflush(*(FILE **)(puVar10 + -0x10));\nLAB_000119df:\n    if (local_ac == (int *)0x0) {\n      *(undefined4 *)(puVar10 + -8) = *local_bc;\n      *(undefined4 *)(puVar10 + -0xc) = 100;\n      *(undefined1 **)(puVar10 + -0x10) = local_84;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11a03;\n      pcVar5 = fgets(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc),*(FILE **)(puVar10 + -8));\n      if (pcVar5 == (char *)0x0) {\nLAB_00011e02:\n        ppuVar4 = local_9c;\n        if (DAT_00018248 != (void *)0x0) {\n          *(void **)(puVar10 + -0x10) = DAT_00018248;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11e1b;\n          free(*(void **)(puVar10 + -0x10));\n          DAT_00018248 = (void *)0x0;\n        }\n        *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11e31;\n        bfd_close();\n        return local_c0;\n      }\n      *(undefined4 *)(puVar10 + -8) = 0x10;\n      *(undefined4 *)(puVar10 + -0xc) = 0;\n      *(undefined1 **)(puVar10 + -0x10) = local_84;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11a1b;\n      uVar19 = bfd_scan_vma();\n      puVar2 = local_9c[1];\n      iVar3 = *(int *)(puVar2 + 4);\n    }\n    else {\n      if ((int)DAT_00018250 < 1) goto LAB_00011e02;\n      DAT_00018250 = (int *)((int)DAT_00018250 + -1);\n      *(undefined4 *)(puVar10 + -8) = 0x10;\n      *(undefined4 *)(puVar10 + -0xc) = 0;\n      *(undefined4 *)(puVar10 + -0x10) = *DAT_0001824c;\n      *(undefined4 *)(puVar10 + -0x14) = 0x118cc;\n      DAT_0001824c = DAT_0001824c + 1;\n      uVar19 = bfd_scan_vma();\n      puVar2 = local_9c[1];\n      iVar3 = *(int *)(puVar2 + 4);\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    if (iVar3 == 5) {\n      bVar8 = *(char *)(*(int *)(*(int *)(puVar2 + 0x1c0) + 0x19c) + 10) - 1;\n      pcVar5 = (char *)(1 << (bVar8 & 0x1f));\n      local_98 = pcVar5;\n      local_94 = (char *)(0 << (bVar8 & 0x1f) | 1U >> 0x20 - (bVar8 & 0x1f));\n      if ((bVar8 & 0x20) != 0) {\n        local_98 = (char *)0x0;\n        local_94 = pcVar5;\n      }\n      uVar9 = DAT_00018240 & (int)local_98 * 2 - 1U;\n      uVar18 = DAT_00018244 &\n               (((int)local_94 << 1 | (uint)local_98 >> 0x1f) - 1) + (uint)((int)local_98 * 2 != 0);\n      uVar19 = CONCAT44(uVar18,uVar9);\n      if ((*(byte *)(*(int *)(puVar2 + 0x1c0) + 0x1e9) & 1) != 0) {\n        local_b8 = (char *)(uVar9 ^ (uint)local_98);\n        local_b4 = uVar18 ^ (uint)local_94;\n        uVar19 = CONCAT44((local_b4 - (int)local_94) - (uint)(local_b8 < local_98),\n                          (int)local_b8 - (int)local_98);\n      }\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    local_a4 = local_b0;\n    if (DAT_00018264 != 0) {\n      *(undefined **)(puVar10 + -0x10) = &DAT_00015431;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11aff;\n      printf(*(char **)(puVar10 + -0x10));\n      local_a4 = (int *)PTR_stdout_00017ff0;\n      *(uint *)(puVar10 + -0x14) = DAT_00018244;\n      *(uint *)(puVar10 + -0x18) = DAT_00018240;\n      *(undefined4 *)(puVar10 + -0x1c) = *(undefined4 *)PTR_stdout_00017ff0;\n      *(undefined ***)(puVar10 + -0x20) = local_9c;\n      *(undefined4 *)(puVar10 + -0x24) = 0x11b24;\n      bfd_fprintf_vma();\n      if (DAT_00018258 == 0) {\n        *(undefined4 *)(puVar10 + -0x10) = 10;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11dfa;\n        putchar(*(int *)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n      else {\n        *(undefined **)(puVar10 + -0x10) = &DAT_00015702;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11b44;\n        printf(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    DAT_00018228 = 0;\n    if (local_a8 == 0) {\n      *(undefined4 *)(puVar10 + -8) = 0;\n      *(code **)(puVar10 + -0xc) = FUN_00012210;\n      *(undefined ***)(puVar10 + -0x10) = local_9c;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11b67;\n      bfd_map_over_sections();\n      ppuVar4 = local_9c;\njoined_r0x00011b72:\n      uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      local_9c = ppuVar4;\n      if (DAT_00018228 != 0) {\n        local_a0 = &DAT_00015442;\n        local_98 = "??";\n        do {\n          local_9c = (undefined **)0x15817;\n          do {\n            pcVar5 = DAT_00018234;\n            if (DAT_00018260 != 0) {\n              pcVar6 = local_98;\n              pcVar16 = DAT_00018234;\n              if (DAT_00018234 != (char *)0x0) {\n                if (*DAT_00018234 == '\0') {\n                  pcVar16 = (char *)0x0;\n                }\n                else {\n                  if (DAT_0001825c != 0) {\n                    *(undefined4 *)(puVar10 + -8) = 3;\n                    *(char **)(puVar10 + -0xc) = DAT_00018234;\n                    *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n                    *(undefined4 *)(puVar10 + -0x14) = 0x11db4;\n                    pcVar6 = (char *)bfd_demangle();\n                    pcVar16 = pcVar6;\n                    if (pcVar6 != (char *)0x0) goto LAB_00011bdd;\n                  }\n                  pcVar6 = pcVar5;\n                  pcVar16 = (char *)0x0;\n                }\n              }\nLAB_00011bdd:\n              *(char **)(puVar10 + -0xc) = pcVar6;\n              *(undefined ***)(puVar10 + -0x10) = local_9c;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11bec;\n              printf(*(char **)(puVar10 + -0x10));\n              if (DAT_00018258 == 0) {\n                *(undefined4 *)(puVar10 + -0x10) = 10;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11d8a;\n                putchar(*(int *)(puVar10 + -0x10));\n              }\n              else {\n                *(undefined4 *)(puVar10 + -8) = 5;\n                *(undefined **)(puVar10 + -0xc) = &DAT_0001543d;\n                *(undefined4 *)(puVar10 + -0x10) = 0;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c10;\n                uVar7 = dcgettext();\n                *(undefined4 *)(puVar10 + -0x10) = uVar7;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c18;\n                printf(*(char **)(puVar10 + -0x10));\n              }\n              if (pcVar16 != (char *)0x0) {\n                *(char **)(puVar10 + -0x10) = pcVar16;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c28;\n                free(*(void **)(puVar10 + -0x10));\n              }\n            }\n            pcVar5 = DAT_00018238;\n            if (DAT_00018254 == 0) {\nLAB_00011c5e:\n              pcVar5 = DAT_00018238;\n              if (DAT_00018238 == (char *)0x0) {\nLAB_00011d70:\n                pcVar5 = local_98;\n              }\n            }\n            else {\n              if (DAT_00018238 == (char *)0x0) goto LAB_00011d70;\n              *(undefined4 *)(puVar10 + -0xc) = 0x2f;\n              *(char **)(puVar10 + -0x10) = DAT_00018238;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11c4e;\n              pcVar6 = strrchr(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc));\n              if (pcVar6 != (char *)0x0) {\n                DAT_00018238 = pcVar6 + 1;\n                goto LAB_00011c5e;\n              }\n            }\n            *(char **)(puVar10 + -0xc) = pcVar5;\n            *(undefined **)(puVar10 + -0x10) = local_a0;\n            *(undefined4 *)(puVar10 + -0x14) = 0x11c75;\n            printf(*(char **)(puVar10 + -0x10));\n            if (DAT_00018230 == 0) {\n              *(undefined **)(puVar10 + -0x10) = &DAT_000153c0;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d5f;\n              puts(*(char **)(puVar10 + -0x10));\n            }\n            else if (DAT_0001822c == 0) {\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(undefined **)(puVar10 + -0x10) = &DAT_0001545d;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d48;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            else {\n              *(int *)(puVar10 + -8) = DAT_0001822c;\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(char **)(puVar10 + -0x10) = "%u (discriminator %u)\n";\n              *(undefined4 *)(puVar10 + -0x14) = 0x11ca5;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            if (DAT_00018268 == 0) {\n              DAT_00018228 = 0;\n              goto LAB_000119cc;\n            }\n            puVar2 = ppuVar4[1];\n            *(int **)(puVar10 + -4) = &DAT_00018230;\n            *(char ***)(puVar10 + -8) = &DAT_00018234;\n            *(char ***)(puVar10 + -0xc) = &DAT_00018238;\n            *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n            pcVar1 = *(code **)(puVar2 + 0x130);\n            *(undefined4 *)(puVar10 + -0x14) = 0x11cef;\n            DAT_00018228 = (*pcVar1)();\n            if (DAT_00018228 == 0) goto LAB_000119cc;\n          } while (DAT_00018258 == 0);\n          *(undefined4 *)(puVar10 + -8) = 5;\n          *(char **)(puVar10 + -0xc) = " (inlined by) ";\n          *(undefined4 *)(puVar10 + -0x10) = 0;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11d21;\n          uVar7 = dcgettext();\n          *(undefined4 *)(puVar10 + -0x10) = uVar7;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11d29;\n          printf(*(char **)(puVar10 + -0x10));\n        } while( true );\n      }\n    }\n    else if (((*(byte *)(local_a8 + 0x14) & 1) != 0) &&\n            (DAT_00018244 < *(uint *)(local_a8 + 0x30) ||\n             DAT_00018244 - *(uint *)(local_a8 + 0x30) <\n             (uint)(DAT_00018240 < *(uint *)(local_a8 + 0x2c)))) {\n      puVar2 = local_9c[1];\n      *(int **)(puVar10 + -0x10) = &DAT_0001822c;\n      *(int **)(puVar10 + -0x14) = &DAT_00018230;\n      *(char ***)(puVar10 + -0x18) = &DAT_00018234;\n      *(char ***)(puVar10 + -0x1c) = &DAT_00018238;\n      *(undefined8 *)(puVar10 + -0x24) = uVar19;\n      *(int *)(puVar10 + -0x28) = local_a8;\n      *(void **)(puVar10 + -0x2c) = DAT_00018248;\n      *(undefined ***)(puVar10 + -0x30) = local_9c;\n      pcVar1 = *(code **)(puVar2 + 0x128);\n      *(undefined4 *)(puVar10 + -0x34) = 0x1197f;\n      DAT_00018228 = (*pcVar1)();\n      ppuVar4 = local_9c;\n      goto joined_r0x00011b72;\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    if (DAT_00018260 != 0) {\n      if (DAT_00018258 == 0) {\n        *(undefined **)(puVar10 + -0x10) = &DAT_000153bf;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11ddf;\n        puts(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n      else {\n        *(undefined **)(puVar10 + -0x10) = &DAT_00015434;\n        *(undefined4 *)(puVar10 + -0x14) = 0x119b7;\n        printf(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    *(undefined **)(puVar10 + -0x10) = &DAT_00015438;\n    *(undefined4 *)(puVar10 + -0x14) = 0x119c9;\n    puts(*(char **)(puVar10 + -0x10));\n    ppuVar4 = local_9c;\n  }" { (expression_statement "local_9c = ppuVar4;" (assignment_expression "local_9c = ppuVar4" identifier = identifier) ;) (expression_statement "*(int *)(puVar10 + -0x10) = *local_a4;" (assignment_expression "*(int *)(puVar10 + -0x10) = *local_a4" (pointer_expression "*(int *)(puVar10 + -0x10)" * (cast_expression "(int *)(puVar10 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = (pointer_expression "*local_a4" * identifier)) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x119dc;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x119dc" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" * (cast_expression "(undefined4 *)(puVar10 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "fflush(*(FILE **)(puVar10 + -0x10));" (call_expression "fflush(*(FILE **)(puVar10 + -0x10))" identifier (argument_list "(*(FILE **)(puVar10 + -0x10))" ( (pointer_expression "*(FILE **)(puVar10 + -0x10)" * (cast_expression "(FILE **)(puVar10 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) ))) ;) (labeled_statement "LAB_000119df:\n    if (local_ac == (int *)0x0) {\n      *(undefined4 *)(puVar10 + -8) = *local_bc;\n      *(undefined4 *)(puVar10 + -0xc) = 100;\n      *(undefined1 **)(puVar10 + -0x10) = local_84;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11a03;\n      pcVar5 = fgets(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc),*(FILE **)(puVar10 + -8));\n      if (pcVar5 == (char *)0x0) {\nLAB_00011e02:\n        ppuVar4 = local_9c;\n        if (DAT_00018248 != (void *)0x0) {\n          *(void **)(puVar10 + -0x10) = DAT_00018248;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11e1b;\n          free(*(void **)(puVar10 + -0x10));\n          DAT_00018248 = (void *)0x0;\n        }\n        *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11e31;\n        bfd_close();\n        return local_c0;\n      }\n      *(undefined4 *)(puVar10 + -8) = 0x10;\n      *(undefined4 *)(puVar10 + -0xc) = 0;\n      *(undefined1 **)(puVar10 + -0x10) = local_84;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11a1b;\n      uVar19 = bfd_scan_vma();\n      puVar2 = local_9c[1];\n      iVar3 = *(int *)(puVar2 + 4);\n    }\n    else {\n      if ((int)DAT_00018250 < 1) goto LAB_00011e02;\n      DAT_00018250 = (int *)((int)DAT_00018250 + -1);\n      *(undefined4 *)(puVar10 + -8) = 0x10;\n      *(undefined4 *)(puVar10 + -0xc) = 0;\n      *(undefined4 *)(puVar10 + -0x10) = *DAT_0001824c;\n      *(undefined4 *)(puVar10 + -0x14) = 0x118cc;\n      DAT_0001824c = DAT_0001824c + 1;\n      uVar19 = bfd_scan_vma();\n      puVar2 = local_9c[1];\n      iVar3 = *(int *)(puVar2 + 4);\n    }" statement_identifier : (if_statement "if (local_ac == (int *)0x0) {\n      *(undefined4 *)(puVar10 + -8) = *local_bc;\n      *(undefined4 *)(puVar10 + -0xc) = 100;\n      *(undefined1 **)(puVar10 + -0x10) = local_84;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11a03;\n      pcVar5 = fgets(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc),*(FILE **)(puVar10 + -8));\n      if (pcVar5 == (char *)0x0) {\nLAB_00011e02:\n        ppuVar4 = local_9c;\n        if (DAT_00018248 != (void *)0x0) {\n          *(void **)(puVar10 + -0x10) = DAT_00018248;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11e1b;\n          free(*(void **)(puVar10 + -0x10));\n          DAT_00018248 = (void *)0x0;\n        }\n        *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11e31;\n        bfd_close();\n        return local_c0;\n      }\n      *(undefined4 *)(puVar10 + -8) = 0x10;\n      *(undefined4 *)(puVar10 + -0xc) = 0;\n      *(undefined1 **)(puVar10 + -0x10) = local_84;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11a1b;\n      uVar19 = bfd_scan_vma();\n      puVar2 = local_9c[1];\n      iVar3 = *(int *)(puVar2 + 4);\n    }\n    else {\n      if ((int)DAT_00018250 < 1) goto LAB_00011e02;\n      DAT_00018250 = (int *)((int)DAT_00018250 + -1);\n      *(undefined4 *)(puVar10 + -8) = 0x10;\n      *(undefined4 *)(puVar10 + -0xc) = 0;\n      *(undefined4 *)(puVar10 + -0x10) = *DAT_0001824c;\n      *(undefined4 *)(puVar10 + -0x14) = 0x118cc;\n      DAT_0001824c = DAT_0001824c + 1;\n      uVar19 = bfd_scan_vma();\n      puVar2 = local_9c[1];\n      iVar3 = *(int *)(puVar2 + 4);\n    }" if (parenthesized_expression "(local_ac == (int *)0x0)" ( (binary_expression "local_ac == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      *(undefined4 *)(puVar10 + -8) = *local_bc;\n      *(undefined4 *)(puVar10 + -0xc) = 100;\n      *(undefined1 **)(puVar10 + -0x10) = local_84;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11a03;\n      pcVar5 = fgets(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc),*(FILE **)(puVar10 + -8));\n      if (pcVar5 == (char *)0x0) {\nLAB_00011e02:\n        ppuVar4 = local_9c;\n        if (DAT_00018248 != (void *)0x0) {\n          *(void **)(puVar10 + -0x10) = DAT_00018248;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11e1b;\n          free(*(void **)(puVar10 + -0x10));\n          DAT_00018248 = (void *)0x0;\n        }\n        *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11e31;\n        bfd_close();\n        return local_c0;\n      }\n      *(undefined4 *)(puVar10 + -8) = 0x10;\n      *(undefined4 *)(puVar10 + -0xc) = 0;\n      *(undefined1 **)(puVar10 + -0x10) = local_84;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11a1b;\n      uVar19 = bfd_scan_vma();\n      puVar2 = local_9c[1];\n      iVar3 = *(int *)(puVar2 + 4);\n    }" { (expression_statement "*(undefined4 *)(puVar10 + -8) = *local_bc;" (assignment_expression "*(undefined4 *)(puVar10 + -8) = *local_bc" (pointer_expression "*(undefined4 *)(puVar10 + -8)" * (cast_expression "(undefined4 *)(puVar10 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -8)" ( (binary_expression "puVar10 + -8" identifier + number_literal) )))) = (pointer_expression "*local_bc" * identifier)) ;) (expression_statement "*(undefined4 *)(puVar10 + -0xc) = 100;" (assignment_expression "*(undefined4 *)(puVar10 + -0xc) = 100" (pointer_expression "*(undefined4 *)(puVar10 + -0xc)" * (cast_expression "(undefined4 *)(puVar10 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0xc)" ( (binary_expression "puVar10 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)(puVar10 + -0x10) = local_84;" (assignment_expression "*(undefined1 **)(puVar10 + -0x10) = local_84" (pointer_expression "*(undefined1 **)(puVar10 + -0x10)" * (cast_expression "(undefined1 **)(puVar10 + -0x10)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x11a03;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x11a03" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" * (cast_expression "(undefined4 *)(puVar10 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar5 = fgets(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc),*(FILE **)(puVar10 + -8));" (assignment_expression "pcVar5 = fgets(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc),*(FILE **)(puVar10 + -8))" identifier = (call_expression "fgets(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc),*(FILE **)(puVar10 + -8))" identifier (argument_list "(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc),*(FILE **)(puVar10 + -8))" ( (pointer_expression "*(char **)(puVar10 + -0x10)" * (cast_expression "(char **)(puVar10 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(int *)(puVar10 + -0xc)" * (cast_expression "(int *)(puVar10 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0xc)" ( (binary_expression "puVar10 + -0xc" identifier + number_literal) )))) , (pointer_expression "*(FILE **)(puVar10 + -8)" * (cast_expression "(FILE **)(puVar10 + -8)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -8)" ( (binary_expression "puVar10 + -8" identifier + number_literal) )))) )))) ;) (if_statement "if (pcVar5 == (char *)0x0) {\nLAB_00011e02:\n        ppuVar4 = local_9c;\n        if (DAT_00018248 != (void *)0x0) {\n          *(void **)(puVar10 + -0x10) = DAT_00018248;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11e1b;\n          free(*(void **)(puVar10 + -0x10));\n          DAT_00018248 = (void *)0x0;\n        }\n        *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11e31;\n        bfd_close();\n        return local_c0;\n      }" if (parenthesized_expression "(pcVar5 == (char *)0x0)" ( (binary_expression "pcVar5 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00011e02:\n        ppuVar4 = local_9c;\n        if (DAT_00018248 != (void *)0x0) {\n          *(void **)(puVar10 + -0x10) = DAT_00018248;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11e1b;\n          free(*(void **)(puVar10 + -0x10));\n          DAT_00018248 = (void *)0x0;\n        }\n        *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11e31;\n        bfd_close();\n        return local_c0;\n      }" { (labeled_statement "LAB_00011e02:\n        ppuVar4 = local_9c;" statement_identifier : (expression_statement "ppuVar4 = local_9c;" (assignment_expression "ppuVar4 = local_9c" identifier = identifier) ;)) (if_statement "if (DAT_00018248 != (void *)0x0) {\n          *(void **)(puVar10 + -0x10) = DAT_00018248;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11e1b;\n          free(*(void **)(puVar10 + -0x10));\n          DAT_00018248 = (void *)0x0;\n        }" if (parenthesized_expression "(DAT_00018248 != (void *)0x0)" ( (binary_expression "DAT_00018248 != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          *(void **)(puVar10 + -0x10) = DAT_00018248;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11e1b;\n          free(*(void **)(puVar10 + -0x10));\n          DAT_00018248 = (void *)0x0;\n        }" { (expression_statement "*(void **)(puVar10 + -0x10) = DAT_00018248;" (assignment_expression "*(void **)(puVar10 + -0x10) = DAT_00018248" (pointer_expression "*(void **)(puVar10 + -0x10)" * (cast_expression "(void **)(puVar10 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x11e1b;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x11e1b" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" * (cast_expression "(undefined4 *)(puVar10 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)(puVar10 + -0x10));" (call_expression "free(*(void **)(puVar10 + -0x10))" identifier (argument_list "(*(void **)(puVar10 + -0x10))" ( (pointer_expression "*(void **)(puVar10 + -0x10)" * (cast_expression "(void **)(puVar10 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "DAT_00018248 = (void *)0x0;" (assignment_expression "DAT_00018248 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (expression_statement "*(undefined ***)(puVar10 + -0x10) = ppuVar4;" (assignment_expression "*(undefined ***)(puVar10 + -0x10) = ppuVar4" (pointer_expression "*(undefined ***)(puVar10 + -0x10)" * (cast_expression "(undefined ***)(puVar10 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x11e31;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x11e31" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" * (cast_expression "(undefined4 *)(puVar10 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "bfd_close();" (call_expression "bfd_close()" identifier (argument_list "()" ( ))) ;) (return_statement "return local_c0;" return identifier ;) })) (expression_statement "*(undefined4 *)(puVar10 + -8) = 0x10;" (assignment_expression "*(undefined4 *)(puVar10 + -8) = 0x10" (pointer_expression "*(undefined4 *)(puVar10 + -8)" * (cast_expression "(undefined4 *)(puVar10 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -8)" ( (binary_expression "puVar10 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar10 + -0xc) = 0;" (assignment_expression "*(undefined4 *)(puVar10 + -0xc) = 0" (pointer_expression "*(undefined4 *)(puVar10 + -0xc)" * (cast_expression "(undefined4 *)(puVar10 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0xc)" ( (binary_expression "puVar10 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)(puVar10 + -0x10) = local_84;" (assignment_expression "*(undefined1 **)(puVar10 + -0x10) = local_84" (pointer_expression "*(undefined1 **)(puVar10 + -0x10)" * (cast_expression "(undefined1 **)(puVar10 + -0x10)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x11a1b;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x11a1b" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" * (cast_expression "(undefined4 *)(puVar10 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar19 = bfd_scan_vma();" (assignment_expression "uVar19 = bfd_scan_vma()" identifier = (call_expression "bfd_scan_vma()" identifier (argument_list "()" ( )))) ;) (expression_statement "puVar2 = local_9c[1];" (assignment_expression "puVar2 = local_9c[1]" identifier = (subscript_expression "local_9c[1]" identifier [ number_literal ])) ;) (expression_statement "iVar3 = *(int *)(puVar2 + 4);" (assignment_expression "iVar3 = *(int *)(puVar2 + 4)" identifier = (pointer_expression "*(int *)(puVar2 + 4)" * (cast_expression "(int *)(puVar2 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 4)" ( (binary_expression "puVar2 + 4" identifier + number_literal) ))))) ;) }) (else_clause "else {\n      if ((int)DAT_00018250 < 1) goto LAB_00011e02;\n      DAT_00018250 = (int *)((int)DAT_00018250 + -1);\n      *(undefined4 *)(puVar10 + -8) = 0x10;\n      *(undefined4 *)(puVar10 + -0xc) = 0;\n      *(undefined4 *)(puVar10 + -0x10) = *DAT_0001824c;\n      *(undefined4 *)(puVar10 + -0x14) = 0x118cc;\n      DAT_0001824c = DAT_0001824c + 1;\n      uVar19 = bfd_scan_vma();\n      puVar2 = local_9c[1];\n      iVar3 = *(int *)(puVar2 + 4);\n    }" else (compound_statement "{\n      if ((int)DAT_00018250 < 1) goto LAB_00011e02;\n      DAT_00018250 = (int *)((int)DAT_00018250 + -1);\n      *(undefined4 *)(puVar10 + -8) = 0x10;\n      *(undefined4 *)(puVar10 + -0xc) = 0;\n      *(undefined4 *)(puVar10 + -0x10) = *DAT_0001824c;\n      *(undefined4 *)(puVar10 + -0x14) = 0x118cc;\n      DAT_0001824c = DAT_0001824c + 1;\n      uVar19 = bfd_scan_vma();\n      puVar2 = local_9c[1];\n      iVar3 = *(int *)(puVar2 + 4);\n    }" { (if_statement "if ((int)DAT_00018250 < 1) goto LAB_00011e02;" if (parenthesized_expression "((int)DAT_00018250 < 1)" ( (binary_expression "(int)DAT_00018250 < 1" (cast_expression "(int)DAT_00018250" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (goto_statement "goto LAB_00011e02;" goto statement_identifier ;)) (expression_statement "DAT_00018250 = (int *)((int)DAT_00018250 + -1);" (assignment_expression "DAT_00018250 = (int *)((int)DAT_00018250 + -1)" identifier = (cast_expression "(int *)((int)DAT_00018250 + -1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)DAT_00018250 + -1)" ( (binary_expression "(int)DAT_00018250 + -1" (cast_expression "(int)DAT_00018250" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(undefined4 *)(puVar10 + -8) = 0x10;" (assignment_expression "*(undefined4 *)(puVar10 + -8) = 0x10" (pointer_expression "*(undefined4 *)(puVar10 + -8)" * (cast_expression "(undefined4 *)(puVar10 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -8)" ( (binary_expression "puVar10 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar10 + -0xc) = 0;" (assignment_expression "*(undefined4 *)(puVar10 + -0xc) = 0" (pointer_expression "*(undefined4 *)(puVar10 + -0xc)" * (cast_expression "(undefined4 *)(puVar10 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0xc)" ( (binary_expression "puVar10 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x10) = *DAT_0001824c;" (assignment_expression "*(undefined4 *)(puVar10 + -0x10) = *DAT_0001824c" (pointer_expression "*(undefined4 *)(puVar10 + -0x10)" * (cast_expression "(undefined4 *)(puVar10 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = (pointer_expression "*DAT_0001824c" * identifier)) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x118cc;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x118cc" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" * (cast_expression "(undefined4 *)(puVar10 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "DAT_0001824c = DAT_0001824c + 1;" (assignment_expression "DAT_0001824c = DAT_0001824c + 1" identifier = (binary_expression "DAT_0001824c + 1" identifier + number_literal)) ;) (expression_statement "uVar19 = bfd_scan_vma();" (assignment_expression "uVar19 = bfd_scan_vma()" identifier = (call_expression "bfd_scan_vma()" identifier (argument_list "()" ( )))) ;) (expression_statement "puVar2 = local_9c[1];" (assignment_expression "puVar2 = local_9c[1]" identifier = (subscript_expression "local_9c[1]" identifier [ number_literal ])) ;) (expression_statement "iVar3 = *(int *)(puVar2 + 4);" (assignment_expression "iVar3 = *(int *)(puVar2 + 4)" identifier = (pointer_expression "*(int *)(puVar2 + 4)" * (cast_expression "(int *)(puVar2 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 4)" ( (binary_expression "puVar2 + 4" identifier + number_literal) ))))) ;) })))) (expression_statement "DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);" (assignment_expression "DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20)" identifier = (call_expression "(uint)((ulonglong)uVar19 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)uVar19 >> 0x20)" ( (binary_expression "(ulonglong)uVar19 >> 0x20" (cast_expression "(ulonglong)uVar19" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "DAT_00018240 = (uint)uVar19;" (assignment_expression "DAT_00018240 = (uint)uVar19" identifier = (cast_expression "(uint)uVar19" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (iVar3 == 5) {\n      bVar8 = *(char *)(*(int *)(*(int *)(puVar2 + 0x1c0) + 0x19c) + 10) - 1;\n      pcVar5 = (char *)(1 << (bVar8 & 0x1f));\n      local_98 = pcVar5;\n      local_94 = (char *)(0 << (bVar8 & 0x1f) | 1U >> 0x20 - (bVar8 & 0x1f));\n      if ((bVar8 & 0x20) != 0) {\n        local_98 = (char *)0x0;\n        local_94 = pcVar5;\n      }\n      uVar9 = DAT_00018240 & (int)local_98 * 2 - 1U;\n      uVar18 = DAT_00018244 &\n               (((int)local_94 << 1 | (uint)local_98 >> 0x1f) - 1) + (uint)((int)local_98 * 2 != 0);\n      uVar19 = CONCAT44(uVar18,uVar9);\n      if ((*(byte *)(*(int *)(puVar2 + 0x1c0) + 0x1e9) & 1) != 0) {\n        local_b8 = (char *)(uVar9 ^ (uint)local_98);\n        local_b4 = uVar18 ^ (uint)local_94;\n        uVar19 = CONCAT44((local_b4 - (int)local_94) - (uint)(local_b8 < local_98),\n                          (int)local_b8 - (int)local_98);\n      }\n    }" if (parenthesized_expression "(iVar3 == 5)" ( (binary_expression "iVar3 == 5" identifier == number_literal) )) (compound_statement "{\n      bVar8 = *(char *)(*(int *)(*(int *)(puVar2 + 0x1c0) + 0x19c) + 10) - 1;\n      pcVar5 = (char *)(1 << (bVar8 & 0x1f));\n      local_98 = pcVar5;\n      local_94 = (char *)(0 << (bVar8 & 0x1f) | 1U >> 0x20 - (bVar8 & 0x1f));\n      if ((bVar8 & 0x20) != 0) {\n        local_98 = (char *)0x0;\n        local_94 = pcVar5;\n      }\n      uVar9 = DAT_00018240 & (int)local_98 * 2 - 1U;\n      uVar18 = DAT_00018244 &\n               (((int)local_94 << 1 | (uint)local_98 >> 0x1f) - 1) + (uint)((int)local_98 * 2 != 0);\n      uVar19 = CONCAT44(uVar18,uVar9);\n      if ((*(byte *)(*(int *)(puVar2 + 0x1c0) + 0x1e9) & 1) != 0) {\n        local_b8 = (char *)(uVar9 ^ (uint)local_98);\n        local_b4 = uVar18 ^ (uint)local_94;\n        uVar19 = CONCAT44((local_b4 - (int)local_94) - (uint)(local_b8 < local_98),\n                          (int)local_b8 - (int)local_98);\n      }\n    }" { (expression_statement "bVar8 = *(char *)(*(int *)(*(int *)(puVar2 + 0x1c0) + 0x19c) + 10) - 1;" (assignment_expression "bVar8 = *(char *)(*(int *)(*(int *)(puVar2 + 0x1c0) + 0x19c) + 10) - 1" identifier = (binary_expression "*(char *)(*(int *)(*(int *)(puVar2 + 0x1c0) + 0x19c) + 10) - 1" (pointer_expression "*(char *)(*(int *)(*(int *)(puVar2 + 0x1c0) + 0x19c) + 10)" * (cast_expression "(char *)(*(int *)(*(int *)(puVar2 + 0x1c0) + 0x19c) + 10)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(puVar2 + 0x1c0) + 0x19c) + 10)" ( (binary_expression "*(int *)(*(int *)(puVar2 + 0x1c0) + 0x19c) + 10" (pointer_expression "*(int *)(*(int *)(puVar2 + 0x1c0) + 0x19c)" * (cast_expression "(int *)(*(int *)(puVar2 + 0x1c0) + 0x19c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar2 + 0x1c0) + 0x19c)" ( (binary_expression "*(int *)(puVar2 + 0x1c0) + 0x19c" (pointer_expression "*(int *)(puVar2 + 0x1c0)" * (cast_expression "(int *)(puVar2 + 0x1c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 0x1c0)" ( (binary_expression "puVar2 + 0x1c0" identifier + number_literal) )))) + number_literal) )))) + number_literal) )))) - number_literal)) ;) (expression_statement "pcVar5 = (char *)(1 << (bVar8 & 0x1f));" (assignment_expression "pcVar5 = (char *)(1 << (bVar8 & 0x1f))" identifier = (cast_expression "(char *)(1 << (bVar8 & 0x1f))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(1 << (bVar8 & 0x1f))" ( (binary_expression "1 << (bVar8 & 0x1f)" number_literal << (parenthesized_expression "(bVar8 & 0x1f)" ( (binary_expression "bVar8 & 0x1f" identifier & number_literal) ))) )))) ;) (expression_statement "local_98 = pcVar5;" (assignment_expression "local_98 = pcVar5" identifier = identifier) ;) (expression_statement "local_94 = (char *)(0 << (bVar8 & 0x1f) | 1U >> 0x20 - (bVar8 & 0x1f));" (assignment_expression "local_94 = (char *)(0 << (bVar8 & 0x1f) | 1U >> 0x20 - (bVar8 & 0x1f))" identifier = (cast_expression "(char *)(0 << (bVar8 & 0x1f) | 1U >> 0x20 - (bVar8 & 0x1f))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(0 << (bVar8 & 0x1f) | 1U >> 0x20 - (bVar8 & 0x1f))" ( (binary_expression "0 << (bVar8 & 0x1f) | 1U >> 0x20 - (bVar8 & 0x1f)" (binary_expression "0 << (bVar8 & 0x1f)" number_literal << (parenthesized_expression "(bVar8 & 0x1f)" ( (binary_expression "bVar8 & 0x1f" identifier & number_literal) ))) | (binary_expression "1U >> 0x20 - (bVar8 & 0x1f)" number_literal >> (binary_expression "0x20 - (bVar8 & 0x1f)" number_literal - (parenthesized_expression "(bVar8 & 0x1f)" ( (binary_expression "bVar8 & 0x1f" identifier & number_literal) ))))) )))) ;) (if_statement "if ((bVar8 & 0x20) != 0) {\n        local_98 = (char *)0x0;\n        local_94 = pcVar5;\n      }" if (parenthesized_expression "((bVar8 & 0x20) != 0)" ( (binary_expression "(bVar8 & 0x20) != 0" (parenthesized_expression "(bVar8 & 0x20)" ( (binary_expression "bVar8 & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        local_98 = (char *)0x0;\n        local_94 = pcVar5;\n      }" { (expression_statement "local_98 = (char *)0x0;" (assignment_expression "local_98 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_94 = pcVar5;" (assignment_expression "local_94 = pcVar5" identifier = identifier) ;) })) (expression_statement "uVar9 = DAT_00018240 & (int)local_98 * 2 - 1U;" (assignment_expression "uVar9 = DAT_00018240 & (int)local_98 * 2 - 1U" identifier = (binary_expression "DAT_00018240 & (int)local_98 * 2 - 1U" identifier & (binary_expression "(int)local_98 * 2 - 1U" (binary_expression "(int)local_98 * 2" (cast_expression "(int)local_98" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) - number_literal))) ;) (expression_statement "uVar18 = DAT_00018244 &\n               (((int)local_94 << 1 | (uint)local_98 >> 0x1f) - 1) + (uint)((int)local_98 * 2 != 0);" (assignment_expression "uVar18 = DAT_00018244 &\n               (((int)local_94 << 1 | (uint)local_98 >> 0x1f) - 1) + (uint)((int)local_98 * 2 != 0)" identifier = (binary_expression "DAT_00018244 &\n               (((int)local_94 << 1 | (uint)local_98 >> 0x1f) - 1) + (uint)((int)local_98 * 2 != 0)" identifier & (binary_expression "(((int)local_94 << 1 | (uint)local_98 >> 0x1f) - 1) + (uint)((int)local_98 * 2 != 0)" (parenthesized_expression "(((int)local_94 << 1 | (uint)local_98 >> 0x1f) - 1)" ( (binary_expression "((int)local_94 << 1 | (uint)local_98 >> 0x1f) - 1" (parenthesized_expression "((int)local_94 << 1 | (uint)local_98 >> 0x1f)" ( (binary_expression "(int)local_94 << 1 | (uint)local_98 >> 0x1f" (binary_expression "(int)local_94 << 1" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal) | (binary_expression "(uint)local_98 >> 0x1f" (cast_expression "(uint)local_98" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal)) )) - number_literal) )) + (call_expression "(uint)((int)local_98 * 2 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)local_98 * 2 != 0)" ( (binary_expression "(int)local_98 * 2 != 0" (binary_expression "(int)local_98 * 2" (cast_expression "(int)local_98" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) != number_literal) )))))) ;) (expression_statement "uVar19 = CONCAT44(uVar18,uVar9);" (assignment_expression "uVar19 = CONCAT44(uVar18,uVar9)" identifier = (call_expression "CONCAT44(uVar18,uVar9)" identifier (argument_list "(uVar18,uVar9)" ( identifier , identifier )))) ;) (if_statement "if ((*(byte *)(*(int *)(puVar2 + 0x1c0) + 0x1e9) & 1) != 0) {\n        local_b8 = (char *)(uVar9 ^ (uint)local_98);\n        local_b4 = uVar18 ^ (uint)local_94;\n        uVar19 = CONCAT44((local_b4 - (int)local_94) - (uint)(local_b8 < local_98),\n                          (int)local_b8 - (int)local_98);\n      }" if (parenthesized_expression "((*(byte *)(*(int *)(puVar2 + 0x1c0) + 0x1e9) & 1) != 0)" ( (binary_expression "(*(byte *)(*(int *)(puVar2 + 0x1c0) + 0x1e9) & 1) != 0" (parenthesized_expression "(*(byte *)(*(int *)(puVar2 + 0x1c0) + 0x1e9) & 1)" ( (binary_expression "*(byte *)(*(int *)(puVar2 + 0x1c0) + 0x1e9) & 1" (pointer_expression "*(byte *)(*(int *)(puVar2 + 0x1c0) + 0x1e9)" * (cast_expression "(byte *)(*(int *)(puVar2 + 0x1c0) + 0x1e9)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar2 + 0x1c0) + 0x1e9)" ( (binary_expression "*(int *)(puVar2 + 0x1c0) + 0x1e9" (pointer_expression "*(int *)(puVar2 + 0x1c0)" * (cast_expression "(int *)(puVar2 + 0x1c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 0x1c0)" ( (binary_expression "puVar2 + 0x1c0" identifier + number_literal) )))) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n        local_b8 = (char *)(uVar9 ^ (uint)local_98);\n        local_b4 = uVar18 ^ (uint)local_94;\n        uVar19 = CONCAT44((local_b4 - (int)local_94) - (uint)(local_b8 < local_98),\n                          (int)local_b8 - (int)local_98);\n      }" { (expression_statement "local_b8 = (char *)(uVar9 ^ (uint)local_98);" (assignment_expression "local_b8 = (char *)(uVar9 ^ (uint)local_98)" identifier = (cast_expression "(char *)(uVar9 ^ (uint)local_98)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar9 ^ (uint)local_98)" ( (binary_expression "uVar9 ^ (uint)local_98" identifier ^ (cast_expression "(uint)local_98" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) ;) (expression_statement "local_b4 = uVar18 ^ (uint)local_94;" (assignment_expression "local_b4 = uVar18 ^ (uint)local_94" identifier = (binary_expression "uVar18 ^ (uint)local_94" identifier ^ (cast_expression "(uint)local_94" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "uVar19 = CONCAT44((local_b4 - (int)local_94) - (uint)(local_b8 < local_98),\n                          (int)local_b8 - (int)local_98);" (assignment_expression "uVar19 = CONCAT44((local_b4 - (int)local_94) - (uint)(local_b8 < local_98),\n                          (int)local_b8 - (int)local_98)" identifier = (call_expression "CONCAT44((local_b4 - (int)local_94) - (uint)(local_b8 < local_98),\n                          (int)local_b8 - (int)local_98)" identifier (argument_list "((local_b4 - (int)local_94) - (uint)(local_b8 < local_98),\n                          (int)local_b8 - (int)local_98)" ( (binary_expression "(local_b4 - (int)local_94) - (uint)(local_b8 < local_98)" (parenthesized_expression "(local_b4 - (int)local_94)" ( (binary_expression "local_b4 - (int)local_94" identifier - (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier)) )) - (call_expression "(uint)(local_b8 < local_98)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_b8 < local_98)" ( (binary_expression "local_b8 < local_98" identifier < identifier) )))) , (binary_expression "(int)local_b8 - (int)local_98" (cast_expression "(int)local_b8" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_98" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) })) })) (expression_statement "DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);" (assignment_expression "DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20)" identifier = (call_expression "(uint)((ulonglong)uVar19 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)uVar19 >> 0x20)" ( (binary_expression "(ulonglong)uVar19 >> 0x20" (cast_expression "(ulonglong)uVar19" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "DAT_00018240 = (uint)uVar19;" (assignment_expression "DAT_00018240 = (uint)uVar19" identifier = (cast_expression "(uint)uVar19" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "local_a4 = local_b0;" (assignment_expression "local_a4 = local_b0" identifier = identifier) ;) (if_statement "if (DAT_00018264 != 0) {\n      *(undefined **)(puVar10 + -0x10) = &DAT_00015431;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11aff;\n      printf(*(char **)(puVar10 + -0x10));\n      local_a4 = (int *)PTR_stdout_00017ff0;\n      *(uint *)(puVar10 + -0x14) = DAT_00018244;\n      *(uint *)(puVar10 + -0x18) = DAT_00018240;\n      *(undefined4 *)(puVar10 + -0x1c) = *(undefined4 *)PTR_stdout_00017ff0;\n      *(undefined ***)(puVar10 + -0x20) = local_9c;\n      *(undefined4 *)(puVar10 + -0x24) = 0x11b24;\n      bfd_fprintf_vma();\n      if (DAT_00018258 == 0) {\n        *(undefined4 *)(puVar10 + -0x10) = 10;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11dfa;\n        putchar(*(int *)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n      else {\n        *(undefined **)(puVar10 + -0x10) = &DAT_00015702;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11b44;\n        printf(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n    }" if (parenthesized_expression "(DAT_00018264 != 0)" ( (binary_expression "DAT_00018264 != 0" identifier != number_literal) )) (compound_statement "{\n      *(undefined **)(puVar10 + -0x10) = &DAT_00015431;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11aff;\n      printf(*(char **)(puVar10 + -0x10));\n      local_a4 = (int *)PTR_stdout_00017ff0;\n      *(uint *)(puVar10 + -0x14) = DAT_00018244;\n      *(uint *)(puVar10 + -0x18) = DAT_00018240;\n      *(undefined4 *)(puVar10 + -0x1c) = *(undefined4 *)PTR_stdout_00017ff0;\n      *(undefined ***)(puVar10 + -0x20) = local_9c;\n      *(undefined4 *)(puVar10 + -0x24) = 0x11b24;\n      bfd_fprintf_vma();\n      if (DAT_00018258 == 0) {\n        *(undefined4 *)(puVar10 + -0x10) = 10;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11dfa;\n        putchar(*(int *)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n      else {\n        *(undefined **)(puVar10 + -0x10) = &DAT_00015702;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11b44;\n        printf(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n    }" { (expression_statement "*(undefined **)(puVar10 + -0x10) = &DAT_00015431;" (assignment_expression "*(undefined **)(puVar10 + -0x10) = &DAT_00015431" (pointer_expression "*(undefined **)(puVar10 + -0x10)" * (cast_expression "(undefined **)(puVar10 + -0x10)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = (pointer_expression "&DAT_00015431" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x11aff;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x11aff" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" * (cast_expression "(undefined4 *)(puVar10 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "printf(*(char **)(puVar10 + -0x10));" (call_expression "printf(*(char **)(puVar10 + -0x10))" identifier (argument_list "(*(char **)(puVar10 + -0x10))" ( (pointer_expression "*(char **)(puVar10 + -0x10)" * (cast_expression "(char **)(puVar10 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "local_a4 = (int *)PTR_stdout_00017ff0;" (assignment_expression "local_a4 = (int *)PTR_stdout_00017ff0" identifier = (cast_expression "(int *)PTR_stdout_00017ff0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "*(uint *)(puVar10 + -0x14) = DAT_00018244;" (assignment_expression "*(uint *)(puVar10 + -0x14) = DAT_00018244" (pointer_expression "*(uint *)(puVar10 + -0x14)" * (cast_expression "(uint *)(puVar10 + -0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(puVar10 + -0x18) = DAT_00018240;" (assignment_expression "*(uint *)(puVar10 + -0x18) = DAT_00018240" (pointer_expression "*(uint *)(puVar10 + -0x18)" * (cast_expression "(uint *)(puVar10 + -0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x18)" ( (binary_expression "puVar10 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x1c) = *(undefined4 *)PTR_stdout_00017ff0;" (assignment_expression "*(undefined4 *)(puVar10 + -0x1c) = *(undefined4 *)PTR_stdout_00017ff0" (pointer_expression "*(undefined4 *)(puVar10 + -0x1c)" * (cast_expression "(undefined4 *)(puVar10 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x1c)" ( (binary_expression "puVar10 + -0x1c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)PTR_stdout_00017ff0" * (cast_expression "(undefined4 *)PTR_stdout_00017ff0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "*(undefined ***)(puVar10 + -0x20) = local_9c;" (assignment_expression "*(undefined ***)(puVar10 + -0x20) = local_9c" (pointer_expression "*(undefined ***)(puVar10 + -0x20)" * (cast_expression "(undefined ***)(puVar10 + -0x20)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar10 + -0x20)" ( (binary_expression "puVar10 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x24) = 0x11b24;" (assignment_expression "*(undefined4 *)(puVar10 + -0x24) = 0x11b24" (pointer_expression "*(undefined4 *)(puVar10 + -0x24)" * (cast_expression "(undefined4 *)(puVar10 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x24)" ( (binary_expression "puVar10 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "bfd_fprintf_vma();" (call_expression "bfd_fprintf_vma()" identifier (argument_list "()" ( ))) ;) (if_statement "if (DAT_00018258 == 0) {\n        *(undefined4 *)(puVar10 + -0x10) = 10;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11dfa;\n        putchar(*(int *)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n      else {\n        *(undefined **)(puVar10 + -0x10) = &DAT_00015702;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11b44;\n        printf(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }" if (parenthesized_expression "(DAT_00018258 == 0)" ( (binary_expression "DAT_00018258 == 0" identifier == number_literal) )) (compound_statement "{\n        *(undefined4 *)(puVar10 + -0x10) = 10;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11dfa;\n        putchar(*(int *)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }" { (expression_statement "*(undefined4 *)(puVar10 + -0x10) = 10;" (assignment_expression "*(undefined4 *)(puVar10 + -0x10) = 10" (pointer_expression "*(undefined4 *)(puVar10 + -0x10)" * (cast_expression "(undefined4 *)(puVar10 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x11dfa;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x11dfa" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" * (cast_expression "(undefined4 *)(puVar10 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "putchar(*(int *)(puVar10 + -0x10));" (call_expression "putchar(*(int *)(puVar10 + -0x10))" identifier (argument_list "(*(int *)(puVar10 + -0x10))" ( (pointer_expression "*(int *)(puVar10 + -0x10)" * (cast_expression "(int *)(puVar10 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "uVar19 = CONCAT44(DAT_00018244,DAT_00018240);" (assignment_expression "uVar19 = CONCAT44(DAT_00018244,DAT_00018240)" identifier = (call_expression "CONCAT44(DAT_00018244,DAT_00018240)" identifier (argument_list "(DAT_00018244,DAT_00018240)" ( identifier , identifier )))) ;) }) (else_clause "else {\n        *(undefined **)(puVar10 + -0x10) = &DAT_00015702;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11b44;\n        printf(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }" else (compound_statement "{\n        *(undefined **)(puVar10 + -0x10) = &DAT_00015702;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11b44;\n        printf(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }" { (expression_statement "*(undefined **)(puVar10 + -0x10) = &DAT_00015702;" (assignment_expression "*(undefined **)(puVar10 + -0x10) = &DAT_00015702" (pointer_expression "*(undefined **)(puVar10 + -0x10)" * (cast_expression "(undefined **)(puVar10 + -0x10)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = (pointer_expression "&DAT_00015702" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x11b44;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x11b44" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" * (cast_expression "(undefined4 *)(puVar10 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "printf(*(char **)(puVar10 + -0x10));" (call_expression "printf(*(char **)(puVar10 + -0x10))" identifier (argument_list "(*(char **)(puVar10 + -0x10))" ( (pointer_expression "*(char **)(puVar10 + -0x10)" * (cast_expression "(char **)(puVar10 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "uVar19 = CONCAT44(DAT_00018244,DAT_00018240);" (assignment_expression "uVar19 = CONCAT44(DAT_00018244,DAT_00018240)" identifier = (call_expression "CONCAT44(DAT_00018244,DAT_00018240)" identifier (argument_list "(DAT_00018244,DAT_00018240)" ( identifier , identifier )))) ;) }))) })) (expression_statement "DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);" (assignment_expression "DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20)" identifier = (call_expression "(uint)((ulonglong)uVar19 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)uVar19 >> 0x20)" ( (binary_expression "(ulonglong)uVar19 >> 0x20" (cast_expression "(ulonglong)uVar19" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "DAT_00018240 = (uint)uVar19;" (assignment_expression "DAT_00018240 = (uint)uVar19" identifier = (cast_expression "(uint)uVar19" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "DAT_00018228 = 0;" (assignment_expression "DAT_00018228 = 0" identifier = number_literal) ;) (if_statement "if (local_a8 == 0) {\n      *(undefined4 *)(puVar10 + -8) = 0;\n      *(code **)(puVar10 + -0xc) = FUN_00012210;\n      *(undefined ***)(puVar10 + -0x10) = local_9c;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11b67;\n      bfd_map_over_sections();\n      ppuVar4 = local_9c;\njoined_r0x00011b72:\n      uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      local_9c = ppuVar4;\n      if (DAT_00018228 != 0) {\n        local_a0 = &DAT_00015442;\n        local_98 = "??";\n        do {\n          local_9c = (undefined **)0x15817;\n          do {\n            pcVar5 = DAT_00018234;\n            if (DAT_00018260 != 0) {\n              pcVar6 = local_98;\n              pcVar16 = DAT_00018234;\n              if (DAT_00018234 != (char *)0x0) {\n                if (*DAT_00018234 == '\0') {\n                  pcVar16 = (char *)0x0;\n                }\n                else {\n                  if (DAT_0001825c != 0) {\n                    *(undefined4 *)(puVar10 + -8) = 3;\n                    *(char **)(puVar10 + -0xc) = DAT_00018234;\n                    *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n                    *(undefined4 *)(puVar10 + -0x14) = 0x11db4;\n                    pcVar6 = (char *)bfd_demangle();\n                    pcVar16 = pcVar6;\n                    if (pcVar6 != (char *)0x0) goto LAB_00011bdd;\n                  }\n                  pcVar6 = pcVar5;\n                  pcVar16 = (char *)0x0;\n                }\n              }\nLAB_00011bdd:\n              *(char **)(puVar10 + -0xc) = pcVar6;\n              *(undefined ***)(puVar10 + -0x10) = local_9c;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11bec;\n              printf(*(char **)(puVar10 + -0x10));\n              if (DAT_00018258 == 0) {\n                *(undefined4 *)(puVar10 + -0x10) = 10;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11d8a;\n                putchar(*(int *)(puVar10 + -0x10));\n              }\n              else {\n                *(undefined4 *)(puVar10 + -8) = 5;\n                *(undefined **)(puVar10 + -0xc) = &DAT_0001543d;\n                *(undefined4 *)(puVar10 + -0x10) = 0;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c10;\n                uVar7 = dcgettext();\n                *(undefined4 *)(puVar10 + -0x10) = uVar7;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c18;\n                printf(*(char **)(puVar10 + -0x10));\n              }\n              if (pcVar16 != (char *)0x0) {\n                *(char **)(puVar10 + -0x10) = pcVar16;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c28;\n                free(*(void **)(puVar10 + -0x10));\n              }\n            }\n            pcVar5 = DAT_00018238;\n            if (DAT_00018254 == 0) {\nLAB_00011c5e:\n              pcVar5 = DAT_00018238;\n              if (DAT_00018238 == (char *)0x0) {\nLAB_00011d70:\n                pcVar5 = local_98;\n              }\n            }\n            else {\n              if (DAT_00018238 == (char *)0x0) goto LAB_00011d70;\n              *(undefined4 *)(puVar10 + -0xc) = 0x2f;\n              *(char **)(puVar10 + -0x10) = DAT_00018238;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11c4e;\n              pcVar6 = strrchr(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc));\n              if (pcVar6 != (char *)0x0) {\n                DAT_00018238 = pcVar6 + 1;\n                goto LAB_00011c5e;\n              }\n            }\n            *(char **)(puVar10 + -0xc) = pcVar5;\n            *(undefined **)(puVar10 + -0x10) = local_a0;\n            *(undefined4 *)(puVar10 + -0x14) = 0x11c75;\n            printf(*(char **)(puVar10 + -0x10));\n            if (DAT_00018230 == 0) {\n              *(undefined **)(puVar10 + -0x10) = &DAT_000153c0;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d5f;\n              puts(*(char **)(puVar10 + -0x10));\n            }\n            else if (DAT_0001822c == 0) {\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(undefined **)(puVar10 + -0x10) = &DAT_0001545d;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d48;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            else {\n              *(int *)(puVar10 + -8) = DAT_0001822c;\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(char **)(puVar10 + -0x10) = "%u (discriminator %u)\n";\n              *(undefined4 *)(puVar10 + -0x14) = 0x11ca5;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            if (DAT_00018268 == 0) {\n              DAT_00018228 = 0;\n              goto LAB_000119cc;\n            }\n            puVar2 = ppuVar4[1];\n            *(int **)(puVar10 + -4) = &DAT_00018230;\n            *(char ***)(puVar10 + -8) = &DAT_00018234;\n            *(char ***)(puVar10 + -0xc) = &DAT_00018238;\n            *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n            pcVar1 = *(code **)(puVar2 + 0x130);\n            *(undefined4 *)(puVar10 + -0x14) = 0x11cef;\n            DAT_00018228 = (*pcVar1)();\n            if (DAT_00018228 == 0) goto LAB_000119cc;\n          } while (DAT_00018258 == 0);\n          *(undefined4 *)(puVar10 + -8) = 5;\n          *(char **)(puVar10 + -0xc) = " (inlined by) ";\n          *(undefined4 *)(puVar10 + -0x10) = 0;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11d21;\n          uVar7 = dcgettext();\n          *(undefined4 *)(puVar10 + -0x10) = uVar7;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11d29;\n          printf(*(char **)(puVar10 + -0x10));\n        } while( true );\n      }\n    }\n    else if (((*(byte *)(local_a8 + 0x14) & 1) != 0) &&\n            (DAT_00018244 < *(uint *)(local_a8 + 0x30) ||\n             DAT_00018244 - *(uint *)(local_a8 + 0x30) <\n             (uint)(DAT_00018240 < *(uint *)(local_a8 + 0x2c)))) {\n      puVar2 = local_9c[1];\n      *(int **)(puVar10 + -0x10) = &DAT_0001822c;\n      *(int **)(puVar10 + -0x14) = &DAT_00018230;\n      *(char ***)(puVar10 + -0x18) = &DAT_00018234;\n      *(char ***)(puVar10 + -0x1c) = &DAT_00018238;\n      *(undefined8 *)(puVar10 + -0x24) = uVar19;\n      *(int *)(puVar10 + -0x28) = local_a8;\n      *(void **)(puVar10 + -0x2c) = DAT_00018248;\n      *(undefined ***)(puVar10 + -0x30) = local_9c;\n      pcVar1 = *(code **)(puVar2 + 0x128);\n      *(undefined4 *)(puVar10 + -0x34) = 0x1197f;\n      DAT_00018228 = (*pcVar1)();\n      ppuVar4 = local_9c;\n      goto joined_r0x00011b72;\n    }" if (parenthesized_expression "(local_a8 == 0)" ( (binary_expression "local_a8 == 0" identifier == number_literal) )) (compound_statement "{\n      *(undefined4 *)(puVar10 + -8) = 0;\n      *(code **)(puVar10 + -0xc) = FUN_00012210;\n      *(undefined ***)(puVar10 + -0x10) = local_9c;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11b67;\n      bfd_map_over_sections();\n      ppuVar4 = local_9c;\njoined_r0x00011b72:\n      uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      local_9c = ppuVar4;\n      if (DAT_00018228 != 0) {\n        local_a0 = &DAT_00015442;\n        local_98 = "??";\n        do {\n          local_9c = (undefined **)0x15817;\n          do {\n            pcVar5 = DAT_00018234;\n            if (DAT_00018260 != 0) {\n              pcVar6 = local_98;\n              pcVar16 = DAT_00018234;\n              if (DAT_00018234 != (char *)0x0) {\n                if (*DAT_00018234 == '\0') {\n                  pcVar16 = (char *)0x0;\n                }\n                else {\n                  if (DAT_0001825c != 0) {\n                    *(undefined4 *)(puVar10 + -8) = 3;\n                    *(char **)(puVar10 + -0xc) = DAT_00018234;\n                    *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n                    *(undefined4 *)(puVar10 + -0x14) = 0x11db4;\n                    pcVar6 = (char *)bfd_demangle();\n                    pcVar16 = pcVar6;\n                    if (pcVar6 != (char *)0x0) goto LAB_00011bdd;\n                  }\n                  pcVar6 = pcVar5;\n                  pcVar16 = (char *)0x0;\n                }\n              }\nLAB_00011bdd:\n              *(char **)(puVar10 + -0xc) = pcVar6;\n              *(undefined ***)(puVar10 + -0x10) = local_9c;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11bec;\n              printf(*(char **)(puVar10 + -0x10));\n              if (DAT_00018258 == 0) {\n                *(undefined4 *)(puVar10 + -0x10) = 10;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11d8a;\n                putchar(*(int *)(puVar10 + -0x10));\n              }\n              else {\n                *(undefined4 *)(puVar10 + -8) = 5;\n                *(undefined **)(puVar10 + -0xc) = &DAT_0001543d;\n                *(undefined4 *)(puVar10 + -0x10) = 0;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c10;\n                uVar7 = dcgettext();\n                *(undefined4 *)(puVar10 + -0x10) = uVar7;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c18;\n                printf(*(char **)(puVar10 + -0x10));\n              }\n              if (pcVar16 != (char *)0x0) {\n                *(char **)(puVar10 + -0x10) = pcVar16;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c28;\n                free(*(void **)(puVar10 + -0x10));\n              }\n            }\n            pcVar5 = DAT_00018238;\n            if (DAT_00018254 == 0) {\nLAB_00011c5e:\n              pcVar5 = DAT_00018238;\n              if (DAT_00018238 == (char *)0x0) {\nLAB_00011d70:\n                pcVar5 = local_98;\n              }\n            }\n            else {\n              if (DAT_00018238 == (char *)0x0) goto LAB_00011d70;\n              *(undefined4 *)(puVar10 + -0xc) = 0x2f;\n              *(char **)(puVar10 + -0x10) = DAT_00018238;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11c4e;\n              pcVar6 = strrchr(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc));\n              if (pcVar6 != (char *)0x0) {\n                DAT_00018238 = pcVar6 + 1;\n                goto LAB_00011c5e;\n              }\n            }\n            *(char **)(puVar10 + -0xc) = pcVar5;\n            *(undefined **)(puVar10 + -0x10) = local_a0;\n            *(undefined4 *)(puVar10 + -0x14) = 0x11c75;\n            printf(*(char **)(puVar10 + -0x10));\n            if (DAT_00018230 == 0) {\n              *(undefined **)(puVar10 + -0x10) = &DAT_000153c0;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d5f;\n              puts(*(char **)(puVar10 + -0x10));\n            }\n            else if (DAT_0001822c == 0) {\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(undefined **)(puVar10 + -0x10) = &DAT_0001545d;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d48;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            else {\n              *(int *)(puVar10 + -8) = DAT_0001822c;\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(char **)(puVar10 + -0x10) = "%u (discriminator %u)\n";\n              *(undefined4 *)(puVar10 + -0x14) = 0x11ca5;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            if (DAT_00018268 == 0) {\n              DAT_00018228 = 0;\n              goto LAB_000119cc;\n            }\n            puVar2 = ppuVar4[1];\n            *(int **)(puVar10 + -4) = &DAT_00018230;\n            *(char ***)(puVar10 + -8) = &DAT_00018234;\n            *(char ***)(puVar10 + -0xc) = &DAT_00018238;\n            *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n            pcVar1 = *(code **)(puVar2 + 0x130);\n            *(undefined4 *)(puVar10 + -0x14) = 0x11cef;\n            DAT_00018228 = (*pcVar1)();\n            if (DAT_00018228 == 0) goto LAB_000119cc;\n          } while (DAT_00018258 == 0);\n          *(undefined4 *)(puVar10 + -8) = 5;\n          *(char **)(puVar10 + -0xc) = " (inlined by) ";\n          *(undefined4 *)(puVar10 + -0x10) = 0;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11d21;\n          uVar7 = dcgettext();\n          *(undefined4 *)(puVar10 + -0x10) = uVar7;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11d29;\n          printf(*(char **)(puVar10 + -0x10));\n        } while( true );\n      }\n    }" { (expression_statement "*(undefined4 *)(puVar10 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar10 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar10 + -8)" * (cast_expression "(undefined4 *)(puVar10 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -8)" ( (binary_expression "puVar10 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(code **)(puVar10 + -0xc) = FUN_00012210;" (assignment_expression "*(code **)(puVar10 + -0xc) = FUN_00012210" (pointer_expression "*(code **)(puVar10 + -0xc)" * (cast_expression "(code **)(puVar10 + -0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0xc)" ( (binary_expression "puVar10 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar10 + -0x10) = local_9c;" (assignment_expression "*(undefined ***)(puVar10 + -0x10) = local_9c" (pointer_expression "*(undefined ***)(puVar10 + -0x10)" * (cast_expression "(undefined ***)(puVar10 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x11b67;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x11b67" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" * (cast_expression "(undefined4 *)(puVar10 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "bfd_map_over_sections();" (call_expression "bfd_map_over_sections()" identifier (argument_list "()" ( ))) ;) (expression_statement "ppuVar4 = local_9c;" (assignment_expression "ppuVar4 = local_9c" identifier = identifier) ;) (labeled_statement "joined_r0x00011b72:\n      uVar19 = CONCAT44(DAT_00018244,DAT_00018240);" statement_identifier : (expression_statement "uVar19 = CONCAT44(DAT_00018244,DAT_00018240);" (assignment_expression "uVar19 = CONCAT44(DAT_00018244,DAT_00018240)" identifier = (call_expression "CONCAT44(DAT_00018244,DAT_00018240)" identifier (argument_list "(DAT_00018244,DAT_00018240)" ( identifier , identifier )))) ;)) (expression_statement "local_9c = ppuVar4;" (assignment_expression "local_9c = ppuVar4" identifier = identifier) ;) (if_statement "if (DAT_00018228 != 0) {\n        local_a0 = &DAT_00015442;\n        local_98 = "??";\n        do {\n          local_9c = (undefined **)0x15817;\n          do {\n            pcVar5 = DAT_00018234;\n            if (DAT_00018260 != 0) {\n              pcVar6 = local_98;\n              pcVar16 = DAT_00018234;\n              if (DAT_00018234 != (char *)0x0) {\n                if (*DAT_00018234 == '\0') {\n                  pcVar16 = (char *)0x0;\n                }\n                else {\n                  if (DAT_0001825c != 0) {\n                    *(undefined4 *)(puVar10 + -8) = 3;\n                    *(char **)(puVar10 + -0xc) = DAT_00018234;\n                    *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n                    *(undefined4 *)(puVar10 + -0x14) = 0x11db4;\n                    pcVar6 = (char *)bfd_demangle();\n                    pcVar16 = pcVar6;\n                    if (pcVar6 != (char *)0x0) goto LAB_00011bdd;\n                  }\n                  pcVar6 = pcVar5;\n                  pcVar16 = (char *)0x0;\n                }\n              }\nLAB_00011bdd:\n              *(char **)(puVar10 + -0xc) = pcVar6;\n              *(undefined ***)(puVar10 + -0x10) = local_9c;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11bec;\n              printf(*(char **)(puVar10 + -0x10));\n              if (DAT_00018258 == 0) {\n                *(undefined4 *)(puVar10 + -0x10) = 10;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11d8a;\n                putchar(*(int *)(puVar10 + -0x10));\n              }\n              else {\n                *(undefined4 *)(puVar10 + -8) = 5;\n                *(undefined **)(puVar10 + -0xc) = &DAT_0001543d;\n                *(undefined4 *)(puVar10 + -0x10) = 0;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c10;\n                uVar7 = dcgettext();\n                *(undefined4 *)(puVar10 + -0x10) = uVar7;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c18;\n                printf(*(char **)(puVar10 + -0x10));\n              }\n              if (pcVar16 != (char *)0x0) {\n                *(char **)(puVar10 + -0x10) = pcVar16;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c28;\n                free(*(void **)(puVar10 + -0x10));\n              }\n            }\n            pcVar5 = DAT_00018238;\n            if (DAT_00018254 == 0) {\nLAB_00011c5e:\n              pcVar5 = DAT_00018238;\n              if (DAT_00018238 == (char *)0x0) {\nLAB_00011d70:\n                pcVar5 = local_98;\n              }\n            }\n            else {\n              if (DAT_00018238 == (char *)0x0) goto LAB_00011d70;\n              *(undefined4 *)(puVar10 + -0xc) = 0x2f;\n              *(char **)(puVar10 + -0x10) = DAT_00018238;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11c4e;\n              pcVar6 = strrchr(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc));\n              if (pcVar6 != (char *)0x0) {\n                DAT_00018238 = pcVar6 + 1;\n                goto LAB_00011c5e;\n              }\n            }\n            *(char **)(puVar10 + -0xc) = pcVar5;\n            *(undefined **)(puVar10 + -0x10) = local_a0;\n            *(undefined4 *)(puVar10 + -0x14) = 0x11c75;\n            printf(*(char **)(puVar10 + -0x10));\n            if (DAT_00018230 == 0) {\n              *(undefined **)(puVar10 + -0x10) = &DAT_000153c0;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d5f;\n              puts(*(char **)(puVar10 + -0x10));\n            }\n            else if (DAT_0001822c == 0) {\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(undefined **)(puVar10 + -0x10) = &DAT_0001545d;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d48;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            else {\n              *(int *)(puVar10 + -8) = DAT_0001822c;\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(char **)(puVar10 + -0x10) = "%u (discriminator %u)\n";\n              *(undefined4 *)(puVar10 + -0x14) = 0x11ca5;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            if (DAT_00018268 == 0) {\n              DAT_00018228 = 0;\n              goto LAB_000119cc;\n            }\n            puVar2 = ppuVar4[1];\n            *(int **)(puVar10 + -4) = &DAT_00018230;\n            *(char ***)(puVar10 + -8) = &DAT_00018234;\n            *(char ***)(puVar10 + -0xc) = &DAT_00018238;\n            *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n            pcVar1 = *(code **)(puVar2 + 0x130);\n            *(undefined4 *)(puVar10 + -0x14) = 0x11cef;\n            DAT_00018228 = (*pcVar1)();\n            if (DAT_00018228 == 0) goto LAB_000119cc;\n          } while (DAT_00018258 == 0);\n          *(undefined4 *)(puVar10 + -8) = 5;\n          *(char **)(puVar10 + -0xc) = " (inlined by) ";\n          *(undefined4 *)(puVar10 + -0x10) = 0;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11d21;\n          uVar7 = dcgettext();\n          *(undefined4 *)(puVar10 + -0x10) = uVar7;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11d29;\n          printf(*(char **)(puVar10 + -0x10));\n        } while( true );\n      }" if (parenthesized_expression "(DAT_00018228 != 0)" ( (binary_expression "DAT_00018228 != 0" identifier != number_literal) )) (compound_statement "{\n        local_a0 = &DAT_00015442;\n        local_98 = "??";\n        do {\n          local_9c = (undefined **)0x15817;\n          do {\n            pcVar5 = DAT_00018234;\n            if (DAT_00018260 != 0) {\n              pcVar6 = local_98;\n              pcVar16 = DAT_00018234;\n              if (DAT_00018234 != (char *)0x0) {\n                if (*DAT_00018234 == '\0') {\n                  pcVar16 = (char *)0x0;\n                }\n                else {\n                  if (DAT_0001825c != 0) {\n                    *(undefined4 *)(puVar10 + -8) = 3;\n                    *(char **)(puVar10 + -0xc) = DAT_00018234;\n                    *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n                    *(undefined4 *)(puVar10 + -0x14) = 0x11db4;\n                    pcVar6 = (char *)bfd_demangle();\n                    pcVar16 = pcVar6;\n                    if (pcVar6 != (char *)0x0) goto LAB_00011bdd;\n                  }\n                  pcVar6 = pcVar5;\n                  pcVar16 = (char *)0x0;\n                }\n              }\nLAB_00011bdd:\n              *(char **)(puVar10 + -0xc) = pcVar6;\n              *(undefined ***)(puVar10 + -0x10) = local_9c;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11bec;\n              printf(*(char **)(puVar10 + -0x10));\n              if (DAT_00018258 == 0) {\n                *(undefined4 *)(puVar10 + -0x10) = 10;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11d8a;\n                putchar(*(int *)(puVar10 + -0x10));\n              }\n              else {\n                *(undefined4 *)(puVar10 + -8) = 5;\n                *(undefined **)(puVar10 + -0xc) = &DAT_0001543d;\n                *(undefined4 *)(puVar10 + -0x10) = 0;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c10;\n                uVar7 = dcgettext();\n                *(undefined4 *)(puVar10 + -0x10) = uVar7;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c18;\n                printf(*(char **)(puVar10 + -0x10));\n              }\n              if (pcVar16 != (char *)0x0) {\n                *(char **)(puVar10 + -0x10) = pcVar16;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c28;\n                free(*(void **)(puVar10 + -0x10));\n              }\n            }\n            pcVar5 = DAT_00018238;\n            if (DAT_00018254 == 0) {\nLAB_00011c5e:\n              pcVar5 = DAT_00018238;\n              if (DAT_00018238 == (char *)0x0) {\nLAB_00011d70:\n                pcVar5 = local_98;\n              }\n            }\n            else {\n              if (DAT_00018238 == (char *)0x0) goto LAB_00011d70;\n              *(undefined4 *)(puVar10 + -0xc) = 0x2f;\n              *(char **)(puVar10 + -0x10) = DAT_00018238;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11c4e;\n              pcVar6 = strrchr(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc));\n              if (pcVar6 != (char *)0x0) {\n                DAT_00018238 = pcVar6 + 1;\n                goto LAB_00011c5e;\n              }\n            }\n            *(char **)(puVar10 + -0xc) = pcVar5;\n            *(undefined **)(puVar10 + -0x10) = local_a0;\n            *(undefined4 *)(puVar10 + -0x14) = 0x11c75;\n            printf(*(char **)(puVar10 + -0x10));\n            if (DAT_00018230 == 0) {\n              *(undefined **)(puVar10 + -0x10) = &DAT_000153c0;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d5f;\n              puts(*(char **)(puVar10 + -0x10));\n            }\n            else if (DAT_0001822c == 0) {\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(undefined **)(puVar10 + -0x10) = &DAT_0001545d;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d48;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            else {\n              *(int *)(puVar10 + -8) = DAT_0001822c;\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(char **)(puVar10 + -0x10) = "%u (discriminator %u)\n";\n              *(undefined4 *)(puVar10 + -0x14) = 0x11ca5;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            if (DAT_00018268 == 0) {\n              DAT_00018228 = 0;\n              goto LAB_000119cc;\n            }\n            puVar2 = ppuVar4[1];\n            *(int **)(puVar10 + -4) = &DAT_00018230;\n            *(char ***)(puVar10 + -8) = &DAT_00018234;\n            *(char ***)(puVar10 + -0xc) = &DAT_00018238;\n            *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n            pcVar1 = *(code **)(puVar2 + 0x130);\n            *(undefined4 *)(puVar10 + -0x14) = 0x11cef;\n            DAT_00018228 = (*pcVar1)();\n            if (DAT_00018228 == 0) goto LAB_000119cc;\n          } while (DAT_00018258 == 0);\n          *(undefined4 *)(puVar10 + -8) = 5;\n          *(char **)(puVar10 + -0xc) = " (inlined by) ";\n          *(undefined4 *)(puVar10 + -0x10) = 0;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11d21;\n          uVar7 = dcgettext();\n          *(undefined4 *)(puVar10 + -0x10) = uVar7;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11d29;\n          printf(*(char **)(puVar10 + -0x10));\n        } while( true );\n      }" { (expression_statement "local_a0 = &DAT_00015442;" (assignment_expression "local_a0 = &DAT_00015442" identifier = (pointer_expression "&DAT_00015442" & identifier)) ;) (expression_statement "local_98 = "??";" (assignment_expression "local_98 = "??"" identifier = (string_literal ""??"" " string_content ")) ;) (do_statement "do {\n          local_9c = (undefined **)0x15817;\n          do {\n            pcVar5 = DAT_00018234;\n            if (DAT_00018260 != 0) {\n              pcVar6 = local_98;\n              pcVar16 = DAT_00018234;\n              if (DAT_00018234 != (char *)0x0) {\n                if (*DAT_00018234 == '\0') {\n                  pcVar16 = (char *)0x0;\n                }\n                else {\n                  if (DAT_0001825c != 0) {\n                    *(undefined4 *)(puVar10 + -8) = 3;\n                    *(char **)(puVar10 + -0xc) = DAT_00018234;\n                    *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n                    *(undefined4 *)(puVar10 + -0x14) = 0x11db4;\n                    pcVar6 = (char *)bfd_demangle();\n                    pcVar16 = pcVar6;\n                    if (pcVar6 != (char *)0x0) goto LAB_00011bdd;\n                  }\n                  pcVar6 = pcVar5;\n                  pcVar16 = (char *)0x0;\n                }\n              }\nLAB_00011bdd:\n              *(char **)(puVar10 + -0xc) = pcVar6;\n              *(undefined ***)(puVar10 + -0x10) = local_9c;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11bec;\n              printf(*(char **)(puVar10 + -0x10));\n              if (DAT_00018258 == 0) {\n                *(undefined4 *)(puVar10 + -0x10) = 10;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11d8a;\n                putchar(*(int *)(puVar10 + -0x10));\n              }\n              else {\n                *(undefined4 *)(puVar10 + -8) = 5;\n                *(undefined **)(puVar10 + -0xc) = &DAT_0001543d;\n                *(undefined4 *)(puVar10 + -0x10) = 0;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c10;\n                uVar7 = dcgettext();\n                *(undefined4 *)(puVar10 + -0x10) = uVar7;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c18;\n                printf(*(char **)(puVar10 + -0x10));\n              }\n              if (pcVar16 != (char *)0x0) {\n                *(char **)(puVar10 + -0x10) = pcVar16;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c28;\n                free(*(void **)(puVar10 + -0x10));\n              }\n            }\n            pcVar5 = DAT_00018238;\n            if (DAT_00018254 == 0) {\nLAB_00011c5e:\n              pcVar5 = DAT_00018238;\n              if (DAT_00018238 == (char *)0x0) {\nLAB_00011d70:\n                pcVar5 = local_98;\n              }\n            }\n            else {\n              if (DAT_00018238 == (char *)0x0) goto LAB_00011d70;\n              *(undefined4 *)(puVar10 + -0xc) = 0x2f;\n              *(char **)(puVar10 + -0x10) = DAT_00018238;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11c4e;\n              pcVar6 = strrchr(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc));\n              if (pcVar6 != (char *)0x0) {\n                DAT_00018238 = pcVar6 + 1;\n                goto LAB_00011c5e;\n              }\n            }\n            *(char **)(puVar10 + -0xc) = pcVar5;\n            *(undefined **)(puVar10 + -0x10) = local_a0;\n            *(undefined4 *)(puVar10 + -0x14) = 0x11c75;\n            printf(*(char **)(puVar10 + -0x10));\n            if (DAT_00018230 == 0) {\n              *(undefined **)(puVar10 + -0x10) = &DAT_000153c0;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d5f;\n              puts(*(char **)(puVar10 + -0x10));\n            }\n            else if (DAT_0001822c == 0) {\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(undefined **)(puVar10 + -0x10) = &DAT_0001545d;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d48;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            else {\n              *(int *)(puVar10 + -8) = DAT_0001822c;\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(char **)(puVar10 + -0x10) = "%u (discriminator %u)\n";\n              *(undefined4 *)(puVar10 + -0x14) = 0x11ca5;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            if (DAT_00018268 == 0) {\n              DAT_00018228 = 0;\n              goto LAB_000119cc;\n            }\n            puVar2 = ppuVar4[1];\n            *(int **)(puVar10 + -4) = &DAT_00018230;\n            *(char ***)(puVar10 + -8) = &DAT_00018234;\n            *(char ***)(puVar10 + -0xc) = &DAT_00018238;\n            *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n            pcVar1 = *(code **)(puVar2 + 0x130);\n            *(undefined4 *)(puVar10 + -0x14) = 0x11cef;\n            DAT_00018228 = (*pcVar1)();\n            if (DAT_00018228 == 0) goto LAB_000119cc;\n          } while (DAT_00018258 == 0);\n          *(undefined4 *)(puVar10 + -8) = 5;\n          *(char **)(puVar10 + -0xc) = " (inlined by) ";\n          *(undefined4 *)(puVar10 + -0x10) = 0;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11d21;\n          uVar7 = dcgettext();\n          *(undefined4 *)(puVar10 + -0x10) = uVar7;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11d29;\n          printf(*(char **)(puVar10 + -0x10));\n        } while( true );" do (compound_statement "{\n          local_9c = (undefined **)0x15817;\n          do {\n            pcVar5 = DAT_00018234;\n            if (DAT_00018260 != 0) {\n              pcVar6 = local_98;\n              pcVar16 = DAT_00018234;\n              if (DAT_00018234 != (char *)0x0) {\n                if (*DAT_00018234 == '\0') {\n                  pcVar16 = (char *)0x0;\n                }\n                else {\n                  if (DAT_0001825c != 0) {\n                    *(undefined4 *)(puVar10 + -8) = 3;\n                    *(char **)(puVar10 + -0xc) = DAT_00018234;\n                    *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n                    *(undefined4 *)(puVar10 + -0x14) = 0x11db4;\n                    pcVar6 = (char *)bfd_demangle();\n                    pcVar16 = pcVar6;\n                    if (pcVar6 != (char *)0x0) goto LAB_00011bdd;\n                  }\n                  pcVar6 = pcVar5;\n                  pcVar16 = (char *)0x0;\n                }\n              }\nLAB_00011bdd:\n              *(char **)(puVar10 + -0xc) = pcVar6;\n              *(undefined ***)(puVar10 + -0x10) = local_9c;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11bec;\n              printf(*(char **)(puVar10 + -0x10));\n              if (DAT_00018258 == 0) {\n                *(undefined4 *)(puVar10 + -0x10) = 10;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11d8a;\n                putchar(*(int *)(puVar10 + -0x10));\n              }\n              else {\n                *(undefined4 *)(puVar10 + -8) = 5;\n                *(undefined **)(puVar10 + -0xc) = &DAT_0001543d;\n                *(undefined4 *)(puVar10 + -0x10) = 0;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c10;\n                uVar7 = dcgettext();\n                *(undefined4 *)(puVar10 + -0x10) = uVar7;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c18;\n                printf(*(char **)(puVar10 + -0x10));\n              }\n              if (pcVar16 != (char *)0x0) {\n                *(char **)(puVar10 + -0x10) = pcVar16;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c28;\n                free(*(void **)(puVar10 + -0x10));\n              }\n            }\n            pcVar5 = DAT_00018238;\n            if (DAT_00018254 == 0) {\nLAB_00011c5e:\n              pcVar5 = DAT_00018238;\n              if (DAT_00018238 == (char *)0x0) {\nLAB_00011d70:\n                pcVar5 = local_98;\n              }\n            }\n            else {\n              if (DAT_00018238 == (char *)0x0) goto LAB_00011d70;\n              *(undefined4 *)(puVar10 + -0xc) = 0x2f;\n              *(char **)(puVar10 + -0x10) = DAT_00018238;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11c4e;\n              pcVar6 = strrchr(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc));\n              if (pcVar6 != (char *)0x0) {\n                DAT_00018238 = pcVar6 + 1;\n                goto LAB_00011c5e;\n              }\n            }\n            *(char **)(puVar10 + -0xc) = pcVar5;\n            *(undefined **)(puVar10 + -0x10) = local_a0;\n            *(undefined4 *)(puVar10 + -0x14) = 0x11c75;\n            printf(*(char **)(puVar10 + -0x10));\n            if (DAT_00018230 == 0) {\n              *(undefined **)(puVar10 + -0x10) = &DAT_000153c0;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d5f;\n              puts(*(char **)(puVar10 + -0x10));\n            }\n            else if (DAT_0001822c == 0) {\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(undefined **)(puVar10 + -0x10) = &DAT_0001545d;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d48;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            else {\n              *(int *)(puVar10 + -8) = DAT_0001822c;\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(char **)(puVar10 + -0x10) = "%u (discriminator %u)\n";\n              *(undefined4 *)(puVar10 + -0x14) = 0x11ca5;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            if (DAT_00018268 == 0) {\n              DAT_00018228 = 0;\n              goto LAB_000119cc;\n            }\n            puVar2 = ppuVar4[1];\n            *(int **)(puVar10 + -4) = &DAT_00018230;\n            *(char ***)(puVar10 + -8) = &DAT_00018234;\n            *(char ***)(puVar10 + -0xc) = &DAT_00018238;\n            *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n            pcVar1 = *(code **)(puVar2 + 0x130);\n            *(undefined4 *)(puVar10 + -0x14) = 0x11cef;\n            DAT_00018228 = (*pcVar1)();\n            if (DAT_00018228 == 0) goto LAB_000119cc;\n          } while (DAT_00018258 == 0);\n          *(undefined4 *)(puVar10 + -8) = 5;\n          *(char **)(puVar10 + -0xc) = " (inlined by) ";\n          *(undefined4 *)(puVar10 + -0x10) = 0;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11d21;\n          uVar7 = dcgettext();\n          *(undefined4 *)(puVar10 + -0x10) = uVar7;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11d29;\n          printf(*(char **)(puVar10 + -0x10));\n        }" { (expression_statement "local_9c = (undefined **)0x15817;" (assignment_expression "local_9c = (undefined **)0x15817" identifier = (cast_expression "(undefined **)0x15817" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (do_statement "do {\n            pcVar5 = DAT_00018234;\n            if (DAT_00018260 != 0) {\n              pcVar6 = local_98;\n              pcVar16 = DAT_00018234;\n              if (DAT_00018234 != (char *)0x0) {\n                if (*DAT_00018234 == '\0') {\n                  pcVar16 = (char *)0x0;\n                }\n                else {\n                  if (DAT_0001825c != 0) {\n                    *(undefined4 *)(puVar10 + -8) = 3;\n                    *(char **)(puVar10 + -0xc) = DAT_00018234;\n                    *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n                    *(undefined4 *)(puVar10 + -0x14) = 0x11db4;\n                    pcVar6 = (char *)bfd_demangle();\n                    pcVar16 = pcVar6;\n                    if (pcVar6 != (char *)0x0) goto LAB_00011bdd;\n                  }\n                  pcVar6 = pcVar5;\n                  pcVar16 = (char *)0x0;\n                }\n              }\nLAB_00011bdd:\n              *(char **)(puVar10 + -0xc) = pcVar6;\n              *(undefined ***)(puVar10 + -0x10) = local_9c;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11bec;\n              printf(*(char **)(puVar10 + -0x10));\n              if (DAT_00018258 == 0) {\n                *(undefined4 *)(puVar10 + -0x10) = 10;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11d8a;\n                putchar(*(int *)(puVar10 + -0x10));\n              }\n              else {\n                *(undefined4 *)(puVar10 + -8) = 5;\n                *(undefined **)(puVar10 + -0xc) = &DAT_0001543d;\n                *(undefined4 *)(puVar10 + -0x10) = 0;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c10;\n                uVar7 = dcgettext();\n                *(undefined4 *)(puVar10 + -0x10) = uVar7;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c18;\n                printf(*(char **)(puVar10 + -0x10));\n              }\n              if (pcVar16 != (char *)0x0) {\n                *(char **)(puVar10 + -0x10) = pcVar16;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c28;\n                free(*(void **)(puVar10 + -0x10));\n              }\n            }\n            pcVar5 = DAT_00018238;\n            if (DAT_00018254 == 0) {\nLAB_00011c5e:\n              pcVar5 = DAT_00018238;\n              if (DAT_00018238 == (char *)0x0) {\nLAB_00011d70:\n                pcVar5 = local_98;\n              }\n            }\n            else {\n              if (DAT_00018238 == (char *)0x0) goto LAB_00011d70;\n              *(undefined4 *)(puVar10 + -0xc) = 0x2f;\n              *(char **)(puVar10 + -0x10) = DAT_00018238;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11c4e;\n              pcVar6 = strrchr(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc));\n              if (pcVar6 != (char *)0x0) {\n                DAT_00018238 = pcVar6 + 1;\n                goto LAB_00011c5e;\n              }\n            }\n            *(char **)(puVar10 + -0xc) = pcVar5;\n            *(undefined **)(puVar10 + -0x10) = local_a0;\n            *(undefined4 *)(puVar10 + -0x14) = 0x11c75;\n            printf(*(char **)(puVar10 + -0x10));\n            if (DAT_00018230 == 0) {\n              *(undefined **)(puVar10 + -0x10) = &DAT_000153c0;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d5f;\n              puts(*(char **)(puVar10 + -0x10));\n            }\n            else if (DAT_0001822c == 0) {\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(undefined **)(puVar10 + -0x10) = &DAT_0001545d;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d48;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            else {\n              *(int *)(puVar10 + -8) = DAT_0001822c;\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(char **)(puVar10 + -0x10) = "%u (discriminator %u)\n";\n              *(undefined4 *)(puVar10 + -0x14) = 0x11ca5;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            if (DAT_00018268 == 0) {\n              DAT_00018228 = 0;\n              goto LAB_000119cc;\n            }\n            puVar2 = ppuVar4[1];\n            *(int **)(puVar10 + -4) = &DAT_00018230;\n            *(char ***)(puVar10 + -8) = &DAT_00018234;\n            *(char ***)(puVar10 + -0xc) = &DAT_00018238;\n            *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n            pcVar1 = *(code **)(puVar2 + 0x130);\n            *(undefined4 *)(puVar10 + -0x14) = 0x11cef;\n            DAT_00018228 = (*pcVar1)();\n            if (DAT_00018228 == 0) goto LAB_000119cc;\n          } while (DAT_00018258 == 0);" do (compound_statement "{\n            pcVar5 = DAT_00018234;\n            if (DAT_00018260 != 0) {\n              pcVar6 = local_98;\n              pcVar16 = DAT_00018234;\n              if (DAT_00018234 != (char *)0x0) {\n                if (*DAT_00018234 == '\0') {\n                  pcVar16 = (char *)0x0;\n                }\n                else {\n                  if (DAT_0001825c != 0) {\n                    *(undefined4 *)(puVar10 + -8) = 3;\n                    *(char **)(puVar10 + -0xc) = DAT_00018234;\n                    *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n                    *(undefined4 *)(puVar10 + -0x14) = 0x11db4;\n                    pcVar6 = (char *)bfd_demangle();\n                    pcVar16 = pcVar6;\n                    if (pcVar6 != (char *)0x0) goto LAB_00011bdd;\n                  }\n                  pcVar6 = pcVar5;\n                  pcVar16 = (char *)0x0;\n                }\n              }\nLAB_00011bdd:\n              *(char **)(puVar10 + -0xc) = pcVar6;\n              *(undefined ***)(puVar10 + -0x10) = local_9c;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11bec;\n              printf(*(char **)(puVar10 + -0x10));\n              if (DAT_00018258 == 0) {\n                *(undefined4 *)(puVar10 + -0x10) = 10;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11d8a;\n                putchar(*(int *)(puVar10 + -0x10));\n              }\n              else {\n                *(undefined4 *)(puVar10 + -8) = 5;\n                *(undefined **)(puVar10 + -0xc) = &DAT_0001543d;\n                *(undefined4 *)(puVar10 + -0x10) = 0;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c10;\n                uVar7 = dcgettext();\n                *(undefined4 *)(puVar10 + -0x10) = uVar7;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c18;\n                printf(*(char **)(puVar10 + -0x10));\n              }\n              if (pcVar16 != (char *)0x0) {\n                *(char **)(puVar10 + -0x10) = pcVar16;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c28;\n                free(*(void **)(puVar10 + -0x10));\n              }\n            }\n            pcVar5 = DAT_00018238;\n            if (DAT_00018254 == 0) {\nLAB_00011c5e:\n              pcVar5 = DAT_00018238;\n              if (DAT_00018238 == (char *)0x0) {\nLAB_00011d70:\n                pcVar5 = local_98;\n              }\n            }\n            else {\n              if (DAT_00018238 == (char *)0x0) goto LAB_00011d70;\n              *(undefined4 *)(puVar10 + -0xc) = 0x2f;\n              *(char **)(puVar10 + -0x10) = DAT_00018238;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11c4e;\n              pcVar6 = strrchr(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc));\n              if (pcVar6 != (char *)0x0) {\n                DAT_00018238 = pcVar6 + 1;\n                goto LAB_00011c5e;\n              }\n            }\n            *(char **)(puVar10 + -0xc) = pcVar5;\n            *(undefined **)(puVar10 + -0x10) = local_a0;\n            *(undefined4 *)(puVar10 + -0x14) = 0x11c75;\n            printf(*(char **)(puVar10 + -0x10));\n            if (DAT_00018230 == 0) {\n              *(undefined **)(puVar10 + -0x10) = &DAT_000153c0;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d5f;\n              puts(*(char **)(puVar10 + -0x10));\n            }\n            else if (DAT_0001822c == 0) {\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(undefined **)(puVar10 + -0x10) = &DAT_0001545d;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d48;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            else {\n              *(int *)(puVar10 + -8) = DAT_0001822c;\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(char **)(puVar10 + -0x10) = "%u (discriminator %u)\n";\n              *(undefined4 *)(puVar10 + -0x14) = 0x11ca5;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            if (DAT_00018268 == 0) {\n              DAT_00018228 = 0;\n              goto LAB_000119cc;\n            }\n            puVar2 = ppuVar4[1];\n            *(int **)(puVar10 + -4) = &DAT_00018230;\n            *(char ***)(puVar10 + -8) = &DAT_00018234;\n            *(char ***)(puVar10 + -0xc) = &DAT_00018238;\n            *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n            pcVar1 = *(code **)(puVar2 + 0x130);\n            *(undefined4 *)(puVar10 + -0x14) = 0x11cef;\n            DAT_00018228 = (*pcVar1)();\n            if (DAT_00018228 == 0) goto LAB_000119cc;\n          }" { (expression_statement "pcVar5 = DAT_00018234;" (assignment_expression "pcVar5 = DAT_00018234" identifier = identifier) ;) (if_statement "if (DAT_00018260 != 0) {\n              pcVar6 = local_98;\n              pcVar16 = DAT_00018234;\n              if (DAT_00018234 != (char *)0x0) {\n                if (*DAT_00018234 == '\0') {\n                  pcVar16 = (char *)0x0;\n                }\n                else {\n                  if (DAT_0001825c != 0) {\n                    *(undefined4 *)(puVar10 + -8) = 3;\n                    *(char **)(puVar10 + -0xc) = DAT_00018234;\n                    *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n                    *(undefined4 *)(puVar10 + -0x14) = 0x11db4;\n                    pcVar6 = (char *)bfd_demangle();\n                    pcVar16 = pcVar6;\n                    if (pcVar6 != (char *)0x0) goto LAB_00011bdd;\n                  }\n                  pcVar6 = pcVar5;\n                  pcVar16 = (char *)0x0;\n                }\n              }\nLAB_00011bdd:\n              *(char **)(puVar10 + -0xc) = pcVar6;\n              *(undefined ***)(puVar10 + -0x10) = local_9c;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11bec;\n              printf(*(char **)(puVar10 + -0x10));\n              if (DAT_00018258 == 0) {\n                *(undefined4 *)(puVar10 + -0x10) = 10;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11d8a;\n                putchar(*(int *)(puVar10 + -0x10));\n              }\n              else {\n                *(undefined4 *)(puVar10 + -8) = 5;\n                *(undefined **)(puVar10 + -0xc) = &DAT_0001543d;\n                *(undefined4 *)(puVar10 + -0x10) = 0;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c10;\n                uVar7 = dcgettext();\n                *(undefined4 *)(puVar10 + -0x10) = uVar7;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c18;\n                printf(*(char **)(puVar10 + -0x10));\n              }\n              if (pcVar16 != (char *)0x0) {\n                *(char **)(puVar10 + -0x10) = pcVar16;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c28;\n                free(*(void **)(puVar10 + -0x10));\n              }\n            }" if (parenthesized_expression "(DAT_00018260 != 0)" ( (binary_expression "DAT_00018260 != 0" identifier != number_literal) )) (compound_statement "{\n              pcVar6 = local_98;\n              pcVar16 = DAT_00018234;\n              if (DAT_00018234 != (char *)0x0) {\n                if (*DAT_00018234 == '\0') {\n                  pcVar16 = (char *)0x0;\n                }\n                else {\n                  if (DAT_0001825c != 0) {\n                    *(undefined4 *)(puVar10 + -8) = 3;\n                    *(char **)(puVar10 + -0xc) = DAT_00018234;\n                    *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n                    *(undefined4 *)(puVar10 + -0x14) = 0x11db4;\n                    pcVar6 = (char *)bfd_demangle();\n                    pcVar16 = pcVar6;\n                    if (pcVar6 != (char *)0x0) goto LAB_00011bdd;\n                  }\n                  pcVar6 = pcVar5;\n                  pcVar16 = (char *)0x0;\n                }\n              }\nLAB_00011bdd:\n              *(char **)(puVar10 + -0xc) = pcVar6;\n              *(undefined ***)(puVar10 + -0x10) = local_9c;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11bec;\n              printf(*(char **)(puVar10 + -0x10));\n              if (DAT_00018258 == 0) {\n                *(undefined4 *)(puVar10 + -0x10) = 10;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11d8a;\n                putchar(*(int *)(puVar10 + -0x10));\n              }\n              else {\n                *(undefined4 *)(puVar10 + -8) = 5;\n                *(undefined **)(puVar10 + -0xc) = &DAT_0001543d;\n                *(undefined4 *)(puVar10 + -0x10) = 0;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c10;\n                uVar7 = dcgettext();\n                *(undefined4 *)(puVar10 + -0x10) = uVar7;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c18;\n                printf(*(char **)(puVar10 + -0x10));\n              }\n              if (pcVar16 != (char *)0x0) {\n                *(char **)(puVar10 + -0x10) = pcVar16;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c28;\n                free(*(void **)(puVar10 + -0x10));\n              }\n            }" { (expression_statement "pcVar6 = local_98;" (assignment_expression "pcVar6 = local_98" identifier = identifier) ;) (expression_statement "pcVar16 = DAT_00018234;" (assignment_expression "pcVar16 = DAT_00018234" identifier = identifier) ;) (if_statement "if (DAT_00018234 != (char *)0x0) {\n                if (*DAT_00018234 == '\0') {\n                  pcVar16 = (char *)0x0;\n                }\n                else {\n                  if (DAT_0001825c != 0) {\n                    *(undefined4 *)(puVar10 + -8) = 3;\n                    *(char **)(puVar10 + -0xc) = DAT_00018234;\n                    *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n                    *(undefined4 *)(puVar10 + -0x14) = 0x11db4;\n                    pcVar6 = (char *)bfd_demangle();\n                    pcVar16 = pcVar6;\n                    if (pcVar6 != (char *)0x0) goto LAB_00011bdd;\n                  }\n                  pcVar6 = pcVar5;\n                  pcVar16 = (char *)0x0;\n                }\n              }" if (parenthesized_expression "(DAT_00018234 != (char *)0x0)" ( (binary_expression "DAT_00018234 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                if (*DAT_00018234 == '\0') {\n                  pcVar16 = (char *)0x0;\n                }\n                else {\n                  if (DAT_0001825c != 0) {\n                    *(undefined4 *)(puVar10 + -8) = 3;\n                    *(char **)(puVar10 + -0xc) = DAT_00018234;\n                    *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n                    *(undefined4 *)(puVar10 + -0x14) = 0x11db4;\n                    pcVar6 = (char *)bfd_demangle();\n                    pcVar16 = pcVar6;\n                    if (pcVar6 != (char *)0x0) goto LAB_00011bdd;\n                  }\n                  pcVar6 = pcVar5;\n                  pcVar16 = (char *)0x0;\n                }\n              }" { (if_statement "if (*DAT_00018234 == '\0') {\n                  pcVar16 = (char *)0x0;\n                }\n                else {\n                  if (DAT_0001825c != 0) {\n                    *(undefined4 *)(puVar10 + -8) = 3;\n                    *(char **)(puVar10 + -0xc) = DAT_00018234;\n                    *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n                    *(undefined4 *)(puVar10 + -0x14) = 0x11db4;\n                    pcVar6 = (char *)bfd_demangle();\n                    pcVar16 = pcVar6;\n                    if (pcVar6 != (char *)0x0) goto LAB_00011bdd;\n                  }\n                  pcVar6 = pcVar5;\n                  pcVar16 = (char *)0x0;\n                }" if (parenthesized_expression "(*DAT_00018234 == '\0')" ( (binary_expression "*DAT_00018234 == '\0'" (pointer_expression "*DAT_00018234" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                  pcVar16 = (char *)0x0;\n                }" { (expression_statement "pcVar16 = (char *)0x0;" (assignment_expression "pcVar16 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n                  if (DAT_0001825c != 0) {\n                    *(undefined4 *)(puVar10 + -8) = 3;\n                    *(char **)(puVar10 + -0xc) = DAT_00018234;\n                    *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n                    *(undefined4 *)(puVar10 + -0x14) = 0x11db4;\n                    pcVar6 = (char *)bfd_demangle();\n                    pcVar16 = pcVar6;\n                    if (pcVar6 != (char *)0x0) goto LAB_00011bdd;\n                  }\n                  pcVar6 = pcVar5;\n                  pcVar16 = (char *)0x0;\n                }" else (compound_statement "{\n                  if (DAT_0001825c != 0) {\n                    *(undefined4 *)(puVar10 + -8) = 3;\n                    *(char **)(puVar10 + -0xc) = DAT_00018234;\n                    *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n                    *(undefined4 *)(puVar10 + -0x14) = 0x11db4;\n                    pcVar6 = (char *)bfd_demangle();\n                    pcVar16 = pcVar6;\n                    if (pcVar6 != (char *)0x0) goto LAB_00011bdd;\n                  }\n                  pcVar6 = pcVar5;\n                  pcVar16 = (char *)0x0;\n                }" { (if_statement "if (DAT_0001825c != 0) {\n                    *(undefined4 *)(puVar10 + -8) = 3;\n                    *(char **)(puVar10 + -0xc) = DAT_00018234;\n                    *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n                    *(undefined4 *)(puVar10 + -0x14) = 0x11db4;\n                    pcVar6 = (char *)bfd_demangle();\n                    pcVar16 = pcVar6;\n                    if (pcVar6 != (char *)0x0) goto LAB_00011bdd;\n                  }" if (parenthesized_expression "(DAT_0001825c != 0)" ( (binary_expression "DAT_0001825c != 0" identifier != number_literal) )) (compound_statement "{\n                    *(undefined4 *)(puVar10 + -8) = 3;\n                    *(char **)(puVar10 + -0xc) = DAT_00018234;\n                    *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n                    *(undefined4 *)(puVar10 + -0x14) = 0x11db4;\n                    pcVar6 = (char *)bfd_demangle();\n                    pcVar16 = pcVar6;\n                    if (pcVar6 != (char *)0x0) goto LAB_00011bdd;\n                  }" { (expression_statement "*(undefined4 *)(puVar10 + -8) = 3;" (assignment_expression "*(undefined4 *)(puVar10 + -8) = 3" (pointer_expression "*(undefined4 *)(puVar10 + -8)" * (cast_expression "(undefined4 *)(puVar10 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -8)" ( (binary_expression "puVar10 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar10 + -0xc) = DAT_00018234;" (assignment_expression "*(char **)(puVar10 + -0xc) = DAT_00018234" (pointer_expression "*(char **)(puVar10 + -0xc)" * (cast_expression "(char **)(puVar10 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0xc)" ( (binary_expression "puVar10 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar10 + -0x10) = ppuVar4;" (assignment_expression "*(undefined ***)(puVar10 + -0x10) = ppuVar4" (pointer_expression "*(undefined ***)(puVar10 + -0x10)" * (cast_expression "(undefined ***)(puVar10 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x11db4;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x11db4" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" * (cast_expression "(undefined4 *)(puVar10 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar6 = (char *)bfd_demangle();" (assignment_expression "pcVar6 = (char *)bfd_demangle()" identifier = (cast_expression "(char *)bfd_demangle()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "bfd_demangle()" identifier (argument_list "()" ( ))))) ;) (expression_statement "pcVar16 = pcVar6;" (assignment_expression "pcVar16 = pcVar6" identifier = identifier) ;) (if_statement "if (pcVar6 != (char *)0x0) goto LAB_00011bdd;" if (parenthesized_expression "(pcVar6 != (char *)0x0)" ( (binary_expression "pcVar6 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00011bdd;" goto statement_identifier ;)) })) (expression_statement "pcVar6 = pcVar5;" (assignment_expression "pcVar6 = pcVar5" identifier = identifier) ;) (expression_statement "pcVar16 = (char *)0x0;" (assignment_expression "pcVar16 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) })) (labeled_statement "LAB_00011bdd:\n              *(char **)(puVar10 + -0xc) = pcVar6;" statement_identifier : (expression_statement "*(char **)(puVar10 + -0xc) = pcVar6;" (assignment_expression "*(char **)(puVar10 + -0xc) = pcVar6" (pointer_expression "*(char **)(puVar10 + -0xc)" * (cast_expression "(char **)(puVar10 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0xc)" ( (binary_expression "puVar10 + -0xc" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined ***)(puVar10 + -0x10) = local_9c;" (assignment_expression "*(undefined ***)(puVar10 + -0x10) = local_9c" (pointer_expression "*(undefined ***)(puVar10 + -0x10)" * (cast_expression "(undefined ***)(puVar10 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x11bec;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x11bec" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" * (cast_expression "(undefined4 *)(puVar10 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "printf(*(char **)(puVar10 + -0x10));" (call_expression "printf(*(char **)(puVar10 + -0x10))" identifier (argument_list "(*(char **)(puVar10 + -0x10))" ( (pointer_expression "*(char **)(puVar10 + -0x10)" * (cast_expression "(char **)(puVar10 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) ))) ;) (if_statement "if (DAT_00018258 == 0) {\n                *(undefined4 *)(puVar10 + -0x10) = 10;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11d8a;\n                putchar(*(int *)(puVar10 + -0x10));\n              }\n              else {\n                *(undefined4 *)(puVar10 + -8) = 5;\n                *(undefined **)(puVar10 + -0xc) = &DAT_0001543d;\n                *(undefined4 *)(puVar10 + -0x10) = 0;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c10;\n                uVar7 = dcgettext();\n                *(undefined4 *)(puVar10 + -0x10) = uVar7;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c18;\n                printf(*(char **)(puVar10 + -0x10));\n              }" if (parenthesized_expression "(DAT_00018258 == 0)" ( (binary_expression "DAT_00018258 == 0" identifier == number_literal) )) (compound_statement "{\n                *(undefined4 *)(puVar10 + -0x10) = 10;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11d8a;\n                putchar(*(int *)(puVar10 + -0x10));\n              }" { (expression_statement "*(undefined4 *)(puVar10 + -0x10) = 10;" (assignment_expression "*(undefined4 *)(puVar10 + -0x10) = 10" (pointer_expression "*(undefined4 *)(puVar10 + -0x10)" * (cast_expression "(undefined4 *)(puVar10 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x11d8a;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x11d8a" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" * (cast_expression "(undefined4 *)(puVar10 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "putchar(*(int *)(puVar10 + -0x10));" (call_expression "putchar(*(int *)(puVar10 + -0x10))" identifier (argument_list "(*(int *)(puVar10 + -0x10))" ( (pointer_expression "*(int *)(puVar10 + -0x10)" * (cast_expression "(int *)(puVar10 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) ))) ;) }) (else_clause "else {\n                *(undefined4 *)(puVar10 + -8) = 5;\n                *(undefined **)(puVar10 + -0xc) = &DAT_0001543d;\n                *(undefined4 *)(puVar10 + -0x10) = 0;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c10;\n                uVar7 = dcgettext();\n                *(undefined4 *)(puVar10 + -0x10) = uVar7;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c18;\n                printf(*(char **)(puVar10 + -0x10));\n              }" else (compound_statement "{\n                *(undefined4 *)(puVar10 + -8) = 5;\n                *(undefined **)(puVar10 + -0xc) = &DAT_0001543d;\n                *(undefined4 *)(puVar10 + -0x10) = 0;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c10;\n                uVar7 = dcgettext();\n                *(undefined4 *)(puVar10 + -0x10) = uVar7;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c18;\n                printf(*(char **)(puVar10 + -0x10));\n              }" { (expression_statement "*(undefined4 *)(puVar10 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar10 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar10 + -8)" * (cast_expression "(undefined4 *)(puVar10 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -8)" ( (binary_expression "puVar10 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined **)(puVar10 + -0xc) = &DAT_0001543d;" (assignment_expression "*(undefined **)(puVar10 + -0xc) = &DAT_0001543d" (pointer_expression "*(undefined **)(puVar10 + -0xc)" * (cast_expression "(undefined **)(puVar10 + -0xc)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0xc)" ( (binary_expression "puVar10 + -0xc" identifier + number_literal) )))) = (pointer_expression "&DAT_0001543d" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar10 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar10 + -0x10)" * (cast_expression "(undefined4 *)(puVar10 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x11c10;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x11c10" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" * (cast_expression "(undefined4 *)(puVar10 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar7 = dcgettext();" (assignment_expression "uVar7 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x10) = uVar7;" (assignment_expression "*(undefined4 *)(puVar10 + -0x10) = uVar7" (pointer_expression "*(undefined4 *)(puVar10 + -0x10)" * (cast_expression "(undefined4 *)(puVar10 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x11c18;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x11c18" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" * (cast_expression "(undefined4 *)(puVar10 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "printf(*(char **)(puVar10 + -0x10));" (call_expression "printf(*(char **)(puVar10 + -0x10))" identifier (argument_list "(*(char **)(puVar10 + -0x10))" ( (pointer_expression "*(char **)(puVar10 + -0x10)" * (cast_expression "(char **)(puVar10 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) ))) ;) }))) (if_statement "if (pcVar16 != (char *)0x0) {\n                *(char **)(puVar10 + -0x10) = pcVar16;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c28;\n                free(*(void **)(puVar10 + -0x10));\n              }" if (parenthesized_expression "(pcVar16 != (char *)0x0)" ( (binary_expression "pcVar16 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                *(char **)(puVar10 + -0x10) = pcVar16;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c28;\n                free(*(void **)(puVar10 + -0x10));\n              }" { (expression_statement "*(char **)(puVar10 + -0x10) = pcVar16;" (assignment_expression "*(char **)(puVar10 + -0x10) = pcVar16" (pointer_expression "*(char **)(puVar10 + -0x10)" * (cast_expression "(char **)(puVar10 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x11c28;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x11c28" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" * (cast_expression "(undefined4 *)(puVar10 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)(puVar10 + -0x10));" (call_expression "free(*(void **)(puVar10 + -0x10))" identifier (argument_list "(*(void **)(puVar10 + -0x10))" ( (pointer_expression "*(void **)(puVar10 + -0x10)" * (cast_expression "(void **)(puVar10 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) ))) ;) })) })) (expression_statement "pcVar5 = DAT_00018238;" (assignment_expression "pcVar5 = DAT_00018238" identifier = identifier) ;) (if_statement "if (DAT_00018254 == 0) {\nLAB_00011c5e:\n              pcVar5 = DAT_00018238;\n              if (DAT_00018238 == (char *)0x0) {\nLAB_00011d70:\n                pcVar5 = local_98;\n              }\n            }\n            else {\n              if (DAT_00018238 == (char *)0x0) goto LAB_00011d70;\n              *(undefined4 *)(puVar10 + -0xc) = 0x2f;\n              *(char **)(puVar10 + -0x10) = DAT_00018238;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11c4e;\n              pcVar6 = strrchr(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc));\n              if (pcVar6 != (char *)0x0) {\n                DAT_00018238 = pcVar6 + 1;\n                goto LAB_00011c5e;\n              }\n            }" if (parenthesized_expression "(DAT_00018254 == 0)" ( (binary_expression "DAT_00018254 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00011c5e:\n              pcVar5 = DAT_00018238;\n              if (DAT_00018238 == (char *)0x0) {\nLAB_00011d70:\n                pcVar5 = local_98;\n              }\n            }" { (labeled_statement "LAB_00011c5e:\n              pcVar5 = DAT_00018238;" statement_identifier : (expression_statement "pcVar5 = DAT_00018238;" (assignment_expression "pcVar5 = DAT_00018238" identifier = identifier) ;)) (if_statement "if (DAT_00018238 == (char *)0x0) {\nLAB_00011d70:\n                pcVar5 = local_98;\n              }" if (parenthesized_expression "(DAT_00018238 == (char *)0x0)" ( (binary_expression "DAT_00018238 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00011d70:\n                pcVar5 = local_98;\n              }" { (labeled_statement "LAB_00011d70:\n                pcVar5 = local_98;" statement_identifier : (expression_statement "pcVar5 = local_98;" (assignment_expression "pcVar5 = local_98" identifier = identifier) ;)) })) }) (else_clause "else {\n              if (DAT_00018238 == (char *)0x0) goto LAB_00011d70;\n              *(undefined4 *)(puVar10 + -0xc) = 0x2f;\n              *(char **)(puVar10 + -0x10) = DAT_00018238;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11c4e;\n              pcVar6 = strrchr(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc));\n              if (pcVar6 != (char *)0x0) {\n                DAT_00018238 = pcVar6 + 1;\n                goto LAB_00011c5e;\n              }\n            }" else (compound_statement "{\n              if (DAT_00018238 == (char *)0x0) goto LAB_00011d70;\n              *(undefined4 *)(puVar10 + -0xc) = 0x2f;\n              *(char **)(puVar10 + -0x10) = DAT_00018238;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11c4e;\n              pcVar6 = strrchr(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc));\n              if (pcVar6 != (char *)0x0) {\n                DAT_00018238 = pcVar6 + 1;\n                goto LAB_00011c5e;\n              }\n            }" { (if_statement "if (DAT_00018238 == (char *)0x0) goto LAB_00011d70;" if (parenthesized_expression "(DAT_00018238 == (char *)0x0)" ( (binary_expression "DAT_00018238 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00011d70;" goto statement_identifier ;)) (expression_statement "*(undefined4 *)(puVar10 + -0xc) = 0x2f;" (assignment_expression "*(undefined4 *)(puVar10 + -0xc) = 0x2f" (pointer_expression "*(undefined4 *)(puVar10 + -0xc)" * (cast_expression "(undefined4 *)(puVar10 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0xc)" ( (binary_expression "puVar10 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar10 + -0x10) = DAT_00018238;" (assignment_expression "*(char **)(puVar10 + -0x10) = DAT_00018238" (pointer_expression "*(char **)(puVar10 + -0x10)" * (cast_expression "(char **)(puVar10 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x11c4e;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x11c4e" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" * (cast_expression "(undefined4 *)(puVar10 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar6 = strrchr(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc));" (assignment_expression "pcVar6 = strrchr(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc))" identifier = (call_expression "strrchr(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc))" identifier (argument_list "(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc))" ( (pointer_expression "*(char **)(puVar10 + -0x10)" * (cast_expression "(char **)(puVar10 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(int *)(puVar10 + -0xc)" * (cast_expression "(int *)(puVar10 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0xc)" ( (binary_expression "puVar10 + -0xc" identifier + number_literal) )))) )))) ;) (if_statement "if (pcVar6 != (char *)0x0) {\n                DAT_00018238 = pcVar6 + 1;\n                goto LAB_00011c5e;\n              }" if (parenthesized_expression "(pcVar6 != (char *)0x0)" ( (binary_expression "pcVar6 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                DAT_00018238 = pcVar6 + 1;\n                goto LAB_00011c5e;\n              }" { (expression_statement "DAT_00018238 = pcVar6 + 1;" (assignment_expression "DAT_00018238 = pcVar6 + 1" identifier = (binary_expression "pcVar6 + 1" identifier + number_literal)) ;) (goto_statement "goto LAB_00011c5e;" goto statement_identifier ;) })) }))) (expression_statement "*(char **)(puVar10 + -0xc) = pcVar5;" (assignment_expression "*(char **)(puVar10 + -0xc) = pcVar5" (pointer_expression "*(char **)(puVar10 + -0xc)" * (cast_expression "(char **)(puVar10 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0xc)" ( (binary_expression "puVar10 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar10 + -0x10) = local_a0;" (assignment_expression "*(undefined **)(puVar10 + -0x10) = local_a0" (pointer_expression "*(undefined **)(puVar10 + -0x10)" * (cast_expression "(undefined **)(puVar10 + -0x10)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x11c75;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x11c75" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" * (cast_expression "(undefined4 *)(puVar10 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "printf(*(char **)(puVar10 + -0x10));" (call_expression "printf(*(char **)(puVar10 + -0x10))" identifier (argument_list "(*(char **)(puVar10 + -0x10))" ( (pointer_expression "*(char **)(puVar10 + -0x10)" * (cast_expression "(char **)(puVar10 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) ))) ;) (if_statement "if (DAT_00018230 == 0) {\n              *(undefined **)(puVar10 + -0x10) = &DAT_000153c0;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d5f;\n              puts(*(char **)(puVar10 + -0x10));\n            }\n            else if (DAT_0001822c == 0) {\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(undefined **)(puVar10 + -0x10) = &DAT_0001545d;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d48;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            else {\n              *(int *)(puVar10 + -8) = DAT_0001822c;\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(char **)(puVar10 + -0x10) = "%u (discriminator %u)\n";\n              *(undefined4 *)(puVar10 + -0x14) = 0x11ca5;\n              printf(*(char **)(puVar10 + -0x10));\n            }" if (parenthesized_expression "(DAT_00018230 == 0)" ( (binary_expression "DAT_00018230 == 0" identifier == number_literal) )) (compound_statement "{\n              *(undefined **)(puVar10 + -0x10) = &DAT_000153c0;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d5f;\n              puts(*(char **)(puVar10 + -0x10));\n            }" { (expression_statement "*(undefined **)(puVar10 + -0x10) = &DAT_000153c0;" (assignment_expression "*(undefined **)(puVar10 + -0x10) = &DAT_000153c0" (pointer_expression "*(undefined **)(puVar10 + -0x10)" * (cast_expression "(undefined **)(puVar10 + -0x10)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = (pointer_expression "&DAT_000153c0" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x11d5f;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x11d5f" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" * (cast_expression "(undefined4 *)(puVar10 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puts(*(char **)(puVar10 + -0x10));" (call_expression "puts(*(char **)(puVar10 + -0x10))" identifier (argument_list "(*(char **)(puVar10 + -0x10))" ( (pointer_expression "*(char **)(puVar10 + -0x10)" * (cast_expression "(char **)(puVar10 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) ))) ;) }) (else_clause "else if (DAT_0001822c == 0) {\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(undefined **)(puVar10 + -0x10) = &DAT_0001545d;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d48;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            else {\n              *(int *)(puVar10 + -8) = DAT_0001822c;\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(char **)(puVar10 + -0x10) = "%u (discriminator %u)\n";\n              *(undefined4 *)(puVar10 + -0x14) = 0x11ca5;\n              printf(*(char **)(puVar10 + -0x10));\n            }" else (if_statement "if (DAT_0001822c == 0) {\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(undefined **)(puVar10 + -0x10) = &DAT_0001545d;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d48;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            else {\n              *(int *)(puVar10 + -8) = DAT_0001822c;\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(char **)(puVar10 + -0x10) = "%u (discriminator %u)\n";\n              *(undefined4 *)(puVar10 + -0x14) = 0x11ca5;\n              printf(*(char **)(puVar10 + -0x10));\n            }" if (parenthesized_expression "(DAT_0001822c == 0)" ( (binary_expression "DAT_0001822c == 0" identifier == number_literal) )) (compound_statement "{\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(undefined **)(puVar10 + -0x10) = &DAT_0001545d;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d48;\n              printf(*(char **)(puVar10 + -0x10));\n            }" { (expression_statement "*(int *)(puVar10 + -0xc) = DAT_00018230;" (assignment_expression "*(int *)(puVar10 + -0xc) = DAT_00018230" (pointer_expression "*(int *)(puVar10 + -0xc)" * (cast_expression "(int *)(puVar10 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0xc)" ( (binary_expression "puVar10 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar10 + -0x10) = &DAT_0001545d;" (assignment_expression "*(undefined **)(puVar10 + -0x10) = &DAT_0001545d" (pointer_expression "*(undefined **)(puVar10 + -0x10)" * (cast_expression "(undefined **)(puVar10 + -0x10)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = (pointer_expression "&DAT_0001545d" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x11d48;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x11d48" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" * (cast_expression "(undefined4 *)(puVar10 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "printf(*(char **)(puVar10 + -0x10));" (call_expression "printf(*(char **)(puVar10 + -0x10))" identifier (argument_list "(*(char **)(puVar10 + -0x10))" ( (pointer_expression "*(char **)(puVar10 + -0x10)" * (cast_expression "(char **)(puVar10 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) ))) ;) }) (else_clause "else {\n              *(int *)(puVar10 + -8) = DAT_0001822c;\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(char **)(puVar10 + -0x10) = "%u (discriminator %u)\n";\n              *(undefined4 *)(puVar10 + -0x14) = 0x11ca5;\n              printf(*(char **)(puVar10 + -0x10));\n            }" else (compound_statement "{\n              *(int *)(puVar10 + -8) = DAT_0001822c;\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(char **)(puVar10 + -0x10) = "%u (discriminator %u)\n";\n              *(undefined4 *)(puVar10 + -0x14) = 0x11ca5;\n              printf(*(char **)(puVar10 + -0x10));\n            }" { (expression_statement "*(int *)(puVar10 + -8) = DAT_0001822c;" (assignment_expression "*(int *)(puVar10 + -8) = DAT_0001822c" (pointer_expression "*(int *)(puVar10 + -8)" * (cast_expression "(int *)(puVar10 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -8)" ( (binary_expression "puVar10 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar10 + -0xc) = DAT_00018230;" (assignment_expression "*(int *)(puVar10 + -0xc) = DAT_00018230" (pointer_expression "*(int *)(puVar10 + -0xc)" * (cast_expression "(int *)(puVar10 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0xc)" ( (binary_expression "puVar10 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char **)(puVar10 + -0x10) = "%u (discriminator %u)\n";" (assignment_expression "*(char **)(puVar10 + -0x10) = "%u (discriminator %u)\n"" (pointer_expression "*(char **)(puVar10 + -0x10)" * (cast_expression "(char **)(puVar10 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = (string_literal ""%u (discriminator %u)\n"" " string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x11ca5;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x11ca5" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" * (cast_expression "(undefined4 *)(puVar10 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "printf(*(char **)(puVar10 + -0x10));" (call_expression "printf(*(char **)(puVar10 + -0x10))" identifier (argument_list "(*(char **)(puVar10 + -0x10))" ( (pointer_expression "*(char **)(puVar10 + -0x10)" * (cast_expression "(char **)(puVar10 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) ))) ;) }))))) (if_statement "if (DAT_00018268 == 0) {\n              DAT_00018228 = 0;\n              goto LAB_000119cc;\n            }" if (parenthesized_expression "(DAT_00018268 == 0)" ( (binary_expression "DAT_00018268 == 0" identifier == number_literal) )) (compound_statement "{\n              DAT_00018228 = 0;\n              goto LAB_000119cc;\n            }" { (expression_statement "DAT_00018228 = 0;" (assignment_expression "DAT_00018228 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_000119cc;" goto statement_identifier ;) })) (expression_statement "puVar2 = ppuVar4[1];" (assignment_expression "puVar2 = ppuVar4[1]" identifier = (subscript_expression "ppuVar4[1]" identifier [ number_literal ])) ;) (expression_statement "*(int **)(puVar10 + -4) = &DAT_00018230;" (assignment_expression "*(int **)(puVar10 + -4) = &DAT_00018230" (pointer_expression "*(int **)(puVar10 + -4)" * (cast_expression "(int **)(puVar10 + -4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -4)" ( (binary_expression "puVar10 + -4" identifier + number_literal) )))) = (pointer_expression "&DAT_00018230" & identifier)) ;) (expression_statement "*(char ***)(puVar10 + -8) = &DAT_00018234;" (assignment_expression "*(char ***)(puVar10 + -8) = &DAT_00018234" (pointer_expression "*(char ***)(puVar10 + -8)" * (cast_expression "(char ***)(puVar10 + -8)" ( (type_descriptor "char ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar10 + -8)" ( (binary_expression "puVar10 + -8" identifier + number_literal) )))) = (pointer_expression "&DAT_00018234" & identifier)) ;) (expression_statement "*(char ***)(puVar10 + -0xc) = &DAT_00018238;" (assignment_expression "*(char ***)(puVar10 + -0xc) = &DAT_00018238" (pointer_expression "*(char ***)(puVar10 + -0xc)" * (cast_expression "(char ***)(puVar10 + -0xc)" ( (type_descriptor "char ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar10 + -0xc)" ( (binary_expression "puVar10 + -0xc" identifier + number_literal) )))) = (pointer_expression "&DAT_00018238" & identifier)) ;) (expression_statement "*(undefined ***)(puVar10 + -0x10) = ppuVar4;" (assignment_expression "*(undefined ***)(puVar10 + -0x10) = ppuVar4" (pointer_expression "*(undefined ***)(puVar10 + -0x10)" * (cast_expression "(undefined ***)(puVar10 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "pcVar1 = *(code **)(puVar2 + 0x130);" (assignment_expression "pcVar1 = *(code **)(puVar2 + 0x130)" identifier = (pointer_expression "*(code **)(puVar2 + 0x130)" * (cast_expression "(code **)(puVar2 + 0x130)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0x130)" ( (binary_expression "puVar2 + 0x130" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x11cef;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x11cef" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" * (cast_expression "(undefined4 *)(puVar10 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "DAT_00018228 = (*pcVar1)();" (assignment_expression "DAT_00018228 = (*pcVar1)()" identifier = (call_expression "(*pcVar1)()" (parenthesized_expression "(*pcVar1)" ( (pointer_expression "*pcVar1" * identifier) )) (argument_list "()" ( )))) ;) (if_statement "if (DAT_00018228 == 0) goto LAB_000119cc;" if (parenthesized_expression "(DAT_00018228 == 0)" ( (binary_expression "DAT_00018228 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000119cc;" goto statement_identifier ;)) }) while (parenthesized_expression "(DAT_00018258 == 0)" ( (binary_expression "DAT_00018258 == 0" identifier == number_literal) )) ;) (expression_statement "*(undefined4 *)(puVar10 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar10 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar10 + -8)" * (cast_expression "(undefined4 *)(puVar10 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -8)" ( (binary_expression "puVar10 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar10 + -0xc) = " (inlined by) ";" (assignment_expression "*(char **)(puVar10 + -0xc) = " (inlined by) "" (pointer_expression "*(char **)(puVar10 + -0xc)" * (cast_expression "(char **)(puVar10 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0xc)" ( (binary_expression "puVar10 + -0xc" identifier + number_literal) )))) = (string_literal "" (inlined by) "" " string_content ")) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar10 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar10 + -0x10)" * (cast_expression "(undefined4 *)(puVar10 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x11d21;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x11d21" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" * (cast_expression "(undefined4 *)(puVar10 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar7 = dcgettext();" (assignment_expression "uVar7 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x10) = uVar7;" (assignment_expression "*(undefined4 *)(puVar10 + -0x10) = uVar7" (pointer_expression "*(undefined4 *)(puVar10 + -0x10)" * (cast_expression "(undefined4 *)(puVar10 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x11d29;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x11d29" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" * (cast_expression "(undefined4 *)(puVar10 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "printf(*(char **)(puVar10 + -0x10));" (call_expression "printf(*(char **)(puVar10 + -0x10))" identifier (argument_list "(*(char **)(puVar10 + -0x10))" ( (pointer_expression "*(char **)(puVar10 + -0x10)" * (cast_expression "(char **)(puVar10 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) ))) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) }) (else_clause "else if (((*(byte *)(local_a8 + 0x14) & 1) != 0) &&\n            (DAT_00018244 < *(uint *)(local_a8 + 0x30) ||\n             DAT_00018244 - *(uint *)(local_a8 + 0x30) <\n             (uint)(DAT_00018240 < *(uint *)(local_a8 + 0x2c)))) {\n      puVar2 = local_9c[1];\n      *(int **)(puVar10 + -0x10) = &DAT_0001822c;\n      *(int **)(puVar10 + -0x14) = &DAT_00018230;\n      *(char ***)(puVar10 + -0x18) = &DAT_00018234;\n      *(char ***)(puVar10 + -0x1c) = &DAT_00018238;\n      *(undefined8 *)(puVar10 + -0x24) = uVar19;\n      *(int *)(puVar10 + -0x28) = local_a8;\n      *(void **)(puVar10 + -0x2c) = DAT_00018248;\n      *(undefined ***)(puVar10 + -0x30) = local_9c;\n      pcVar1 = *(code **)(puVar2 + 0x128);\n      *(undefined4 *)(puVar10 + -0x34) = 0x1197f;\n      DAT_00018228 = (*pcVar1)();\n      ppuVar4 = local_9c;\n      goto joined_r0x00011b72;\n    }" else (if_statement "if (((*(byte *)(local_a8 + 0x14) & 1) != 0) &&\n            (DAT_00018244 < *(uint *)(local_a8 + 0x30) ||\n             DAT_00018244 - *(uint *)(local_a8 + 0x30) <\n             (uint)(DAT_00018240 < *(uint *)(local_a8 + 0x2c)))) {\n      puVar2 = local_9c[1];\n      *(int **)(puVar10 + -0x10) = &DAT_0001822c;\n      *(int **)(puVar10 + -0x14) = &DAT_00018230;\n      *(char ***)(puVar10 + -0x18) = &DAT_00018234;\n      *(char ***)(puVar10 + -0x1c) = &DAT_00018238;\n      *(undefined8 *)(puVar10 + -0x24) = uVar19;\n      *(int *)(puVar10 + -0x28) = local_a8;\n      *(void **)(puVar10 + -0x2c) = DAT_00018248;\n      *(undefined ***)(puVar10 + -0x30) = local_9c;\n      pcVar1 = *(code **)(puVar2 + 0x128);\n      *(undefined4 *)(puVar10 + -0x34) = 0x1197f;\n      DAT_00018228 = (*pcVar1)();\n      ppuVar4 = local_9c;\n      goto joined_r0x00011b72;\n    }" if (parenthesized_expression "(((*(byte *)(local_a8 + 0x14) & 1) != 0) &&\n            (DAT_00018244 < *(uint *)(local_a8 + 0x30) ||\n             DAT_00018244 - *(uint *)(local_a8 + 0x30) <\n             (uint)(DAT_00018240 < *(uint *)(local_a8 + 0x2c))))" ( (binary_expression "((*(byte *)(local_a8 + 0x14) & 1) != 0) &&\n            (DAT_00018244 < *(uint *)(local_a8 + 0x30) ||\n             DAT_00018244 - *(uint *)(local_a8 + 0x30) <\n             (uint)(DAT_00018240 < *(uint *)(local_a8 + 0x2c)))" (parenthesized_expression "((*(byte *)(local_a8 + 0x14) & 1) != 0)" ( (binary_expression "(*(byte *)(local_a8 + 0x14) & 1) != 0" (parenthesized_expression "(*(byte *)(local_a8 + 0x14) & 1)" ( (binary_expression "*(byte *)(local_a8 + 0x14) & 1" (pointer_expression "*(byte *)(local_a8 + 0x14)" * (cast_expression "(byte *)(local_a8 + 0x14)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_a8 + 0x14)" ( (binary_expression "local_a8 + 0x14" identifier + number_literal) )))) & number_literal) )) != number_literal) )) && (parenthesized_expression "(DAT_00018244 < *(uint *)(local_a8 + 0x30) ||\n             DAT_00018244 - *(uint *)(local_a8 + 0x30) <\n             (uint)(DAT_00018240 < *(uint *)(local_a8 + 0x2c)))" ( (binary_expression "DAT_00018244 < *(uint *)(local_a8 + 0x30) ||\n             DAT_00018244 - *(uint *)(local_a8 + 0x30) <\n             (uint)(DAT_00018240 < *(uint *)(local_a8 + 0x2c))" (binary_expression "DAT_00018244 < *(uint *)(local_a8 + 0x30)" identifier < (pointer_expression "*(uint *)(local_a8 + 0x30)" * (cast_expression "(uint *)(local_a8 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_a8 + 0x30)" ( (binary_expression "local_a8 + 0x30" identifier + number_literal) ))))) || (binary_expression "DAT_00018244 - *(uint *)(local_a8 + 0x30) <\n             (uint)(DAT_00018240 < *(uint *)(local_a8 + 0x2c))" (binary_expression "DAT_00018244 - *(uint *)(local_a8 + 0x30)" identifier - (pointer_expression "*(uint *)(local_a8 + 0x30)" * (cast_expression "(uint *)(local_a8 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_a8 + 0x30)" ( (binary_expression "local_a8 + 0x30" identifier + number_literal) ))))) < (call_expression "(uint)(DAT_00018240 < *(uint *)(local_a8 + 0x2c))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(DAT_00018240 < *(uint *)(local_a8 + 0x2c))" ( (binary_expression "DAT_00018240 < *(uint *)(local_a8 + 0x2c)" identifier < (pointer_expression "*(uint *)(local_a8 + 0x2c)" * (cast_expression "(uint *)(local_a8 + 0x2c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_a8 + 0x2c)" ( (binary_expression "local_a8 + 0x2c" identifier + number_literal) ))))) ))))) ))) )) (compound_statement "{\n      puVar2 = local_9c[1];\n      *(int **)(puVar10 + -0x10) = &DAT_0001822c;\n      *(int **)(puVar10 + -0x14) = &DAT_00018230;\n      *(char ***)(puVar10 + -0x18) = &DAT_00018234;\n      *(char ***)(puVar10 + -0x1c) = &DAT_00018238;\n      *(undefined8 *)(puVar10 + -0x24) = uVar19;\n      *(int *)(puVar10 + -0x28) = local_a8;\n      *(void **)(puVar10 + -0x2c) = DAT_00018248;\n      *(undefined ***)(puVar10 + -0x30) = local_9c;\n      pcVar1 = *(code **)(puVar2 + 0x128);\n      *(undefined4 *)(puVar10 + -0x34) = 0x1197f;\n      DAT_00018228 = (*pcVar1)();\n      ppuVar4 = local_9c;\n      goto joined_r0x00011b72;\n    }" { (expression_statement "puVar2 = local_9c[1];" (assignment_expression "puVar2 = local_9c[1]" identifier = (subscript_expression "local_9c[1]" identifier [ number_literal ])) ;) (expression_statement "*(int **)(puVar10 + -0x10) = &DAT_0001822c;" (assignment_expression "*(int **)(puVar10 + -0x10) = &DAT_0001822c" (pointer_expression "*(int **)(puVar10 + -0x10)" * (cast_expression "(int **)(puVar10 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = (pointer_expression "&DAT_0001822c" & identifier)) ;) (expression_statement "*(int **)(puVar10 + -0x14) = &DAT_00018230;" (assignment_expression "*(int **)(puVar10 + -0x14) = &DAT_00018230" (pointer_expression "*(int **)(puVar10 + -0x14)" * (cast_expression "(int **)(puVar10 + -0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = (pointer_expression "&DAT_00018230" & identifier)) ;) (expression_statement "*(char ***)(puVar10 + -0x18) = &DAT_00018234;" (assignment_expression "*(char ***)(puVar10 + -0x18) = &DAT_00018234" (pointer_expression "*(char ***)(puVar10 + -0x18)" * (cast_expression "(char ***)(puVar10 + -0x18)" ( (type_descriptor "char ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar10 + -0x18)" ( (binary_expression "puVar10 + -0x18" identifier + number_literal) )))) = (pointer_expression "&DAT_00018234" & identifier)) ;) (expression_statement "*(char ***)(puVar10 + -0x1c) = &DAT_00018238;" (assignment_expression "*(char ***)(puVar10 + -0x1c) = &DAT_00018238" (pointer_expression "*(char ***)(puVar10 + -0x1c)" * (cast_expression "(char ***)(puVar10 + -0x1c)" ( (type_descriptor "char ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar10 + -0x1c)" ( (binary_expression "puVar10 + -0x1c" identifier + number_literal) )))) = (pointer_expression "&DAT_00018238" & identifier)) ;) (expression_statement "*(undefined8 *)(puVar10 + -0x24) = uVar19;" (assignment_expression "*(undefined8 *)(puVar10 + -0x24) = uVar19" (pointer_expression "*(undefined8 *)(puVar10 + -0x24)" * (cast_expression "(undefined8 *)(puVar10 + -0x24)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x24)" ( (binary_expression "puVar10 + -0x24" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar10 + -0x28) = local_a8;" (assignment_expression "*(int *)(puVar10 + -0x28) = local_a8" (pointer_expression "*(int *)(puVar10 + -0x28)" * (cast_expression "(int *)(puVar10 + -0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x28)" ( (binary_expression "puVar10 + -0x28" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(void **)(puVar10 + -0x2c) = DAT_00018248;" (assignment_expression "*(void **)(puVar10 + -0x2c) = DAT_00018248" (pointer_expression "*(void **)(puVar10 + -0x2c)" * (cast_expression "(void **)(puVar10 + -0x2c)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x2c)" ( (binary_expression "puVar10 + -0x2c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar10 + -0x30) = local_9c;" (assignment_expression "*(undefined ***)(puVar10 + -0x30) = local_9c" (pointer_expression "*(undefined ***)(puVar10 + -0x30)" * (cast_expression "(undefined ***)(puVar10 + -0x30)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar10 + -0x30)" ( (binary_expression "puVar10 + -0x30" identifier + number_literal) )))) = identifier) ;) (expression_statement "pcVar1 = *(code **)(puVar2 + 0x128);" (assignment_expression "pcVar1 = *(code **)(puVar2 + 0x128)" identifier = (pointer_expression "*(code **)(puVar2 + 0x128)" * (cast_expression "(code **)(puVar2 + 0x128)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0x128)" ( (binary_expression "puVar2 + 0x128" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x34) = 0x1197f;" (assignment_expression "*(undefined4 *)(puVar10 + -0x34) = 0x1197f" (pointer_expression "*(undefined4 *)(puVar10 + -0x34)" * (cast_expression "(undefined4 *)(puVar10 + -0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x34)" ( (binary_expression "puVar10 + -0x34" identifier + number_literal) )))) = number_literal) ;) (expression_statement "DAT_00018228 = (*pcVar1)();" (assignment_expression "DAT_00018228 = (*pcVar1)()" identifier = (call_expression "(*pcVar1)()" (parenthesized_expression "(*pcVar1)" ( (pointer_expression "*pcVar1" * identifier) )) (argument_list "()" ( )))) ;) (expression_statement "ppuVar4 = local_9c;" (assignment_expression "ppuVar4 = local_9c" identifier = identifier) ;) (goto_statement "goto joined_r0x00011b72;" goto statement_identifier ;) })))) (expression_statement "DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);" (assignment_expression "DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20)" identifier = (call_expression "(uint)((ulonglong)uVar19 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)uVar19 >> 0x20)" ( (binary_expression "(ulonglong)uVar19 >> 0x20" (cast_expression "(ulonglong)uVar19" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "DAT_00018240 = (uint)uVar19;" (assignment_expression "DAT_00018240 = (uint)uVar19" identifier = (cast_expression "(uint)uVar19" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (DAT_00018260 != 0) {\n      if (DAT_00018258 == 0) {\n        *(undefined **)(puVar10 + -0x10) = &DAT_000153bf;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11ddf;\n        puts(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n      else {\n        *(undefined **)(puVar10 + -0x10) = &DAT_00015434;\n        *(undefined4 *)(puVar10 + -0x14) = 0x119b7;\n        printf(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n    }" if (parenthesized_expression "(DAT_00018260 != 0)" ( (binary_expression "DAT_00018260 != 0" identifier != number_literal) )) (compound_statement "{\n      if (DAT_00018258 == 0) {\n        *(undefined **)(puVar10 + -0x10) = &DAT_000153bf;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11ddf;\n        puts(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n      else {\n        *(undefined **)(puVar10 + -0x10) = &DAT_00015434;\n        *(undefined4 *)(puVar10 + -0x14) = 0x119b7;\n        printf(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n    }" { (if_statement "if (DAT_00018258 == 0) {\n        *(undefined **)(puVar10 + -0x10) = &DAT_000153bf;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11ddf;\n        puts(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n      else {\n        *(undefined **)(puVar10 + -0x10) = &DAT_00015434;\n        *(undefined4 *)(puVar10 + -0x14) = 0x119b7;\n        printf(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }" if (parenthesized_expression "(DAT_00018258 == 0)" ( (binary_expression "DAT_00018258 == 0" identifier == number_literal) )) (compound_statement "{\n        *(undefined **)(puVar10 + -0x10) = &DAT_000153bf;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11ddf;\n        puts(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }" { (expression_statement "*(undefined **)(puVar10 + -0x10) = &DAT_000153bf;" (assignment_expression "*(undefined **)(puVar10 + -0x10) = &DAT_000153bf" (pointer_expression "*(undefined **)(puVar10 + -0x10)" * (cast_expression "(undefined **)(puVar10 + -0x10)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = (pointer_expression "&DAT_000153bf" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x11ddf;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x11ddf" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" * (cast_expression "(undefined4 *)(puVar10 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puts(*(char **)(puVar10 + -0x10));" (call_expression "puts(*(char **)(puVar10 + -0x10))" identifier (argument_list "(*(char **)(puVar10 + -0x10))" ( (pointer_expression "*(char **)(puVar10 + -0x10)" * (cast_expression "(char **)(puVar10 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "uVar19 = CONCAT44(DAT_00018244,DAT_00018240);" (assignment_expression "uVar19 = CONCAT44(DAT_00018244,DAT_00018240)" identifier = (call_expression "CONCAT44(DAT_00018244,DAT_00018240)" identifier (argument_list "(DAT_00018244,DAT_00018240)" ( identifier , identifier )))) ;) }) (else_clause "else {\n        *(undefined **)(puVar10 + -0x10) = &DAT_00015434;\n        *(undefined4 *)(puVar10 + -0x14) = 0x119b7;\n        printf(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }" else (compound_statement "{\n        *(undefined **)(puVar10 + -0x10) = &DAT_00015434;\n        *(undefined4 *)(puVar10 + -0x14) = 0x119b7;\n        printf(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }" { (expression_statement "*(undefined **)(puVar10 + -0x10) = &DAT_00015434;" (assignment_expression "*(undefined **)(puVar10 + -0x10) = &DAT_00015434" (pointer_expression "*(undefined **)(puVar10 + -0x10)" * (cast_expression "(undefined **)(puVar10 + -0x10)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = (pointer_expression "&DAT_00015434" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x119b7;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x119b7" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" * (cast_expression "(undefined4 *)(puVar10 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "printf(*(char **)(puVar10 + -0x10));" (call_expression "printf(*(char **)(puVar10 + -0x10))" identifier (argument_list "(*(char **)(puVar10 + -0x10))" ( (pointer_expression "*(char **)(puVar10 + -0x10)" * (cast_expression "(char **)(puVar10 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "uVar19 = CONCAT44(DAT_00018244,DAT_00018240);" (assignment_expression "uVar19 = CONCAT44(DAT_00018244,DAT_00018240)" identifier = (call_expression "CONCAT44(DAT_00018244,DAT_00018240)" identifier (argument_list "(DAT_00018244,DAT_00018240)" ( identifier , identifier )))) ;) }))) })) (expression_statement "DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);" (assignment_expression "DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20)" identifier = (call_expression "(uint)((ulonglong)uVar19 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)uVar19 >> 0x20)" ( (binary_expression "(ulonglong)uVar19 >> 0x20" (cast_expression "(ulonglong)uVar19" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "DAT_00018240 = (uint)uVar19;" (assignment_expression "DAT_00018240 = (uint)uVar19" identifier = (cast_expression "(uint)uVar19" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "*(undefined **)(puVar10 + -0x10) = &DAT_00015438;" (assignment_expression "*(undefined **)(puVar10 + -0x10) = &DAT_00015438" (pointer_expression "*(undefined **)(puVar10 + -0x10)" * (cast_expression "(undefined **)(puVar10 + -0x10)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = (pointer_expression "&DAT_00015438" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x119c9;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x119c9" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" * (cast_expression "(undefined4 *)(puVar10 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puts(*(char **)(puVar10 + -0x10));" (call_expression "puts(*(char **)(puVar10 + -0x10))" identifier (argument_list "(*(char **)(puVar10 + -0x10))" ( (pointer_expression "*(char **)(puVar10 + -0x10)" * (cast_expression "(char **)(puVar10 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "ppuVar4 = local_9c;" (assignment_expression "ppuVar4 = local_9c" identifier = identifier) ;) }) while (parenthesized_expression "( true )" ( true )) ;)) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , (string_literal " ") ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , (string_literal " ") ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , (pointer_expression & IDENT) )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (string_literal " string_content "))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != LIT) )))) <= (unary_expression - (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))))) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (call_expression IDENT (argument_list ( ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) | LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (string_literal " string_content ")) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) }) while (parenthesized_expression ( BOOL )) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) , (binary_expression IDENT == LIT)) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) )) (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) )) (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) )) (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (goto_statement goto statement_identifier ;))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) )) (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) )) (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) )) (argument_list ( )))) ;) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (switch_statement switch (parenthesized_expression ( IDENT )) (compound_statement { (case_statement case LIT : (goto_statement goto statement_identifier ;)) (case_statement default : (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (goto_statement goto statement_identifier ;)) (case_statement case LIT :) (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( ))) ;) (break_statement break ;)) (case_statement case LIT :) (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( ))) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression * IDENT))) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))))) ;)) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (string_literal " string_content ")) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (labeled_statement statement_identifier : (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (return_statement return IDENT ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })))) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) + LIT) )))) - LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression LIT << (parenthesized_expression ( (binary_expression IDENT & LIT) ))) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression LIT << (parenthesized_expression ( (binary_expression IDENT & LIT) ))) | (binary_expression LIT >> (binary_expression LIT - (parenthesized_expression ( (binary_expression IDENT & LIT) ))))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) - LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) << LIT) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT)) )) - LIT) )) + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) != LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT ^ (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression IDENT - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) )))) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) })) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) }))) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }))) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) })) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (string_literal " string_content escape_sequence ")) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) }))))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) }) while (parenthesized_expression ( (binary_expression IDENT == LIT) )) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (string_literal " string_content ")) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) }) while (parenthesized_expression ( BOOL )) ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) )) && (parenthesized_expression ( (binary_expression (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) || (binary_expression (binary_expression IDENT - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })))) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) }))) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( BOOL )) ;)) })))
(function_definition "int FUN_00011500(int param_1,undefined4 *param_2)\n\n{\n  code *pcVar1;\n  undefined *puVar2;\n  int iVar3;\n  undefined **ppuVar4;\n  char *pcVar5;\n  char *pcVar6;\n  undefined4 uVar7;\n  byte bVar8;\n  uint uVar9;\n  undefined1 *puVar10;\n  undefined1 *puVar11;\n  undefined1 *puVar12;\n  undefined1 *puVar13;\n  undefined1 *puVar14;\n  undefined1 *puVar15;\n  char *pcVar16;\n  undefined4 *puVar17;\n  uint uVar18;\n  undefined8 uVar19;\n  int aiStack_134 [21];\n  int local_c0;\n  undefined4 *local_bc;\n  char *local_b8;\n  uint local_b4;\n  int *local_b0;\n  int *local_ac;\n  int local_a8;\n  int *local_a4;\n  undefined *local_a0;\n  undefined **local_9c;\n  char *local_98;\n  char *local_94;\n  undefined4 local_88;\n  undefined1 local_84 [108];\n  undefined4 *local_18;\n  \n  puVar17 = &param_1;\n  local_18 = puVar17;\n  setlocale(5,"");\n  setlocale(0,"");\n  bindtextdomain();\n  textdomain();\n  DAT_00018278 = *param_2;\n  xmalloc_set_program_name();\n  ppuVar4 = &PTR_s_addresses_00018160;\n  bfd_set_error_program_name();\n  FUN_00013990();\n  bfd_init();\n  FUN_00012710();\n  local_98 = "ab:Ce:sfHhij:pVv";\n  puVar11 = (undefined1 *)&stack0xffffff40;\n  puVar12 = (undefined1 *)&stack0xffffff40;\n  puVar15 = (undefined1 *)&stack0xffffff40;\n  puVar14 = (undefined1 *)&stack0xffffff40;\n  puVar10 = (undefined1 *)&stack0xffffff40;\n  local_a4 = (int *)0x0;\n  local_b0 = (int *)PTR_optarg_00017ffc;\n  local_a8 = 0;\n  local_9c = (undefined **)0x0;\n  local_ac = local_b0;\ncode_r0x000115d8:\n  iVar3 = getopt_long(param_1,param_2,local_98,&PTR_s_addresses_00018160);\n  if (iVar3 == -1) {\n    ppuVar4 = (undefined **)"a.out";\n    if (local_9c != (undefined **)0x0) {\n      ppuVar4 = local_9c;\n    }\n    DAT_0001824c = param_2 + *(int *)PTR_optind_00017fdc;\n    DAT_00018250 = (int *)(param_1 - *(int *)PTR_optind_00017fdc);\n    local_9c = ppuVar4;\n    uVar19 = FUN_00012f60();\n    if ((int)(uint)((int)uVar19 != 0) <= -(int)((ulonglong)uVar19 >> 0x20)) {\n      return 1;\n    }\n    ppuVar4 = (undefined **)bfd_openr();\n    if (ppuVar4 == (undefined **)0x0) goto LAB_00011f2f;\n    ppuVar4[10] = (undefined *)((uint)ppuVar4[10] | 0x100000);\n    local_c0 = bfd_check_format();\n    if (local_c0 != 0) goto LAB_00011f73;\n    iVar3 = bfd_check_format_matches();\n    if (iVar3 == 0) {\n      FUN_000123f0();\n      iVar3 = bfd_get_error();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 == 0xd) goto LAB_00011f92;\n      do {\n        puVar15 = puVar14 + -0x10;\n        *(undefined4 *)(puVar14 + -0x10) = 1;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11f73;\n        xexit();\nLAB_00011f73:\n        *(undefined ***)(puVar15 + -4) = ppuVar4;\n        *(undefined4 *)(puVar15 + -8) = 5;\n        *(char **)(puVar15 + -0xc) = "%s: cannot get addresses from archive";\n        *(undefined4 *)(puVar15 + -0x10) = 0;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11f84;\n        uVar7 = dcgettext();\n        *(undefined ***)(puVar15 + -0xc) = local_9c;\n        *(undefined4 *)(puVar15 + -0x10) = uVar7;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11f92;\n        FUN_000126c0();\n        puVar13 = puVar15 + -0x10;\nLAB_00011f92:\n        puVar14 = puVar13;\n        *(undefined4 *)(puVar14 + -0x10) = local_88;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11f9d;\n        FUN_00012770();\n        *(undefined4 *)(puVar14 + -0x10) = local_88;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11fa6;\n        free(*(void **)(puVar14 + -0x10));\n      } while( true );\n    }\n    iVar3 = local_a8;\n    if ((local_a8 != 0) && (iVar3 = bfd_get_section_by_name(), iVar3 == 0)) goto LAB_00011f09;\n    local_a8 = iVar3;\n    if ((*(byte *)((int)ppuVar4 + 0x29) & 2) == 0) goto LAB_00011862;\n    iVar3 = (**(code **)(ppuVar4[1] + 0x104))();\n    if (iVar3 == 0) {\n      iVar3 = (**(code **)(ppuVar4[1] + 0x1a8))();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\n      DAT_00018248 = (void *)xmalloc();\n      iVar3 = (**(code **)(ppuVar4[1] + 0x1ac))();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\nLAB_00011e91:\n      if (0 < iVar3) goto LAB_00011862;\n    }\n    else {\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\n      DAT_00018248 = (void *)xmalloc();\n      iVar3 = (**(code **)(ppuVar4[1] + 0x108))();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\n      if (iVar3 != 0) goto LAB_00011e91;\n      iVar3 = (**(code **)(ppuVar4[1] + 0x1a8))();\n      if (0 < iVar3) {\n        free(DAT_00018248);\n        DAT_00018248 = (void *)xmalloc();\n        iVar3 = (**(code **)(ppuVar4[1] + 0x1ac))();\n        goto LAB_00011e91;\n      }\n    }\n    free(DAT_00018248);\n    DAT_00018248 = (void *)0x0;\nLAB_00011862:\n    local_ac = DAT_00018250;\n    local_bc = (undefined4 *)PTR_stdin_00017fec;\n    local_b0 = (int *)PTR_stdout_00017ff0;\n    local_9c = ppuVar4;\n    goto LAB_000119df;\n  }\n  switch(iVar3) {\n  case 0:\n    goto code_r0x000115d8;\n  default:\n    break;\n  case 0x43:\n    DAT_0001825c = 1;\n    local_a0 = PTR_optarg_00017ffc;\n    if (*(int *)PTR_optarg_00017ffc != 0) {\n      iVar3 = func_0x00011040();\n      uVar19 = CONCAT44(local_a0,iVar3);\n      if (iVar3 == 0) goto code_r0x00011eed;\n      func_0x000110d0();\n    }\n    goto code_r0x000115d8;\n  case 0x48:\n  case 0x68:\n    FUN_00012130();\n    break;\n  case 0x56:\n  case 0x76:\n    FUN_00013310();\n    goto code_r0x000115d8;\n  case 0x61:\n    DAT_00018264 = 1;\n    goto code_r0x000115d8;\n  case 0x62:\n    local_a4 = *(int **)PTR_optarg_00017ffc;\n    goto code_r0x000115d8;\n  case 0x65:\n    local_9c = (undefined **)*local_b0;\n    goto code_r0x000115d8;\n  case 0x66:\n    DAT_00018260 = 1;\n    goto code_r0x000115d8;\n  case 0x69:\n    DAT_00018268 = 1;\n    goto code_r0x000115d8;\n  case 0x6a:\n    local_a8 = *local_ac;\n    goto code_r0x000115d8;\n  case 0x70:\n    DAT_00018258 = 1;\n    goto code_r0x000115d8;\n  case 0x73:\n    DAT_00018254 = 1;\n    goto code_r0x000115d8;\n  }\n  uVar19 = FUN_00012130();\ncode_r0x00011eed:\n  puVar17 = (undefined4 *)*(int *)((ulonglong)uVar19 >> 0x20);\n  dcgettext();\n  puVar11 = &stack0xffffff30;\n  FUN_000126c0();\nLAB_00011f09:\n  *(undefined4 **)(puVar11 + -4) = puVar17;\n  *(undefined4 *)(puVar11 + -8) = 5;\n  *(char **)(puVar11 + -0xc) = "%s: cannot find section %s";\n  *(undefined4 *)(puVar11 + -0x10) = 0;\n  *(undefined4 *)(puVar11 + -0x14) = 0x11f1a;\n  uVar7 = dcgettext();\n  *(int *)(puVar11 + -8) = local_a8;\n  *(undefined ***)(puVar11 + -0xc) = local_9c;\n  puVar12 = puVar11 + -0x10;\n  *(undefined4 *)(puVar11 + -0x10) = uVar7;\n  *(undefined4 *)(puVar11 + -0x14) = 0x11f2f;\n  FUN_000126c0();\nLAB_00011f2f:\n  *(undefined ***)(puVar12 + -0x10) = local_9c;\n  *(undefined4 *)(puVar12 + -0x14) = 0x11f3d;\n  FUN_00012630();\n  puVar13 = puVar12 + -0x10;\nLAB_00011f3d:\n  puVar10 = puVar13 + -0x10;\n  *(undefined **)(puVar13 + -0x10) = *ppuVar4;\n  *(undefined4 *)(puVar13 + -0x14) = 0x11f47;\n  FUN_00012630();\nLAB_000119cc:\n  do {\n    local_9c = ppuVar4;\n    *(int *)(puVar10 + -0x10) = *local_a4;\n    *(undefined4 *)(puVar10 + -0x14) = 0x119dc;\n    fflush(*(FILE **)(puVar10 + -0x10));\nLAB_000119df:\n    if (local_ac == (int *)0x0) {\n      *(undefined4 *)(puVar10 + -8) = *local_bc;\n      *(undefined4 *)(puVar10 + -0xc) = 100;\n      *(undefined1 **)(puVar10 + -0x10) = local_84;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11a03;\n      pcVar5 = fgets(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc),*(FILE **)(puVar10 + -8));\n      if (pcVar5 == (char *)0x0) {\nLAB_00011e02:\n        ppuVar4 = local_9c;\n        if (DAT_00018248 != (void *)0x0) {\n          *(void **)(puVar10 + -0x10) = DAT_00018248;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11e1b;\n          free(*(void **)(puVar10 + -0x10));\n          DAT_00018248 = (void *)0x0;\n        }\n        *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11e31;\n        bfd_close();\n        return local_c0;\n      }\n      *(undefined4 *)(puVar10 + -8) = 0x10;\n      *(undefined4 *)(puVar10 + -0xc) = 0;\n      *(undefined1 **)(puVar10 + -0x10) = local_84;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11a1b;\n      uVar19 = bfd_scan_vma();\n      puVar2 = local_9c[1];\n      iVar3 = *(int *)(puVar2 + 4);\n    }\n    else {\n      if ((int)DAT_00018250 < 1) goto LAB_00011e02;\n      DAT_00018250 = (int *)((int)DAT_00018250 + -1);\n      *(undefined4 *)(puVar10 + -8) = 0x10;\n      *(undefined4 *)(puVar10 + -0xc) = 0;\n      *(undefined4 *)(puVar10 + -0x10) = *DAT_0001824c;\n      *(undefined4 *)(puVar10 + -0x14) = 0x118cc;\n      DAT_0001824c = DAT_0001824c + 1;\n      uVar19 = bfd_scan_vma();\n      puVar2 = local_9c[1];\n      iVar3 = *(int *)(puVar2 + 4);\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    if (iVar3 == 5) {\n      bVar8 = *(char *)(*(int *)(*(int *)(puVar2 + 0x1c0) + 0x19c) + 10) - 1;\n      pcVar5 = (char *)(1 << (bVar8 & 0x1f));\n      local_98 = pcVar5;\n      local_94 = (char *)(0 << (bVar8 & 0x1f) | 1U >> 0x20 - (bVar8 & 0x1f));\n      if ((bVar8 & 0x20) != 0) {\n        local_98 = (char *)0x0;\n        local_94 = pcVar5;\n      }\n      uVar9 = DAT_00018240 & (int)local_98 * 2 - 1U;\n      uVar18 = DAT_00018244 &\n               (((int)local_94 << 1 | (uint)local_98 >> 0x1f) - 1) + (uint)((int)local_98 * 2 != 0);\n      uVar19 = CONCAT44(uVar18,uVar9);\n      if ((*(byte *)(*(int *)(puVar2 + 0x1c0) + 0x1e9) & 1) != 0) {\n        local_b8 = (char *)(uVar9 ^ (uint)local_98);\n        local_b4 = uVar18 ^ (uint)local_94;\n        uVar19 = CONCAT44((local_b4 - (int)local_94) - (uint)(local_b8 < local_98),\n                          (int)local_b8 - (int)local_98);\n      }\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    local_a4 = local_b0;\n    if (DAT_00018264 != 0) {\n      *(undefined **)(puVar10 + -0x10) = &DAT_00015431;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11aff;\n      printf(*(char **)(puVar10 + -0x10));\n      local_a4 = (int *)PTR_stdout_00017ff0;\n      *(uint *)(puVar10 + -0x14) = DAT_00018244;\n      *(uint *)(puVar10 + -0x18) = DAT_00018240;\n      *(undefined4 *)(puVar10 + -0x1c) = *(undefined4 *)PTR_stdout_00017ff0;\n      *(undefined ***)(puVar10 + -0x20) = local_9c;\n      *(undefined4 *)(puVar10 + -0x24) = 0x11b24;\n      bfd_fprintf_vma();\n      if (DAT_00018258 == 0) {\n        *(undefined4 *)(puVar10 + -0x10) = 10;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11dfa;\n        putchar(*(int *)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n      else {\n        *(undefined **)(puVar10 + -0x10) = &DAT_00015702;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11b44;\n        printf(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    DAT_00018228 = 0;\n    if (local_a8 == 0) {\n      *(undefined4 *)(puVar10 + -8) = 0;\n      *(code **)(puVar10 + -0xc) = FUN_00012210;\n      *(undefined ***)(puVar10 + -0x10) = local_9c;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11b67;\n      bfd_map_over_sections();\n      ppuVar4 = local_9c;\njoined_r0x00011b72:\n      uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      local_9c = ppuVar4;\n      if (DAT_00018228 != 0) {\n        local_a0 = &DAT_00015442;\n        local_98 = "??";\n        do {\n          local_9c = (undefined **)0x15817;\n          do {\n            pcVar5 = DAT_00018234;\n            if (DAT_00018260 != 0) {\n              pcVar6 = local_98;\n              pcVar16 = DAT_00018234;\n              if (DAT_00018234 != (char *)0x0) {\n                if (*DAT_00018234 == '\0') {\n                  pcVar16 = (char *)0x0;\n                }\n                else {\n                  if (DAT_0001825c != 0) {\n                    *(undefined4 *)(puVar10 + -8) = 3;\n                    *(char **)(puVar10 + -0xc) = DAT_00018234;\n                    *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n                    *(undefined4 *)(puVar10 + -0x14) = 0x11db4;\n                    pcVar6 = (char *)bfd_demangle();\n                    pcVar16 = pcVar6;\n                    if (pcVar6 != (char *)0x0) goto LAB_00011bdd;\n                  }\n                  pcVar6 = pcVar5;\n                  pcVar16 = (char *)0x0;\n                }\n              }\nLAB_00011bdd:\n              *(char **)(puVar10 + -0xc) = pcVar6;\n              *(undefined ***)(puVar10 + -0x10) = local_9c;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11bec;\n              printf(*(char **)(puVar10 + -0x10));\n              if (DAT_00018258 == 0) {\n                *(undefined4 *)(puVar10 + -0x10) = 10;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11d8a;\n                putchar(*(int *)(puVar10 + -0x10));\n              }\n              else {\n                *(undefined4 *)(puVar10 + -8) = 5;\n                *(undefined **)(puVar10 + -0xc) = &DAT_0001543d;\n                *(undefined4 *)(puVar10 + -0x10) = 0;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c10;\n                uVar7 = dcgettext();\n                *(undefined4 *)(puVar10 + -0x10) = uVar7;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c18;\n                printf(*(char **)(puVar10 + -0x10));\n              }\n              if (pcVar16 != (char *)0x0) {\n                *(char **)(puVar10 + -0x10) = pcVar16;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c28;\n                free(*(void **)(puVar10 + -0x10));\n              }\n            }\n            pcVar5 = DAT_00018238;\n            if (DAT_00018254 == 0) {\nLAB_00011c5e:\n              pcVar5 = DAT_00018238;\n              if (DAT_00018238 == (char *)0x0) {\nLAB_00011d70:\n                pcVar5 = local_98;\n              }\n            }\n            else {\n              if (DAT_00018238 == (char *)0x0) goto LAB_00011d70;\n              *(undefined4 *)(puVar10 + -0xc) = 0x2f;\n              *(char **)(puVar10 + -0x10) = DAT_00018238;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11c4e;\n              pcVar6 = strrchr(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc));\n              if (pcVar6 != (char *)0x0) {\n                DAT_00018238 = pcVar6 + 1;\n                goto LAB_00011c5e;\n              }\n            }\n            *(char **)(puVar10 + -0xc) = pcVar5;\n            *(undefined **)(puVar10 + -0x10) = local_a0;\n            *(undefined4 *)(puVar10 + -0x14) = 0x11c75;\n            printf(*(char **)(puVar10 + -0x10));\n            if (DAT_00018230 == 0) {\n              *(undefined **)(puVar10 + -0x10) = &DAT_000153c0;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d5f;\n              puts(*(char **)(puVar10 + -0x10));\n            }\n            else if (DAT_0001822c == 0) {\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(undefined **)(puVar10 + -0x10) = &DAT_0001545d;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d48;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            else {\n              *(int *)(puVar10 + -8) = DAT_0001822c;\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(char **)(puVar10 + -0x10) = "%u (discriminator %u)\n";\n              *(undefined4 *)(puVar10 + -0x14) = 0x11ca5;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            if (DAT_00018268 == 0) {\n              DAT_00018228 = 0;\n              goto LAB_000119cc;\n            }\n            puVar2 = ppuVar4[1];\n            *(int **)(puVar10 + -4) = &DAT_00018230;\n            *(char ***)(puVar10 + -8) = &DAT_00018234;\n            *(char ***)(puVar10 + -0xc) = &DAT_00018238;\n            *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n            pcVar1 = *(code **)(puVar2 + 0x130);\n            *(undefined4 *)(puVar10 + -0x14) = 0x11cef;\n            DAT_00018228 = (*pcVar1)();\n            if (DAT_00018228 == 0) goto LAB_000119cc;\n          } while (DAT_00018258 == 0);\n          *(undefined4 *)(puVar10 + -8) = 5;\n          *(char **)(puVar10 + -0xc) = " (inlined by) ";\n          *(undefined4 *)(puVar10 + -0x10) = 0;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11d21;\n          uVar7 = dcgettext();\n          *(undefined4 *)(puVar10 + -0x10) = uVar7;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11d29;\n          printf(*(char **)(puVar10 + -0x10));\n        } while( true );\n      }\n    }\n    else if (((*(byte *)(local_a8 + 0x14) & 1) != 0) &&\n            (DAT_00018244 < *(uint *)(local_a8 + 0x30) ||\n             DAT_00018244 - *(uint *)(local_a8 + 0x30) <\n             (uint)(DAT_00018240 < *(uint *)(local_a8 + 0x2c)))) {\n      puVar2 = local_9c[1];\n      *(int **)(puVar10 + -0x10) = &DAT_0001822c;\n      *(int **)(puVar10 + -0x14) = &DAT_00018230;\n      *(char ***)(puVar10 + -0x18) = &DAT_00018234;\n      *(char ***)(puVar10 + -0x1c) = &DAT_00018238;\n      *(undefined8 *)(puVar10 + -0x24) = uVar19;\n      *(int *)(puVar10 + -0x28) = local_a8;\n      *(void **)(puVar10 + -0x2c) = DAT_00018248;\n      *(undefined ***)(puVar10 + -0x30) = local_9c;\n      pcVar1 = *(code **)(puVar2 + 0x128);\n      *(undefined4 *)(puVar10 + -0x34) = 0x1197f;\n      DAT_00018228 = (*pcVar1)();\n      ppuVar4 = local_9c;\n      goto joined_r0x00011b72;\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    if (DAT_00018260 != 0) {\n      if (DAT_00018258 == 0) {\n        *(undefined **)(puVar10 + -0x10) = &DAT_000153bf;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11ddf;\n        puts(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n      else {\n        *(undefined **)(puVar10 + -0x10) = &DAT_00015434;\n        *(undefined4 *)(puVar10 + -0x14) = 0x119b7;\n        printf(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    *(undefined **)(puVar10 + -0x10) = &DAT_00015438;\n    *(undefined4 *)(puVar10 + -0x14) = 0x119c9;\n    puts(*(char **)(puVar10 + -0x10));\n    ppuVar4 = local_9c;\n  } while( true );\n}" (primitive_type "int") (function_declarator "FUN_00011500(int param_1,undefined4 *param_2)" (identifier "FUN_00011500") (parameter_list "(int param_1,undefined4 *param_2)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 *param_2" (type_identifier "undefined4") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) () ")"))) (compound_statement "{\n  code *pcVar1;\n  undefined *puVar2;\n  int iVar3;\n  undefined **ppuVar4;\n  char *pcVar5;\n  char *pcVar6;\n  undefined4 uVar7;\n  byte bVar8;\n  uint uVar9;\n  undefined1 *puVar10;\n  undefined1 *puVar11;\n  undefined1 *puVar12;\n  undefined1 *puVar13;\n  undefined1 *puVar14;\n  undefined1 *puVar15;\n  char *pcVar16;\n  undefined4 *puVar17;\n  uint uVar18;\n  undefined8 uVar19;\n  int aiStack_134 [21];\n  int local_c0;\n  undefined4 *local_bc;\n  char *local_b8;\n  uint local_b4;\n  int *local_b0;\n  int *local_ac;\n  int local_a8;\n  int *local_a4;\n  undefined *local_a0;\n  undefined **local_9c;\n  char *local_98;\n  char *local_94;\n  undefined4 local_88;\n  undefined1 local_84 [108];\n  undefined4 *local_18;\n  \n  puVar17 = &param_1;\n  local_18 = puVar17;\n  setlocale(5,"");\n  setlocale(0,"");\n  bindtextdomain();\n  textdomain();\n  DAT_00018278 = *param_2;\n  xmalloc_set_program_name();\n  ppuVar4 = &PTR_s_addresses_00018160;\n  bfd_set_error_program_name();\n  FUN_00013990();\n  bfd_init();\n  FUN_00012710();\n  local_98 = "ab:Ce:sfHhij:pVv";\n  puVar11 = (undefined1 *)&stack0xffffff40;\n  puVar12 = (undefined1 *)&stack0xffffff40;\n  puVar15 = (undefined1 *)&stack0xffffff40;\n  puVar14 = (undefined1 *)&stack0xffffff40;\n  puVar10 = (undefined1 *)&stack0xffffff40;\n  local_a4 = (int *)0x0;\n  local_b0 = (int *)PTR_optarg_00017ffc;\n  local_a8 = 0;\n  local_9c = (undefined **)0x0;\n  local_ac = local_b0;\ncode_r0x000115d8:\n  iVar3 = getopt_long(param_1,param_2,local_98,&PTR_s_addresses_00018160);\n  if (iVar3 == -1) {\n    ppuVar4 = (undefined **)"a.out";\n    if (local_9c != (undefined **)0x0) {\n      ppuVar4 = local_9c;\n    }\n    DAT_0001824c = param_2 + *(int *)PTR_optind_00017fdc;\n    DAT_00018250 = (int *)(param_1 - *(int *)PTR_optind_00017fdc);\n    local_9c = ppuVar4;\n    uVar19 = FUN_00012f60();\n    if ((int)(uint)((int)uVar19 != 0) <= -(int)((ulonglong)uVar19 >> 0x20)) {\n      return 1;\n    }\n    ppuVar4 = (undefined **)bfd_openr();\n    if (ppuVar4 == (undefined **)0x0) goto LAB_00011f2f;\n    ppuVar4[10] = (undefined *)((uint)ppuVar4[10] | 0x100000);\n    local_c0 = bfd_check_format();\n    if (local_c0 != 0) goto LAB_00011f73;\n    iVar3 = bfd_check_format_matches();\n    if (iVar3 == 0) {\n      FUN_000123f0();\n      iVar3 = bfd_get_error();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 == 0xd) goto LAB_00011f92;\n      do {\n        puVar15 = puVar14 + -0x10;\n        *(undefined4 *)(puVar14 + -0x10) = 1;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11f73;\n        xexit();\nLAB_00011f73:\n        *(undefined ***)(puVar15 + -4) = ppuVar4;\n        *(undefined4 *)(puVar15 + -8) = 5;\n        *(char **)(puVar15 + -0xc) = "%s: cannot get addresses from archive";\n        *(undefined4 *)(puVar15 + -0x10) = 0;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11f84;\n        uVar7 = dcgettext();\n        *(undefined ***)(puVar15 + -0xc) = local_9c;\n        *(undefined4 *)(puVar15 + -0x10) = uVar7;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11f92;\n        FUN_000126c0();\n        puVar13 = puVar15 + -0x10;\nLAB_00011f92:\n        puVar14 = puVar13;\n        *(undefined4 *)(puVar14 + -0x10) = local_88;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11f9d;\n        FUN_00012770();\n        *(undefined4 *)(puVar14 + -0x10) = local_88;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11fa6;\n        free(*(void **)(puVar14 + -0x10));\n      } while( true );\n    }\n    iVar3 = local_a8;\n    if ((local_a8 != 0) && (iVar3 = bfd_get_section_by_name(), iVar3 == 0)) goto LAB_00011f09;\n    local_a8 = iVar3;\n    if ((*(byte *)((int)ppuVar4 + 0x29) & 2) == 0) goto LAB_00011862;\n    iVar3 = (**(code **)(ppuVar4[1] + 0x104))();\n    if (iVar3 == 0) {\n      iVar3 = (**(code **)(ppuVar4[1] + 0x1a8))();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\n      DAT_00018248 = (void *)xmalloc();\n      iVar3 = (**(code **)(ppuVar4[1] + 0x1ac))();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\nLAB_00011e91:\n      if (0 < iVar3) goto LAB_00011862;\n    }\n    else {\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\n      DAT_00018248 = (void *)xmalloc();\n      iVar3 = (**(code **)(ppuVar4[1] + 0x108))();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\n      if (iVar3 != 0) goto LAB_00011e91;\n      iVar3 = (**(code **)(ppuVar4[1] + 0x1a8))();\n      if (0 < iVar3) {\n        free(DAT_00018248);\n        DAT_00018248 = (void *)xmalloc();\n        iVar3 = (**(code **)(ppuVar4[1] + 0x1ac))();\n        goto LAB_00011e91;\n      }\n    }\n    free(DAT_00018248);\n    DAT_00018248 = (void *)0x0;\nLAB_00011862:\n    local_ac = DAT_00018250;\n    local_bc = (undefined4 *)PTR_stdin_00017fec;\n    local_b0 = (int *)PTR_stdout_00017ff0;\n    local_9c = ppuVar4;\n    goto LAB_000119df;\n  }\n  switch(iVar3) {\n  case 0:\n    goto code_r0x000115d8;\n  default:\n    break;\n  case 0x43:\n    DAT_0001825c = 1;\n    local_a0 = PTR_optarg_00017ffc;\n    if (*(int *)PTR_optarg_00017ffc != 0) {\n      iVar3 = func_0x00011040();\n      uVar19 = CONCAT44(local_a0,iVar3);\n      if (iVar3 == 0) goto code_r0x00011eed;\n      func_0x000110d0();\n    }\n    goto code_r0x000115d8;\n  case 0x48:\n  case 0x68:\n    FUN_00012130();\n    break;\n  case 0x56:\n  case 0x76:\n    FUN_00013310();\n    goto code_r0x000115d8;\n  case 0x61:\n    DAT_00018264 = 1;\n    goto code_r0x000115d8;\n  case 0x62:\n    local_a4 = *(int **)PTR_optarg_00017ffc;\n    goto code_r0x000115d8;\n  case 0x65:\n    local_9c = (undefined **)*local_b0;\n    goto code_r0x000115d8;\n  case 0x66:\n    DAT_00018260 = 1;\n    goto code_r0x000115d8;\n  case 0x69:\n    DAT_00018268 = 1;\n    goto code_r0x000115d8;\n  case 0x6a:\n    local_a8 = *local_ac;\n    goto code_r0x000115d8;\n  case 0x70:\n    DAT_00018258 = 1;\n    goto code_r0x000115d8;\n  case 0x73:\n    DAT_00018254 = 1;\n    goto code_r0x000115d8;\n  }\n  uVar19 = FUN_00012130();\ncode_r0x00011eed:\n  puVar17 = (undefined4 *)*(int *)((ulonglong)uVar19 >> 0x20);\n  dcgettext();\n  puVar11 = &stack0xffffff30;\n  FUN_000126c0();\nLAB_00011f09:\n  *(undefined4 **)(puVar11 + -4) = puVar17;\n  *(undefined4 *)(puVar11 + -8) = 5;\n  *(char **)(puVar11 + -0xc) = "%s: cannot find section %s";\n  *(undefined4 *)(puVar11 + -0x10) = 0;\n  *(undefined4 *)(puVar11 + -0x14) = 0x11f1a;\n  uVar7 = dcgettext();\n  *(int *)(puVar11 + -8) = local_a8;\n  *(undefined ***)(puVar11 + -0xc) = local_9c;\n  puVar12 = puVar11 + -0x10;\n  *(undefined4 *)(puVar11 + -0x10) = uVar7;\n  *(undefined4 *)(puVar11 + -0x14) = 0x11f2f;\n  FUN_000126c0();\nLAB_00011f2f:\n  *(undefined ***)(puVar12 + -0x10) = local_9c;\n  *(undefined4 *)(puVar12 + -0x14) = 0x11f3d;\n  FUN_00012630();\n  puVar13 = puVar12 + -0x10;\nLAB_00011f3d:\n  puVar10 = puVar13 + -0x10;\n  *(undefined **)(puVar13 + -0x10) = *ppuVar4;\n  *(undefined4 *)(puVar13 + -0x14) = 0x11f47;\n  FUN_00012630();\nLAB_000119cc:\n  do {\n    local_9c = ppuVar4;\n    *(int *)(puVar10 + -0x10) = *local_a4;\n    *(undefined4 *)(puVar10 + -0x14) = 0x119dc;\n    fflush(*(FILE **)(puVar10 + -0x10));\nLAB_000119df:\n    if (local_ac == (int *)0x0) {\n      *(undefined4 *)(puVar10 + -8) = *local_bc;\n      *(undefined4 *)(puVar10 + -0xc) = 100;\n      *(undefined1 **)(puVar10 + -0x10) = local_84;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11a03;\n      pcVar5 = fgets(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc),*(FILE **)(puVar10 + -8));\n      if (pcVar5 == (char *)0x0) {\nLAB_00011e02:\n        ppuVar4 = local_9c;\n        if (DAT_00018248 != (void *)0x0) {\n          *(void **)(puVar10 + -0x10) = DAT_00018248;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11e1b;\n          free(*(void **)(puVar10 + -0x10));\n          DAT_00018248 = (void *)0x0;\n        }\n        *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11e31;\n        bfd_close();\n        return local_c0;\n      }\n      *(undefined4 *)(puVar10 + -8) = 0x10;\n      *(undefined4 *)(puVar10 + -0xc) = 0;\n      *(undefined1 **)(puVar10 + -0x10) = local_84;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11a1b;\n      uVar19 = bfd_scan_vma();\n      puVar2 = local_9c[1];\n      iVar3 = *(int *)(puVar2 + 4);\n    }\n    else {\n      if ((int)DAT_00018250 < 1) goto LAB_00011e02;\n      DAT_00018250 = (int *)((int)DAT_00018250 + -1);\n      *(undefined4 *)(puVar10 + -8) = 0x10;\n      *(undefined4 *)(puVar10 + -0xc) = 0;\n      *(undefined4 *)(puVar10 + -0x10) = *DAT_0001824c;\n      *(undefined4 *)(puVar10 + -0x14) = 0x118cc;\n      DAT_0001824c = DAT_0001824c + 1;\n      uVar19 = bfd_scan_vma();\n      puVar2 = local_9c[1];\n      iVar3 = *(int *)(puVar2 + 4);\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    if (iVar3 == 5) {\n      bVar8 = *(char *)(*(int *)(*(int *)(puVar2 + 0x1c0) + 0x19c) + 10) - 1;\n      pcVar5 = (char *)(1 << (bVar8 & 0x1f));\n      local_98 = pcVar5;\n      local_94 = (char *)(0 << (bVar8 & 0x1f) | 1U >> 0x20 - (bVar8 & 0x1f));\n      if ((bVar8 & 0x20) != 0) {\n        local_98 = (char *)0x0;\n        local_94 = pcVar5;\n      }\n      uVar9 = DAT_00018240 & (int)local_98 * 2 - 1U;\n      uVar18 = DAT_00018244 &\n               (((int)local_94 << 1 | (uint)local_98 >> 0x1f) - 1) + (uint)((int)local_98 * 2 != 0);\n      uVar19 = CONCAT44(uVar18,uVar9);\n      if ((*(byte *)(*(int *)(puVar2 + 0x1c0) + 0x1e9) & 1) != 0) {\n        local_b8 = (char *)(uVar9 ^ (uint)local_98);\n        local_b4 = uVar18 ^ (uint)local_94;\n        uVar19 = CONCAT44((local_b4 - (int)local_94) - (uint)(local_b8 < local_98),\n                          (int)local_b8 - (int)local_98);\n      }\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    local_a4 = local_b0;\n    if (DAT_00018264 != 0) {\n      *(undefined **)(puVar10 + -0x10) = &DAT_00015431;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11aff;\n      printf(*(char **)(puVar10 + -0x10));\n      local_a4 = (int *)PTR_stdout_00017ff0;\n      *(uint *)(puVar10 + -0x14) = DAT_00018244;\n      *(uint *)(puVar10 + -0x18) = DAT_00018240;\n      *(undefined4 *)(puVar10 + -0x1c) = *(undefined4 *)PTR_stdout_00017ff0;\n      *(undefined ***)(puVar10 + -0x20) = local_9c;\n      *(undefined4 *)(puVar10 + -0x24) = 0x11b24;\n      bfd_fprintf_vma();\n      if (DAT_00018258 == 0) {\n        *(undefined4 *)(puVar10 + -0x10) = 10;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11dfa;\n        putchar(*(int *)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n      else {\n        *(undefined **)(puVar10 + -0x10) = &DAT_00015702;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11b44;\n        printf(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    DAT_00018228 = 0;\n    if (local_a8 == 0) {\n      *(undefined4 *)(puVar10 + -8) = 0;\n      *(code **)(puVar10 + -0xc) = FUN_00012210;\n      *(undefined ***)(puVar10 + -0x10) = local_9c;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11b67;\n      bfd_map_over_sections();\n      ppuVar4 = local_9c;\njoined_r0x00011b72:\n      uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      local_9c = ppuVar4;\n      if (DAT_00018228 != 0) {\n        local_a0 = &DAT_00015442;\n        local_98 = "??";\n        do {\n          local_9c = (undefined **)0x15817;\n          do {\n            pcVar5 = DAT_00018234;\n            if (DAT_00018260 != 0) {\n              pcVar6 = local_98;\n              pcVar16 = DAT_00018234;\n              if (DAT_00018234 != (char *)0x0) {\n                if (*DAT_00018234 == '\0') {\n                  pcVar16 = (char *)0x0;\n                }\n                else {\n                  if (DAT_0001825c != 0) {\n                    *(undefined4 *)(puVar10 + -8) = 3;\n                    *(char **)(puVar10 + -0xc) = DAT_00018234;\n                    *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n                    *(undefined4 *)(puVar10 + -0x14) = 0x11db4;\n                    pcVar6 = (char *)bfd_demangle();\n                    pcVar16 = pcVar6;\n                    if (pcVar6 != (char *)0x0) goto LAB_00011bdd;\n                  }\n                  pcVar6 = pcVar5;\n                  pcVar16 = (char *)0x0;\n                }\n              }\nLAB_00011bdd:\n              *(char **)(puVar10 + -0xc) = pcVar6;\n              *(undefined ***)(puVar10 + -0x10) = local_9c;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11bec;\n              printf(*(char **)(puVar10 + -0x10));\n              if (DAT_00018258 == 0) {\n                *(undefined4 *)(puVar10 + -0x10) = 10;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11d8a;\n                putchar(*(int *)(puVar10 + -0x10));\n              }\n              else {\n                *(undefined4 *)(puVar10 + -8) = 5;\n                *(undefined **)(puVar10 + -0xc) = &DAT_0001543d;\n                *(undefined4 *)(puVar10 + -0x10) = 0;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c10;\n                uVar7 = dcgettext();\n                *(undefined4 *)(puVar10 + -0x10) = uVar7;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c18;\n                printf(*(char **)(puVar10 + -0x10));\n              }\n              if (pcVar16 != (char *)0x0) {\n                *(char **)(puVar10 + -0x10) = pcVar16;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c28;\n                free(*(void **)(puVar10 + -0x10));\n              }\n            }\n            pcVar5 = DAT_00018238;\n            if (DAT_00018254 == 0) {\nLAB_00011c5e:\n              pcVar5 = DAT_00018238;\n              if (DAT_00018238 == (char *)0x0) {\nLAB_00011d70:\n                pcVar5 = local_98;\n              }\n            }\n            else {\n              if (DAT_00018238 == (char *)0x0) goto LAB_00011d70;\n              *(undefined4 *)(puVar10 + -0xc) = 0x2f;\n              *(char **)(puVar10 + -0x10) = DAT_00018238;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11c4e;\n              pcVar6 = strrchr(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc));\n              if (pcVar6 != (char *)0x0) {\n                DAT_00018238 = pcVar6 + 1;\n                goto LAB_00011c5e;\n              }\n            }\n            *(char **)(puVar10 + -0xc) = pcVar5;\n            *(undefined **)(puVar10 + -0x10) = local_a0;\n            *(undefined4 *)(puVar10 + -0x14) = 0x11c75;\n            printf(*(char **)(puVar10 + -0x10));\n            if (DAT_00018230 == 0) {\n              *(undefined **)(puVar10 + -0x10) = &DAT_000153c0;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d5f;\n              puts(*(char **)(puVar10 + -0x10));\n            }\n            else if (DAT_0001822c == 0) {\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(undefined **)(puVar10 + -0x10) = &DAT_0001545d;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d48;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            else {\n              *(int *)(puVar10 + -8) = DAT_0001822c;\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(char **)(puVar10 + -0x10) = "%u (discriminator %u)\n";\n              *(undefined4 *)(puVar10 + -0x14) = 0x11ca5;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            if (DAT_00018268 == 0) {\n              DAT_00018228 = 0;\n              goto LAB_000119cc;\n            }\n            puVar2 = ppuVar4[1];\n            *(int **)(puVar10 + -4) = &DAT_00018230;\n            *(char ***)(puVar10 + -8) = &DAT_00018234;\n            *(char ***)(puVar10 + -0xc) = &DAT_00018238;\n            *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n            pcVar1 = *(code **)(puVar2 + 0x130);\n            *(undefined4 *)(puVar10 + -0x14) = 0x11cef;\n            DAT_00018228 = (*pcVar1)();\n            if (DAT_00018228 == 0) goto LAB_000119cc;\n          } while (DAT_00018258 == 0);\n          *(undefined4 *)(puVar10 + -8) = 5;\n          *(char **)(puVar10 + -0xc) = " (inlined by) ";\n          *(undefined4 *)(puVar10 + -0x10) = 0;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11d21;\n          uVar7 = dcgettext();\n          *(undefined4 *)(puVar10 + -0x10) = uVar7;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11d29;\n          printf(*(char **)(puVar10 + -0x10));\n        } while( true );\n      }\n    }\n    else if (((*(byte *)(local_a8 + 0x14) & 1) != 0) &&\n            (DAT_00018244 < *(uint *)(local_a8 + 0x30) ||\n             DAT_00018244 - *(uint *)(local_a8 + 0x30) <\n             (uint)(DAT_00018240 < *(uint *)(local_a8 + 0x2c)))) {\n      puVar2 = local_9c[1];\n      *(int **)(puVar10 + -0x10) = &DAT_0001822c;\n      *(int **)(puVar10 + -0x14) = &DAT_00018230;\n      *(char ***)(puVar10 + -0x18) = &DAT_00018234;\n      *(char ***)(puVar10 + -0x1c) = &DAT_00018238;\n      *(undefined8 *)(puVar10 + -0x24) = uVar19;\n      *(int *)(puVar10 + -0x28) = local_a8;\n      *(void **)(puVar10 + -0x2c) = DAT_00018248;\n      *(undefined ***)(puVar10 + -0x30) = local_9c;\n      pcVar1 = *(code **)(puVar2 + 0x128);\n      *(undefined4 *)(puVar10 + -0x34) = 0x1197f;\n      DAT_00018228 = (*pcVar1)();\n      ppuVar4 = local_9c;\n      goto joined_r0x00011b72;\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    if (DAT_00018260 != 0) {\n      if (DAT_00018258 == 0) {\n        *(undefined **)(puVar10 + -0x10) = &DAT_000153bf;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11ddf;\n        puts(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n      else {\n        *(undefined **)(puVar10 + -0x10) = &DAT_00015434;\n        *(undefined4 *)(puVar10 + -0x14) = 0x119b7;\n        printf(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    *(undefined **)(puVar10 + -0x10) = &DAT_00015438;\n    *(undefined4 *)(puVar10 + -0x14) = 0x119c9;\n    puts(*(char **)(puVar10 + -0x10));\n    ppuVar4 = local_9c;\n  } while( true );\n}" ({ "{") (declaration "code *pcVar1;" (type_identifier "code") (pointer_declarator "*pcVar1" (* "*") (identifier "pcVar1")) (; ";")) (declaration "undefined *puVar2;" (type_identifier "undefined") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "undefined **ppuVar4;" (type_identifier "undefined") (pointer_declarator "**ppuVar4" (* "*") (pointer_declarator "*ppuVar4" (* "*") (identifier "ppuVar4"))) (; ";")) (declaration "char *pcVar5;" (primitive_type "char") (pointer_declarator "*pcVar5" (* "*") (identifier "pcVar5")) (; ";")) (declaration "char *pcVar6;" (primitive_type "char") (pointer_declarator "*pcVar6" (* "*") (identifier "pcVar6")) (; ";")) (declaration "undefined4 uVar7;" (type_identifier "undefined4") (identifier "uVar7") (; ";")) (declaration "byte bVar8;" (type_identifier "byte") (identifier "bVar8") (; ";")) (declaration "uint uVar9;" (type_identifier "uint") (identifier "uVar9") (; ";")) (declaration "undefined1 *puVar10;" (type_identifier "undefined1") (pointer_declarator "*puVar10" (* "*") (identifier "puVar10")) (; ";")) (declaration "undefined1 *puVar11;" (type_identifier "undefined1") (pointer_declarator "*puVar11" (* "*") (identifier "puVar11")) (; ";")) (declaration "undefined1 *puVar12;" (type_identifier "undefined1") (pointer_declarator "*puVar12" (* "*") (identifier "puVar12")) (; ";")) (declaration "undefined1 *puVar13;" (type_identifier "undefined1") (pointer_declarator "*puVar13" (* "*") (identifier "puVar13")) (; ";")) (declaration "undefined1 *puVar14;" (type_identifier "undefined1") (pointer_declarator "*puVar14" (* "*") (identifier "puVar14")) (; ";")) (declaration "undefined1 *puVar15;" (type_identifier "undefined1") (pointer_declarator "*puVar15" (* "*") (identifier "puVar15")) (; ";")) (declaration "char *pcVar16;" (primitive_type "char") (pointer_declarator "*pcVar16" (* "*") (identifier "pcVar16")) (; ";")) (declaration "undefined4 *puVar17;" (type_identifier "undefined4") (pointer_declarator "*puVar17" (* "*") (identifier "puVar17")) (; ";")) (declaration "uint uVar18;" (type_identifier "uint") (identifier "uVar18") (; ";")) (declaration "undefined8 uVar19;" (type_identifier "undefined8") (identifier "uVar19") (; ";")) (declaration "int aiStack_134 [21];" (primitive_type "int") (array_declarator "aiStack_134 [21]" (identifier "aiStack_134") ([ "[") (number_literal "21") (] "]")) (; ";")) (declaration "int local_c0;" (primitive_type "int") (identifier "local_c0") (; ";")) (declaration "undefined4 *local_bc;" (type_identifier "undefined4") (pointer_declarator "*local_bc" (* "*") (identifier "local_bc")) (; ";")) (declaration "char *local_b8;" (primitive_type "char") (pointer_declarator "*local_b8" (* "*") (identifier "local_b8")) (; ";")) (declaration "uint local_b4;" (type_identifier "uint") (identifier "local_b4") (; ";")) (declaration "int *local_b0;" (primitive_type "int") (pointer_declarator "*local_b0" (* "*") (identifier "local_b0")) (; ";")) (declaration "int *local_ac;" (primitive_type "int") (pointer_declarator "*local_ac" (* "*") (identifier "local_ac")) (; ";")) (declaration "int local_a8;" (primitive_type "int") (identifier "local_a8") (; ";")) (declaration "int *local_a4;" (primitive_type "int") (pointer_declarator "*local_a4" (* "*") (identifier "local_a4")) (; ";")) (declaration "undefined *local_a0;" (type_identifier "undefined") (pointer_declarator "*local_a0" (* "*") (identifier "local_a0")) (; ";")) (declaration "undefined **local_9c;" (type_identifier "undefined") (pointer_declarator "**local_9c" (* "*") (pointer_declarator "*local_9c" (* "*") (identifier "local_9c"))) (; ";")) (declaration "char *local_98;" (primitive_type "char") (pointer_declarator "*local_98" (* "*") (identifier "local_98")) (; ";")) (declaration "char *local_94;" (primitive_type "char") (pointer_declarator "*local_94" (* "*") (identifier "local_94")) (; ";")) (declaration "undefined4 local_88;" (type_identifier "undefined4") (identifier "local_88") (; ";")) (declaration "undefined1 local_84 [108];" (type_identifier "undefined1") (array_declarator "local_84 [108]" (identifier "local_84") ([ "[") (number_literal "108") (] "]")) (; ";")) (declaration "undefined4 *local_18;" (type_identifier "undefined4") (pointer_declarator "*local_18" (* "*") (identifier "local_18")) (; ";")) (expression_statement "puVar17 = &param_1;" (assignment_expression "puVar17 = &param_1" (identifier "puVar17") (= "=") (pointer_expression "&param_1" (& "&") (identifier "param_1"))) (; ";")) (expression_statement "local_18 = puVar17;" (assignment_expression "local_18 = puVar17" (identifier "local_18") (= "=") (identifier "puVar17")) (; ";")) (expression_statement "setlocale(5,"");" (call_expression "setlocale(5,"")" (identifier "setlocale") (argument_list "(5,"")" (( "(") (number_literal "5") (, ",") (string_literal """" (" """) (" """)) () ")"))) (; ";")) (expression_statement "setlocale(0,"");" (call_expression "setlocale(0,"")" (identifier "setlocale") (argument_list "(0,"")" (( "(") (number_literal "0") (, ",") (string_literal """" (" """) (" """)) () ")"))) (; ";")) (expression_statement "bindtextdomain();" (call_expression "bindtextdomain()" (identifier "bindtextdomain") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "textdomain();" (call_expression "textdomain()" (identifier "textdomain") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "DAT_00018278 = *param_2;" (assignment_expression "DAT_00018278 = *param_2" (identifier "DAT_00018278") (= "=") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (; ";")) (expression_statement "xmalloc_set_program_name();" (call_expression "xmalloc_set_program_name()" (identifier "xmalloc_set_program_name") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "ppuVar4 = &PTR_s_addresses_00018160;" (assignment_expression "ppuVar4 = &PTR_s_addresses_00018160" (identifier "ppuVar4") (= "=") (pointer_expression "&PTR_s_addresses_00018160" (& "&") (identifier "PTR_s_addresses_00018160"))) (; ";")) (expression_statement "bfd_set_error_program_name();" (call_expression "bfd_set_error_program_name()" (identifier "bfd_set_error_program_name") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_00013990();" (call_expression "FUN_00013990()" (identifier "FUN_00013990") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "bfd_init();" (call_expression "bfd_init()" (identifier "bfd_init") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_00012710();" (call_expression "FUN_00012710()" (identifier "FUN_00012710") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "local_98 = "ab:Ce:sfHhij:pVv";" (assignment_expression "local_98 = "ab:Ce:sfHhij:pVv"" (identifier "local_98") (= "=") (string_literal ""ab:Ce:sfHhij:pVv"" (" """) (string_content "ab:Ce:sfHhij:pVv") (" """))) (; ";")) (expression_statement "puVar11 = (undefined1 *)&stack0xffffff40;" (assignment_expression "puVar11 = (undefined1 *)&stack0xffffff40" (identifier "puVar11") (= "=") (cast_expression "(undefined1 *)&stack0xffffff40" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&stack0xffffff40" (& "&") (identifier "stack0xffffff40")))) (; ";")) (expression_statement "puVar12 = (undefined1 *)&stack0xffffff40;" (assignment_expression "puVar12 = (undefined1 *)&stack0xffffff40" (identifier "puVar12") (= "=") (cast_expression "(undefined1 *)&stack0xffffff40" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&stack0xffffff40" (& "&") (identifier "stack0xffffff40")))) (; ";")) (expression_statement "puVar15 = (undefined1 *)&stack0xffffff40;" (assignment_expression "puVar15 = (undefined1 *)&stack0xffffff40" (identifier "puVar15") (= "=") (cast_expression "(undefined1 *)&stack0xffffff40" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&stack0xffffff40" (& "&") (identifier "stack0xffffff40")))) (; ";")) (expression_statement "puVar14 = (undefined1 *)&stack0xffffff40;" (assignment_expression "puVar14 = (undefined1 *)&stack0xffffff40" (identifier "puVar14") (= "=") (cast_expression "(undefined1 *)&stack0xffffff40" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&stack0xffffff40" (& "&") (identifier "stack0xffffff40")))) (; ";")) (expression_statement "puVar10 = (undefined1 *)&stack0xffffff40;" (assignment_expression "puVar10 = (undefined1 *)&stack0xffffff40" (identifier "puVar10") (= "=") (cast_expression "(undefined1 *)&stack0xffffff40" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&stack0xffffff40" (& "&") (identifier "stack0xffffff40")))) (; ";")) (expression_statement "local_a4 = (int *)0x0;" (assignment_expression "local_a4 = (int *)0x0" (identifier "local_a4") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_b0 = (int *)PTR_optarg_00017ffc;" (assignment_expression "local_b0 = (int *)PTR_optarg_00017ffc" (identifier "local_b0") (= "=") (cast_expression "(int *)PTR_optarg_00017ffc" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_optarg_00017ffc"))) (; ";")) (expression_statement "local_a8 = 0;" (assignment_expression "local_a8 = 0" (identifier "local_a8") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_9c = (undefined **)0x0;" (assignment_expression "local_9c = (undefined **)0x0" (identifier "local_9c") (= "=") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_ac = local_b0;" (assignment_expression "local_ac = local_b0" (identifier "local_ac") (= "=") (identifier "local_b0")) (; ";")) (labeled_statement "code_r0x000115d8:\n  iVar3 = getopt_long(param_1,param_2,local_98,&PTR_s_addresses_00018160);" (statement_identifier "code_r0x000115d8") (: ":") (expression_statement "iVar3 = getopt_long(param_1,param_2,local_98,&PTR_s_addresses_00018160);" (assignment_expression "iVar3 = getopt_long(param_1,param_2,local_98,&PTR_s_addresses_00018160)" (identifier "iVar3") (= "=") (call_expression "getopt_long(param_1,param_2,local_98,&PTR_s_addresses_00018160)" (identifier "getopt_long") (argument_list "(param_1,param_2,local_98,&PTR_s_addresses_00018160)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") (, ",") (identifier "local_98") (, ",") (pointer_expression "&PTR_s_addresses_00018160" (& "&") (identifier "PTR_s_addresses_00018160")) () ")")))) (; ";"))) (if_statement "if (iVar3 == -1) {\n    ppuVar4 = (undefined **)"a.out";\n    if (local_9c != (undefined **)0x0) {\n      ppuVar4 = local_9c;\n    }\n    DAT_0001824c = param_2 + *(int *)PTR_optind_00017fdc;\n    DAT_00018250 = (int *)(param_1 - *(int *)PTR_optind_00017fdc);\n    local_9c = ppuVar4;\n    uVar19 = FUN_00012f60();\n    if ((int)(uint)((int)uVar19 != 0) <= -(int)((ulonglong)uVar19 >> 0x20)) {\n      return 1;\n    }\n    ppuVar4 = (undefined **)bfd_openr();\n    if (ppuVar4 == (undefined **)0x0) goto LAB_00011f2f;\n    ppuVar4[10] = (undefined *)((uint)ppuVar4[10] | 0x100000);\n    local_c0 = bfd_check_format();\n    if (local_c0 != 0) goto LAB_00011f73;\n    iVar3 = bfd_check_format_matches();\n    if (iVar3 == 0) {\n      FUN_000123f0();\n      iVar3 = bfd_get_error();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 == 0xd) goto LAB_00011f92;\n      do {\n        puVar15 = puVar14 + -0x10;\n        *(undefined4 *)(puVar14 + -0x10) = 1;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11f73;\n        xexit();\nLAB_00011f73:\n        *(undefined ***)(puVar15 + -4) = ppuVar4;\n        *(undefined4 *)(puVar15 + -8) = 5;\n        *(char **)(puVar15 + -0xc) = "%s: cannot get addresses from archive";\n        *(undefined4 *)(puVar15 + -0x10) = 0;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11f84;\n        uVar7 = dcgettext();\n        *(undefined ***)(puVar15 + -0xc) = local_9c;\n        *(undefined4 *)(puVar15 + -0x10) = uVar7;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11f92;\n        FUN_000126c0();\n        puVar13 = puVar15 + -0x10;\nLAB_00011f92:\n        puVar14 = puVar13;\n        *(undefined4 *)(puVar14 + -0x10) = local_88;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11f9d;\n        FUN_00012770();\n        *(undefined4 *)(puVar14 + -0x10) = local_88;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11fa6;\n        free(*(void **)(puVar14 + -0x10));\n      } while( true );\n    }\n    iVar3 = local_a8;\n    if ((local_a8 != 0) && (iVar3 = bfd_get_section_by_name(), iVar3 == 0)) goto LAB_00011f09;\n    local_a8 = iVar3;\n    if ((*(byte *)((int)ppuVar4 + 0x29) & 2) == 0) goto LAB_00011862;\n    iVar3 = (**(code **)(ppuVar4[1] + 0x104))();\n    if (iVar3 == 0) {\n      iVar3 = (**(code **)(ppuVar4[1] + 0x1a8))();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\n      DAT_00018248 = (void *)xmalloc();\n      iVar3 = (**(code **)(ppuVar4[1] + 0x1ac))();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\nLAB_00011e91:\n      if (0 < iVar3) goto LAB_00011862;\n    }\n    else {\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\n      DAT_00018248 = (void *)xmalloc();\n      iVar3 = (**(code **)(ppuVar4[1] + 0x108))();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\n      if (iVar3 != 0) goto LAB_00011e91;\n      iVar3 = (**(code **)(ppuVar4[1] + 0x1a8))();\n      if (0 < iVar3) {\n        free(DAT_00018248);\n        DAT_00018248 = (void *)xmalloc();\n        iVar3 = (**(code **)(ppuVar4[1] + 0x1ac))();\n        goto LAB_00011e91;\n      }\n    }\n    free(DAT_00018248);\n    DAT_00018248 = (void *)0x0;\nLAB_00011862:\n    local_ac = DAT_00018250;\n    local_bc = (undefined4 *)PTR_stdin_00017fec;\n    local_b0 = (int *)PTR_stdout_00017ff0;\n    local_9c = ppuVar4;\n    goto LAB_000119df;\n  }" (if "if") (parenthesized_expression "(iVar3 == -1)" (( "(") (binary_expression "iVar3 == -1" (identifier "iVar3") (== "==") (number_literal "-1")) () ")")) (compound_statement "{\n    ppuVar4 = (undefined **)"a.out";\n    if (local_9c != (undefined **)0x0) {\n      ppuVar4 = local_9c;\n    }\n    DAT_0001824c = param_2 + *(int *)PTR_optind_00017fdc;\n    DAT_00018250 = (int *)(param_1 - *(int *)PTR_optind_00017fdc);\n    local_9c = ppuVar4;\n    uVar19 = FUN_00012f60();\n    if ((int)(uint)((int)uVar19 != 0) <= -(int)((ulonglong)uVar19 >> 0x20)) {\n      return 1;\n    }\n    ppuVar4 = (undefined **)bfd_openr();\n    if (ppuVar4 == (undefined **)0x0) goto LAB_00011f2f;\n    ppuVar4[10] = (undefined *)((uint)ppuVar4[10] | 0x100000);\n    local_c0 = bfd_check_format();\n    if (local_c0 != 0) goto LAB_00011f73;\n    iVar3 = bfd_check_format_matches();\n    if (iVar3 == 0) {\n      FUN_000123f0();\n      iVar3 = bfd_get_error();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 == 0xd) goto LAB_00011f92;\n      do {\n        puVar15 = puVar14 + -0x10;\n        *(undefined4 *)(puVar14 + -0x10) = 1;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11f73;\n        xexit();\nLAB_00011f73:\n        *(undefined ***)(puVar15 + -4) = ppuVar4;\n        *(undefined4 *)(puVar15 + -8) = 5;\n        *(char **)(puVar15 + -0xc) = "%s: cannot get addresses from archive";\n        *(undefined4 *)(puVar15 + -0x10) = 0;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11f84;\n        uVar7 = dcgettext();\n        *(undefined ***)(puVar15 + -0xc) = local_9c;\n        *(undefined4 *)(puVar15 + -0x10) = uVar7;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11f92;\n        FUN_000126c0();\n        puVar13 = puVar15 + -0x10;\nLAB_00011f92:\n        puVar14 = puVar13;\n        *(undefined4 *)(puVar14 + -0x10) = local_88;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11f9d;\n        FUN_00012770();\n        *(undefined4 *)(puVar14 + -0x10) = local_88;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11fa6;\n        free(*(void **)(puVar14 + -0x10));\n      } while( true );\n    }\n    iVar3 = local_a8;\n    if ((local_a8 != 0) && (iVar3 = bfd_get_section_by_name(), iVar3 == 0)) goto LAB_00011f09;\n    local_a8 = iVar3;\n    if ((*(byte *)((int)ppuVar4 + 0x29) & 2) == 0) goto LAB_00011862;\n    iVar3 = (**(code **)(ppuVar4[1] + 0x104))();\n    if (iVar3 == 0) {\n      iVar3 = (**(code **)(ppuVar4[1] + 0x1a8))();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\n      DAT_00018248 = (void *)xmalloc();\n      iVar3 = (**(code **)(ppuVar4[1] + 0x1ac))();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\nLAB_00011e91:\n      if (0 < iVar3) goto LAB_00011862;\n    }\n    else {\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\n      DAT_00018248 = (void *)xmalloc();\n      iVar3 = (**(code **)(ppuVar4[1] + 0x108))();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\n      if (iVar3 != 0) goto LAB_00011e91;\n      iVar3 = (**(code **)(ppuVar4[1] + 0x1a8))();\n      if (0 < iVar3) {\n        free(DAT_00018248);\n        DAT_00018248 = (void *)xmalloc();\n        iVar3 = (**(code **)(ppuVar4[1] + 0x1ac))();\n        goto LAB_00011e91;\n      }\n    }\n    free(DAT_00018248);\n    DAT_00018248 = (void *)0x0;\nLAB_00011862:\n    local_ac = DAT_00018250;\n    local_bc = (undefined4 *)PTR_stdin_00017fec;\n    local_b0 = (int *)PTR_stdout_00017ff0;\n    local_9c = ppuVar4;\n    goto LAB_000119df;\n  }" ({ "{") (expression_statement "ppuVar4 = (undefined **)"a.out";" (assignment_expression "ppuVar4 = (undefined **)"a.out"" (identifier "ppuVar4") (= "=") (cast_expression "(undefined **)"a.out"" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (string_literal ""a.out"" (" """) (string_content "a.out") (" """)))) (; ";")) (if_statement "if (local_9c != (undefined **)0x0) {\n      ppuVar4 = local_9c;\n    }" (if "if") (parenthesized_expression "(local_9c != (undefined **)0x0)" (( "(") (binary_expression "local_9c != (undefined **)0x0" (identifier "local_9c") (!= "!=") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      ppuVar4 = local_9c;\n    }" ({ "{") (expression_statement "ppuVar4 = local_9c;" (assignment_expression "ppuVar4 = local_9c" (identifier "ppuVar4") (= "=") (identifier "local_9c")) (; ";")) (} "}"))) (expression_statement "DAT_0001824c = param_2 + *(int *)PTR_optind_00017fdc;" (assignment_expression "DAT_0001824c = param_2 + *(int *)PTR_optind_00017fdc" (identifier "DAT_0001824c") (= "=") (binary_expression "param_2 + *(int *)PTR_optind_00017fdc" (identifier "param_2") (+ "+") (pointer_expression "*(int *)PTR_optind_00017fdc" (* "*") (cast_expression "(int *)PTR_optind_00017fdc" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_optind_00017fdc"))))) (; ";")) (expression_statement "DAT_00018250 = (int *)(param_1 - *(int *)PTR_optind_00017fdc);" (assignment_expression "DAT_00018250 = (int *)(param_1 - *(int *)PTR_optind_00017fdc)" (identifier "DAT_00018250") (= "=") (cast_expression "(int *)(param_1 - *(int *)PTR_optind_00017fdc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 - *(int *)PTR_optind_00017fdc)" (( "(") (binary_expression "param_1 - *(int *)PTR_optind_00017fdc" (identifier "param_1") (- "-") (pointer_expression "*(int *)PTR_optind_00017fdc" (* "*") (cast_expression "(int *)PTR_optind_00017fdc" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_optind_00017fdc")))) () ")")))) (; ";")) (expression_statement "local_9c = ppuVar4;" (assignment_expression "local_9c = ppuVar4" (identifier "local_9c") (= "=") (identifier "ppuVar4")) (; ";")) (expression_statement "uVar19 = FUN_00012f60();" (assignment_expression "uVar19 = FUN_00012f60()" (identifier "uVar19") (= "=") (call_expression "FUN_00012f60()" (identifier "FUN_00012f60") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if ((int)(uint)((int)uVar19 != 0) <= -(int)((ulonglong)uVar19 >> 0x20)) {\n      return 1;\n    }" (if "if") (parenthesized_expression "((int)(uint)((int)uVar19 != 0) <= -(int)((ulonglong)uVar19 >> 0x20))" (( "(") (binary_expression "(int)(uint)((int)uVar19 != 0) <= -(int)((ulonglong)uVar19 >> 0x20)" (cast_expression "(int)(uint)((int)uVar19 != 0)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (call_expression "(uint)((int)uVar19 != 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)uVar19 != 0)" (( "(") (binary_expression "(int)uVar19 != 0" (cast_expression "(int)uVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar19")) (!= "!=") (number_literal "0")) () ")")))) (<= "<=") (unary_expression "-(int)((ulonglong)uVar19 >> 0x20)" (- "-") (cast_expression "(int)((ulonglong)uVar19 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar19 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar19 >> 0x20" (cast_expression "(ulonglong)uVar19" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar19")) (>> ">>") (number_literal "0x20")) () ")"))))) () ")")) (compound_statement "{\n      return 1;\n    }" ({ "{") (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (expression_statement "ppuVar4 = (undefined **)bfd_openr();" (assignment_expression "ppuVar4 = (undefined **)bfd_openr()" (identifier "ppuVar4") (= "=") (cast_expression "(undefined **)bfd_openr()" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (call_expression "bfd_openr()" (identifier "bfd_openr") (argument_list "()" (( "(") () ")"))))) (; ";")) (if_statement "if (ppuVar4 == (undefined **)0x0) goto LAB_00011f2f;" (if "if") (parenthesized_expression "(ppuVar4 == (undefined **)0x0)" (( "(") (binary_expression "ppuVar4 == (undefined **)0x0" (identifier "ppuVar4") (== "==") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00011f2f;" (goto "goto") (statement_identifier "LAB_00011f2f") (; ";"))) (expression_statement "ppuVar4[10] = (undefined *)((uint)ppuVar4[10] | 0x100000);" (assignment_expression "ppuVar4[10] = (undefined *)((uint)ppuVar4[10] | 0x100000)" (subscript_expression "ppuVar4[10]" (identifier "ppuVar4") ([ "[") (number_literal "10") (] "]")) (= "=") (cast_expression "(undefined *)((uint)ppuVar4[10] | 0x100000)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)ppuVar4[10] | 0x100000)" (( "(") (binary_expression "(uint)ppuVar4[10] | 0x100000" (cast_expression "(uint)ppuVar4[10]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "ppuVar4[10]" (identifier "ppuVar4") ([ "[") (number_literal "10") (] "]"))) (| "|") (number_literal "0x100000")) () ")")))) (; ";")) (expression_statement "local_c0 = bfd_check_format();" (assignment_expression "local_c0 = bfd_check_format()" (identifier "local_c0") (= "=") (call_expression "bfd_check_format()" (identifier "bfd_check_format") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (local_c0 != 0) goto LAB_00011f73;" (if "if") (parenthesized_expression "(local_c0 != 0)" (( "(") (binary_expression "local_c0 != 0" (identifier "local_c0") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00011f73;" (goto "goto") (statement_identifier "LAB_00011f73") (; ";"))) (expression_statement "iVar3 = bfd_check_format_matches();" (assignment_expression "iVar3 = bfd_check_format_matches()" (identifier "iVar3") (= "=") (call_expression "bfd_check_format_matches()" (identifier "bfd_check_format_matches") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar3 == 0) {\n      FUN_000123f0();\n      iVar3 = bfd_get_error();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 == 0xd) goto LAB_00011f92;\n      do {\n        puVar15 = puVar14 + -0x10;\n        *(undefined4 *)(puVar14 + -0x10) = 1;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11f73;\n        xexit();\nLAB_00011f73:\n        *(undefined ***)(puVar15 + -4) = ppuVar4;\n        *(undefined4 *)(puVar15 + -8) = 5;\n        *(char **)(puVar15 + -0xc) = "%s: cannot get addresses from archive";\n        *(undefined4 *)(puVar15 + -0x10) = 0;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11f84;\n        uVar7 = dcgettext();\n        *(undefined ***)(puVar15 + -0xc) = local_9c;\n        *(undefined4 *)(puVar15 + -0x10) = uVar7;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11f92;\n        FUN_000126c0();\n        puVar13 = puVar15 + -0x10;\nLAB_00011f92:\n        puVar14 = puVar13;\n        *(undefined4 *)(puVar14 + -0x10) = local_88;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11f9d;\n        FUN_00012770();\n        *(undefined4 *)(puVar14 + -0x10) = local_88;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11fa6;\n        free(*(void **)(puVar14 + -0x10));\n      } while( true );\n    }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      FUN_000123f0();\n      iVar3 = bfd_get_error();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 == 0xd) goto LAB_00011f92;\n      do {\n        puVar15 = puVar14 + -0x10;\n        *(undefined4 *)(puVar14 + -0x10) = 1;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11f73;\n        xexit();\nLAB_00011f73:\n        *(undefined ***)(puVar15 + -4) = ppuVar4;\n        *(undefined4 *)(puVar15 + -8) = 5;\n        *(char **)(puVar15 + -0xc) = "%s: cannot get addresses from archive";\n        *(undefined4 *)(puVar15 + -0x10) = 0;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11f84;\n        uVar7 = dcgettext();\n        *(undefined ***)(puVar15 + -0xc) = local_9c;\n        *(undefined4 *)(puVar15 + -0x10) = uVar7;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11f92;\n        FUN_000126c0();\n        puVar13 = puVar15 + -0x10;\nLAB_00011f92:\n        puVar14 = puVar13;\n        *(undefined4 *)(puVar14 + -0x10) = local_88;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11f9d;\n        FUN_00012770();\n        *(undefined4 *)(puVar14 + -0x10) = local_88;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11fa6;\n        free(*(void **)(puVar14 + -0x10));\n      } while( true );\n    }" ({ "{") (expression_statement "FUN_000123f0();" (call_expression "FUN_000123f0()" (identifier "FUN_000123f0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar3 = bfd_get_error();" (assignment_expression "iVar3 = bfd_get_error()" (identifier "iVar3") (= "=") (call_expression "bfd_get_error()" (identifier "bfd_get_error") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "puVar13 = (undefined1 *)&stack0xffffff40;" (assignment_expression "puVar13 = (undefined1 *)&stack0xffffff40" (identifier "puVar13") (= "=") (cast_expression "(undefined1 *)&stack0xffffff40" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&stack0xffffff40" (& "&") (identifier "stack0xffffff40")))) (; ";")) (if_statement "if (iVar3 == 0xd) goto LAB_00011f92;" (if "if") (parenthesized_expression "(iVar3 == 0xd)" (( "(") (binary_expression "iVar3 == 0xd" (identifier "iVar3") (== "==") (number_literal "0xd")) () ")")) (goto_statement "goto LAB_00011f92;" (goto "goto") (statement_identifier "LAB_00011f92") (; ";"))) (do_statement "do {\n        puVar15 = puVar14 + -0x10;\n        *(undefined4 *)(puVar14 + -0x10) = 1;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11f73;\n        xexit();\nLAB_00011f73:\n        *(undefined ***)(puVar15 + -4) = ppuVar4;\n        *(undefined4 *)(puVar15 + -8) = 5;\n        *(char **)(puVar15 + -0xc) = "%s: cannot get addresses from archive";\n        *(undefined4 *)(puVar15 + -0x10) = 0;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11f84;\n        uVar7 = dcgettext();\n        *(undefined ***)(puVar15 + -0xc) = local_9c;\n        *(undefined4 *)(puVar15 + -0x10) = uVar7;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11f92;\n        FUN_000126c0();\n        puVar13 = puVar15 + -0x10;\nLAB_00011f92:\n        puVar14 = puVar13;\n        *(undefined4 *)(puVar14 + -0x10) = local_88;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11f9d;\n        FUN_00012770();\n        *(undefined4 *)(puVar14 + -0x10) = local_88;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11fa6;\n        free(*(void **)(puVar14 + -0x10));\n      } while( true );" (do "do") (compound_statement "{\n        puVar15 = puVar14 + -0x10;\n        *(undefined4 *)(puVar14 + -0x10) = 1;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11f73;\n        xexit();\nLAB_00011f73:\n        *(undefined ***)(puVar15 + -4) = ppuVar4;\n        *(undefined4 *)(puVar15 + -8) = 5;\n        *(char **)(puVar15 + -0xc) = "%s: cannot get addresses from archive";\n        *(undefined4 *)(puVar15 + -0x10) = 0;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11f84;\n        uVar7 = dcgettext();\n        *(undefined ***)(puVar15 + -0xc) = local_9c;\n        *(undefined4 *)(puVar15 + -0x10) = uVar7;\n        *(undefined4 *)(puVar15 + -0x14) = 0x11f92;\n        FUN_000126c0();\n        puVar13 = puVar15 + -0x10;\nLAB_00011f92:\n        puVar14 = puVar13;\n        *(undefined4 *)(puVar14 + -0x10) = local_88;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11f9d;\n        FUN_00012770();\n        *(undefined4 *)(puVar14 + -0x10) = local_88;\n        *(undefined4 *)(puVar14 + -0x14) = 0x11fa6;\n        free(*(void **)(puVar14 + -0x10));\n      }" ({ "{") (expression_statement "puVar15 = puVar14 + -0x10;" (assignment_expression "puVar15 = puVar14 + -0x10" (identifier "puVar15") (= "=") (binary_expression "puVar14 + -0x10" (identifier "puVar14") (+ "+") (number_literal "-0x10"))) (; ";")) (expression_statement "*(undefined4 *)(puVar14 + -0x10) = 1;" (assignment_expression "*(undefined4 *)(puVar14 + -0x10) = 1" (pointer_expression "*(undefined4 *)(puVar14 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar14 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar14 + -0x10)" (( "(") (binary_expression "puVar14 + -0x10" (identifier "puVar14") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined4 *)(puVar14 + -0x14) = 0x11f73;" (assignment_expression "*(undefined4 *)(puVar14 + -0x14) = 0x11f73" (pointer_expression "*(undefined4 *)(puVar14 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar14 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar14 + -0x14)" (( "(") (binary_expression "puVar14 + -0x14" (identifier "puVar14") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x11f73")) (; ";")) (expression_statement "xexit();" (call_expression "xexit()" (identifier "xexit") (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "LAB_00011f73:\n        *(undefined ***)(puVar15 + -4) = ppuVar4;" (statement_identifier "LAB_00011f73") (: ":") (expression_statement "*(undefined ***)(puVar15 + -4) = ppuVar4;" (assignment_expression "*(undefined ***)(puVar15 + -4) = ppuVar4" (pointer_expression "*(undefined ***)(puVar15 + -4)" (* "*") (cast_expression "(undefined ***)(puVar15 + -4)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar15 + -4)" (( "(") (binary_expression "puVar15 + -4" (identifier "puVar15") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "ppuVar4")) (; ";"))) (expression_statement "*(undefined4 *)(puVar15 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar15 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -8)" (( "(") (binary_expression "puVar15 + -8" (identifier "puVar15") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "5")) (; ";")) (expression_statement "*(char **)(puVar15 + -0xc) = "%s: cannot get addresses from archive";" (assignment_expression "*(char **)(puVar15 + -0xc) = "%s: cannot get addresses from archive"" (pointer_expression "*(char **)(puVar15 + -0xc)" (* "*") (cast_expression "(char **)(puVar15 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (string_literal ""%s: cannot get addresses from archive"" (" """) (string_content "%s: cannot get addresses from archive") (" """))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11f84;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11f84" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x11f84")) (; ";")) (expression_statement "uVar7 = dcgettext();" (assignment_expression "uVar7 = dcgettext()" (identifier "uVar7") (= "=") (call_expression "dcgettext()" (identifier "dcgettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined ***)(puVar15 + -0xc) = local_9c;" (assignment_expression "*(undefined ***)(puVar15 + -0xc) = local_9c" (pointer_expression "*(undefined ***)(puVar15 + -0xc)" (* "*") (cast_expression "(undefined ***)(puVar15 + -0xc)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "local_9c")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = uVar7;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = uVar7" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x11f92;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x11f92" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x11f92")) (; ";")) (expression_statement "FUN_000126c0();" (call_expression "FUN_000126c0()" (identifier "FUN_000126c0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar13 = puVar15 + -0x10;" (assignment_expression "puVar13 = puVar15 + -0x10" (identifier "puVar13") (= "=") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10"))) (; ";")) (labeled_statement "LAB_00011f92:\n        puVar14 = puVar13;" (statement_identifier "LAB_00011f92") (: ":") (expression_statement "puVar14 = puVar13;" (assignment_expression "puVar14 = puVar13" (identifier "puVar14") (= "=") (identifier "puVar13")) (; ";"))) (expression_statement "*(undefined4 *)(puVar14 + -0x10) = local_88;" (assignment_expression "*(undefined4 *)(puVar14 + -0x10) = local_88" (pointer_expression "*(undefined4 *)(puVar14 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar14 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar14 + -0x10)" (( "(") (binary_expression "puVar14 + -0x10" (identifier "puVar14") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_88")) (; ";")) (expression_statement "*(undefined4 *)(puVar14 + -0x14) = 0x11f9d;" (assignment_expression "*(undefined4 *)(puVar14 + -0x14) = 0x11f9d" (pointer_expression "*(undefined4 *)(puVar14 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar14 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar14 + -0x14)" (( "(") (binary_expression "puVar14 + -0x14" (identifier "puVar14") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x11f9d")) (; ";")) (expression_statement "FUN_00012770();" (call_expression "FUN_00012770()" (identifier "FUN_00012770") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined4 *)(puVar14 + -0x10) = local_88;" (assignment_expression "*(undefined4 *)(puVar14 + -0x10) = local_88" (pointer_expression "*(undefined4 *)(puVar14 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar14 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar14 + -0x10)" (( "(") (binary_expression "puVar14 + -0x10" (identifier "puVar14") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_88")) (; ";")) (expression_statement "*(undefined4 *)(puVar14 + -0x14) = 0x11fa6;" (assignment_expression "*(undefined4 *)(puVar14 + -0x14) = 0x11fa6" (pointer_expression "*(undefined4 *)(puVar14 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar14 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar14 + -0x14)" (( "(") (binary_expression "puVar14 + -0x14" (identifier "puVar14") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x11fa6")) (; ";")) (expression_statement "free(*(void **)(puVar14 + -0x10));" (call_expression "free(*(void **)(puVar14 + -0x10))" (identifier "free") (argument_list "(*(void **)(puVar14 + -0x10))" (( "(") (pointer_expression "*(void **)(puVar14 + -0x10)" (* "*") (cast_expression "(void **)(puVar14 + -0x10)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar14 + -0x10)" (( "(") (binary_expression "puVar14 + -0x10" (identifier "puVar14") (+ "+") (number_literal "-0x10")) () ")")))) () ")"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}"))) (expression_statement "iVar3 = local_a8;" (assignment_expression "iVar3 = local_a8" (identifier "iVar3") (= "=") (identifier "local_a8")) (; ";")) (if_statement "if ((local_a8 != 0) && (iVar3 = bfd_get_section_by_name(), iVar3 == 0)) goto LAB_00011f09;" (if "if") (parenthesized_expression "((local_a8 != 0) && (iVar3 = bfd_get_section_by_name(), iVar3 == 0))" (( "(") (binary_expression "(local_a8 != 0) && (iVar3 = bfd_get_section_by_name(), iVar3 == 0)" (parenthesized_expression "(local_a8 != 0)" (( "(") (binary_expression "local_a8 != 0" (identifier "local_a8") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar3 = bfd_get_section_by_name(), iVar3 == 0)" (( "(") (comma_expression "iVar3 = bfd_get_section_by_name(), iVar3 == 0" (assignment_expression "iVar3 = bfd_get_section_by_name()" (identifier "iVar3") (= "=") (call_expression "bfd_get_section_by_name()" (identifier "bfd_get_section_by_name") (argument_list "()" (( "(") () ")")))) (, ",") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0"))) () ")"))) () ")")) (goto_statement "goto LAB_00011f09;" (goto "goto") (statement_identifier "LAB_00011f09") (; ";"))) (expression_statement "local_a8 = iVar3;" (assignment_expression "local_a8 = iVar3" (identifier "local_a8") (= "=") (identifier "iVar3")) (; ";")) (if_statement "if ((*(byte *)((int)ppuVar4 + 0x29) & 2) == 0) goto LAB_00011862;" (if "if") (parenthesized_expression "((*(byte *)((int)ppuVar4 + 0x29) & 2) == 0)" (( "(") (binary_expression "(*(byte *)((int)ppuVar4 + 0x29) & 2) == 0" (parenthesized_expression "(*(byte *)((int)ppuVar4 + 0x29) & 2)" (( "(") (binary_expression "*(byte *)((int)ppuVar4 + 0x29) & 2" (pointer_expression "*(byte *)((int)ppuVar4 + 0x29)" (* "*") (cast_expression "(byte *)((int)ppuVar4 + 0x29)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppuVar4 + 0x29)" (( "(") (binary_expression "(int)ppuVar4 + 0x29" (cast_expression "(int)ppuVar4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar4")) (+ "+") (number_literal "0x29")) () ")")))) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00011862;" (goto "goto") (statement_identifier "LAB_00011862") (; ";"))) (expression_statement "iVar3 = (**(code **)(ppuVar4[1] + 0x104))();" (assignment_expression "iVar3 = (**(code **)(ppuVar4[1] + 0x104))()" (identifier "iVar3") (= "=") (call_expression "(**(code **)(ppuVar4[1] + 0x104))()" (parenthesized_expression "(**(code **)(ppuVar4[1] + 0x104))" (( "(") (pointer_expression "**(code **)(ppuVar4[1] + 0x104)" (* "*") (pointer_expression "*(code **)(ppuVar4[1] + 0x104)" (* "*") (cast_expression "(code **)(ppuVar4[1] + 0x104)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(ppuVar4[1] + 0x104)" (( "(") (binary_expression "ppuVar4[1] + 0x104" (subscript_expression "ppuVar4[1]" (identifier "ppuVar4") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "0x104")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar3 == 0) {\n      iVar3 = (**(code **)(ppuVar4[1] + 0x1a8))();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\n      DAT_00018248 = (void *)xmalloc();\n      iVar3 = (**(code **)(ppuVar4[1] + 0x1ac))();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\nLAB_00011e91:\n      if (0 < iVar3) goto LAB_00011862;\n    }\n    else {\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\n      DAT_00018248 = (void *)xmalloc();\n      iVar3 = (**(code **)(ppuVar4[1] + 0x108))();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\n      if (iVar3 != 0) goto LAB_00011e91;\n      iVar3 = (**(code **)(ppuVar4[1] + 0x1a8))();\n      if (0 < iVar3) {\n        free(DAT_00018248);\n        DAT_00018248 = (void *)xmalloc();\n        iVar3 = (**(code **)(ppuVar4[1] + 0x1ac))();\n        goto LAB_00011e91;\n      }\n    }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      iVar3 = (**(code **)(ppuVar4[1] + 0x1a8))();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\n      DAT_00018248 = (void *)xmalloc();\n      iVar3 = (**(code **)(ppuVar4[1] + 0x1ac))();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\nLAB_00011e91:\n      if (0 < iVar3) goto LAB_00011862;\n    }" ({ "{") (expression_statement "iVar3 = (**(code **)(ppuVar4[1] + 0x1a8))();" (assignment_expression "iVar3 = (**(code **)(ppuVar4[1] + 0x1a8))()" (identifier "iVar3") (= "=") (call_expression "(**(code **)(ppuVar4[1] + 0x1a8))()" (parenthesized_expression "(**(code **)(ppuVar4[1] + 0x1a8))" (( "(") (pointer_expression "**(code **)(ppuVar4[1] + 0x1a8)" (* "*") (pointer_expression "*(code **)(ppuVar4[1] + 0x1a8)" (* "*") (cast_expression "(code **)(ppuVar4[1] + 0x1a8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(ppuVar4[1] + 0x1a8)" (( "(") (binary_expression "ppuVar4[1] + 0x1a8" (subscript_expression "ppuVar4[1]" (identifier "ppuVar4") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "0x1a8")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "puVar13 = (undefined1 *)&stack0xffffff40;" (assignment_expression "puVar13 = (undefined1 *)&stack0xffffff40" (identifier "puVar13") (= "=") (cast_expression "(undefined1 *)&stack0xffffff40" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&stack0xffffff40" (& "&") (identifier "stack0xffffff40")))) (; ";")) (if_statement "if (iVar3 < 0) goto LAB_00011f3d;" (if "if") (parenthesized_expression "(iVar3 < 0)" (( "(") (binary_expression "iVar3 < 0" (identifier "iVar3") (< "<") (number_literal "0")) () ")")) (goto_statement "goto LAB_00011f3d;" (goto "goto") (statement_identifier "LAB_00011f3d") (; ";"))) (expression_statement "DAT_00018248 = (void *)xmalloc();" (assignment_expression "DAT_00018248 = (void *)xmalloc()" (identifier "DAT_00018248") (= "=") (cast_expression "(void *)xmalloc()" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "xmalloc()" (identifier "xmalloc") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "iVar3 = (**(code **)(ppuVar4[1] + 0x1ac))();" (assignment_expression "iVar3 = (**(code **)(ppuVar4[1] + 0x1ac))()" (identifier "iVar3") (= "=") (call_expression "(**(code **)(ppuVar4[1] + 0x1ac))()" (parenthesized_expression "(**(code **)(ppuVar4[1] + 0x1ac))" (( "(") (pointer_expression "**(code **)(ppuVar4[1] + 0x1ac)" (* "*") (pointer_expression "*(code **)(ppuVar4[1] + 0x1ac)" (* "*") (cast_expression "(code **)(ppuVar4[1] + 0x1ac)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(ppuVar4[1] + 0x1ac)" (( "(") (binary_expression "ppuVar4[1] + 0x1ac" (subscript_expression "ppuVar4[1]" (identifier "ppuVar4") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "0x1ac")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "puVar13 = (undefined1 *)&stack0xffffff40;" (assignment_expression "puVar13 = (undefined1 *)&stack0xffffff40" (identifier "puVar13") (= "=") (cast_expression "(undefined1 *)&stack0xffffff40" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&stack0xffffff40" (& "&") (identifier "stack0xffffff40")))) (; ";")) (if_statement "if (iVar3 < 0) goto LAB_00011f3d;" (if "if") (parenthesized_expression "(iVar3 < 0)" (( "(") (binary_expression "iVar3 < 0" (identifier "iVar3") (< "<") (number_literal "0")) () ")")) (goto_statement "goto LAB_00011f3d;" (goto "goto") (statement_identifier "LAB_00011f3d") (; ";"))) (labeled_statement "LAB_00011e91:\n      if (0 < iVar3) goto LAB_00011862;" (statement_identifier "LAB_00011e91") (: ":") (if_statement "if (0 < iVar3) goto LAB_00011862;" (if "if") (parenthesized_expression "(0 < iVar3)" (( "(") (binary_expression "0 < iVar3" (number_literal "0") (< "<") (identifier "iVar3")) () ")")) (goto_statement "goto LAB_00011862;" (goto "goto") (statement_identifier "LAB_00011862") (; ";")))) (} "}")) (else_clause "else {\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\n      DAT_00018248 = (void *)xmalloc();\n      iVar3 = (**(code **)(ppuVar4[1] + 0x108))();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\n      if (iVar3 != 0) goto LAB_00011e91;\n      iVar3 = (**(code **)(ppuVar4[1] + 0x1a8))();\n      if (0 < iVar3) {\n        free(DAT_00018248);\n        DAT_00018248 = (void *)xmalloc();\n        iVar3 = (**(code **)(ppuVar4[1] + 0x1ac))();\n        goto LAB_00011e91;\n      }\n    }" (else "else") (compound_statement "{\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\n      DAT_00018248 = (void *)xmalloc();\n      iVar3 = (**(code **)(ppuVar4[1] + 0x108))();\n      puVar13 = (undefined1 *)&stack0xffffff40;\n      if (iVar3 < 0) goto LAB_00011f3d;\n      if (iVar3 != 0) goto LAB_00011e91;\n      iVar3 = (**(code **)(ppuVar4[1] + 0x1a8))();\n      if (0 < iVar3) {\n        free(DAT_00018248);\n        DAT_00018248 = (void *)xmalloc();\n        iVar3 = (**(code **)(ppuVar4[1] + 0x1ac))();\n        goto LAB_00011e91;\n      }\n    }" ({ "{") (expression_statement "puVar13 = (undefined1 *)&stack0xffffff40;" (assignment_expression "puVar13 = (undefined1 *)&stack0xffffff40" (identifier "puVar13") (= "=") (cast_expression "(undefined1 *)&stack0xffffff40" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&stack0xffffff40" (& "&") (identifier "stack0xffffff40")))) (; ";")) (if_statement "if (iVar3 < 0) goto LAB_00011f3d;" (if "if") (parenthesized_expression "(iVar3 < 0)" (( "(") (binary_expression "iVar3 < 0" (identifier "iVar3") (< "<") (number_literal "0")) () ")")) (goto_statement "goto LAB_00011f3d;" (goto "goto") (statement_identifier "LAB_00011f3d") (; ";"))) (expression_statement "DAT_00018248 = (void *)xmalloc();" (assignment_expression "DAT_00018248 = (void *)xmalloc()" (identifier "DAT_00018248") (= "=") (cast_expression "(void *)xmalloc()" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "xmalloc()" (identifier "xmalloc") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "iVar3 = (**(code **)(ppuVar4[1] + 0x108))();" (assignment_expression "iVar3 = (**(code **)(ppuVar4[1] + 0x108))()" (identifier "iVar3") (= "=") (call_expression "(**(code **)(ppuVar4[1] + 0x108))()" (parenthesized_expression "(**(code **)(ppuVar4[1] + 0x108))" (( "(") (pointer_expression "**(code **)(ppuVar4[1] + 0x108)" (* "*") (pointer_expression "*(code **)(ppuVar4[1] + 0x108)" (* "*") (cast_expression "(code **)(ppuVar4[1] + 0x108)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(ppuVar4[1] + 0x108)" (( "(") (binary_expression "ppuVar4[1] + 0x108" (subscript_expression "ppuVar4[1]" (identifier "ppuVar4") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "0x108")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "puVar13 = (undefined1 *)&stack0xffffff40;" (assignment_expression "puVar13 = (undefined1 *)&stack0xffffff40" (identifier "puVar13") (= "=") (cast_expression "(undefined1 *)&stack0xffffff40" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&stack0xffffff40" (& "&") (identifier "stack0xffffff40")))) (; ";")) (if_statement "if (iVar3 < 0) goto LAB_00011f3d;" (if "if") (parenthesized_expression "(iVar3 < 0)" (( "(") (binary_expression "iVar3 < 0" (identifier "iVar3") (< "<") (number_literal "0")) () ")")) (goto_statement "goto LAB_00011f3d;" (goto "goto") (statement_identifier "LAB_00011f3d") (; ";"))) (if_statement "if (iVar3 != 0) goto LAB_00011e91;" (if "if") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00011e91;" (goto "goto") (statement_identifier "LAB_00011e91") (; ";"))) (expression_statement "iVar3 = (**(code **)(ppuVar4[1] + 0x1a8))();" (assignment_expression "iVar3 = (**(code **)(ppuVar4[1] + 0x1a8))()" (identifier "iVar3") (= "=") (call_expression "(**(code **)(ppuVar4[1] + 0x1a8))()" (parenthesized_expression "(**(code **)(ppuVar4[1] + 0x1a8))" (( "(") (pointer_expression "**(code **)(ppuVar4[1] + 0x1a8)" (* "*") (pointer_expression "*(code **)(ppuVar4[1] + 0x1a8)" (* "*") (cast_expression "(code **)(ppuVar4[1] + 0x1a8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(ppuVar4[1] + 0x1a8)" (( "(") (binary_expression "ppuVar4[1] + 0x1a8" (subscript_expression "ppuVar4[1]" (identifier "ppuVar4") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "0x1a8")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (0 < iVar3) {\n        free(DAT_00018248);\n        DAT_00018248 = (void *)xmalloc();\n        iVar3 = (**(code **)(ppuVar4[1] + 0x1ac))();\n        goto LAB_00011e91;\n      }" (if "if") (parenthesized_expression "(0 < iVar3)" (( "(") (binary_expression "0 < iVar3" (number_literal "0") (< "<") (identifier "iVar3")) () ")")) (compound_statement "{\n        free(DAT_00018248);\n        DAT_00018248 = (void *)xmalloc();\n        iVar3 = (**(code **)(ppuVar4[1] + 0x1ac))();\n        goto LAB_00011e91;\n      }" ({ "{") (expression_statement "free(DAT_00018248);" (call_expression "free(DAT_00018248)" (identifier "free") (argument_list "(DAT_00018248)" (( "(") (identifier "DAT_00018248") () ")"))) (; ";")) (expression_statement "DAT_00018248 = (void *)xmalloc();" (assignment_expression "DAT_00018248 = (void *)xmalloc()" (identifier "DAT_00018248") (= "=") (cast_expression "(void *)xmalloc()" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "xmalloc()" (identifier "xmalloc") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "iVar3 = (**(code **)(ppuVar4[1] + 0x1ac))();" (assignment_expression "iVar3 = (**(code **)(ppuVar4[1] + 0x1ac))()" (identifier "iVar3") (= "=") (call_expression "(**(code **)(ppuVar4[1] + 0x1ac))()" (parenthesized_expression "(**(code **)(ppuVar4[1] + 0x1ac))" (( "(") (pointer_expression "**(code **)(ppuVar4[1] + 0x1ac)" (* "*") (pointer_expression "*(code **)(ppuVar4[1] + 0x1ac)" (* "*") (cast_expression "(code **)(ppuVar4[1] + 0x1ac)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(ppuVar4[1] + 0x1ac)" (( "(") (binary_expression "ppuVar4[1] + 0x1ac" (subscript_expression "ppuVar4[1]" (identifier "ppuVar4") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "0x1ac")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (goto_statement "goto LAB_00011e91;" (goto "goto") (statement_identifier "LAB_00011e91") (; ";")) (} "}"))) (} "}")))) (expression_statement "free(DAT_00018248);" (call_expression "free(DAT_00018248)" (identifier "free") (argument_list "(DAT_00018248)" (( "(") (identifier "DAT_00018248") () ")"))) (; ";")) (expression_statement "DAT_00018248 = (void *)0x0;" (assignment_expression "DAT_00018248 = (void *)0x0" (identifier "DAT_00018248") (= "=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (labeled_statement "LAB_00011862:\n    local_ac = DAT_00018250;" (statement_identifier "LAB_00011862") (: ":") (expression_statement "local_ac = DAT_00018250;" (assignment_expression "local_ac = DAT_00018250" (identifier "local_ac") (= "=") (identifier "DAT_00018250")) (; ";"))) (expression_statement "local_bc = (undefined4 *)PTR_stdin_00017fec;" (assignment_expression "local_bc = (undefined4 *)PTR_stdin_00017fec" (identifier "local_bc") (= "=") (cast_expression "(undefined4 *)PTR_stdin_00017fec" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_stdin_00017fec"))) (; ";")) (expression_statement "local_b0 = (int *)PTR_stdout_00017ff0;" (assignment_expression "local_b0 = (int *)PTR_stdout_00017ff0" (identifier "local_b0") (= "=") (cast_expression "(int *)PTR_stdout_00017ff0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_stdout_00017ff0"))) (; ";")) (expression_statement "local_9c = ppuVar4;" (assignment_expression "local_9c = ppuVar4" (identifier "local_9c") (= "=") (identifier "ppuVar4")) (; ";")) (goto_statement "goto LAB_000119df;" (goto "goto") (statement_identifier "LAB_000119df") (; ";")) (} "}"))) (switch_statement "switch(iVar3) {\n  case 0:\n    goto code_r0x000115d8;\n  default:\n    break;\n  case 0x43:\n    DAT_0001825c = 1;\n    local_a0 = PTR_optarg_00017ffc;\n    if (*(int *)PTR_optarg_00017ffc != 0) {\n      iVar3 = func_0x00011040();\n      uVar19 = CONCAT44(local_a0,iVar3);\n      if (iVar3 == 0) goto code_r0x00011eed;\n      func_0x000110d0();\n    }\n    goto code_r0x000115d8;\n  case 0x48:\n  case 0x68:\n    FUN_00012130();\n    break;\n  case 0x56:\n  case 0x76:\n    FUN_00013310();\n    goto code_r0x000115d8;\n  case 0x61:\n    DAT_00018264 = 1;\n    goto code_r0x000115d8;\n  case 0x62:\n    local_a4 = *(int **)PTR_optarg_00017ffc;\n    goto code_r0x000115d8;\n  case 0x65:\n    local_9c = (undefined **)*local_b0;\n    goto code_r0x000115d8;\n  case 0x66:\n    DAT_00018260 = 1;\n    goto code_r0x000115d8;\n  case 0x69:\n    DAT_00018268 = 1;\n    goto code_r0x000115d8;\n  case 0x6a:\n    local_a8 = *local_ac;\n    goto code_r0x000115d8;\n  case 0x70:\n    DAT_00018258 = 1;\n    goto code_r0x000115d8;\n  case 0x73:\n    DAT_00018254 = 1;\n    goto code_r0x000115d8;\n  }" (switch "switch") (parenthesized_expression "(iVar3)" (( "(") (identifier "iVar3") () ")")) (compound_statement "{\n  case 0:\n    goto code_r0x000115d8;\n  default:\n    break;\n  case 0x43:\n    DAT_0001825c = 1;\n    local_a0 = PTR_optarg_00017ffc;\n    if (*(int *)PTR_optarg_00017ffc != 0) {\n      iVar3 = func_0x00011040();\n      uVar19 = CONCAT44(local_a0,iVar3);\n      if (iVar3 == 0) goto code_r0x00011eed;\n      func_0x000110d0();\n    }\n    goto code_r0x000115d8;\n  case 0x48:\n  case 0x68:\n    FUN_00012130();\n    break;\n  case 0x56:\n  case 0x76:\n    FUN_00013310();\n    goto code_r0x000115d8;\n  case 0x61:\n    DAT_00018264 = 1;\n    goto code_r0x000115d8;\n  case 0x62:\n    local_a4 = *(int **)PTR_optarg_00017ffc;\n    goto code_r0x000115d8;\n  case 0x65:\n    local_9c = (undefined **)*local_b0;\n    goto code_r0x000115d8;\n  case 0x66:\n    DAT_00018260 = 1;\n    goto code_r0x000115d8;\n  case 0x69:\n    DAT_00018268 = 1;\n    goto code_r0x000115d8;\n  case 0x6a:\n    local_a8 = *local_ac;\n    goto code_r0x000115d8;\n  case 0x70:\n    DAT_00018258 = 1;\n    goto code_r0x000115d8;\n  case 0x73:\n    DAT_00018254 = 1;\n    goto code_r0x000115d8;\n  }" ({ "{") (case_statement "case 0:\n    goto code_r0x000115d8;" (case "case") (number_literal "0") (: ":") (goto_statement "goto code_r0x000115d8;" (goto "goto") (statement_identifier "code_r0x000115d8") (; ";"))) (case_statement "default:\n    break;" (default "default") (: ":") (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x43:\n    DAT_0001825c = 1;\n    local_a0 = PTR_optarg_00017ffc;\n    if (*(int *)PTR_optarg_00017ffc != 0) {\n      iVar3 = func_0x00011040();\n      uVar19 = CONCAT44(local_a0,iVar3);\n      if (iVar3 == 0) goto code_r0x00011eed;\n      func_0x000110d0();\n    }\n    goto code_r0x000115d8;" (case "case") (number_literal "0x43") (: ":") (expression_statement "DAT_0001825c = 1;" (assignment_expression "DAT_0001825c = 1" (identifier "DAT_0001825c") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_a0 = PTR_optarg_00017ffc;" (assignment_expression "local_a0 = PTR_optarg_00017ffc" (identifier "local_a0") (= "=") (identifier "PTR_optarg_00017ffc")) (; ";")) (if_statement "if (*(int *)PTR_optarg_00017ffc != 0) {\n      iVar3 = func_0x00011040();\n      uVar19 = CONCAT44(local_a0,iVar3);\n      if (iVar3 == 0) goto code_r0x00011eed;\n      func_0x000110d0();\n    }" (if "if") (parenthesized_expression "(*(int *)PTR_optarg_00017ffc != 0)" (( "(") (binary_expression "*(int *)PTR_optarg_00017ffc != 0" (pointer_expression "*(int *)PTR_optarg_00017ffc" (* "*") (cast_expression "(int *)PTR_optarg_00017ffc" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_optarg_00017ffc"))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      iVar3 = func_0x00011040();\n      uVar19 = CONCAT44(local_a0,iVar3);\n      if (iVar3 == 0) goto code_r0x00011eed;\n      func_0x000110d0();\n    }" ({ "{") (expression_statement "iVar3 = func_0x00011040();" (assignment_expression "iVar3 = func_0x00011040()" (identifier "iVar3") (= "=") (call_expression "func_0x00011040()" (identifier "func_0x00011040") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar19 = CONCAT44(local_a0,iVar3);" (assignment_expression "uVar19 = CONCAT44(local_a0,iVar3)" (identifier "uVar19") (= "=") (call_expression "CONCAT44(local_a0,iVar3)" (identifier "CONCAT44") (argument_list "(local_a0,iVar3)" (( "(") (identifier "local_a0") (, ",") (identifier "iVar3") () ")")))) (; ";")) (if_statement "if (iVar3 == 0) goto code_r0x00011eed;" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (goto_statement "goto code_r0x00011eed;" (goto "goto") (statement_identifier "code_r0x00011eed") (; ";"))) (expression_statement "func_0x000110d0();" (call_expression "func_0x000110d0()" (identifier "func_0x000110d0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (goto_statement "goto code_r0x000115d8;" (goto "goto") (statement_identifier "code_r0x000115d8") (; ";"))) (case_statement "case 0x48:" (case "case") (number_literal "0x48") (: ":")) (case_statement "case 0x68:\n    FUN_00012130();\n    break;" (case "case") (number_literal "0x68") (: ":") (expression_statement "FUN_00012130();" (call_expression "FUN_00012130()" (identifier "FUN_00012130") (argument_list "()" (( "(") () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x56:" (case "case") (number_literal "0x56") (: ":")) (case_statement "case 0x76:\n    FUN_00013310();\n    goto code_r0x000115d8;" (case "case") (number_literal "0x76") (: ":") (expression_statement "FUN_00013310();" (call_expression "FUN_00013310()" (identifier "FUN_00013310") (argument_list "()" (( "(") () ")"))) (; ";")) (goto_statement "goto code_r0x000115d8;" (goto "goto") (statement_identifier "code_r0x000115d8") (; ";"))) (case_statement "case 0x61:\n    DAT_00018264 = 1;\n    goto code_r0x000115d8;" (case "case") (number_literal "0x61") (: ":") (expression_statement "DAT_00018264 = 1;" (assignment_expression "DAT_00018264 = 1" (identifier "DAT_00018264") (= "=") (number_literal "1")) (; ";")) (goto_statement "goto code_r0x000115d8;" (goto "goto") (statement_identifier "code_r0x000115d8") (; ";"))) (case_statement "case 0x62:\n    local_a4 = *(int **)PTR_optarg_00017ffc;\n    goto code_r0x000115d8;" (case "case") (number_literal "0x62") (: ":") (expression_statement "local_a4 = *(int **)PTR_optarg_00017ffc;" (assignment_expression "local_a4 = *(int **)PTR_optarg_00017ffc" (identifier "local_a4") (= "=") (pointer_expression "*(int **)PTR_optarg_00017ffc" (* "*") (cast_expression "(int **)PTR_optarg_00017ffc" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_optarg_00017ffc")))) (; ";")) (goto_statement "goto code_r0x000115d8;" (goto "goto") (statement_identifier "code_r0x000115d8") (; ";"))) (case_statement "case 0x65:\n    local_9c = (undefined **)*local_b0;\n    goto code_r0x000115d8;" (case "case") (number_literal "0x65") (: ":") (expression_statement "local_9c = (undefined **)*local_b0;" (assignment_expression "local_9c = (undefined **)*local_b0" (identifier "local_9c") (= "=") (cast_expression "(undefined **)*local_b0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "*local_b0" (* "*") (identifier "local_b0")))) (; ";")) (goto_statement "goto code_r0x000115d8;" (goto "goto") (statement_identifier "code_r0x000115d8") (; ";"))) (case_statement "case 0x66:\n    DAT_00018260 = 1;\n    goto code_r0x000115d8;" (case "case") (number_literal "0x66") (: ":") (expression_statement "DAT_00018260 = 1;" (assignment_expression "DAT_00018260 = 1" (identifier "DAT_00018260") (= "=") (number_literal "1")) (; ";")) (goto_statement "goto code_r0x000115d8;" (goto "goto") (statement_identifier "code_r0x000115d8") (; ";"))) (case_statement "case 0x69:\n    DAT_00018268 = 1;\n    goto code_r0x000115d8;" (case "case") (number_literal "0x69") (: ":") (expression_statement "DAT_00018268 = 1;" (assignment_expression "DAT_00018268 = 1" (identifier "DAT_00018268") (= "=") (number_literal "1")) (; ";")) (goto_statement "goto code_r0x000115d8;" (goto "goto") (statement_identifier "code_r0x000115d8") (; ";"))) (case_statement "case 0x6a:\n    local_a8 = *local_ac;\n    goto code_r0x000115d8;" (case "case") (number_literal "0x6a") (: ":") (expression_statement "local_a8 = *local_ac;" (assignment_expression "local_a8 = *local_ac" (identifier "local_a8") (= "=") (pointer_expression "*local_ac" (* "*") (identifier "local_ac"))) (; ";")) (goto_statement "goto code_r0x000115d8;" (goto "goto") (statement_identifier "code_r0x000115d8") (; ";"))) (case_statement "case 0x70:\n    DAT_00018258 = 1;\n    goto code_r0x000115d8;" (case "case") (number_literal "0x70") (: ":") (expression_statement "DAT_00018258 = 1;" (assignment_expression "DAT_00018258 = 1" (identifier "DAT_00018258") (= "=") (number_literal "1")) (; ";")) (goto_statement "goto code_r0x000115d8;" (goto "goto") (statement_identifier "code_r0x000115d8") (; ";"))) (case_statement "case 0x73:\n    DAT_00018254 = 1;\n    goto code_r0x000115d8;" (case "case") (number_literal "0x73") (: ":") (expression_statement "DAT_00018254 = 1;" (assignment_expression "DAT_00018254 = 1" (identifier "DAT_00018254") (= "=") (number_literal "1")) (; ";")) (goto_statement "goto code_r0x000115d8;" (goto "goto") (statement_identifier "code_r0x000115d8") (; ";"))) (} "}"))) (expression_statement "uVar19 = FUN_00012130();" (assignment_expression "uVar19 = FUN_00012130()" (identifier "uVar19") (= "=") (call_expression "FUN_00012130()" (identifier "FUN_00012130") (argument_list "()" (( "(") () ")")))) (; ";")) (labeled_statement "code_r0x00011eed:\n  puVar17 = (undefined4 *)*(int *)((ulonglong)uVar19 >> 0x20);" (statement_identifier "code_r0x00011eed") (: ":") (expression_statement "puVar17 = (undefined4 *)*(int *)((ulonglong)uVar19 >> 0x20);" (assignment_expression "puVar17 = (undefined4 *)*(int *)((ulonglong)uVar19 >> 0x20)" (identifier "puVar17") (= "=") (cast_expression "(undefined4 *)*(int *)((ulonglong)uVar19 >> 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*(int *)((ulonglong)uVar19 >> 0x20)" (* "*") (cast_expression "(int *)((ulonglong)uVar19 >> 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((ulonglong)uVar19 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar19 >> 0x20" (cast_expression "(ulonglong)uVar19" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar19")) (>> ">>") (number_literal "0x20")) () ")")))))) (; ";"))) (expression_statement "dcgettext();" (call_expression "dcgettext()" (identifier "dcgettext") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar11 = &stack0xffffff30;" (assignment_expression "puVar11 = &stack0xffffff30" (identifier "puVar11") (= "=") (pointer_expression "&stack0xffffff30" (& "&") (identifier "stack0xffffff30"))) (; ";")) (expression_statement "FUN_000126c0();" (call_expression "FUN_000126c0()" (identifier "FUN_000126c0") (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "LAB_00011f09:\n  *(undefined4 **)(puVar11 + -4) = puVar17;" (statement_identifier "LAB_00011f09") (: ":") (expression_statement "*(undefined4 **)(puVar11 + -4) = puVar17;" (assignment_expression "*(undefined4 **)(puVar11 + -4) = puVar17" (pointer_expression "*(undefined4 **)(puVar11 + -4)" (* "*") (cast_expression "(undefined4 **)(puVar11 + -4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + -4)" (( "(") (binary_expression "puVar11 + -4" (identifier "puVar11") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "puVar17")) (; ";"))) (expression_statement "*(undefined4 *)(puVar11 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar11 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar11 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar11 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + -8)" (( "(") (binary_expression "puVar11 + -8" (identifier "puVar11") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "5")) (; ";")) (expression_statement "*(char **)(puVar11 + -0xc) = "%s: cannot find section %s";" (assignment_expression "*(char **)(puVar11 + -0xc) = "%s: cannot find section %s"" (pointer_expression "*(char **)(puVar11 + -0xc)" (* "*") (cast_expression "(char **)(puVar11 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + -0xc)" (( "(") (binary_expression "puVar11 + -0xc" (identifier "puVar11") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (string_literal ""%s: cannot find section %s"" (" """) (string_content "%s: cannot find section %s") (" """))) (; ";")) (expression_statement "*(undefined4 *)(puVar11 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar11 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar11 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar11 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + -0x10)" (( "(") (binary_expression "puVar11 + -0x10" (identifier "puVar11") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar11 + -0x14) = 0x11f1a;" (assignment_expression "*(undefined4 *)(puVar11 + -0x14) = 0x11f1a" (pointer_expression "*(undefined4 *)(puVar11 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar11 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + -0x14)" (( "(") (binary_expression "puVar11 + -0x14" (identifier "puVar11") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x11f1a")) (; ";")) (expression_statement "uVar7 = dcgettext();" (assignment_expression "uVar7 = dcgettext()" (identifier "uVar7") (= "=") (call_expression "dcgettext()" (identifier "dcgettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(int *)(puVar11 + -8) = local_a8;" (assignment_expression "*(int *)(puVar11 + -8) = local_a8" (pointer_expression "*(int *)(puVar11 + -8)" (* "*") (cast_expression "(int *)(puVar11 + -8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + -8)" (( "(") (binary_expression "puVar11 + -8" (identifier "puVar11") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "local_a8")) (; ";")) (expression_statement "*(undefined ***)(puVar11 + -0xc) = local_9c;" (assignment_expression "*(undefined ***)(puVar11 + -0xc) = local_9c" (pointer_expression "*(undefined ***)(puVar11 + -0xc)" (* "*") (cast_expression "(undefined ***)(puVar11 + -0xc)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar11 + -0xc)" (( "(") (binary_expression "puVar11 + -0xc" (identifier "puVar11") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "local_9c")) (; ";")) (expression_statement "puVar12 = puVar11 + -0x10;" (assignment_expression "puVar12 = puVar11 + -0x10" (identifier "puVar12") (= "=") (binary_expression "puVar11 + -0x10" (identifier "puVar11") (+ "+") (number_literal "-0x10"))) (; ";")) (expression_statement "*(undefined4 *)(puVar11 + -0x10) = uVar7;" (assignment_expression "*(undefined4 *)(puVar11 + -0x10) = uVar7" (pointer_expression "*(undefined4 *)(puVar11 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar11 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + -0x10)" (( "(") (binary_expression "puVar11 + -0x10" (identifier "puVar11") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "*(undefined4 *)(puVar11 + -0x14) = 0x11f2f;" (assignment_expression "*(undefined4 *)(puVar11 + -0x14) = 0x11f2f" (pointer_expression "*(undefined4 *)(puVar11 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar11 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + -0x14)" (( "(") (binary_expression "puVar11 + -0x14" (identifier "puVar11") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x11f2f")) (; ";")) (expression_statement "FUN_000126c0();" (call_expression "FUN_000126c0()" (identifier "FUN_000126c0") (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "LAB_00011f2f:\n  *(undefined ***)(puVar12 + -0x10) = local_9c;" (statement_identifier "LAB_00011f2f") (: ":") (expression_statement "*(undefined ***)(puVar12 + -0x10) = local_9c;" (assignment_expression "*(undefined ***)(puVar12 + -0x10) = local_9c" (pointer_expression "*(undefined ***)(puVar12 + -0x10)" (* "*") (cast_expression "(undefined ***)(puVar12 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar12 + -0x10)" (( "(") (binary_expression "puVar12 + -0x10" (identifier "puVar12") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_9c")) (; ";"))) (expression_statement "*(undefined4 *)(puVar12 + -0x14) = 0x11f3d;" (assignment_expression "*(undefined4 *)(puVar12 + -0x14) = 0x11f3d" (pointer_expression "*(undefined4 *)(puVar12 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar12 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar12 + -0x14)" (( "(") (binary_expression "puVar12 + -0x14" (identifier "puVar12") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x11f3d")) (; ";")) (expression_statement "FUN_00012630();" (call_expression "FUN_00012630()" (identifier "FUN_00012630") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar13 = puVar12 + -0x10;" (assignment_expression "puVar13 = puVar12 + -0x10" (identifier "puVar13") (= "=") (binary_expression "puVar12 + -0x10" (identifier "puVar12") (+ "+") (number_literal "-0x10"))) (; ";")) (labeled_statement "LAB_00011f3d:\n  puVar10 = puVar13 + -0x10;" (statement_identifier "LAB_00011f3d") (: ":") (expression_statement "puVar10 = puVar13 + -0x10;" (assignment_expression "puVar10 = puVar13 + -0x10" (identifier "puVar10") (= "=") (binary_expression "puVar13 + -0x10" (identifier "puVar13") (+ "+") (number_literal "-0x10"))) (; ";"))) (expression_statement "*(undefined **)(puVar13 + -0x10) = *ppuVar4;" (assignment_expression "*(undefined **)(puVar13 + -0x10) = *ppuVar4" (pointer_expression "*(undefined **)(puVar13 + -0x10)" (* "*") (cast_expression "(undefined **)(puVar13 + -0x10)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar13 + -0x10)" (( "(") (binary_expression "puVar13 + -0x10" (identifier "puVar13") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*ppuVar4" (* "*") (identifier "ppuVar4"))) (; ";")) (expression_statement "*(undefined4 *)(puVar13 + -0x14) = 0x11f47;" (assignment_expression "*(undefined4 *)(puVar13 + -0x14) = 0x11f47" (pointer_expression "*(undefined4 *)(puVar13 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar13 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar13 + -0x14)" (( "(") (binary_expression "puVar13 + -0x14" (identifier "puVar13") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x11f47")) (; ";")) (expression_statement "FUN_00012630();" (call_expression "FUN_00012630()" (identifier "FUN_00012630") (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "LAB_000119cc:\n  do {\n    local_9c = ppuVar4;\n    *(int *)(puVar10 + -0x10) = *local_a4;\n    *(undefined4 *)(puVar10 + -0x14) = 0x119dc;\n    fflush(*(FILE **)(puVar10 + -0x10));\nLAB_000119df:\n    if (local_ac == (int *)0x0) {\n      *(undefined4 *)(puVar10 + -8) = *local_bc;\n      *(undefined4 *)(puVar10 + -0xc) = 100;\n      *(undefined1 **)(puVar10 + -0x10) = local_84;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11a03;\n      pcVar5 = fgets(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc),*(FILE **)(puVar10 + -8));\n      if (pcVar5 == (char *)0x0) {\nLAB_00011e02:\n        ppuVar4 = local_9c;\n        if (DAT_00018248 != (void *)0x0) {\n          *(void **)(puVar10 + -0x10) = DAT_00018248;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11e1b;\n          free(*(void **)(puVar10 + -0x10));\n          DAT_00018248 = (void *)0x0;\n        }\n        *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11e31;\n        bfd_close();\n        return local_c0;\n      }\n      *(undefined4 *)(puVar10 + -8) = 0x10;\n      *(undefined4 *)(puVar10 + -0xc) = 0;\n      *(undefined1 **)(puVar10 + -0x10) = local_84;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11a1b;\n      uVar19 = bfd_scan_vma();\n      puVar2 = local_9c[1];\n      iVar3 = *(int *)(puVar2 + 4);\n    }\n    else {\n      if ((int)DAT_00018250 < 1) goto LAB_00011e02;\n      DAT_00018250 = (int *)((int)DAT_00018250 + -1);\n      *(undefined4 *)(puVar10 + -8) = 0x10;\n      *(undefined4 *)(puVar10 + -0xc) = 0;\n      *(undefined4 *)(puVar10 + -0x10) = *DAT_0001824c;\n      *(undefined4 *)(puVar10 + -0x14) = 0x118cc;\n      DAT_0001824c = DAT_0001824c + 1;\n      uVar19 = bfd_scan_vma();\n      puVar2 = local_9c[1];\n      iVar3 = *(int *)(puVar2 + 4);\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    if (iVar3 == 5) {\n      bVar8 = *(char *)(*(int *)(*(int *)(puVar2 + 0x1c0) + 0x19c) + 10) - 1;\n      pcVar5 = (char *)(1 << (bVar8 & 0x1f));\n      local_98 = pcVar5;\n      local_94 = (char *)(0 << (bVar8 & 0x1f) | 1U >> 0x20 - (bVar8 & 0x1f));\n      if ((bVar8 & 0x20) != 0) {\n        local_98 = (char *)0x0;\n        local_94 = pcVar5;\n      }\n      uVar9 = DAT_00018240 & (int)local_98 * 2 - 1U;\n      uVar18 = DAT_00018244 &\n               (((int)local_94 << 1 | (uint)local_98 >> 0x1f) - 1) + (uint)((int)local_98 * 2 != 0);\n      uVar19 = CONCAT44(uVar18,uVar9);\n      if ((*(byte *)(*(int *)(puVar2 + 0x1c0) + 0x1e9) & 1) != 0) {\n        local_b8 = (char *)(uVar9 ^ (uint)local_98);\n        local_b4 = uVar18 ^ (uint)local_94;\n        uVar19 = CONCAT44((local_b4 - (int)local_94) - (uint)(local_b8 < local_98),\n                          (int)local_b8 - (int)local_98);\n      }\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    local_a4 = local_b0;\n    if (DAT_00018264 != 0) {\n      *(undefined **)(puVar10 + -0x10) = &DAT_00015431;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11aff;\n      printf(*(char **)(puVar10 + -0x10));\n      local_a4 = (int *)PTR_stdout_00017ff0;\n      *(uint *)(puVar10 + -0x14) = DAT_00018244;\n      *(uint *)(puVar10 + -0x18) = DAT_00018240;\n      *(undefined4 *)(puVar10 + -0x1c) = *(undefined4 *)PTR_stdout_00017ff0;\n      *(undefined ***)(puVar10 + -0x20) = local_9c;\n      *(undefined4 *)(puVar10 + -0x24) = 0x11b24;\n      bfd_fprintf_vma();\n      if (DAT_00018258 == 0) {\n        *(undefined4 *)(puVar10 + -0x10) = 10;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11dfa;\n        putchar(*(int *)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n      else {\n        *(undefined **)(puVar10 + -0x10) = &DAT_00015702;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11b44;\n        printf(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    DAT_00018228 = 0;\n    if (local_a8 == 0) {\n      *(undefined4 *)(puVar10 + -8) = 0;\n      *(code **)(puVar10 + -0xc) = FUN_00012210;\n      *(undefined ***)(puVar10 + -0x10) = local_9c;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11b67;\n      bfd_map_over_sections();\n      ppuVar4 = local_9c;\njoined_r0x00011b72:\n      uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      local_9c = ppuVar4;\n      if (DAT_00018228 != 0) {\n        local_a0 = &DAT_00015442;\n        local_98 = "??";\n        do {\n          local_9c = (undefined **)0x15817;\n          do {\n            pcVar5 = DAT_00018234;\n            if (DAT_00018260 != 0) {\n              pcVar6 = local_98;\n              pcVar16 = DAT_00018234;\n              if (DAT_00018234 != (char *)0x0) {\n                if (*DAT_00018234 == '\0') {\n                  pcVar16 = (char *)0x0;\n                }\n                else {\n                  if (DAT_0001825c != 0) {\n                    *(undefined4 *)(puVar10 + -8) = 3;\n                    *(char **)(puVar10 + -0xc) = DAT_00018234;\n                    *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n                    *(undefined4 *)(puVar10 + -0x14) = 0x11db4;\n                    pcVar6 = (char *)bfd_demangle();\n                    pcVar16 = pcVar6;\n                    if (pcVar6 != (char *)0x0) goto LAB_00011bdd;\n                  }\n                  pcVar6 = pcVar5;\n                  pcVar16 = (char *)0x0;\n                }\n              }\nLAB_00011bdd:\n              *(char **)(puVar10 + -0xc) = pcVar6;\n              *(undefined ***)(puVar10 + -0x10) = local_9c;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11bec;\n              printf(*(char **)(puVar10 + -0x10));\n              if (DAT_00018258 == 0) {\n                *(undefined4 *)(puVar10 + -0x10) = 10;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11d8a;\n                putchar(*(int *)(puVar10 + -0x10));\n              }\n              else {\n                *(undefined4 *)(puVar10 + -8) = 5;\n                *(undefined **)(puVar10 + -0xc) = &DAT_0001543d;\n                *(undefined4 *)(puVar10 + -0x10) = 0;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c10;\n                uVar7 = dcgettext();\n                *(undefined4 *)(puVar10 + -0x10) = uVar7;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c18;\n                printf(*(char **)(puVar10 + -0x10));\n              }\n              if (pcVar16 != (char *)0x0) {\n                *(char **)(puVar10 + -0x10) = pcVar16;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c28;\n                free(*(void **)(puVar10 + -0x10));\n              }\n            }\n            pcVar5 = DAT_00018238;\n            if (DAT_00018254 == 0) {\nLAB_00011c5e:\n              pcVar5 = DAT_00018238;\n              if (DAT_00018238 == (char *)0x0) {\nLAB_00011d70:\n                pcVar5 = local_98;\n              }\n            }\n            else {\n              if (DAT_00018238 == (char *)0x0) goto LAB_00011d70;\n              *(undefined4 *)(puVar10 + -0xc) = 0x2f;\n              *(char **)(puVar10 + -0x10) = DAT_00018238;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11c4e;\n              pcVar6 = strrchr(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc));\n              if (pcVar6 != (char *)0x0) {\n                DAT_00018238 = pcVar6 + 1;\n                goto LAB_00011c5e;\n              }\n            }\n            *(char **)(puVar10 + -0xc) = pcVar5;\n            *(undefined **)(puVar10 + -0x10) = local_a0;\n            *(undefined4 *)(puVar10 + -0x14) = 0x11c75;\n            printf(*(char **)(puVar10 + -0x10));\n            if (DAT_00018230 == 0) {\n              *(undefined **)(puVar10 + -0x10) = &DAT_000153c0;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d5f;\n              puts(*(char **)(puVar10 + -0x10));\n            }\n            else if (DAT_0001822c == 0) {\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(undefined **)(puVar10 + -0x10) = &DAT_0001545d;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d48;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            else {\n              *(int *)(puVar10 + -8) = DAT_0001822c;\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(char **)(puVar10 + -0x10) = "%u (discriminator %u)\n";\n              *(undefined4 *)(puVar10 + -0x14) = 0x11ca5;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            if (DAT_00018268 == 0) {\n              DAT_00018228 = 0;\n              goto LAB_000119cc;\n            }\n            puVar2 = ppuVar4[1];\n            *(int **)(puVar10 + -4) = &DAT_00018230;\n            *(char ***)(puVar10 + -8) = &DAT_00018234;\n            *(char ***)(puVar10 + -0xc) = &DAT_00018238;\n            *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n            pcVar1 = *(code **)(puVar2 + 0x130);\n            *(undefined4 *)(puVar10 + -0x14) = 0x11cef;\n            DAT_00018228 = (*pcVar1)();\n            if (DAT_00018228 == 0) goto LAB_000119cc;\n          } while (DAT_00018258 == 0);\n          *(undefined4 *)(puVar10 + -8) = 5;\n          *(char **)(puVar10 + -0xc) = " (inlined by) ";\n          *(undefined4 *)(puVar10 + -0x10) = 0;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11d21;\n          uVar7 = dcgettext();\n          *(undefined4 *)(puVar10 + -0x10) = uVar7;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11d29;\n          printf(*(char **)(puVar10 + -0x10));\n        } while( true );\n      }\n    }\n    else if (((*(byte *)(local_a8 + 0x14) & 1) != 0) &&\n            (DAT_00018244 < *(uint *)(local_a8 + 0x30) ||\n             DAT_00018244 - *(uint *)(local_a8 + 0x30) <\n             (uint)(DAT_00018240 < *(uint *)(local_a8 + 0x2c)))) {\n      puVar2 = local_9c[1];\n      *(int **)(puVar10 + -0x10) = &DAT_0001822c;\n      *(int **)(puVar10 + -0x14) = &DAT_00018230;\n      *(char ***)(puVar10 + -0x18) = &DAT_00018234;\n      *(char ***)(puVar10 + -0x1c) = &DAT_00018238;\n      *(undefined8 *)(puVar10 + -0x24) = uVar19;\n      *(int *)(puVar10 + -0x28) = local_a8;\n      *(void **)(puVar10 + -0x2c) = DAT_00018248;\n      *(undefined ***)(puVar10 + -0x30) = local_9c;\n      pcVar1 = *(code **)(puVar2 + 0x128);\n      *(undefined4 *)(puVar10 + -0x34) = 0x1197f;\n      DAT_00018228 = (*pcVar1)();\n      ppuVar4 = local_9c;\n      goto joined_r0x00011b72;\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    if (DAT_00018260 != 0) {\n      if (DAT_00018258 == 0) {\n        *(undefined **)(puVar10 + -0x10) = &DAT_000153bf;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11ddf;\n        puts(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n      else {\n        *(undefined **)(puVar10 + -0x10) = &DAT_00015434;\n        *(undefined4 *)(puVar10 + -0x14) = 0x119b7;\n        printf(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    *(undefined **)(puVar10 + -0x10) = &DAT_00015438;\n    *(undefined4 *)(puVar10 + -0x14) = 0x119c9;\n    puts(*(char **)(puVar10 + -0x10));\n    ppuVar4 = local_9c;\n  } while( true );" (statement_identifier "LAB_000119cc") (: ":") (do_statement "do {\n    local_9c = ppuVar4;\n    *(int *)(puVar10 + -0x10) = *local_a4;\n    *(undefined4 *)(puVar10 + -0x14) = 0x119dc;\n    fflush(*(FILE **)(puVar10 + -0x10));\nLAB_000119df:\n    if (local_ac == (int *)0x0) {\n      *(undefined4 *)(puVar10 + -8) = *local_bc;\n      *(undefined4 *)(puVar10 + -0xc) = 100;\n      *(undefined1 **)(puVar10 + -0x10) = local_84;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11a03;\n      pcVar5 = fgets(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc),*(FILE **)(puVar10 + -8));\n      if (pcVar5 == (char *)0x0) {\nLAB_00011e02:\n        ppuVar4 = local_9c;\n        if (DAT_00018248 != (void *)0x0) {\n          *(void **)(puVar10 + -0x10) = DAT_00018248;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11e1b;\n          free(*(void **)(puVar10 + -0x10));\n          DAT_00018248 = (void *)0x0;\n        }\n        *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11e31;\n        bfd_close();\n        return local_c0;\n      }\n      *(undefined4 *)(puVar10 + -8) = 0x10;\n      *(undefined4 *)(puVar10 + -0xc) = 0;\n      *(undefined1 **)(puVar10 + -0x10) = local_84;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11a1b;\n      uVar19 = bfd_scan_vma();\n      puVar2 = local_9c[1];\n      iVar3 = *(int *)(puVar2 + 4);\n    }\n    else {\n      if ((int)DAT_00018250 < 1) goto LAB_00011e02;\n      DAT_00018250 = (int *)((int)DAT_00018250 + -1);\n      *(undefined4 *)(puVar10 + -8) = 0x10;\n      *(undefined4 *)(puVar10 + -0xc) = 0;\n      *(undefined4 *)(puVar10 + -0x10) = *DAT_0001824c;\n      *(undefined4 *)(puVar10 + -0x14) = 0x118cc;\n      DAT_0001824c = DAT_0001824c + 1;\n      uVar19 = bfd_scan_vma();\n      puVar2 = local_9c[1];\n      iVar3 = *(int *)(puVar2 + 4);\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    if (iVar3 == 5) {\n      bVar8 = *(char *)(*(int *)(*(int *)(puVar2 + 0x1c0) + 0x19c) + 10) - 1;\n      pcVar5 = (char *)(1 << (bVar8 & 0x1f));\n      local_98 = pcVar5;\n      local_94 = (char *)(0 << (bVar8 & 0x1f) | 1U >> 0x20 - (bVar8 & 0x1f));\n      if ((bVar8 & 0x20) != 0) {\n        local_98 = (char *)0x0;\n        local_94 = pcVar5;\n      }\n      uVar9 = DAT_00018240 & (int)local_98 * 2 - 1U;\n      uVar18 = DAT_00018244 &\n               (((int)local_94 << 1 | (uint)local_98 >> 0x1f) - 1) + (uint)((int)local_98 * 2 != 0);\n      uVar19 = CONCAT44(uVar18,uVar9);\n      if ((*(byte *)(*(int *)(puVar2 + 0x1c0) + 0x1e9) & 1) != 0) {\n        local_b8 = (char *)(uVar9 ^ (uint)local_98);\n        local_b4 = uVar18 ^ (uint)local_94;\n        uVar19 = CONCAT44((local_b4 - (int)local_94) - (uint)(local_b8 < local_98),\n                          (int)local_b8 - (int)local_98);\n      }\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    local_a4 = local_b0;\n    if (DAT_00018264 != 0) {\n      *(undefined **)(puVar10 + -0x10) = &DAT_00015431;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11aff;\n      printf(*(char **)(puVar10 + -0x10));\n      local_a4 = (int *)PTR_stdout_00017ff0;\n      *(uint *)(puVar10 + -0x14) = DAT_00018244;\n      *(uint *)(puVar10 + -0x18) = DAT_00018240;\n      *(undefined4 *)(puVar10 + -0x1c) = *(undefined4 *)PTR_stdout_00017ff0;\n      *(undefined ***)(puVar10 + -0x20) = local_9c;\n      *(undefined4 *)(puVar10 + -0x24) = 0x11b24;\n      bfd_fprintf_vma();\n      if (DAT_00018258 == 0) {\n        *(undefined4 *)(puVar10 + -0x10) = 10;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11dfa;\n        putchar(*(int *)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n      else {\n        *(undefined **)(puVar10 + -0x10) = &DAT_00015702;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11b44;\n        printf(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    DAT_00018228 = 0;\n    if (local_a8 == 0) {\n      *(undefined4 *)(puVar10 + -8) = 0;\n      *(code **)(puVar10 + -0xc) = FUN_00012210;\n      *(undefined ***)(puVar10 + -0x10) = local_9c;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11b67;\n      bfd_map_over_sections();\n      ppuVar4 = local_9c;\njoined_r0x00011b72:\n      uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      local_9c = ppuVar4;\n      if (DAT_00018228 != 0) {\n        local_a0 = &DAT_00015442;\n        local_98 = "??";\n        do {\n          local_9c = (undefined **)0x15817;\n          do {\n            pcVar5 = DAT_00018234;\n            if (DAT_00018260 != 0) {\n              pcVar6 = local_98;\n              pcVar16 = DAT_00018234;\n              if (DAT_00018234 != (char *)0x0) {\n                if (*DAT_00018234 == '\0') {\n                  pcVar16 = (char *)0x0;\n                }\n                else {\n                  if (DAT_0001825c != 0) {\n                    *(undefined4 *)(puVar10 + -8) = 3;\n                    *(char **)(puVar10 + -0xc) = DAT_00018234;\n                    *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n                    *(undefined4 *)(puVar10 + -0x14) = 0x11db4;\n                    pcVar6 = (char *)bfd_demangle();\n                    pcVar16 = pcVar6;\n                    if (pcVar6 != (char *)0x0) goto LAB_00011bdd;\n                  }\n                  pcVar6 = pcVar5;\n                  pcVar16 = (char *)0x0;\n                }\n              }\nLAB_00011bdd:\n              *(char **)(puVar10 + -0xc) = pcVar6;\n              *(undefined ***)(puVar10 + -0x10) = local_9c;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11bec;\n              printf(*(char **)(puVar10 + -0x10));\n              if (DAT_00018258 == 0) {\n                *(undefined4 *)(puVar10 + -0x10) = 10;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11d8a;\n                putchar(*(int *)(puVar10 + -0x10));\n              }\n              else {\n                *(undefined4 *)(puVar10 + -8) = 5;\n                *(undefined **)(puVar10 + -0xc) = &DAT_0001543d;\n                *(undefined4 *)(puVar10 + -0x10) = 0;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c10;\n                uVar7 = dcgettext();\n                *(undefined4 *)(puVar10 + -0x10) = uVar7;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c18;\n                printf(*(char **)(puVar10 + -0x10));\n              }\n              if (pcVar16 != (char *)0x0) {\n                *(char **)(puVar10 + -0x10) = pcVar16;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c28;\n                free(*(void **)(puVar10 + -0x10));\n              }\n            }\n            pcVar5 = DAT_00018238;\n            if (DAT_00018254 == 0) {\nLAB_00011c5e:\n              pcVar5 = DAT_00018238;\n              if (DAT_00018238 == (char *)0x0) {\nLAB_00011d70:\n                pcVar5 = local_98;\n              }\n            }\n            else {\n              if (DAT_00018238 == (char *)0x0) goto LAB_00011d70;\n              *(undefined4 *)(puVar10 + -0xc) = 0x2f;\n              *(char **)(puVar10 + -0x10) = DAT_00018238;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11c4e;\n              pcVar6 = strrchr(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc));\n              if (pcVar6 != (char *)0x0) {\n                DAT_00018238 = pcVar6 + 1;\n                goto LAB_00011c5e;\n              }\n            }\n            *(char **)(puVar10 + -0xc) = pcVar5;\n            *(undefined **)(puVar10 + -0x10) = local_a0;\n            *(undefined4 *)(puVar10 + -0x14) = 0x11c75;\n            printf(*(char **)(puVar10 + -0x10));\n            if (DAT_00018230 == 0) {\n              *(undefined **)(puVar10 + -0x10) = &DAT_000153c0;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d5f;\n              puts(*(char **)(puVar10 + -0x10));\n            }\n            else if (DAT_0001822c == 0) {\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(undefined **)(puVar10 + -0x10) = &DAT_0001545d;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d48;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            else {\n              *(int *)(puVar10 + -8) = DAT_0001822c;\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(char **)(puVar10 + -0x10) = "%u (discriminator %u)\n";\n              *(undefined4 *)(puVar10 + -0x14) = 0x11ca5;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            if (DAT_00018268 == 0) {\n              DAT_00018228 = 0;\n              goto LAB_000119cc;\n            }\n            puVar2 = ppuVar4[1];\n            *(int **)(puVar10 + -4) = &DAT_00018230;\n            *(char ***)(puVar10 + -8) = &DAT_00018234;\n            *(char ***)(puVar10 + -0xc) = &DAT_00018238;\n            *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n            pcVar1 = *(code **)(puVar2 + 0x130);\n            *(undefined4 *)(puVar10 + -0x14) = 0x11cef;\n            DAT_00018228 = (*pcVar1)();\n            if (DAT_00018228 == 0) goto LAB_000119cc;\n          } while (DAT_00018258 == 0);\n          *(undefined4 *)(puVar10 + -8) = 5;\n          *(char **)(puVar10 + -0xc) = " (inlined by) ";\n          *(undefined4 *)(puVar10 + -0x10) = 0;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11d21;\n          uVar7 = dcgettext();\n          *(undefined4 *)(puVar10 + -0x10) = uVar7;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11d29;\n          printf(*(char **)(puVar10 + -0x10));\n        } while( true );\n      }\n    }\n    else if (((*(byte *)(local_a8 + 0x14) & 1) != 0) &&\n            (DAT_00018244 < *(uint *)(local_a8 + 0x30) ||\n             DAT_00018244 - *(uint *)(local_a8 + 0x30) <\n             (uint)(DAT_00018240 < *(uint *)(local_a8 + 0x2c)))) {\n      puVar2 = local_9c[1];\n      *(int **)(puVar10 + -0x10) = &DAT_0001822c;\n      *(int **)(puVar10 + -0x14) = &DAT_00018230;\n      *(char ***)(puVar10 + -0x18) = &DAT_00018234;\n      *(char ***)(puVar10 + -0x1c) = &DAT_00018238;\n      *(undefined8 *)(puVar10 + -0x24) = uVar19;\n      *(int *)(puVar10 + -0x28) = local_a8;\n      *(void **)(puVar10 + -0x2c) = DAT_00018248;\n      *(undefined ***)(puVar10 + -0x30) = local_9c;\n      pcVar1 = *(code **)(puVar2 + 0x128);\n      *(undefined4 *)(puVar10 + -0x34) = 0x1197f;\n      DAT_00018228 = (*pcVar1)();\n      ppuVar4 = local_9c;\n      goto joined_r0x00011b72;\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    if (DAT_00018260 != 0) {\n      if (DAT_00018258 == 0) {\n        *(undefined **)(puVar10 + -0x10) = &DAT_000153bf;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11ddf;\n        puts(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n      else {\n        *(undefined **)(puVar10 + -0x10) = &DAT_00015434;\n        *(undefined4 *)(puVar10 + -0x14) = 0x119b7;\n        printf(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    *(undefined **)(puVar10 + -0x10) = &DAT_00015438;\n    *(undefined4 *)(puVar10 + -0x14) = 0x119c9;\n    puts(*(char **)(puVar10 + -0x10));\n    ppuVar4 = local_9c;\n  } while( true );" (do "do") (compound_statement "{\n    local_9c = ppuVar4;\n    *(int *)(puVar10 + -0x10) = *local_a4;\n    *(undefined4 *)(puVar10 + -0x14) = 0x119dc;\n    fflush(*(FILE **)(puVar10 + -0x10));\nLAB_000119df:\n    if (local_ac == (int *)0x0) {\n      *(undefined4 *)(puVar10 + -8) = *local_bc;\n      *(undefined4 *)(puVar10 + -0xc) = 100;\n      *(undefined1 **)(puVar10 + -0x10) = local_84;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11a03;\n      pcVar5 = fgets(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc),*(FILE **)(puVar10 + -8));\n      if (pcVar5 == (char *)0x0) {\nLAB_00011e02:\n        ppuVar4 = local_9c;\n        if (DAT_00018248 != (void *)0x0) {\n          *(void **)(puVar10 + -0x10) = DAT_00018248;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11e1b;\n          free(*(void **)(puVar10 + -0x10));\n          DAT_00018248 = (void *)0x0;\n        }\n        *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11e31;\n        bfd_close();\n        return local_c0;\n      }\n      *(undefined4 *)(puVar10 + -8) = 0x10;\n      *(undefined4 *)(puVar10 + -0xc) = 0;\n      *(undefined1 **)(puVar10 + -0x10) = local_84;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11a1b;\n      uVar19 = bfd_scan_vma();\n      puVar2 = local_9c[1];\n      iVar3 = *(int *)(puVar2 + 4);\n    }\n    else {\n      if ((int)DAT_00018250 < 1) goto LAB_00011e02;\n      DAT_00018250 = (int *)((int)DAT_00018250 + -1);\n      *(undefined4 *)(puVar10 + -8) = 0x10;\n      *(undefined4 *)(puVar10 + -0xc) = 0;\n      *(undefined4 *)(puVar10 + -0x10) = *DAT_0001824c;\n      *(undefined4 *)(puVar10 + -0x14) = 0x118cc;\n      DAT_0001824c = DAT_0001824c + 1;\n      uVar19 = bfd_scan_vma();\n      puVar2 = local_9c[1];\n      iVar3 = *(int *)(puVar2 + 4);\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    if (iVar3 == 5) {\n      bVar8 = *(char *)(*(int *)(*(int *)(puVar2 + 0x1c0) + 0x19c) + 10) - 1;\n      pcVar5 = (char *)(1 << (bVar8 & 0x1f));\n      local_98 = pcVar5;\n      local_94 = (char *)(0 << (bVar8 & 0x1f) | 1U >> 0x20 - (bVar8 & 0x1f));\n      if ((bVar8 & 0x20) != 0) {\n        local_98 = (char *)0x0;\n        local_94 = pcVar5;\n      }\n      uVar9 = DAT_00018240 & (int)local_98 * 2 - 1U;\n      uVar18 = DAT_00018244 &\n               (((int)local_94 << 1 | (uint)local_98 >> 0x1f) - 1) + (uint)((int)local_98 * 2 != 0);\n      uVar19 = CONCAT44(uVar18,uVar9);\n      if ((*(byte *)(*(int *)(puVar2 + 0x1c0) + 0x1e9) & 1) != 0) {\n        local_b8 = (char *)(uVar9 ^ (uint)local_98);\n        local_b4 = uVar18 ^ (uint)local_94;\n        uVar19 = CONCAT44((local_b4 - (int)local_94) - (uint)(local_b8 < local_98),\n                          (int)local_b8 - (int)local_98);\n      }\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    local_a4 = local_b0;\n    if (DAT_00018264 != 0) {\n      *(undefined **)(puVar10 + -0x10) = &DAT_00015431;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11aff;\n      printf(*(char **)(puVar10 + -0x10));\n      local_a4 = (int *)PTR_stdout_00017ff0;\n      *(uint *)(puVar10 + -0x14) = DAT_00018244;\n      *(uint *)(puVar10 + -0x18) = DAT_00018240;\n      *(undefined4 *)(puVar10 + -0x1c) = *(undefined4 *)PTR_stdout_00017ff0;\n      *(undefined ***)(puVar10 + -0x20) = local_9c;\n      *(undefined4 *)(puVar10 + -0x24) = 0x11b24;\n      bfd_fprintf_vma();\n      if (DAT_00018258 == 0) {\n        *(undefined4 *)(puVar10 + -0x10) = 10;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11dfa;\n        putchar(*(int *)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n      else {\n        *(undefined **)(puVar10 + -0x10) = &DAT_00015702;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11b44;\n        printf(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    DAT_00018228 = 0;\n    if (local_a8 == 0) {\n      *(undefined4 *)(puVar10 + -8) = 0;\n      *(code **)(puVar10 + -0xc) = FUN_00012210;\n      *(undefined ***)(puVar10 + -0x10) = local_9c;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11b67;\n      bfd_map_over_sections();\n      ppuVar4 = local_9c;\njoined_r0x00011b72:\n      uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      local_9c = ppuVar4;\n      if (DAT_00018228 != 0) {\n        local_a0 = &DAT_00015442;\n        local_98 = "??";\n        do {\n          local_9c = (undefined **)0x15817;\n          do {\n            pcVar5 = DAT_00018234;\n            if (DAT_00018260 != 0) {\n              pcVar6 = local_98;\n              pcVar16 = DAT_00018234;\n              if (DAT_00018234 != (char *)0x0) {\n                if (*DAT_00018234 == '\0') {\n                  pcVar16 = (char *)0x0;\n                }\n                else {\n                  if (DAT_0001825c != 0) {\n                    *(undefined4 *)(puVar10 + -8) = 3;\n                    *(char **)(puVar10 + -0xc) = DAT_00018234;\n                    *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n                    *(undefined4 *)(puVar10 + -0x14) = 0x11db4;\n                    pcVar6 = (char *)bfd_demangle();\n                    pcVar16 = pcVar6;\n                    if (pcVar6 != (char *)0x0) goto LAB_00011bdd;\n                  }\n                  pcVar6 = pcVar5;\n                  pcVar16 = (char *)0x0;\n                }\n              }\nLAB_00011bdd:\n              *(char **)(puVar10 + -0xc) = pcVar6;\n              *(undefined ***)(puVar10 + -0x10) = local_9c;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11bec;\n              printf(*(char **)(puVar10 + -0x10));\n              if (DAT_00018258 == 0) {\n                *(undefined4 *)(puVar10 + -0x10) = 10;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11d8a;\n                putchar(*(int *)(puVar10 + -0x10));\n              }\n              else {\n                *(undefined4 *)(puVar10 + -8) = 5;\n                *(undefined **)(puVar10 + -0xc) = &DAT_0001543d;\n                *(undefined4 *)(puVar10 + -0x10) = 0;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c10;\n                uVar7 = dcgettext();\n                *(undefined4 *)(puVar10 + -0x10) = uVar7;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c18;\n                printf(*(char **)(puVar10 + -0x10));\n              }\n              if (pcVar16 != (char *)0x0) {\n                *(char **)(puVar10 + -0x10) = pcVar16;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c28;\n                free(*(void **)(puVar10 + -0x10));\n              }\n            }\n            pcVar5 = DAT_00018238;\n            if (DAT_00018254 == 0) {\nLAB_00011c5e:\n              pcVar5 = DAT_00018238;\n              if (DAT_00018238 == (char *)0x0) {\nLAB_00011d70:\n                pcVar5 = local_98;\n              }\n            }\n            else {\n              if (DAT_00018238 == (char *)0x0) goto LAB_00011d70;\n              *(undefined4 *)(puVar10 + -0xc) = 0x2f;\n              *(char **)(puVar10 + -0x10) = DAT_00018238;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11c4e;\n              pcVar6 = strrchr(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc));\n              if (pcVar6 != (char *)0x0) {\n                DAT_00018238 = pcVar6 + 1;\n                goto LAB_00011c5e;\n              }\n            }\n            *(char **)(puVar10 + -0xc) = pcVar5;\n            *(undefined **)(puVar10 + -0x10) = local_a0;\n            *(undefined4 *)(puVar10 + -0x14) = 0x11c75;\n            printf(*(char **)(puVar10 + -0x10));\n            if (DAT_00018230 == 0) {\n              *(undefined **)(puVar10 + -0x10) = &DAT_000153c0;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d5f;\n              puts(*(char **)(puVar10 + -0x10));\n            }\n            else if (DAT_0001822c == 0) {\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(undefined **)(puVar10 + -0x10) = &DAT_0001545d;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d48;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            else {\n              *(int *)(puVar10 + -8) = DAT_0001822c;\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(char **)(puVar10 + -0x10) = "%u (discriminator %u)\n";\n              *(undefined4 *)(puVar10 + -0x14) = 0x11ca5;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            if (DAT_00018268 == 0) {\n              DAT_00018228 = 0;\n              goto LAB_000119cc;\n            }\n            puVar2 = ppuVar4[1];\n            *(int **)(puVar10 + -4) = &DAT_00018230;\n            *(char ***)(puVar10 + -8) = &DAT_00018234;\n            *(char ***)(puVar10 + -0xc) = &DAT_00018238;\n            *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n            pcVar1 = *(code **)(puVar2 + 0x130);\n            *(undefined4 *)(puVar10 + -0x14) = 0x11cef;\n            DAT_00018228 = (*pcVar1)();\n            if (DAT_00018228 == 0) goto LAB_000119cc;\n          } while (DAT_00018258 == 0);\n          *(undefined4 *)(puVar10 + -8) = 5;\n          *(char **)(puVar10 + -0xc) = " (inlined by) ";\n          *(undefined4 *)(puVar10 + -0x10) = 0;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11d21;\n          uVar7 = dcgettext();\n          *(undefined4 *)(puVar10 + -0x10) = uVar7;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11d29;\n          printf(*(char **)(puVar10 + -0x10));\n        } while( true );\n      }\n    }\n    else if (((*(byte *)(local_a8 + 0x14) & 1) != 0) &&\n            (DAT_00018244 < *(uint *)(local_a8 + 0x30) ||\n             DAT_00018244 - *(uint *)(local_a8 + 0x30) <\n             (uint)(DAT_00018240 < *(uint *)(local_a8 + 0x2c)))) {\n      puVar2 = local_9c[1];\n      *(int **)(puVar10 + -0x10) = &DAT_0001822c;\n      *(int **)(puVar10 + -0x14) = &DAT_00018230;\n      *(char ***)(puVar10 + -0x18) = &DAT_00018234;\n      *(char ***)(puVar10 + -0x1c) = &DAT_00018238;\n      *(undefined8 *)(puVar10 + -0x24) = uVar19;\n      *(int *)(puVar10 + -0x28) = local_a8;\n      *(void **)(puVar10 + -0x2c) = DAT_00018248;\n      *(undefined ***)(puVar10 + -0x30) = local_9c;\n      pcVar1 = *(code **)(puVar2 + 0x128);\n      *(undefined4 *)(puVar10 + -0x34) = 0x1197f;\n      DAT_00018228 = (*pcVar1)();\n      ppuVar4 = local_9c;\n      goto joined_r0x00011b72;\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    if (DAT_00018260 != 0) {\n      if (DAT_00018258 == 0) {\n        *(undefined **)(puVar10 + -0x10) = &DAT_000153bf;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11ddf;\n        puts(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n      else {\n        *(undefined **)(puVar10 + -0x10) = &DAT_00015434;\n        *(undefined4 *)(puVar10 + -0x14) = 0x119b7;\n        printf(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n    }\n    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);\n    DAT_00018240 = (uint)uVar19;\n    *(undefined **)(puVar10 + -0x10) = &DAT_00015438;\n    *(undefined4 *)(puVar10 + -0x14) = 0x119c9;\n    puts(*(char **)(puVar10 + -0x10));\n    ppuVar4 = local_9c;\n  }" ({ "{") (expression_statement "local_9c = ppuVar4;" (assignment_expression "local_9c = ppuVar4" (identifier "local_9c") (= "=") (identifier "ppuVar4")) (; ";")) (expression_statement "*(int *)(puVar10 + -0x10) = *local_a4;" (assignment_expression "*(int *)(puVar10 + -0x10) = *local_a4" (pointer_expression "*(int *)(puVar10 + -0x10)" (* "*") (cast_expression "(int *)(puVar10 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -0x10)" (( "(") (binary_expression "puVar10 + -0x10" (identifier "puVar10") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*local_a4" (* "*") (identifier "local_a4"))) (; ";")) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x119dc;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x119dc" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar10 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -0x14)" (( "(") (binary_expression "puVar10 + -0x14" (identifier "puVar10") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x119dc")) (; ";")) (expression_statement "fflush(*(FILE **)(puVar10 + -0x10));" (call_expression "fflush(*(FILE **)(puVar10 + -0x10))" (identifier "fflush") (argument_list "(*(FILE **)(puVar10 + -0x10))" (( "(") (pointer_expression "*(FILE **)(puVar10 + -0x10)" (* "*") (cast_expression "(FILE **)(puVar10 + -0x10)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0x10)" (( "(") (binary_expression "puVar10 + -0x10" (identifier "puVar10") (+ "+") (number_literal "-0x10")) () ")")))) () ")"))) (; ";")) (labeled_statement "LAB_000119df:\n    if (local_ac == (int *)0x0) {\n      *(undefined4 *)(puVar10 + -8) = *local_bc;\n      *(undefined4 *)(puVar10 + -0xc) = 100;\n      *(undefined1 **)(puVar10 + -0x10) = local_84;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11a03;\n      pcVar5 = fgets(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc),*(FILE **)(puVar10 + -8));\n      if (pcVar5 == (char *)0x0) {\nLAB_00011e02:\n        ppuVar4 = local_9c;\n        if (DAT_00018248 != (void *)0x0) {\n          *(void **)(puVar10 + -0x10) = DAT_00018248;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11e1b;\n          free(*(void **)(puVar10 + -0x10));\n          DAT_00018248 = (void *)0x0;\n        }\n        *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11e31;\n        bfd_close();\n        return local_c0;\n      }\n      *(undefined4 *)(puVar10 + -8) = 0x10;\n      *(undefined4 *)(puVar10 + -0xc) = 0;\n      *(undefined1 **)(puVar10 + -0x10) = local_84;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11a1b;\n      uVar19 = bfd_scan_vma();\n      puVar2 = local_9c[1];\n      iVar3 = *(int *)(puVar2 + 4);\n    }\n    else {\n      if ((int)DAT_00018250 < 1) goto LAB_00011e02;\n      DAT_00018250 = (int *)((int)DAT_00018250 + -1);\n      *(undefined4 *)(puVar10 + -8) = 0x10;\n      *(undefined4 *)(puVar10 + -0xc) = 0;\n      *(undefined4 *)(puVar10 + -0x10) = *DAT_0001824c;\n      *(undefined4 *)(puVar10 + -0x14) = 0x118cc;\n      DAT_0001824c = DAT_0001824c + 1;\n      uVar19 = bfd_scan_vma();\n      puVar2 = local_9c[1];\n      iVar3 = *(int *)(puVar2 + 4);\n    }" (statement_identifier "LAB_000119df") (: ":") (if_statement "if (local_ac == (int *)0x0) {\n      *(undefined4 *)(puVar10 + -8) = *local_bc;\n      *(undefined4 *)(puVar10 + -0xc) = 100;\n      *(undefined1 **)(puVar10 + -0x10) = local_84;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11a03;\n      pcVar5 = fgets(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc),*(FILE **)(puVar10 + -8));\n      if (pcVar5 == (char *)0x0) {\nLAB_00011e02:\n        ppuVar4 = local_9c;\n        if (DAT_00018248 != (void *)0x0) {\n          *(void **)(puVar10 + -0x10) = DAT_00018248;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11e1b;\n          free(*(void **)(puVar10 + -0x10));\n          DAT_00018248 = (void *)0x0;\n        }\n        *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11e31;\n        bfd_close();\n        return local_c0;\n      }\n      *(undefined4 *)(puVar10 + -8) = 0x10;\n      *(undefined4 *)(puVar10 + -0xc) = 0;\n      *(undefined1 **)(puVar10 + -0x10) = local_84;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11a1b;\n      uVar19 = bfd_scan_vma();\n      puVar2 = local_9c[1];\n      iVar3 = *(int *)(puVar2 + 4);\n    }\n    else {\n      if ((int)DAT_00018250 < 1) goto LAB_00011e02;\n      DAT_00018250 = (int *)((int)DAT_00018250 + -1);\n      *(undefined4 *)(puVar10 + -8) = 0x10;\n      *(undefined4 *)(puVar10 + -0xc) = 0;\n      *(undefined4 *)(puVar10 + -0x10) = *DAT_0001824c;\n      *(undefined4 *)(puVar10 + -0x14) = 0x118cc;\n      DAT_0001824c = DAT_0001824c + 1;\n      uVar19 = bfd_scan_vma();\n      puVar2 = local_9c[1];\n      iVar3 = *(int *)(puVar2 + 4);\n    }" (if "if") (parenthesized_expression "(local_ac == (int *)0x0)" (( "(") (binary_expression "local_ac == (int *)0x0" (identifier "local_ac") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      *(undefined4 *)(puVar10 + -8) = *local_bc;\n      *(undefined4 *)(puVar10 + -0xc) = 100;\n      *(undefined1 **)(puVar10 + -0x10) = local_84;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11a03;\n      pcVar5 = fgets(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc),*(FILE **)(puVar10 + -8));\n      if (pcVar5 == (char *)0x0) {\nLAB_00011e02:\n        ppuVar4 = local_9c;\n        if (DAT_00018248 != (void *)0x0) {\n          *(void **)(puVar10 + -0x10) = DAT_00018248;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11e1b;\n          free(*(void **)(puVar10 + -0x10));\n          DAT_00018248 = (void *)0x0;\n        }\n        *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11e31;\n        bfd_close();\n        return local_c0;\n      }\n      *(undefined4 *)(puVar10 + -8) = 0x10;\n      *(undefined4 *)(puVar10 + -0xc) = 0;\n      *(undefined1 **)(puVar10 + -0x10) = local_84;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11a1b;\n      uVar19 = bfd_scan_vma();\n      puVar2 = local_9c[1];\n      iVar3 = *(int *)(puVar2 + 4);\n    }" ({ "{") (expression_statement "*(undefined4 *)(puVar10 + -8) = *local_bc;" (assignment_expression "*(undefined4 *)(puVar10 + -8) = *local_bc" (pointer_expression "*(undefined4 *)(puVar10 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar10 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -8)" (( "(") (binary_expression "puVar10 + -8" (identifier "puVar10") (+ "+") (number_literal "-8")) () ")")))) (= "=") (pointer_expression "*local_bc" (* "*") (identifier "local_bc"))) (; ";")) (expression_statement "*(undefined4 *)(puVar10 + -0xc) = 100;" (assignment_expression "*(undefined4 *)(puVar10 + -0xc) = 100" (pointer_expression "*(undefined4 *)(puVar10 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar10 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -0xc)" (( "(") (binary_expression "puVar10 + -0xc" (identifier "puVar10") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "100")) (; ";")) (expression_statement "*(undefined1 **)(puVar10 + -0x10) = local_84;" (assignment_expression "*(undefined1 **)(puVar10 + -0x10) = local_84" (pointer_expression "*(undefined1 **)(puVar10 + -0x10)" (* "*") (cast_expression "(undefined1 **)(puVar10 + -0x10)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0x10)" (( "(") (binary_expression "puVar10 + -0x10" (identifier "puVar10") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_84")) (; ";")) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x11a03;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x11a03" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar10 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -0x14)" (( "(") (binary_expression "puVar10 + -0x14" (identifier "puVar10") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x11a03")) (; ";")) (expression_statement "pcVar5 = fgets(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc),*(FILE **)(puVar10 + -8));" (assignment_expression "pcVar5 = fgets(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc),*(FILE **)(puVar10 + -8))" (identifier "pcVar5") (= "=") (call_expression "fgets(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc),*(FILE **)(puVar10 + -8))" (identifier "fgets") (argument_list "(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc),*(FILE **)(puVar10 + -8))" (( "(") (pointer_expression "*(char **)(puVar10 + -0x10)" (* "*") (cast_expression "(char **)(puVar10 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0x10)" (( "(") (binary_expression "puVar10 + -0x10" (identifier "puVar10") (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(int *)(puVar10 + -0xc)" (* "*") (cast_expression "(int *)(puVar10 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -0xc)" (( "(") (binary_expression "puVar10 + -0xc" (identifier "puVar10") (+ "+") (number_literal "-0xc")) () ")")))) (, ",") (pointer_expression "*(FILE **)(puVar10 + -8)" (* "*") (cast_expression "(FILE **)(puVar10 + -8)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -8)" (( "(") (binary_expression "puVar10 + -8" (identifier "puVar10") (+ "+") (number_literal "-8")) () ")")))) () ")")))) (; ";")) (if_statement "if (pcVar5 == (char *)0x0) {\nLAB_00011e02:\n        ppuVar4 = local_9c;\n        if (DAT_00018248 != (void *)0x0) {\n          *(void **)(puVar10 + -0x10) = DAT_00018248;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11e1b;\n          free(*(void **)(puVar10 + -0x10));\n          DAT_00018248 = (void *)0x0;\n        }\n        *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11e31;\n        bfd_close();\n        return local_c0;\n      }" (if "if") (parenthesized_expression "(pcVar5 == (char *)0x0)" (( "(") (binary_expression "pcVar5 == (char *)0x0" (identifier "pcVar5") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_00011e02:\n        ppuVar4 = local_9c;\n        if (DAT_00018248 != (void *)0x0) {\n          *(void **)(puVar10 + -0x10) = DAT_00018248;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11e1b;\n          free(*(void **)(puVar10 + -0x10));\n          DAT_00018248 = (void *)0x0;\n        }\n        *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11e31;\n        bfd_close();\n        return local_c0;\n      }" ({ "{") (labeled_statement "LAB_00011e02:\n        ppuVar4 = local_9c;" (statement_identifier "LAB_00011e02") (: ":") (expression_statement "ppuVar4 = local_9c;" (assignment_expression "ppuVar4 = local_9c" (identifier "ppuVar4") (= "=") (identifier "local_9c")) (; ";"))) (if_statement "if (DAT_00018248 != (void *)0x0) {\n          *(void **)(puVar10 + -0x10) = DAT_00018248;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11e1b;\n          free(*(void **)(puVar10 + -0x10));\n          DAT_00018248 = (void *)0x0;\n        }" (if "if") (parenthesized_expression "(DAT_00018248 != (void *)0x0)" (( "(") (binary_expression "DAT_00018248 != (void *)0x0" (identifier "DAT_00018248") (!= "!=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          *(void **)(puVar10 + -0x10) = DAT_00018248;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11e1b;\n          free(*(void **)(puVar10 + -0x10));\n          DAT_00018248 = (void *)0x0;\n        }" ({ "{") (expression_statement "*(void **)(puVar10 + -0x10) = DAT_00018248;" (assignment_expression "*(void **)(puVar10 + -0x10) = DAT_00018248" (pointer_expression "*(void **)(puVar10 + -0x10)" (* "*") (cast_expression "(void **)(puVar10 + -0x10)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0x10)" (( "(") (binary_expression "puVar10 + -0x10" (identifier "puVar10") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "DAT_00018248")) (; ";")) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x11e1b;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x11e1b" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar10 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -0x14)" (( "(") (binary_expression "puVar10 + -0x14" (identifier "puVar10") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x11e1b")) (; ";")) (expression_statement "free(*(void **)(puVar10 + -0x10));" (call_expression "free(*(void **)(puVar10 + -0x10))" (identifier "free") (argument_list "(*(void **)(puVar10 + -0x10))" (( "(") (pointer_expression "*(void **)(puVar10 + -0x10)" (* "*") (cast_expression "(void **)(puVar10 + -0x10)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0x10)" (( "(") (binary_expression "puVar10 + -0x10" (identifier "puVar10") (+ "+") (number_literal "-0x10")) () ")")))) () ")"))) (; ";")) (expression_statement "DAT_00018248 = (void *)0x0;" (assignment_expression "DAT_00018248 = (void *)0x0" (identifier "DAT_00018248") (= "=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}"))) (expression_statement "*(undefined ***)(puVar10 + -0x10) = ppuVar4;" (assignment_expression "*(undefined ***)(puVar10 + -0x10) = ppuVar4" (pointer_expression "*(undefined ***)(puVar10 + -0x10)" (* "*") (cast_expression "(undefined ***)(puVar10 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar10 + -0x10)" (( "(") (binary_expression "puVar10 + -0x10" (identifier "puVar10") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "ppuVar4")) (; ";")) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x11e31;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x11e31" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar10 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -0x14)" (( "(") (binary_expression "puVar10 + -0x14" (identifier "puVar10") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x11e31")) (; ";")) (expression_statement "bfd_close();" (call_expression "bfd_close()" (identifier "bfd_close") (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return local_c0;" (return "return") (identifier "local_c0") (; ";")) (} "}"))) (expression_statement "*(undefined4 *)(puVar10 + -8) = 0x10;" (assignment_expression "*(undefined4 *)(puVar10 + -8) = 0x10" (pointer_expression "*(undefined4 *)(puVar10 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar10 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -8)" (( "(") (binary_expression "puVar10 + -8" (identifier "puVar10") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0x10")) (; ";")) (expression_statement "*(undefined4 *)(puVar10 + -0xc) = 0;" (assignment_expression "*(undefined4 *)(puVar10 + -0xc) = 0" (pointer_expression "*(undefined4 *)(puVar10 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar10 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -0xc)" (( "(") (binary_expression "puVar10 + -0xc" (identifier "puVar10") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 **)(puVar10 + -0x10) = local_84;" (assignment_expression "*(undefined1 **)(puVar10 + -0x10) = local_84" (pointer_expression "*(undefined1 **)(puVar10 + -0x10)" (* "*") (cast_expression "(undefined1 **)(puVar10 + -0x10)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0x10)" (( "(") (binary_expression "puVar10 + -0x10" (identifier "puVar10") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_84")) (; ";")) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x11a1b;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x11a1b" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar10 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -0x14)" (( "(") (binary_expression "puVar10 + -0x14" (identifier "puVar10") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x11a1b")) (; ";")) (expression_statement "uVar19 = bfd_scan_vma();" (assignment_expression "uVar19 = bfd_scan_vma()" (identifier "uVar19") (= "=") (call_expression "bfd_scan_vma()" (identifier "bfd_scan_vma") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "puVar2 = local_9c[1];" (assignment_expression "puVar2 = local_9c[1]" (identifier "puVar2") (= "=") (subscript_expression "local_9c[1]" (identifier "local_9c") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "iVar3 = *(int *)(puVar2 + 4);" (assignment_expression "iVar3 = *(int *)(puVar2 + 4)" (identifier "iVar3") (= "=") (pointer_expression "*(int *)(puVar2 + 4)" (* "*") (cast_expression "(int *)(puVar2 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar2 + 4)" (( "(") (binary_expression "puVar2 + 4" (identifier "puVar2") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n      if ((int)DAT_00018250 < 1) goto LAB_00011e02;\n      DAT_00018250 = (int *)((int)DAT_00018250 + -1);\n      *(undefined4 *)(puVar10 + -8) = 0x10;\n      *(undefined4 *)(puVar10 + -0xc) = 0;\n      *(undefined4 *)(puVar10 + -0x10) = *DAT_0001824c;\n      *(undefined4 *)(puVar10 + -0x14) = 0x118cc;\n      DAT_0001824c = DAT_0001824c + 1;\n      uVar19 = bfd_scan_vma();\n      puVar2 = local_9c[1];\n      iVar3 = *(int *)(puVar2 + 4);\n    }" (else "else") (compound_statement "{\n      if ((int)DAT_00018250 < 1) goto LAB_00011e02;\n      DAT_00018250 = (int *)((int)DAT_00018250 + -1);\n      *(undefined4 *)(puVar10 + -8) = 0x10;\n      *(undefined4 *)(puVar10 + -0xc) = 0;\n      *(undefined4 *)(puVar10 + -0x10) = *DAT_0001824c;\n      *(undefined4 *)(puVar10 + -0x14) = 0x118cc;\n      DAT_0001824c = DAT_0001824c + 1;\n      uVar19 = bfd_scan_vma();\n      puVar2 = local_9c[1];\n      iVar3 = *(int *)(puVar2 + 4);\n    }" ({ "{") (if_statement "if ((int)DAT_00018250 < 1) goto LAB_00011e02;" (if "if") (parenthesized_expression "((int)DAT_00018250 < 1)" (( "(") (binary_expression "(int)DAT_00018250 < 1" (cast_expression "(int)DAT_00018250" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "DAT_00018250")) (< "<") (number_literal "1")) () ")")) (goto_statement "goto LAB_00011e02;" (goto "goto") (statement_identifier "LAB_00011e02") (; ";"))) (expression_statement "DAT_00018250 = (int *)((int)DAT_00018250 + -1);" (assignment_expression "DAT_00018250 = (int *)((int)DAT_00018250 + -1)" (identifier "DAT_00018250") (= "=") (cast_expression "(int *)((int)DAT_00018250 + -1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)DAT_00018250 + -1)" (( "(") (binary_expression "(int)DAT_00018250 + -1" (cast_expression "(int)DAT_00018250" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "DAT_00018250")) (+ "+") (number_literal "-1")) () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar10 + -8) = 0x10;" (assignment_expression "*(undefined4 *)(puVar10 + -8) = 0x10" (pointer_expression "*(undefined4 *)(puVar10 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar10 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -8)" (( "(") (binary_expression "puVar10 + -8" (identifier "puVar10") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0x10")) (; ";")) (expression_statement "*(undefined4 *)(puVar10 + -0xc) = 0;" (assignment_expression "*(undefined4 *)(puVar10 + -0xc) = 0" (pointer_expression "*(undefined4 *)(puVar10 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar10 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -0xc)" (( "(") (binary_expression "puVar10 + -0xc" (identifier "puVar10") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar10 + -0x10) = *DAT_0001824c;" (assignment_expression "*(undefined4 *)(puVar10 + -0x10) = *DAT_0001824c" (pointer_expression "*(undefined4 *)(puVar10 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar10 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -0x10)" (( "(") (binary_expression "puVar10 + -0x10" (identifier "puVar10") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*DAT_0001824c" (* "*") (identifier "DAT_0001824c"))) (; ";")) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x118cc;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x118cc" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar10 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -0x14)" (( "(") (binary_expression "puVar10 + -0x14" (identifier "puVar10") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x118cc")) (; ";")) (expression_statement "DAT_0001824c = DAT_0001824c + 1;" (assignment_expression "DAT_0001824c = DAT_0001824c + 1" (identifier "DAT_0001824c") (= "=") (binary_expression "DAT_0001824c + 1" (identifier "DAT_0001824c") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar19 = bfd_scan_vma();" (assignment_expression "uVar19 = bfd_scan_vma()" (identifier "uVar19") (= "=") (call_expression "bfd_scan_vma()" (identifier "bfd_scan_vma") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "puVar2 = local_9c[1];" (assignment_expression "puVar2 = local_9c[1]" (identifier "puVar2") (= "=") (subscript_expression "local_9c[1]" (identifier "local_9c") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "iVar3 = *(int *)(puVar2 + 4);" (assignment_expression "iVar3 = *(int *)(puVar2 + 4)" (identifier "iVar3") (= "=") (pointer_expression "*(int *)(puVar2 + 4)" (* "*") (cast_expression "(int *)(puVar2 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar2 + 4)" (( "(") (binary_expression "puVar2 + 4" (identifier "puVar2") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (} "}"))))) (expression_statement "DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);" (assignment_expression "DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20)" (identifier "DAT_00018244") (= "=") (call_expression "(uint)((ulonglong)uVar19 >> 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((ulonglong)uVar19 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar19 >> 0x20" (cast_expression "(ulonglong)uVar19" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar19")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "DAT_00018240 = (uint)uVar19;" (assignment_expression "DAT_00018240 = (uint)uVar19" (identifier "DAT_00018240") (= "=") (cast_expression "(uint)uVar19" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar19"))) (; ";")) (if_statement "if (iVar3 == 5) {\n      bVar8 = *(char *)(*(int *)(*(int *)(puVar2 + 0x1c0) + 0x19c) + 10) - 1;\n      pcVar5 = (char *)(1 << (bVar8 & 0x1f));\n      local_98 = pcVar5;\n      local_94 = (char *)(0 << (bVar8 & 0x1f) | 1U >> 0x20 - (bVar8 & 0x1f));\n      if ((bVar8 & 0x20) != 0) {\n        local_98 = (char *)0x0;\n        local_94 = pcVar5;\n      }\n      uVar9 = DAT_00018240 & (int)local_98 * 2 - 1U;\n      uVar18 = DAT_00018244 &\n               (((int)local_94 << 1 | (uint)local_98 >> 0x1f) - 1) + (uint)((int)local_98 * 2 != 0);\n      uVar19 = CONCAT44(uVar18,uVar9);\n      if ((*(byte *)(*(int *)(puVar2 + 0x1c0) + 0x1e9) & 1) != 0) {\n        local_b8 = (char *)(uVar9 ^ (uint)local_98);\n        local_b4 = uVar18 ^ (uint)local_94;\n        uVar19 = CONCAT44((local_b4 - (int)local_94) - (uint)(local_b8 < local_98),\n                          (int)local_b8 - (int)local_98);\n      }\n    }" (if "if") (parenthesized_expression "(iVar3 == 5)" (( "(") (binary_expression "iVar3 == 5" (identifier "iVar3") (== "==") (number_literal "5")) () ")")) (compound_statement "{\n      bVar8 = *(char *)(*(int *)(*(int *)(puVar2 + 0x1c0) + 0x19c) + 10) - 1;\n      pcVar5 = (char *)(1 << (bVar8 & 0x1f));\n      local_98 = pcVar5;\n      local_94 = (char *)(0 << (bVar8 & 0x1f) | 1U >> 0x20 - (bVar8 & 0x1f));\n      if ((bVar8 & 0x20) != 0) {\n        local_98 = (char *)0x0;\n        local_94 = pcVar5;\n      }\n      uVar9 = DAT_00018240 & (int)local_98 * 2 - 1U;\n      uVar18 = DAT_00018244 &\n               (((int)local_94 << 1 | (uint)local_98 >> 0x1f) - 1) + (uint)((int)local_98 * 2 != 0);\n      uVar19 = CONCAT44(uVar18,uVar9);\n      if ((*(byte *)(*(int *)(puVar2 + 0x1c0) + 0x1e9) & 1) != 0) {\n        local_b8 = (char *)(uVar9 ^ (uint)local_98);\n        local_b4 = uVar18 ^ (uint)local_94;\n        uVar19 = CONCAT44((local_b4 - (int)local_94) - (uint)(local_b8 < local_98),\n                          (int)local_b8 - (int)local_98);\n      }\n    }" ({ "{") (expression_statement "bVar8 = *(char *)(*(int *)(*(int *)(puVar2 + 0x1c0) + 0x19c) + 10) - 1;" (assignment_expression "bVar8 = *(char *)(*(int *)(*(int *)(puVar2 + 0x1c0) + 0x19c) + 10) - 1" (identifier "bVar8") (= "=") (binary_expression "*(char *)(*(int *)(*(int *)(puVar2 + 0x1c0) + 0x19c) + 10) - 1" (pointer_expression "*(char *)(*(int *)(*(int *)(puVar2 + 0x1c0) + 0x19c) + 10)" (* "*") (cast_expression "(char *)(*(int *)(*(int *)(puVar2 + 0x1c0) + 0x19c) + 10)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(*(int *)(puVar2 + 0x1c0) + 0x19c) + 10)" (( "(") (binary_expression "*(int *)(*(int *)(puVar2 + 0x1c0) + 0x19c) + 10" (pointer_expression "*(int *)(*(int *)(puVar2 + 0x1c0) + 0x19c)" (* "*") (cast_expression "(int *)(*(int *)(puVar2 + 0x1c0) + 0x19c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar2 + 0x1c0) + 0x19c)" (( "(") (binary_expression "*(int *)(puVar2 + 0x1c0) + 0x19c" (pointer_expression "*(int *)(puVar2 + 0x1c0)" (* "*") (cast_expression "(int *)(puVar2 + 0x1c0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar2 + 0x1c0)" (( "(") (binary_expression "puVar2 + 0x1c0" (identifier "puVar2") (+ "+") (number_literal "0x1c0")) () ")")))) (+ "+") (number_literal "0x19c")) () ")")))) (+ "+") (number_literal "10")) () ")")))) (- "-") (number_literal "1"))) (; ";")) (expression_statement "pcVar5 = (char *)(1 << (bVar8 & 0x1f));" (assignment_expression "pcVar5 = (char *)(1 << (bVar8 & 0x1f))" (identifier "pcVar5") (= "=") (cast_expression "(char *)(1 << (bVar8 & 0x1f))" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(1 << (bVar8 & 0x1f))" (( "(") (binary_expression "1 << (bVar8 & 0x1f)" (number_literal "1") (<< "<<") (parenthesized_expression "(bVar8 & 0x1f)" (( "(") (binary_expression "bVar8 & 0x1f" (identifier "bVar8") (& "&") (number_literal "0x1f")) () ")"))) () ")")))) (; ";")) (expression_statement "local_98 = pcVar5;" (assignment_expression "local_98 = pcVar5" (identifier "local_98") (= "=") (identifier "pcVar5")) (; ";")) (expression_statement "local_94 = (char *)(0 << (bVar8 & 0x1f) | 1U >> 0x20 - (bVar8 & 0x1f));" (assignment_expression "local_94 = (char *)(0 << (bVar8 & 0x1f) | 1U >> 0x20 - (bVar8 & 0x1f))" (identifier "local_94") (= "=") (cast_expression "(char *)(0 << (bVar8 & 0x1f) | 1U >> 0x20 - (bVar8 & 0x1f))" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(0 << (bVar8 & 0x1f) | 1U >> 0x20 - (bVar8 & 0x1f))" (( "(") (binary_expression "0 << (bVar8 & 0x1f) | 1U >> 0x20 - (bVar8 & 0x1f)" (binary_expression "0 << (bVar8 & 0x1f)" (number_literal "0") (<< "<<") (parenthesized_expression "(bVar8 & 0x1f)" (( "(") (binary_expression "bVar8 & 0x1f" (identifier "bVar8") (& "&") (number_literal "0x1f")) () ")"))) (| "|") (binary_expression "1U >> 0x20 - (bVar8 & 0x1f)" (number_literal "1U") (>> ">>") (binary_expression "0x20 - (bVar8 & 0x1f)" (number_literal "0x20") (- "-") (parenthesized_expression "(bVar8 & 0x1f)" (( "(") (binary_expression "bVar8 & 0x1f" (identifier "bVar8") (& "&") (number_literal "0x1f")) () ")"))))) () ")")))) (; ";")) (if_statement "if ((bVar8 & 0x20) != 0) {\n        local_98 = (char *)0x0;\n        local_94 = pcVar5;\n      }" (if "if") (parenthesized_expression "((bVar8 & 0x20) != 0)" (( "(") (binary_expression "(bVar8 & 0x20) != 0" (parenthesized_expression "(bVar8 & 0x20)" (( "(") (binary_expression "bVar8 & 0x20" (identifier "bVar8") (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        local_98 = (char *)0x0;\n        local_94 = pcVar5;\n      }" ({ "{") (expression_statement "local_98 = (char *)0x0;" (assignment_expression "local_98 = (char *)0x0" (identifier "local_98") (= "=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_94 = pcVar5;" (assignment_expression "local_94 = pcVar5" (identifier "local_94") (= "=") (identifier "pcVar5")) (; ";")) (} "}"))) (expression_statement "uVar9 = DAT_00018240 & (int)local_98 * 2 - 1U;" (assignment_expression "uVar9 = DAT_00018240 & (int)local_98 * 2 - 1U" (identifier "uVar9") (= "=") (binary_expression "DAT_00018240 & (int)local_98 * 2 - 1U" (identifier "DAT_00018240") (& "&") (binary_expression "(int)local_98 * 2 - 1U" (binary_expression "(int)local_98 * 2" (cast_expression "(int)local_98" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_98")) (* "*") (number_literal "2")) (- "-") (number_literal "1U")))) (; ";")) (expression_statement "uVar18 = DAT_00018244 &\n               (((int)local_94 << 1 | (uint)local_98 >> 0x1f) - 1) + (uint)((int)local_98 * 2 != 0);" (assignment_expression "uVar18 = DAT_00018244 &\n               (((int)local_94 << 1 | (uint)local_98 >> 0x1f) - 1) + (uint)((int)local_98 * 2 != 0)" (identifier "uVar18") (= "=") (binary_expression "DAT_00018244 &\n               (((int)local_94 << 1 | (uint)local_98 >> 0x1f) - 1) + (uint)((int)local_98 * 2 != 0)" (identifier "DAT_00018244") (& "&") (binary_expression "(((int)local_94 << 1 | (uint)local_98 >> 0x1f) - 1) + (uint)((int)local_98 * 2 != 0)" (parenthesized_expression "(((int)local_94 << 1 | (uint)local_98 >> 0x1f) - 1)" (( "(") (binary_expression "((int)local_94 << 1 | (uint)local_98 >> 0x1f) - 1" (parenthesized_expression "((int)local_94 << 1 | (uint)local_98 >> 0x1f)" (( "(") (binary_expression "(int)local_94 << 1 | (uint)local_98 >> 0x1f" (binary_expression "(int)local_94 << 1" (cast_expression "(int)local_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_94")) (<< "<<") (number_literal "1")) (| "|") (binary_expression "(uint)local_98 >> 0x1f" (cast_expression "(uint)local_98" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_98")) (>> ">>") (number_literal "0x1f"))) () ")")) (- "-") (number_literal "1")) () ")")) (+ "+") (call_expression "(uint)((int)local_98 * 2 != 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)local_98 * 2 != 0)" (( "(") (binary_expression "(int)local_98 * 2 != 0" (binary_expression "(int)local_98 * 2" (cast_expression "(int)local_98" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_98")) (* "*") (number_literal "2")) (!= "!=") (number_literal "0")) () ")")))))) (; ";")) (expression_statement "uVar19 = CONCAT44(uVar18,uVar9);" (assignment_expression "uVar19 = CONCAT44(uVar18,uVar9)" (identifier "uVar19") (= "=") (call_expression "CONCAT44(uVar18,uVar9)" (identifier "CONCAT44") (argument_list "(uVar18,uVar9)" (( "(") (identifier "uVar18") (, ",") (identifier "uVar9") () ")")))) (; ";")) (if_statement "if ((*(byte *)(*(int *)(puVar2 + 0x1c0) + 0x1e9) & 1) != 0) {\n        local_b8 = (char *)(uVar9 ^ (uint)local_98);\n        local_b4 = uVar18 ^ (uint)local_94;\n        uVar19 = CONCAT44((local_b4 - (int)local_94) - (uint)(local_b8 < local_98),\n                          (int)local_b8 - (int)local_98);\n      }" (if "if") (parenthesized_expression "((*(byte *)(*(int *)(puVar2 + 0x1c0) + 0x1e9) & 1) != 0)" (( "(") (binary_expression "(*(byte *)(*(int *)(puVar2 + 0x1c0) + 0x1e9) & 1) != 0" (parenthesized_expression "(*(byte *)(*(int *)(puVar2 + 0x1c0) + 0x1e9) & 1)" (( "(") (binary_expression "*(byte *)(*(int *)(puVar2 + 0x1c0) + 0x1e9) & 1" (pointer_expression "*(byte *)(*(int *)(puVar2 + 0x1c0) + 0x1e9)" (* "*") (cast_expression "(byte *)(*(int *)(puVar2 + 0x1c0) + 0x1e9)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar2 + 0x1c0) + 0x1e9)" (( "(") (binary_expression "*(int *)(puVar2 + 0x1c0) + 0x1e9" (pointer_expression "*(int *)(puVar2 + 0x1c0)" (* "*") (cast_expression "(int *)(puVar2 + 0x1c0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar2 + 0x1c0)" (( "(") (binary_expression "puVar2 + 0x1c0" (identifier "puVar2") (+ "+") (number_literal "0x1c0")) () ")")))) (+ "+") (number_literal "0x1e9")) () ")")))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        local_b8 = (char *)(uVar9 ^ (uint)local_98);\n        local_b4 = uVar18 ^ (uint)local_94;\n        uVar19 = CONCAT44((local_b4 - (int)local_94) - (uint)(local_b8 < local_98),\n                          (int)local_b8 - (int)local_98);\n      }" ({ "{") (expression_statement "local_b8 = (char *)(uVar9 ^ (uint)local_98);" (assignment_expression "local_b8 = (char *)(uVar9 ^ (uint)local_98)" (identifier "local_b8") (= "=") (cast_expression "(char *)(uVar9 ^ (uint)local_98)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar9 ^ (uint)local_98)" (( "(") (binary_expression "uVar9 ^ (uint)local_98" (identifier "uVar9") (^ "^") (cast_expression "(uint)local_98" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_98"))) () ")")))) (; ";")) (expression_statement "local_b4 = uVar18 ^ (uint)local_94;" (assignment_expression "local_b4 = uVar18 ^ (uint)local_94" (identifier "local_b4") (= "=") (binary_expression "uVar18 ^ (uint)local_94" (identifier "uVar18") (^ "^") (cast_expression "(uint)local_94" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_94")))) (; ";")) (expression_statement "uVar19 = CONCAT44((local_b4 - (int)local_94) - (uint)(local_b8 < local_98),\n                          (int)local_b8 - (int)local_98);" (assignment_expression "uVar19 = CONCAT44((local_b4 - (int)local_94) - (uint)(local_b8 < local_98),\n                          (int)local_b8 - (int)local_98)" (identifier "uVar19") (= "=") (call_expression "CONCAT44((local_b4 - (int)local_94) - (uint)(local_b8 < local_98),\n                          (int)local_b8 - (int)local_98)" (identifier "CONCAT44") (argument_list "((local_b4 - (int)local_94) - (uint)(local_b8 < local_98),\n                          (int)local_b8 - (int)local_98)" (( "(") (binary_expression "(local_b4 - (int)local_94) - (uint)(local_b8 < local_98)" (parenthesized_expression "(local_b4 - (int)local_94)" (( "(") (binary_expression "local_b4 - (int)local_94" (identifier "local_b4") (- "-") (cast_expression "(int)local_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_94"))) () ")")) (- "-") (call_expression "(uint)(local_b8 < local_98)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(local_b8 < local_98)" (( "(") (binary_expression "local_b8 < local_98" (identifier "local_b8") (< "<") (identifier "local_98")) () ")")))) (, ",") (binary_expression "(int)local_b8 - (int)local_98" (cast_expression "(int)local_b8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_b8")) (- "-") (cast_expression "(int)local_98" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_98"))) () ")")))) (; ";")) (} "}"))) (} "}"))) (expression_statement "DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);" (assignment_expression "DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20)" (identifier "DAT_00018244") (= "=") (call_expression "(uint)((ulonglong)uVar19 >> 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((ulonglong)uVar19 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar19 >> 0x20" (cast_expression "(ulonglong)uVar19" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar19")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "DAT_00018240 = (uint)uVar19;" (assignment_expression "DAT_00018240 = (uint)uVar19" (identifier "DAT_00018240") (= "=") (cast_expression "(uint)uVar19" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar19"))) (; ";")) (expression_statement "local_a4 = local_b0;" (assignment_expression "local_a4 = local_b0" (identifier "local_a4") (= "=") (identifier "local_b0")) (; ";")) (if_statement "if (DAT_00018264 != 0) {\n      *(undefined **)(puVar10 + -0x10) = &DAT_00015431;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11aff;\n      printf(*(char **)(puVar10 + -0x10));\n      local_a4 = (int *)PTR_stdout_00017ff0;\n      *(uint *)(puVar10 + -0x14) = DAT_00018244;\n      *(uint *)(puVar10 + -0x18) = DAT_00018240;\n      *(undefined4 *)(puVar10 + -0x1c) = *(undefined4 *)PTR_stdout_00017ff0;\n      *(undefined ***)(puVar10 + -0x20) = local_9c;\n      *(undefined4 *)(puVar10 + -0x24) = 0x11b24;\n      bfd_fprintf_vma();\n      if (DAT_00018258 == 0) {\n        *(undefined4 *)(puVar10 + -0x10) = 10;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11dfa;\n        putchar(*(int *)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n      else {\n        *(undefined **)(puVar10 + -0x10) = &DAT_00015702;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11b44;\n        printf(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n    }" (if "if") (parenthesized_expression "(DAT_00018264 != 0)" (( "(") (binary_expression "DAT_00018264 != 0" (identifier "DAT_00018264") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      *(undefined **)(puVar10 + -0x10) = &DAT_00015431;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11aff;\n      printf(*(char **)(puVar10 + -0x10));\n      local_a4 = (int *)PTR_stdout_00017ff0;\n      *(uint *)(puVar10 + -0x14) = DAT_00018244;\n      *(uint *)(puVar10 + -0x18) = DAT_00018240;\n      *(undefined4 *)(puVar10 + -0x1c) = *(undefined4 *)PTR_stdout_00017ff0;\n      *(undefined ***)(puVar10 + -0x20) = local_9c;\n      *(undefined4 *)(puVar10 + -0x24) = 0x11b24;\n      bfd_fprintf_vma();\n      if (DAT_00018258 == 0) {\n        *(undefined4 *)(puVar10 + -0x10) = 10;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11dfa;\n        putchar(*(int *)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n      else {\n        *(undefined **)(puVar10 + -0x10) = &DAT_00015702;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11b44;\n        printf(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n    }" ({ "{") (expression_statement "*(undefined **)(puVar10 + -0x10) = &DAT_00015431;" (assignment_expression "*(undefined **)(puVar10 + -0x10) = &DAT_00015431" (pointer_expression "*(undefined **)(puVar10 + -0x10)" (* "*") (cast_expression "(undefined **)(puVar10 + -0x10)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0x10)" (( "(") (binary_expression "puVar10 + -0x10" (identifier "puVar10") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "&DAT_00015431" (& "&") (identifier "DAT_00015431"))) (; ";")) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x11aff;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x11aff" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar10 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -0x14)" (( "(") (binary_expression "puVar10 + -0x14" (identifier "puVar10") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x11aff")) (; ";")) (expression_statement "printf(*(char **)(puVar10 + -0x10));" (call_expression "printf(*(char **)(puVar10 + -0x10))" (identifier "printf") (argument_list "(*(char **)(puVar10 + -0x10))" (( "(") (pointer_expression "*(char **)(puVar10 + -0x10)" (* "*") (cast_expression "(char **)(puVar10 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0x10)" (( "(") (binary_expression "puVar10 + -0x10" (identifier "puVar10") (+ "+") (number_literal "-0x10")) () ")")))) () ")"))) (; ";")) (expression_statement "local_a4 = (int *)PTR_stdout_00017ff0;" (assignment_expression "local_a4 = (int *)PTR_stdout_00017ff0" (identifier "local_a4") (= "=") (cast_expression "(int *)PTR_stdout_00017ff0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_stdout_00017ff0"))) (; ";")) (expression_statement "*(uint *)(puVar10 + -0x14) = DAT_00018244;" (assignment_expression "*(uint *)(puVar10 + -0x14) = DAT_00018244" (pointer_expression "*(uint *)(puVar10 + -0x14)" (* "*") (cast_expression "(uint *)(puVar10 + -0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -0x14)" (( "(") (binary_expression "puVar10 + -0x14" (identifier "puVar10") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (identifier "DAT_00018244")) (; ";")) (expression_statement "*(uint *)(puVar10 + -0x18) = DAT_00018240;" (assignment_expression "*(uint *)(puVar10 + -0x18) = DAT_00018240" (pointer_expression "*(uint *)(puVar10 + -0x18)" (* "*") (cast_expression "(uint *)(puVar10 + -0x18)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -0x18)" (( "(") (binary_expression "puVar10 + -0x18" (identifier "puVar10") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (identifier "DAT_00018240")) (; ";")) (expression_statement "*(undefined4 *)(puVar10 + -0x1c) = *(undefined4 *)PTR_stdout_00017ff0;" (assignment_expression "*(undefined4 *)(puVar10 + -0x1c) = *(undefined4 *)PTR_stdout_00017ff0" (pointer_expression "*(undefined4 *)(puVar10 + -0x1c)" (* "*") (cast_expression "(undefined4 *)(puVar10 + -0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -0x1c)" (( "(") (binary_expression "puVar10 + -0x1c" (identifier "puVar10") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)PTR_stdout_00017ff0" (* "*") (cast_expression "(undefined4 *)PTR_stdout_00017ff0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_stdout_00017ff0")))) (; ";")) (expression_statement "*(undefined ***)(puVar10 + -0x20) = local_9c;" (assignment_expression "*(undefined ***)(puVar10 + -0x20) = local_9c" (pointer_expression "*(undefined ***)(puVar10 + -0x20)" (* "*") (cast_expression "(undefined ***)(puVar10 + -0x20)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar10 + -0x20)" (( "(") (binary_expression "puVar10 + -0x20" (identifier "puVar10") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (identifier "local_9c")) (; ";")) (expression_statement "*(undefined4 *)(puVar10 + -0x24) = 0x11b24;" (assignment_expression "*(undefined4 *)(puVar10 + -0x24) = 0x11b24" (pointer_expression "*(undefined4 *)(puVar10 + -0x24)" (* "*") (cast_expression "(undefined4 *)(puVar10 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -0x24)" (( "(") (binary_expression "puVar10 + -0x24" (identifier "puVar10") (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (number_literal "0x11b24")) (; ";")) (expression_statement "bfd_fprintf_vma();" (call_expression "bfd_fprintf_vma()" (identifier "bfd_fprintf_vma") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (DAT_00018258 == 0) {\n        *(undefined4 *)(puVar10 + -0x10) = 10;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11dfa;\n        putchar(*(int *)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n      else {\n        *(undefined **)(puVar10 + -0x10) = &DAT_00015702;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11b44;\n        printf(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }" (if "if") (parenthesized_expression "(DAT_00018258 == 0)" (( "(") (binary_expression "DAT_00018258 == 0" (identifier "DAT_00018258") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        *(undefined4 *)(puVar10 + -0x10) = 10;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11dfa;\n        putchar(*(int *)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }" ({ "{") (expression_statement "*(undefined4 *)(puVar10 + -0x10) = 10;" (assignment_expression "*(undefined4 *)(puVar10 + -0x10) = 10" (pointer_expression "*(undefined4 *)(puVar10 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar10 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -0x10)" (( "(") (binary_expression "puVar10 + -0x10" (identifier "puVar10") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "10")) (; ";")) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x11dfa;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x11dfa" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar10 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -0x14)" (( "(") (binary_expression "puVar10 + -0x14" (identifier "puVar10") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x11dfa")) (; ";")) (expression_statement "putchar(*(int *)(puVar10 + -0x10));" (call_expression "putchar(*(int *)(puVar10 + -0x10))" (identifier "putchar") (argument_list "(*(int *)(puVar10 + -0x10))" (( "(") (pointer_expression "*(int *)(puVar10 + -0x10)" (* "*") (cast_expression "(int *)(puVar10 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -0x10)" (( "(") (binary_expression "puVar10 + -0x10" (identifier "puVar10") (+ "+") (number_literal "-0x10")) () ")")))) () ")"))) (; ";")) (expression_statement "uVar19 = CONCAT44(DAT_00018244,DAT_00018240);" (assignment_expression "uVar19 = CONCAT44(DAT_00018244,DAT_00018240)" (identifier "uVar19") (= "=") (call_expression "CONCAT44(DAT_00018244,DAT_00018240)" (identifier "CONCAT44") (argument_list "(DAT_00018244,DAT_00018240)" (( "(") (identifier "DAT_00018244") (, ",") (identifier "DAT_00018240") () ")")))) (; ";")) (} "}")) (else_clause "else {\n        *(undefined **)(puVar10 + -0x10) = &DAT_00015702;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11b44;\n        printf(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }" (else "else") (compound_statement "{\n        *(undefined **)(puVar10 + -0x10) = &DAT_00015702;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11b44;\n        printf(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }" ({ "{") (expression_statement "*(undefined **)(puVar10 + -0x10) = &DAT_00015702;" (assignment_expression "*(undefined **)(puVar10 + -0x10) = &DAT_00015702" (pointer_expression "*(undefined **)(puVar10 + -0x10)" (* "*") (cast_expression "(undefined **)(puVar10 + -0x10)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0x10)" (( "(") (binary_expression "puVar10 + -0x10" (identifier "puVar10") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "&DAT_00015702" (& "&") (identifier "DAT_00015702"))) (; ";")) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x11b44;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x11b44" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar10 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -0x14)" (( "(") (binary_expression "puVar10 + -0x14" (identifier "puVar10") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x11b44")) (; ";")) (expression_statement "printf(*(char **)(puVar10 + -0x10));" (call_expression "printf(*(char **)(puVar10 + -0x10))" (identifier "printf") (argument_list "(*(char **)(puVar10 + -0x10))" (( "(") (pointer_expression "*(char **)(puVar10 + -0x10)" (* "*") (cast_expression "(char **)(puVar10 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0x10)" (( "(") (binary_expression "puVar10 + -0x10" (identifier "puVar10") (+ "+") (number_literal "-0x10")) () ")")))) () ")"))) (; ";")) (expression_statement "uVar19 = CONCAT44(DAT_00018244,DAT_00018240);" (assignment_expression "uVar19 = CONCAT44(DAT_00018244,DAT_00018240)" (identifier "uVar19") (= "=") (call_expression "CONCAT44(DAT_00018244,DAT_00018240)" (identifier "CONCAT44") (argument_list "(DAT_00018244,DAT_00018240)" (( "(") (identifier "DAT_00018244") (, ",") (identifier "DAT_00018240") () ")")))) (; ";")) (} "}")))) (} "}"))) (expression_statement "DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);" (assignment_expression "DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20)" (identifier "DAT_00018244") (= "=") (call_expression "(uint)((ulonglong)uVar19 >> 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((ulonglong)uVar19 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar19 >> 0x20" (cast_expression "(ulonglong)uVar19" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar19")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "DAT_00018240 = (uint)uVar19;" (assignment_expression "DAT_00018240 = (uint)uVar19" (identifier "DAT_00018240") (= "=") (cast_expression "(uint)uVar19" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar19"))) (; ";")) (expression_statement "DAT_00018228 = 0;" (assignment_expression "DAT_00018228 = 0" (identifier "DAT_00018228") (= "=") (number_literal "0")) (; ";")) (if_statement "if (local_a8 == 0) {\n      *(undefined4 *)(puVar10 + -8) = 0;\n      *(code **)(puVar10 + -0xc) = FUN_00012210;\n      *(undefined ***)(puVar10 + -0x10) = local_9c;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11b67;\n      bfd_map_over_sections();\n      ppuVar4 = local_9c;\njoined_r0x00011b72:\n      uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      local_9c = ppuVar4;\n      if (DAT_00018228 != 0) {\n        local_a0 = &DAT_00015442;\n        local_98 = "??";\n        do {\n          local_9c = (undefined **)0x15817;\n          do {\n            pcVar5 = DAT_00018234;\n            if (DAT_00018260 != 0) {\n              pcVar6 = local_98;\n              pcVar16 = DAT_00018234;\n              if (DAT_00018234 != (char *)0x0) {\n                if (*DAT_00018234 == '\0') {\n                  pcVar16 = (char *)0x0;\n                }\n                else {\n                  if (DAT_0001825c != 0) {\n                    *(undefined4 *)(puVar10 + -8) = 3;\n                    *(char **)(puVar10 + -0xc) = DAT_00018234;\n                    *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n                    *(undefined4 *)(puVar10 + -0x14) = 0x11db4;\n                    pcVar6 = (char *)bfd_demangle();\n                    pcVar16 = pcVar6;\n                    if (pcVar6 != (char *)0x0) goto LAB_00011bdd;\n                  }\n                  pcVar6 = pcVar5;\n                  pcVar16 = (char *)0x0;\n                }\n              }\nLAB_00011bdd:\n              *(char **)(puVar10 + -0xc) = pcVar6;\n              *(undefined ***)(puVar10 + -0x10) = local_9c;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11bec;\n              printf(*(char **)(puVar10 + -0x10));\n              if (DAT_00018258 == 0) {\n                *(undefined4 *)(puVar10 + -0x10) = 10;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11d8a;\n                putchar(*(int *)(puVar10 + -0x10));\n              }\n              else {\n                *(undefined4 *)(puVar10 + -8) = 5;\n                *(undefined **)(puVar10 + -0xc) = &DAT_0001543d;\n                *(undefined4 *)(puVar10 + -0x10) = 0;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c10;\n                uVar7 = dcgettext();\n                *(undefined4 *)(puVar10 + -0x10) = uVar7;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c18;\n                printf(*(char **)(puVar10 + -0x10));\n              }\n              if (pcVar16 != (char *)0x0) {\n                *(char **)(puVar10 + -0x10) = pcVar16;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c28;\n                free(*(void **)(puVar10 + -0x10));\n              }\n            }\n            pcVar5 = DAT_00018238;\n            if (DAT_00018254 == 0) {\nLAB_00011c5e:\n              pcVar5 = DAT_00018238;\n              if (DAT_00018238 == (char *)0x0) {\nLAB_00011d70:\n                pcVar5 = local_98;\n              }\n            }\n            else {\n              if (DAT_00018238 == (char *)0x0) goto LAB_00011d70;\n              *(undefined4 *)(puVar10 + -0xc) = 0x2f;\n              *(char **)(puVar10 + -0x10) = DAT_00018238;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11c4e;\n              pcVar6 = strrchr(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc));\n              if (pcVar6 != (char *)0x0) {\n                DAT_00018238 = pcVar6 + 1;\n                goto LAB_00011c5e;\n              }\n            }\n            *(char **)(puVar10 + -0xc) = pcVar5;\n            *(undefined **)(puVar10 + -0x10) = local_a0;\n            *(undefined4 *)(puVar10 + -0x14) = 0x11c75;\n            printf(*(char **)(puVar10 + -0x10));\n            if (DAT_00018230 == 0) {\n              *(undefined **)(puVar10 + -0x10) = &DAT_000153c0;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d5f;\n              puts(*(char **)(puVar10 + -0x10));\n            }\n            else if (DAT_0001822c == 0) {\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(undefined **)(puVar10 + -0x10) = &DAT_0001545d;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d48;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            else {\n              *(int *)(puVar10 + -8) = DAT_0001822c;\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(char **)(puVar10 + -0x10) = "%u (discriminator %u)\n";\n              *(undefined4 *)(puVar10 + -0x14) = 0x11ca5;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            if (DAT_00018268 == 0) {\n              DAT_00018228 = 0;\n              goto LAB_000119cc;\n            }\n            puVar2 = ppuVar4[1];\n            *(int **)(puVar10 + -4) = &DAT_00018230;\n            *(char ***)(puVar10 + -8) = &DAT_00018234;\n            *(char ***)(puVar10 + -0xc) = &DAT_00018238;\n            *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n            pcVar1 = *(code **)(puVar2 + 0x130);\n            *(undefined4 *)(puVar10 + -0x14) = 0x11cef;\n            DAT_00018228 = (*pcVar1)();\n            if (DAT_00018228 == 0) goto LAB_000119cc;\n          } while (DAT_00018258 == 0);\n          *(undefined4 *)(puVar10 + -8) = 5;\n          *(char **)(puVar10 + -0xc) = " (inlined by) ";\n          *(undefined4 *)(puVar10 + -0x10) = 0;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11d21;\n          uVar7 = dcgettext();\n          *(undefined4 *)(puVar10 + -0x10) = uVar7;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11d29;\n          printf(*(char **)(puVar10 + -0x10));\n        } while( true );\n      }\n    }\n    else if (((*(byte *)(local_a8 + 0x14) & 1) != 0) &&\n            (DAT_00018244 < *(uint *)(local_a8 + 0x30) ||\n             DAT_00018244 - *(uint *)(local_a8 + 0x30) <\n             (uint)(DAT_00018240 < *(uint *)(local_a8 + 0x2c)))) {\n      puVar2 = local_9c[1];\n      *(int **)(puVar10 + -0x10) = &DAT_0001822c;\n      *(int **)(puVar10 + -0x14) = &DAT_00018230;\n      *(char ***)(puVar10 + -0x18) = &DAT_00018234;\n      *(char ***)(puVar10 + -0x1c) = &DAT_00018238;\n      *(undefined8 *)(puVar10 + -0x24) = uVar19;\n      *(int *)(puVar10 + -0x28) = local_a8;\n      *(void **)(puVar10 + -0x2c) = DAT_00018248;\n      *(undefined ***)(puVar10 + -0x30) = local_9c;\n      pcVar1 = *(code **)(puVar2 + 0x128);\n      *(undefined4 *)(puVar10 + -0x34) = 0x1197f;\n      DAT_00018228 = (*pcVar1)();\n      ppuVar4 = local_9c;\n      goto joined_r0x00011b72;\n    }" (if "if") (parenthesized_expression "(local_a8 == 0)" (( "(") (binary_expression "local_a8 == 0" (identifier "local_a8") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      *(undefined4 *)(puVar10 + -8) = 0;\n      *(code **)(puVar10 + -0xc) = FUN_00012210;\n      *(undefined ***)(puVar10 + -0x10) = local_9c;\n      *(undefined4 *)(puVar10 + -0x14) = 0x11b67;\n      bfd_map_over_sections();\n      ppuVar4 = local_9c;\njoined_r0x00011b72:\n      uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      local_9c = ppuVar4;\n      if (DAT_00018228 != 0) {\n        local_a0 = &DAT_00015442;\n        local_98 = "??";\n        do {\n          local_9c = (undefined **)0x15817;\n          do {\n            pcVar5 = DAT_00018234;\n            if (DAT_00018260 != 0) {\n              pcVar6 = local_98;\n              pcVar16 = DAT_00018234;\n              if (DAT_00018234 != (char *)0x0) {\n                if (*DAT_00018234 == '\0') {\n                  pcVar16 = (char *)0x0;\n                }\n                else {\n                  if (DAT_0001825c != 0) {\n                    *(undefined4 *)(puVar10 + -8) = 3;\n                    *(char **)(puVar10 + -0xc) = DAT_00018234;\n                    *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n                    *(undefined4 *)(puVar10 + -0x14) = 0x11db4;\n                    pcVar6 = (char *)bfd_demangle();\n                    pcVar16 = pcVar6;\n                    if (pcVar6 != (char *)0x0) goto LAB_00011bdd;\n                  }\n                  pcVar6 = pcVar5;\n                  pcVar16 = (char *)0x0;\n                }\n              }\nLAB_00011bdd:\n              *(char **)(puVar10 + -0xc) = pcVar6;\n              *(undefined ***)(puVar10 + -0x10) = local_9c;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11bec;\n              printf(*(char **)(puVar10 + -0x10));\n              if (DAT_00018258 == 0) {\n                *(undefined4 *)(puVar10 + -0x10) = 10;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11d8a;\n                putchar(*(int *)(puVar10 + -0x10));\n              }\n              else {\n                *(undefined4 *)(puVar10 + -8) = 5;\n                *(undefined **)(puVar10 + -0xc) = &DAT_0001543d;\n                *(undefined4 *)(puVar10 + -0x10) = 0;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c10;\n                uVar7 = dcgettext();\n                *(undefined4 *)(puVar10 + -0x10) = uVar7;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c18;\n                printf(*(char **)(puVar10 + -0x10));\n              }\n              if (pcVar16 != (char *)0x0) {\n                *(char **)(puVar10 + -0x10) = pcVar16;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c28;\n                free(*(void **)(puVar10 + -0x10));\n              }\n            }\n            pcVar5 = DAT_00018238;\n            if (DAT_00018254 == 0) {\nLAB_00011c5e:\n              pcVar5 = DAT_00018238;\n              if (DAT_00018238 == (char *)0x0) {\nLAB_00011d70:\n                pcVar5 = local_98;\n              }\n            }\n            else {\n              if (DAT_00018238 == (char *)0x0) goto LAB_00011d70;\n              *(undefined4 *)(puVar10 + -0xc) = 0x2f;\n              *(char **)(puVar10 + -0x10) = DAT_00018238;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11c4e;\n              pcVar6 = strrchr(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc));\n              if (pcVar6 != (char *)0x0) {\n                DAT_00018238 = pcVar6 + 1;\n                goto LAB_00011c5e;\n              }\n            }\n            *(char **)(puVar10 + -0xc) = pcVar5;\n            *(undefined **)(puVar10 + -0x10) = local_a0;\n            *(undefined4 *)(puVar10 + -0x14) = 0x11c75;\n            printf(*(char **)(puVar10 + -0x10));\n            if (DAT_00018230 == 0) {\n              *(undefined **)(puVar10 + -0x10) = &DAT_000153c0;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d5f;\n              puts(*(char **)(puVar10 + -0x10));\n            }\n            else if (DAT_0001822c == 0) {\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(undefined **)(puVar10 + -0x10) = &DAT_0001545d;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d48;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            else {\n              *(int *)(puVar10 + -8) = DAT_0001822c;\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(char **)(puVar10 + -0x10) = "%u (discriminator %u)\n";\n              *(undefined4 *)(puVar10 + -0x14) = 0x11ca5;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            if (DAT_00018268 == 0) {\n              DAT_00018228 = 0;\n              goto LAB_000119cc;\n            }\n            puVar2 = ppuVar4[1];\n            *(int **)(puVar10 + -4) = &DAT_00018230;\n            *(char ***)(puVar10 + -8) = &DAT_00018234;\n            *(char ***)(puVar10 + -0xc) = &DAT_00018238;\n            *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n            pcVar1 = *(code **)(puVar2 + 0x130);\n            *(undefined4 *)(puVar10 + -0x14) = 0x11cef;\n            DAT_00018228 = (*pcVar1)();\n            if (DAT_00018228 == 0) goto LAB_000119cc;\n          } while (DAT_00018258 == 0);\n          *(undefined4 *)(puVar10 + -8) = 5;\n          *(char **)(puVar10 + -0xc) = " (inlined by) ";\n          *(undefined4 *)(puVar10 + -0x10) = 0;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11d21;\n          uVar7 = dcgettext();\n          *(undefined4 *)(puVar10 + -0x10) = uVar7;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11d29;\n          printf(*(char **)(puVar10 + -0x10));\n        } while( true );\n      }\n    }" ({ "{") (expression_statement "*(undefined4 *)(puVar10 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar10 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar10 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar10 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -8)" (( "(") (binary_expression "puVar10 + -8" (identifier "puVar10") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(code **)(puVar10 + -0xc) = FUN_00012210;" (assignment_expression "*(code **)(puVar10 + -0xc) = FUN_00012210" (pointer_expression "*(code **)(puVar10 + -0xc)" (* "*") (cast_expression "(code **)(puVar10 + -0xc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0xc)" (( "(") (binary_expression "puVar10 + -0xc" (identifier "puVar10") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "FUN_00012210")) (; ";")) (expression_statement "*(undefined ***)(puVar10 + -0x10) = local_9c;" (assignment_expression "*(undefined ***)(puVar10 + -0x10) = local_9c" (pointer_expression "*(undefined ***)(puVar10 + -0x10)" (* "*") (cast_expression "(undefined ***)(puVar10 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar10 + -0x10)" (( "(") (binary_expression "puVar10 + -0x10" (identifier "puVar10") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_9c")) (; ";")) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x11b67;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x11b67" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar10 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -0x14)" (( "(") (binary_expression "puVar10 + -0x14" (identifier "puVar10") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x11b67")) (; ";")) (expression_statement "bfd_map_over_sections();" (call_expression "bfd_map_over_sections()" (identifier "bfd_map_over_sections") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "ppuVar4 = local_9c;" (assignment_expression "ppuVar4 = local_9c" (identifier "ppuVar4") (= "=") (identifier "local_9c")) (; ";")) (labeled_statement "joined_r0x00011b72:\n      uVar19 = CONCAT44(DAT_00018244,DAT_00018240);" (statement_identifier "joined_r0x00011b72") (: ":") (expression_statement "uVar19 = CONCAT44(DAT_00018244,DAT_00018240);" (assignment_expression "uVar19 = CONCAT44(DAT_00018244,DAT_00018240)" (identifier "uVar19") (= "=") (call_expression "CONCAT44(DAT_00018244,DAT_00018240)" (identifier "CONCAT44") (argument_list "(DAT_00018244,DAT_00018240)" (( "(") (identifier "DAT_00018244") (, ",") (identifier "DAT_00018240") () ")")))) (; ";"))) (expression_statement "local_9c = ppuVar4;" (assignment_expression "local_9c = ppuVar4" (identifier "local_9c") (= "=") (identifier "ppuVar4")) (; ";")) (if_statement "if (DAT_00018228 != 0) {\n        local_a0 = &DAT_00015442;\n        local_98 = "??";\n        do {\n          local_9c = (undefined **)0x15817;\n          do {\n            pcVar5 = DAT_00018234;\n            if (DAT_00018260 != 0) {\n              pcVar6 = local_98;\n              pcVar16 = DAT_00018234;\n              if (DAT_00018234 != (char *)0x0) {\n                if (*DAT_00018234 == '\0') {\n                  pcVar16 = (char *)0x0;\n                }\n                else {\n                  if (DAT_0001825c != 0) {\n                    *(undefined4 *)(puVar10 + -8) = 3;\n                    *(char **)(puVar10 + -0xc) = DAT_00018234;\n                    *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n                    *(undefined4 *)(puVar10 + -0x14) = 0x11db4;\n                    pcVar6 = (char *)bfd_demangle();\n                    pcVar16 = pcVar6;\n                    if (pcVar6 != (char *)0x0) goto LAB_00011bdd;\n                  }\n                  pcVar6 = pcVar5;\n                  pcVar16 = (char *)0x0;\n                }\n              }\nLAB_00011bdd:\n              *(char **)(puVar10 + -0xc) = pcVar6;\n              *(undefined ***)(puVar10 + -0x10) = local_9c;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11bec;\n              printf(*(char **)(puVar10 + -0x10));\n              if (DAT_00018258 == 0) {\n                *(undefined4 *)(puVar10 + -0x10) = 10;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11d8a;\n                putchar(*(int *)(puVar10 + -0x10));\n              }\n              else {\n                *(undefined4 *)(puVar10 + -8) = 5;\n                *(undefined **)(puVar10 + -0xc) = &DAT_0001543d;\n                *(undefined4 *)(puVar10 + -0x10) = 0;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c10;\n                uVar7 = dcgettext();\n                *(undefined4 *)(puVar10 + -0x10) = uVar7;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c18;\n                printf(*(char **)(puVar10 + -0x10));\n              }\n              if (pcVar16 != (char *)0x0) {\n                *(char **)(puVar10 + -0x10) = pcVar16;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c28;\n                free(*(void **)(puVar10 + -0x10));\n              }\n            }\n            pcVar5 = DAT_00018238;\n            if (DAT_00018254 == 0) {\nLAB_00011c5e:\n              pcVar5 = DAT_00018238;\n              if (DAT_00018238 == (char *)0x0) {\nLAB_00011d70:\n                pcVar5 = local_98;\n              }\n            }\n            else {\n              if (DAT_00018238 == (char *)0x0) goto LAB_00011d70;\n              *(undefined4 *)(puVar10 + -0xc) = 0x2f;\n              *(char **)(puVar10 + -0x10) = DAT_00018238;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11c4e;\n              pcVar6 = strrchr(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc));\n              if (pcVar6 != (char *)0x0) {\n                DAT_00018238 = pcVar6 + 1;\n                goto LAB_00011c5e;\n              }\n            }\n            *(char **)(puVar10 + -0xc) = pcVar5;\n            *(undefined **)(puVar10 + -0x10) = local_a0;\n            *(undefined4 *)(puVar10 + -0x14) = 0x11c75;\n            printf(*(char **)(puVar10 + -0x10));\n            if (DAT_00018230 == 0) {\n              *(undefined **)(puVar10 + -0x10) = &DAT_000153c0;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d5f;\n              puts(*(char **)(puVar10 + -0x10));\n            }\n            else if (DAT_0001822c == 0) {\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(undefined **)(puVar10 + -0x10) = &DAT_0001545d;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d48;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            else {\n              *(int *)(puVar10 + -8) = DAT_0001822c;\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(char **)(puVar10 + -0x10) = "%u (discriminator %u)\n";\n              *(undefined4 *)(puVar10 + -0x14) = 0x11ca5;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            if (DAT_00018268 == 0) {\n              DAT_00018228 = 0;\n              goto LAB_000119cc;\n            }\n            puVar2 = ppuVar4[1];\n            *(int **)(puVar10 + -4) = &DAT_00018230;\n            *(char ***)(puVar10 + -8) = &DAT_00018234;\n            *(char ***)(puVar10 + -0xc) = &DAT_00018238;\n            *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n            pcVar1 = *(code **)(puVar2 + 0x130);\n            *(undefined4 *)(puVar10 + -0x14) = 0x11cef;\n            DAT_00018228 = (*pcVar1)();\n            if (DAT_00018228 == 0) goto LAB_000119cc;\n          } while (DAT_00018258 == 0);\n          *(undefined4 *)(puVar10 + -8) = 5;\n          *(char **)(puVar10 + -0xc) = " (inlined by) ";\n          *(undefined4 *)(puVar10 + -0x10) = 0;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11d21;\n          uVar7 = dcgettext();\n          *(undefined4 *)(puVar10 + -0x10) = uVar7;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11d29;\n          printf(*(char **)(puVar10 + -0x10));\n        } while( true );\n      }" (if "if") (parenthesized_expression "(DAT_00018228 != 0)" (( "(") (binary_expression "DAT_00018228 != 0" (identifier "DAT_00018228") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        local_a0 = &DAT_00015442;\n        local_98 = "??";\n        do {\n          local_9c = (undefined **)0x15817;\n          do {\n            pcVar5 = DAT_00018234;\n            if (DAT_00018260 != 0) {\n              pcVar6 = local_98;\n              pcVar16 = DAT_00018234;\n              if (DAT_00018234 != (char *)0x0) {\n                if (*DAT_00018234 == '\0') {\n                  pcVar16 = (char *)0x0;\n                }\n                else {\n                  if (DAT_0001825c != 0) {\n                    *(undefined4 *)(puVar10 + -8) = 3;\n                    *(char **)(puVar10 + -0xc) = DAT_00018234;\n                    *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n                    *(undefined4 *)(puVar10 + -0x14) = 0x11db4;\n                    pcVar6 = (char *)bfd_demangle();\n                    pcVar16 = pcVar6;\n                    if (pcVar6 != (char *)0x0) goto LAB_00011bdd;\n                  }\n                  pcVar6 = pcVar5;\n                  pcVar16 = (char *)0x0;\n                }\n              }\nLAB_00011bdd:\n              *(char **)(puVar10 + -0xc) = pcVar6;\n              *(undefined ***)(puVar10 + -0x10) = local_9c;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11bec;\n              printf(*(char **)(puVar10 + -0x10));\n              if (DAT_00018258 == 0) {\n                *(undefined4 *)(puVar10 + -0x10) = 10;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11d8a;\n                putchar(*(int *)(puVar10 + -0x10));\n              }\n              else {\n                *(undefined4 *)(puVar10 + -8) = 5;\n                *(undefined **)(puVar10 + -0xc) = &DAT_0001543d;\n                *(undefined4 *)(puVar10 + -0x10) = 0;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c10;\n                uVar7 = dcgettext();\n                *(undefined4 *)(puVar10 + -0x10) = uVar7;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c18;\n                printf(*(char **)(puVar10 + -0x10));\n              }\n              if (pcVar16 != (char *)0x0) {\n                *(char **)(puVar10 + -0x10) = pcVar16;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c28;\n                free(*(void **)(puVar10 + -0x10));\n              }\n            }\n            pcVar5 = DAT_00018238;\n            if (DAT_00018254 == 0) {\nLAB_00011c5e:\n              pcVar5 = DAT_00018238;\n              if (DAT_00018238 == (char *)0x0) {\nLAB_00011d70:\n                pcVar5 = local_98;\n              }\n            }\n            else {\n              if (DAT_00018238 == (char *)0x0) goto LAB_00011d70;\n              *(undefined4 *)(puVar10 + -0xc) = 0x2f;\n              *(char **)(puVar10 + -0x10) = DAT_00018238;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11c4e;\n              pcVar6 = strrchr(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc));\n              if (pcVar6 != (char *)0x0) {\n                DAT_00018238 = pcVar6 + 1;\n                goto LAB_00011c5e;\n              }\n            }\n            *(char **)(puVar10 + -0xc) = pcVar5;\n            *(undefined **)(puVar10 + -0x10) = local_a0;\n            *(undefined4 *)(puVar10 + -0x14) = 0x11c75;\n            printf(*(char **)(puVar10 + -0x10));\n            if (DAT_00018230 == 0) {\n              *(undefined **)(puVar10 + -0x10) = &DAT_000153c0;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d5f;\n              puts(*(char **)(puVar10 + -0x10));\n            }\n            else if (DAT_0001822c == 0) {\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(undefined **)(puVar10 + -0x10) = &DAT_0001545d;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d48;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            else {\n              *(int *)(puVar10 + -8) = DAT_0001822c;\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(char **)(puVar10 + -0x10) = "%u (discriminator %u)\n";\n              *(undefined4 *)(puVar10 + -0x14) = 0x11ca5;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            if (DAT_00018268 == 0) {\n              DAT_00018228 = 0;\n              goto LAB_000119cc;\n            }\n            puVar2 = ppuVar4[1];\n            *(int **)(puVar10 + -4) = &DAT_00018230;\n            *(char ***)(puVar10 + -8) = &DAT_00018234;\n            *(char ***)(puVar10 + -0xc) = &DAT_00018238;\n            *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n            pcVar1 = *(code **)(puVar2 + 0x130);\n            *(undefined4 *)(puVar10 + -0x14) = 0x11cef;\n            DAT_00018228 = (*pcVar1)();\n            if (DAT_00018228 == 0) goto LAB_000119cc;\n          } while (DAT_00018258 == 0);\n          *(undefined4 *)(puVar10 + -8) = 5;\n          *(char **)(puVar10 + -0xc) = " (inlined by) ";\n          *(undefined4 *)(puVar10 + -0x10) = 0;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11d21;\n          uVar7 = dcgettext();\n          *(undefined4 *)(puVar10 + -0x10) = uVar7;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11d29;\n          printf(*(char **)(puVar10 + -0x10));\n        } while( true );\n      }" ({ "{") (expression_statement "local_a0 = &DAT_00015442;" (assignment_expression "local_a0 = &DAT_00015442" (identifier "local_a0") (= "=") (pointer_expression "&DAT_00015442" (& "&") (identifier "DAT_00015442"))) (; ";")) (expression_statement "local_98 = "??";" (assignment_expression "local_98 = "??"" (identifier "local_98") (= "=") (string_literal ""??"" (" """) (string_content "??") (" """))) (; ";")) (do_statement "do {\n          local_9c = (undefined **)0x15817;\n          do {\n            pcVar5 = DAT_00018234;\n            if (DAT_00018260 != 0) {\n              pcVar6 = local_98;\n              pcVar16 = DAT_00018234;\n              if (DAT_00018234 != (char *)0x0) {\n                if (*DAT_00018234 == '\0') {\n                  pcVar16 = (char *)0x0;\n                }\n                else {\n                  if (DAT_0001825c != 0) {\n                    *(undefined4 *)(puVar10 + -8) = 3;\n                    *(char **)(puVar10 + -0xc) = DAT_00018234;\n                    *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n                    *(undefined4 *)(puVar10 + -0x14) = 0x11db4;\n                    pcVar6 = (char *)bfd_demangle();\n                    pcVar16 = pcVar6;\n                    if (pcVar6 != (char *)0x0) goto LAB_00011bdd;\n                  }\n                  pcVar6 = pcVar5;\n                  pcVar16 = (char *)0x0;\n                }\n              }\nLAB_00011bdd:\n              *(char **)(puVar10 + -0xc) = pcVar6;\n              *(undefined ***)(puVar10 + -0x10) = local_9c;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11bec;\n              printf(*(char **)(puVar10 + -0x10));\n              if (DAT_00018258 == 0) {\n                *(undefined4 *)(puVar10 + -0x10) = 10;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11d8a;\n                putchar(*(int *)(puVar10 + -0x10));\n              }\n              else {\n                *(undefined4 *)(puVar10 + -8) = 5;\n                *(undefined **)(puVar10 + -0xc) = &DAT_0001543d;\n                *(undefined4 *)(puVar10 + -0x10) = 0;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c10;\n                uVar7 = dcgettext();\n                *(undefined4 *)(puVar10 + -0x10) = uVar7;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c18;\n                printf(*(char **)(puVar10 + -0x10));\n              }\n              if (pcVar16 != (char *)0x0) {\n                *(char **)(puVar10 + -0x10) = pcVar16;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c28;\n                free(*(void **)(puVar10 + -0x10));\n              }\n            }\n            pcVar5 = DAT_00018238;\n            if (DAT_00018254 == 0) {\nLAB_00011c5e:\n              pcVar5 = DAT_00018238;\n              if (DAT_00018238 == (char *)0x0) {\nLAB_00011d70:\n                pcVar5 = local_98;\n              }\n            }\n            else {\n              if (DAT_00018238 == (char *)0x0) goto LAB_00011d70;\n              *(undefined4 *)(puVar10 + -0xc) = 0x2f;\n              *(char **)(puVar10 + -0x10) = DAT_00018238;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11c4e;\n              pcVar6 = strrchr(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc));\n              if (pcVar6 != (char *)0x0) {\n                DAT_00018238 = pcVar6 + 1;\n                goto LAB_00011c5e;\n              }\n            }\n            *(char **)(puVar10 + -0xc) = pcVar5;\n            *(undefined **)(puVar10 + -0x10) = local_a0;\n            *(undefined4 *)(puVar10 + -0x14) = 0x11c75;\n            printf(*(char **)(puVar10 + -0x10));\n            if (DAT_00018230 == 0) {\n              *(undefined **)(puVar10 + -0x10) = &DAT_000153c0;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d5f;\n              puts(*(char **)(puVar10 + -0x10));\n            }\n            else if (DAT_0001822c == 0) {\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(undefined **)(puVar10 + -0x10) = &DAT_0001545d;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d48;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            else {\n              *(int *)(puVar10 + -8) = DAT_0001822c;\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(char **)(puVar10 + -0x10) = "%u (discriminator %u)\n";\n              *(undefined4 *)(puVar10 + -0x14) = 0x11ca5;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            if (DAT_00018268 == 0) {\n              DAT_00018228 = 0;\n              goto LAB_000119cc;\n            }\n            puVar2 = ppuVar4[1];\n            *(int **)(puVar10 + -4) = &DAT_00018230;\n            *(char ***)(puVar10 + -8) = &DAT_00018234;\n            *(char ***)(puVar10 + -0xc) = &DAT_00018238;\n            *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n            pcVar1 = *(code **)(puVar2 + 0x130);\n            *(undefined4 *)(puVar10 + -0x14) = 0x11cef;\n            DAT_00018228 = (*pcVar1)();\n            if (DAT_00018228 == 0) goto LAB_000119cc;\n          } while (DAT_00018258 == 0);\n          *(undefined4 *)(puVar10 + -8) = 5;\n          *(char **)(puVar10 + -0xc) = " (inlined by) ";\n          *(undefined4 *)(puVar10 + -0x10) = 0;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11d21;\n          uVar7 = dcgettext();\n          *(undefined4 *)(puVar10 + -0x10) = uVar7;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11d29;\n          printf(*(char **)(puVar10 + -0x10));\n        } while( true );" (do "do") (compound_statement "{\n          local_9c = (undefined **)0x15817;\n          do {\n            pcVar5 = DAT_00018234;\n            if (DAT_00018260 != 0) {\n              pcVar6 = local_98;\n              pcVar16 = DAT_00018234;\n              if (DAT_00018234 != (char *)0x0) {\n                if (*DAT_00018234 == '\0') {\n                  pcVar16 = (char *)0x0;\n                }\n                else {\n                  if (DAT_0001825c != 0) {\n                    *(undefined4 *)(puVar10 + -8) = 3;\n                    *(char **)(puVar10 + -0xc) = DAT_00018234;\n                    *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n                    *(undefined4 *)(puVar10 + -0x14) = 0x11db4;\n                    pcVar6 = (char *)bfd_demangle();\n                    pcVar16 = pcVar6;\n                    if (pcVar6 != (char *)0x0) goto LAB_00011bdd;\n                  }\n                  pcVar6 = pcVar5;\n                  pcVar16 = (char *)0x0;\n                }\n              }\nLAB_00011bdd:\n              *(char **)(puVar10 + -0xc) = pcVar6;\n              *(undefined ***)(puVar10 + -0x10) = local_9c;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11bec;\n              printf(*(char **)(puVar10 + -0x10));\n              if (DAT_00018258 == 0) {\n                *(undefined4 *)(puVar10 + -0x10) = 10;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11d8a;\n                putchar(*(int *)(puVar10 + -0x10));\n              }\n              else {\n                *(undefined4 *)(puVar10 + -8) = 5;\n                *(undefined **)(puVar10 + -0xc) = &DAT_0001543d;\n                *(undefined4 *)(puVar10 + -0x10) = 0;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c10;\n                uVar7 = dcgettext();\n                *(undefined4 *)(puVar10 + -0x10) = uVar7;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c18;\n                printf(*(char **)(puVar10 + -0x10));\n              }\n              if (pcVar16 != (char *)0x0) {\n                *(char **)(puVar10 + -0x10) = pcVar16;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c28;\n                free(*(void **)(puVar10 + -0x10));\n              }\n            }\n            pcVar5 = DAT_00018238;\n            if (DAT_00018254 == 0) {\nLAB_00011c5e:\n              pcVar5 = DAT_00018238;\n              if (DAT_00018238 == (char *)0x0) {\nLAB_00011d70:\n                pcVar5 = local_98;\n              }\n            }\n            else {\n              if (DAT_00018238 == (char *)0x0) goto LAB_00011d70;\n              *(undefined4 *)(puVar10 + -0xc) = 0x2f;\n              *(char **)(puVar10 + -0x10) = DAT_00018238;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11c4e;\n              pcVar6 = strrchr(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc));\n              if (pcVar6 != (char *)0x0) {\n                DAT_00018238 = pcVar6 + 1;\n                goto LAB_00011c5e;\n              }\n            }\n            *(char **)(puVar10 + -0xc) = pcVar5;\n            *(undefined **)(puVar10 + -0x10) = local_a0;\n            *(undefined4 *)(puVar10 + -0x14) = 0x11c75;\n            printf(*(char **)(puVar10 + -0x10));\n            if (DAT_00018230 == 0) {\n              *(undefined **)(puVar10 + -0x10) = &DAT_000153c0;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d5f;\n              puts(*(char **)(puVar10 + -0x10));\n            }\n            else if (DAT_0001822c == 0) {\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(undefined **)(puVar10 + -0x10) = &DAT_0001545d;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d48;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            else {\n              *(int *)(puVar10 + -8) = DAT_0001822c;\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(char **)(puVar10 + -0x10) = "%u (discriminator %u)\n";\n              *(undefined4 *)(puVar10 + -0x14) = 0x11ca5;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            if (DAT_00018268 == 0) {\n              DAT_00018228 = 0;\n              goto LAB_000119cc;\n            }\n            puVar2 = ppuVar4[1];\n            *(int **)(puVar10 + -4) = &DAT_00018230;\n            *(char ***)(puVar10 + -8) = &DAT_00018234;\n            *(char ***)(puVar10 + -0xc) = &DAT_00018238;\n            *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n            pcVar1 = *(code **)(puVar2 + 0x130);\n            *(undefined4 *)(puVar10 + -0x14) = 0x11cef;\n            DAT_00018228 = (*pcVar1)();\n            if (DAT_00018228 == 0) goto LAB_000119cc;\n          } while (DAT_00018258 == 0);\n          *(undefined4 *)(puVar10 + -8) = 5;\n          *(char **)(puVar10 + -0xc) = " (inlined by) ";\n          *(undefined4 *)(puVar10 + -0x10) = 0;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11d21;\n          uVar7 = dcgettext();\n          *(undefined4 *)(puVar10 + -0x10) = uVar7;\n          *(undefined4 *)(puVar10 + -0x14) = 0x11d29;\n          printf(*(char **)(puVar10 + -0x10));\n        }" ({ "{") (expression_statement "local_9c = (undefined **)0x15817;" (assignment_expression "local_9c = (undefined **)0x15817" (identifier "local_9c") (= "=") (cast_expression "(undefined **)0x15817" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x15817"))) (; ";")) (do_statement "do {\n            pcVar5 = DAT_00018234;\n            if (DAT_00018260 != 0) {\n              pcVar6 = local_98;\n              pcVar16 = DAT_00018234;\n              if (DAT_00018234 != (char *)0x0) {\n                if (*DAT_00018234 == '\0') {\n                  pcVar16 = (char *)0x0;\n                }\n                else {\n                  if (DAT_0001825c != 0) {\n                    *(undefined4 *)(puVar10 + -8) = 3;\n                    *(char **)(puVar10 + -0xc) = DAT_00018234;\n                    *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n                    *(undefined4 *)(puVar10 + -0x14) = 0x11db4;\n                    pcVar6 = (char *)bfd_demangle();\n                    pcVar16 = pcVar6;\n                    if (pcVar6 != (char *)0x0) goto LAB_00011bdd;\n                  }\n                  pcVar6 = pcVar5;\n                  pcVar16 = (char *)0x0;\n                }\n              }\nLAB_00011bdd:\n              *(char **)(puVar10 + -0xc) = pcVar6;\n              *(undefined ***)(puVar10 + -0x10) = local_9c;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11bec;\n              printf(*(char **)(puVar10 + -0x10));\n              if (DAT_00018258 == 0) {\n                *(undefined4 *)(puVar10 + -0x10) = 10;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11d8a;\n                putchar(*(int *)(puVar10 + -0x10));\n              }\n              else {\n                *(undefined4 *)(puVar10 + -8) = 5;\n                *(undefined **)(puVar10 + -0xc) = &DAT_0001543d;\n                *(undefined4 *)(puVar10 + -0x10) = 0;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c10;\n                uVar7 = dcgettext();\n                *(undefined4 *)(puVar10 + -0x10) = uVar7;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c18;\n                printf(*(char **)(puVar10 + -0x10));\n              }\n              if (pcVar16 != (char *)0x0) {\n                *(char **)(puVar10 + -0x10) = pcVar16;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c28;\n                free(*(void **)(puVar10 + -0x10));\n              }\n            }\n            pcVar5 = DAT_00018238;\n            if (DAT_00018254 == 0) {\nLAB_00011c5e:\n              pcVar5 = DAT_00018238;\n              if (DAT_00018238 == (char *)0x0) {\nLAB_00011d70:\n                pcVar5 = local_98;\n              }\n            }\n            else {\n              if (DAT_00018238 == (char *)0x0) goto LAB_00011d70;\n              *(undefined4 *)(puVar10 + -0xc) = 0x2f;\n              *(char **)(puVar10 + -0x10) = DAT_00018238;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11c4e;\n              pcVar6 = strrchr(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc));\n              if (pcVar6 != (char *)0x0) {\n                DAT_00018238 = pcVar6 + 1;\n                goto LAB_00011c5e;\n              }\n            }\n            *(char **)(puVar10 + -0xc) = pcVar5;\n            *(undefined **)(puVar10 + -0x10) = local_a0;\n            *(undefined4 *)(puVar10 + -0x14) = 0x11c75;\n            printf(*(char **)(puVar10 + -0x10));\n            if (DAT_00018230 == 0) {\n              *(undefined **)(puVar10 + -0x10) = &DAT_000153c0;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d5f;\n              puts(*(char **)(puVar10 + -0x10));\n            }\n            else if (DAT_0001822c == 0) {\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(undefined **)(puVar10 + -0x10) = &DAT_0001545d;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d48;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            else {\n              *(int *)(puVar10 + -8) = DAT_0001822c;\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(char **)(puVar10 + -0x10) = "%u (discriminator %u)\n";\n              *(undefined4 *)(puVar10 + -0x14) = 0x11ca5;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            if (DAT_00018268 == 0) {\n              DAT_00018228 = 0;\n              goto LAB_000119cc;\n            }\n            puVar2 = ppuVar4[1];\n            *(int **)(puVar10 + -4) = &DAT_00018230;\n            *(char ***)(puVar10 + -8) = &DAT_00018234;\n            *(char ***)(puVar10 + -0xc) = &DAT_00018238;\n            *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n            pcVar1 = *(code **)(puVar2 + 0x130);\n            *(undefined4 *)(puVar10 + -0x14) = 0x11cef;\n            DAT_00018228 = (*pcVar1)();\n            if (DAT_00018228 == 0) goto LAB_000119cc;\n          } while (DAT_00018258 == 0);" (do "do") (compound_statement "{\n            pcVar5 = DAT_00018234;\n            if (DAT_00018260 != 0) {\n              pcVar6 = local_98;\n              pcVar16 = DAT_00018234;\n              if (DAT_00018234 != (char *)0x0) {\n                if (*DAT_00018234 == '\0') {\n                  pcVar16 = (char *)0x0;\n                }\n                else {\n                  if (DAT_0001825c != 0) {\n                    *(undefined4 *)(puVar10 + -8) = 3;\n                    *(char **)(puVar10 + -0xc) = DAT_00018234;\n                    *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n                    *(undefined4 *)(puVar10 + -0x14) = 0x11db4;\n                    pcVar6 = (char *)bfd_demangle();\n                    pcVar16 = pcVar6;\n                    if (pcVar6 != (char *)0x0) goto LAB_00011bdd;\n                  }\n                  pcVar6 = pcVar5;\n                  pcVar16 = (char *)0x0;\n                }\n              }\nLAB_00011bdd:\n              *(char **)(puVar10 + -0xc) = pcVar6;\n              *(undefined ***)(puVar10 + -0x10) = local_9c;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11bec;\n              printf(*(char **)(puVar10 + -0x10));\n              if (DAT_00018258 == 0) {\n                *(undefined4 *)(puVar10 + -0x10) = 10;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11d8a;\n                putchar(*(int *)(puVar10 + -0x10));\n              }\n              else {\n                *(undefined4 *)(puVar10 + -8) = 5;\n                *(undefined **)(puVar10 + -0xc) = &DAT_0001543d;\n                *(undefined4 *)(puVar10 + -0x10) = 0;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c10;\n                uVar7 = dcgettext();\n                *(undefined4 *)(puVar10 + -0x10) = uVar7;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c18;\n                printf(*(char **)(puVar10 + -0x10));\n              }\n              if (pcVar16 != (char *)0x0) {\n                *(char **)(puVar10 + -0x10) = pcVar16;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c28;\n                free(*(void **)(puVar10 + -0x10));\n              }\n            }\n            pcVar5 = DAT_00018238;\n            if (DAT_00018254 == 0) {\nLAB_00011c5e:\n              pcVar5 = DAT_00018238;\n              if (DAT_00018238 == (char *)0x0) {\nLAB_00011d70:\n                pcVar5 = local_98;\n              }\n            }\n            else {\n              if (DAT_00018238 == (char *)0x0) goto LAB_00011d70;\n              *(undefined4 *)(puVar10 + -0xc) = 0x2f;\n              *(char **)(puVar10 + -0x10) = DAT_00018238;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11c4e;\n              pcVar6 = strrchr(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc));\n              if (pcVar6 != (char *)0x0) {\n                DAT_00018238 = pcVar6 + 1;\n                goto LAB_00011c5e;\n              }\n            }\n            *(char **)(puVar10 + -0xc) = pcVar5;\n            *(undefined **)(puVar10 + -0x10) = local_a0;\n            *(undefined4 *)(puVar10 + -0x14) = 0x11c75;\n            printf(*(char **)(puVar10 + -0x10));\n            if (DAT_00018230 == 0) {\n              *(undefined **)(puVar10 + -0x10) = &DAT_000153c0;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d5f;\n              puts(*(char **)(puVar10 + -0x10));\n            }\n            else if (DAT_0001822c == 0) {\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(undefined **)(puVar10 + -0x10) = &DAT_0001545d;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d48;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            else {\n              *(int *)(puVar10 + -8) = DAT_0001822c;\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(char **)(puVar10 + -0x10) = "%u (discriminator %u)\n";\n              *(undefined4 *)(puVar10 + -0x14) = 0x11ca5;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            if (DAT_00018268 == 0) {\n              DAT_00018228 = 0;\n              goto LAB_000119cc;\n            }\n            puVar2 = ppuVar4[1];\n            *(int **)(puVar10 + -4) = &DAT_00018230;\n            *(char ***)(puVar10 + -8) = &DAT_00018234;\n            *(char ***)(puVar10 + -0xc) = &DAT_00018238;\n            *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n            pcVar1 = *(code **)(puVar2 + 0x130);\n            *(undefined4 *)(puVar10 + -0x14) = 0x11cef;\n            DAT_00018228 = (*pcVar1)();\n            if (DAT_00018228 == 0) goto LAB_000119cc;\n          }" ({ "{") (expression_statement "pcVar5 = DAT_00018234;" (assignment_expression "pcVar5 = DAT_00018234" (identifier "pcVar5") (= "=") (identifier "DAT_00018234")) (; ";")) (if_statement "if (DAT_00018260 != 0) {\n              pcVar6 = local_98;\n              pcVar16 = DAT_00018234;\n              if (DAT_00018234 != (char *)0x0) {\n                if (*DAT_00018234 == '\0') {\n                  pcVar16 = (char *)0x0;\n                }\n                else {\n                  if (DAT_0001825c != 0) {\n                    *(undefined4 *)(puVar10 + -8) = 3;\n                    *(char **)(puVar10 + -0xc) = DAT_00018234;\n                    *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n                    *(undefined4 *)(puVar10 + -0x14) = 0x11db4;\n                    pcVar6 = (char *)bfd_demangle();\n                    pcVar16 = pcVar6;\n                    if (pcVar6 != (char *)0x0) goto LAB_00011bdd;\n                  }\n                  pcVar6 = pcVar5;\n                  pcVar16 = (char *)0x0;\n                }\n              }\nLAB_00011bdd:\n              *(char **)(puVar10 + -0xc) = pcVar6;\n              *(undefined ***)(puVar10 + -0x10) = local_9c;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11bec;\n              printf(*(char **)(puVar10 + -0x10));\n              if (DAT_00018258 == 0) {\n                *(undefined4 *)(puVar10 + -0x10) = 10;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11d8a;\n                putchar(*(int *)(puVar10 + -0x10));\n              }\n              else {\n                *(undefined4 *)(puVar10 + -8) = 5;\n                *(undefined **)(puVar10 + -0xc) = &DAT_0001543d;\n                *(undefined4 *)(puVar10 + -0x10) = 0;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c10;\n                uVar7 = dcgettext();\n                *(undefined4 *)(puVar10 + -0x10) = uVar7;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c18;\n                printf(*(char **)(puVar10 + -0x10));\n              }\n              if (pcVar16 != (char *)0x0) {\n                *(char **)(puVar10 + -0x10) = pcVar16;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c28;\n                free(*(void **)(puVar10 + -0x10));\n              }\n            }" (if "if") (parenthesized_expression "(DAT_00018260 != 0)" (( "(") (binary_expression "DAT_00018260 != 0" (identifier "DAT_00018260") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              pcVar6 = local_98;\n              pcVar16 = DAT_00018234;\n              if (DAT_00018234 != (char *)0x0) {\n                if (*DAT_00018234 == '\0') {\n                  pcVar16 = (char *)0x0;\n                }\n                else {\n                  if (DAT_0001825c != 0) {\n                    *(undefined4 *)(puVar10 + -8) = 3;\n                    *(char **)(puVar10 + -0xc) = DAT_00018234;\n                    *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n                    *(undefined4 *)(puVar10 + -0x14) = 0x11db4;\n                    pcVar6 = (char *)bfd_demangle();\n                    pcVar16 = pcVar6;\n                    if (pcVar6 != (char *)0x0) goto LAB_00011bdd;\n                  }\n                  pcVar6 = pcVar5;\n                  pcVar16 = (char *)0x0;\n                }\n              }\nLAB_00011bdd:\n              *(char **)(puVar10 + -0xc) = pcVar6;\n              *(undefined ***)(puVar10 + -0x10) = local_9c;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11bec;\n              printf(*(char **)(puVar10 + -0x10));\n              if (DAT_00018258 == 0) {\n                *(undefined4 *)(puVar10 + -0x10) = 10;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11d8a;\n                putchar(*(int *)(puVar10 + -0x10));\n              }\n              else {\n                *(undefined4 *)(puVar10 + -8) = 5;\n                *(undefined **)(puVar10 + -0xc) = &DAT_0001543d;\n                *(undefined4 *)(puVar10 + -0x10) = 0;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c10;\n                uVar7 = dcgettext();\n                *(undefined4 *)(puVar10 + -0x10) = uVar7;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c18;\n                printf(*(char **)(puVar10 + -0x10));\n              }\n              if (pcVar16 != (char *)0x0) {\n                *(char **)(puVar10 + -0x10) = pcVar16;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c28;\n                free(*(void **)(puVar10 + -0x10));\n              }\n            }" ({ "{") (expression_statement "pcVar6 = local_98;" (assignment_expression "pcVar6 = local_98" (identifier "pcVar6") (= "=") (identifier "local_98")) (; ";")) (expression_statement "pcVar16 = DAT_00018234;" (assignment_expression "pcVar16 = DAT_00018234" (identifier "pcVar16") (= "=") (identifier "DAT_00018234")) (; ";")) (if_statement "if (DAT_00018234 != (char *)0x0) {\n                if (*DAT_00018234 == '\0') {\n                  pcVar16 = (char *)0x0;\n                }\n                else {\n                  if (DAT_0001825c != 0) {\n                    *(undefined4 *)(puVar10 + -8) = 3;\n                    *(char **)(puVar10 + -0xc) = DAT_00018234;\n                    *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n                    *(undefined4 *)(puVar10 + -0x14) = 0x11db4;\n                    pcVar6 = (char *)bfd_demangle();\n                    pcVar16 = pcVar6;\n                    if (pcVar6 != (char *)0x0) goto LAB_00011bdd;\n                  }\n                  pcVar6 = pcVar5;\n                  pcVar16 = (char *)0x0;\n                }\n              }" (if "if") (parenthesized_expression "(DAT_00018234 != (char *)0x0)" (( "(") (binary_expression "DAT_00018234 != (char *)0x0" (identifier "DAT_00018234") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                if (*DAT_00018234 == '\0') {\n                  pcVar16 = (char *)0x0;\n                }\n                else {\n                  if (DAT_0001825c != 0) {\n                    *(undefined4 *)(puVar10 + -8) = 3;\n                    *(char **)(puVar10 + -0xc) = DAT_00018234;\n                    *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n                    *(undefined4 *)(puVar10 + -0x14) = 0x11db4;\n                    pcVar6 = (char *)bfd_demangle();\n                    pcVar16 = pcVar6;\n                    if (pcVar6 != (char *)0x0) goto LAB_00011bdd;\n                  }\n                  pcVar6 = pcVar5;\n                  pcVar16 = (char *)0x0;\n                }\n              }" ({ "{") (if_statement "if (*DAT_00018234 == '\0') {\n                  pcVar16 = (char *)0x0;\n                }\n                else {\n                  if (DAT_0001825c != 0) {\n                    *(undefined4 *)(puVar10 + -8) = 3;\n                    *(char **)(puVar10 + -0xc) = DAT_00018234;\n                    *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n                    *(undefined4 *)(puVar10 + -0x14) = 0x11db4;\n                    pcVar6 = (char *)bfd_demangle();\n                    pcVar16 = pcVar6;\n                    if (pcVar6 != (char *)0x0) goto LAB_00011bdd;\n                  }\n                  pcVar6 = pcVar5;\n                  pcVar16 = (char *)0x0;\n                }" (if "if") (parenthesized_expression "(*DAT_00018234 == '\0')" (( "(") (binary_expression "*DAT_00018234 == '\0'" (pointer_expression "*DAT_00018234" (* "*") (identifier "DAT_00018234")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                  pcVar16 = (char *)0x0;\n                }" ({ "{") (expression_statement "pcVar16 = (char *)0x0;" (assignment_expression "pcVar16 = (char *)0x0" (identifier "pcVar16") (= "=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")) (else_clause "else {\n                  if (DAT_0001825c != 0) {\n                    *(undefined4 *)(puVar10 + -8) = 3;\n                    *(char **)(puVar10 + -0xc) = DAT_00018234;\n                    *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n                    *(undefined4 *)(puVar10 + -0x14) = 0x11db4;\n                    pcVar6 = (char *)bfd_demangle();\n                    pcVar16 = pcVar6;\n                    if (pcVar6 != (char *)0x0) goto LAB_00011bdd;\n                  }\n                  pcVar6 = pcVar5;\n                  pcVar16 = (char *)0x0;\n                }" (else "else") (compound_statement "{\n                  if (DAT_0001825c != 0) {\n                    *(undefined4 *)(puVar10 + -8) = 3;\n                    *(char **)(puVar10 + -0xc) = DAT_00018234;\n                    *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n                    *(undefined4 *)(puVar10 + -0x14) = 0x11db4;\n                    pcVar6 = (char *)bfd_demangle();\n                    pcVar16 = pcVar6;\n                    if (pcVar6 != (char *)0x0) goto LAB_00011bdd;\n                  }\n                  pcVar6 = pcVar5;\n                  pcVar16 = (char *)0x0;\n                }" ({ "{") (if_statement "if (DAT_0001825c != 0) {\n                    *(undefined4 *)(puVar10 + -8) = 3;\n                    *(char **)(puVar10 + -0xc) = DAT_00018234;\n                    *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n                    *(undefined4 *)(puVar10 + -0x14) = 0x11db4;\n                    pcVar6 = (char *)bfd_demangle();\n                    pcVar16 = pcVar6;\n                    if (pcVar6 != (char *)0x0) goto LAB_00011bdd;\n                  }" (if "if") (parenthesized_expression "(DAT_0001825c != 0)" (( "(") (binary_expression "DAT_0001825c != 0" (identifier "DAT_0001825c") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    *(undefined4 *)(puVar10 + -8) = 3;\n                    *(char **)(puVar10 + -0xc) = DAT_00018234;\n                    *(undefined ***)(puVar10 + -0x10) = ppuVar4;\n                    *(undefined4 *)(puVar10 + -0x14) = 0x11db4;\n                    pcVar6 = (char *)bfd_demangle();\n                    pcVar16 = pcVar6;\n                    if (pcVar6 != (char *)0x0) goto LAB_00011bdd;\n                  }" ({ "{") (expression_statement "*(undefined4 *)(puVar10 + -8) = 3;" (assignment_expression "*(undefined4 *)(puVar10 + -8) = 3" (pointer_expression "*(undefined4 *)(puVar10 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar10 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -8)" (( "(") (binary_expression "puVar10 + -8" (identifier "puVar10") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "3")) (; ";")) (expression_statement "*(char **)(puVar10 + -0xc) = DAT_00018234;" (assignment_expression "*(char **)(puVar10 + -0xc) = DAT_00018234" (pointer_expression "*(char **)(puVar10 + -0xc)" (* "*") (cast_expression "(char **)(puVar10 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0xc)" (( "(") (binary_expression "puVar10 + -0xc" (identifier "puVar10") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "DAT_00018234")) (; ";")) (expression_statement "*(undefined ***)(puVar10 + -0x10) = ppuVar4;" (assignment_expression "*(undefined ***)(puVar10 + -0x10) = ppuVar4" (pointer_expression "*(undefined ***)(puVar10 + -0x10)" (* "*") (cast_expression "(undefined ***)(puVar10 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar10 + -0x10)" (( "(") (binary_expression "puVar10 + -0x10" (identifier "puVar10") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "ppuVar4")) (; ";")) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x11db4;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x11db4" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar10 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -0x14)" (( "(") (binary_expression "puVar10 + -0x14" (identifier "puVar10") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x11db4")) (; ";")) (expression_statement "pcVar6 = (char *)bfd_demangle();" (assignment_expression "pcVar6 = (char *)bfd_demangle()" (identifier "pcVar6") (= "=") (cast_expression "(char *)bfd_demangle()" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "bfd_demangle()" (identifier "bfd_demangle") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "pcVar16 = pcVar6;" (assignment_expression "pcVar16 = pcVar6" (identifier "pcVar16") (= "=") (identifier "pcVar6")) (; ";")) (if_statement "if (pcVar6 != (char *)0x0) goto LAB_00011bdd;" (if "if") (parenthesized_expression "(pcVar6 != (char *)0x0)" (( "(") (binary_expression "pcVar6 != (char *)0x0" (identifier "pcVar6") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00011bdd;" (goto "goto") (statement_identifier "LAB_00011bdd") (; ";"))) (} "}"))) (expression_statement "pcVar6 = pcVar5;" (assignment_expression "pcVar6 = pcVar5" (identifier "pcVar6") (= "=") (identifier "pcVar5")) (; ";")) (expression_statement "pcVar16 = (char *)0x0;" (assignment_expression "pcVar16 = (char *)0x0" (identifier "pcVar16") (= "=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")))) (} "}"))) (labeled_statement "LAB_00011bdd:\n              *(char **)(puVar10 + -0xc) = pcVar6;" (statement_identifier "LAB_00011bdd") (: ":") (expression_statement "*(char **)(puVar10 + -0xc) = pcVar6;" (assignment_expression "*(char **)(puVar10 + -0xc) = pcVar6" (pointer_expression "*(char **)(puVar10 + -0xc)" (* "*") (cast_expression "(char **)(puVar10 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0xc)" (( "(") (binary_expression "puVar10 + -0xc" (identifier "puVar10") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "pcVar6")) (; ";"))) (expression_statement "*(undefined ***)(puVar10 + -0x10) = local_9c;" (assignment_expression "*(undefined ***)(puVar10 + -0x10) = local_9c" (pointer_expression "*(undefined ***)(puVar10 + -0x10)" (* "*") (cast_expression "(undefined ***)(puVar10 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar10 + -0x10)" (( "(") (binary_expression "puVar10 + -0x10" (identifier "puVar10") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_9c")) (; ";")) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x11bec;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x11bec" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar10 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -0x14)" (( "(") (binary_expression "puVar10 + -0x14" (identifier "puVar10") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x11bec")) (; ";")) (expression_statement "printf(*(char **)(puVar10 + -0x10));" (call_expression "printf(*(char **)(puVar10 + -0x10))" (identifier "printf") (argument_list "(*(char **)(puVar10 + -0x10))" (( "(") (pointer_expression "*(char **)(puVar10 + -0x10)" (* "*") (cast_expression "(char **)(puVar10 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0x10)" (( "(") (binary_expression "puVar10 + -0x10" (identifier "puVar10") (+ "+") (number_literal "-0x10")) () ")")))) () ")"))) (; ";")) (if_statement "if (DAT_00018258 == 0) {\n                *(undefined4 *)(puVar10 + -0x10) = 10;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11d8a;\n                putchar(*(int *)(puVar10 + -0x10));\n              }\n              else {\n                *(undefined4 *)(puVar10 + -8) = 5;\n                *(undefined **)(puVar10 + -0xc) = &DAT_0001543d;\n                *(undefined4 *)(puVar10 + -0x10) = 0;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c10;\n                uVar7 = dcgettext();\n                *(undefined4 *)(puVar10 + -0x10) = uVar7;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c18;\n                printf(*(char **)(puVar10 + -0x10));\n              }" (if "if") (parenthesized_expression "(DAT_00018258 == 0)" (( "(") (binary_expression "DAT_00018258 == 0" (identifier "DAT_00018258") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                *(undefined4 *)(puVar10 + -0x10) = 10;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11d8a;\n                putchar(*(int *)(puVar10 + -0x10));\n              }" ({ "{") (expression_statement "*(undefined4 *)(puVar10 + -0x10) = 10;" (assignment_expression "*(undefined4 *)(puVar10 + -0x10) = 10" (pointer_expression "*(undefined4 *)(puVar10 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar10 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -0x10)" (( "(") (binary_expression "puVar10 + -0x10" (identifier "puVar10") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "10")) (; ";")) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x11d8a;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x11d8a" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar10 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -0x14)" (( "(") (binary_expression "puVar10 + -0x14" (identifier "puVar10") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x11d8a")) (; ";")) (expression_statement "putchar(*(int *)(puVar10 + -0x10));" (call_expression "putchar(*(int *)(puVar10 + -0x10))" (identifier "putchar") (argument_list "(*(int *)(puVar10 + -0x10))" (( "(") (pointer_expression "*(int *)(puVar10 + -0x10)" (* "*") (cast_expression "(int *)(puVar10 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -0x10)" (( "(") (binary_expression "puVar10 + -0x10" (identifier "puVar10") (+ "+") (number_literal "-0x10")) () ")")))) () ")"))) (; ";")) (} "}")) (else_clause "else {\n                *(undefined4 *)(puVar10 + -8) = 5;\n                *(undefined **)(puVar10 + -0xc) = &DAT_0001543d;\n                *(undefined4 *)(puVar10 + -0x10) = 0;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c10;\n                uVar7 = dcgettext();\n                *(undefined4 *)(puVar10 + -0x10) = uVar7;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c18;\n                printf(*(char **)(puVar10 + -0x10));\n              }" (else "else") (compound_statement "{\n                *(undefined4 *)(puVar10 + -8) = 5;\n                *(undefined **)(puVar10 + -0xc) = &DAT_0001543d;\n                *(undefined4 *)(puVar10 + -0x10) = 0;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c10;\n                uVar7 = dcgettext();\n                *(undefined4 *)(puVar10 + -0x10) = uVar7;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c18;\n                printf(*(char **)(puVar10 + -0x10));\n              }" ({ "{") (expression_statement "*(undefined4 *)(puVar10 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar10 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar10 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar10 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -8)" (( "(") (binary_expression "puVar10 + -8" (identifier "puVar10") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "5")) (; ";")) (expression_statement "*(undefined **)(puVar10 + -0xc) = &DAT_0001543d;" (assignment_expression "*(undefined **)(puVar10 + -0xc) = &DAT_0001543d" (pointer_expression "*(undefined **)(puVar10 + -0xc)" (* "*") (cast_expression "(undefined **)(puVar10 + -0xc)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0xc)" (( "(") (binary_expression "puVar10 + -0xc" (identifier "puVar10") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "&DAT_0001543d" (& "&") (identifier "DAT_0001543d"))) (; ";")) (expression_statement "*(undefined4 *)(puVar10 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar10 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar10 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar10 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -0x10)" (( "(") (binary_expression "puVar10 + -0x10" (identifier "puVar10") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x11c10;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x11c10" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar10 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -0x14)" (( "(") (binary_expression "puVar10 + -0x14" (identifier "puVar10") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x11c10")) (; ";")) (expression_statement "uVar7 = dcgettext();" (assignment_expression "uVar7 = dcgettext()" (identifier "uVar7") (= "=") (call_expression "dcgettext()" (identifier "dcgettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar10 + -0x10) = uVar7;" (assignment_expression "*(undefined4 *)(puVar10 + -0x10) = uVar7" (pointer_expression "*(undefined4 *)(puVar10 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar10 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -0x10)" (( "(") (binary_expression "puVar10 + -0x10" (identifier "puVar10") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x11c18;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x11c18" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar10 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -0x14)" (( "(") (binary_expression "puVar10 + -0x14" (identifier "puVar10") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x11c18")) (; ";")) (expression_statement "printf(*(char **)(puVar10 + -0x10));" (call_expression "printf(*(char **)(puVar10 + -0x10))" (identifier "printf") (argument_list "(*(char **)(puVar10 + -0x10))" (( "(") (pointer_expression "*(char **)(puVar10 + -0x10)" (* "*") (cast_expression "(char **)(puVar10 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0x10)" (( "(") (binary_expression "puVar10 + -0x10" (identifier "puVar10") (+ "+") (number_literal "-0x10")) () ")")))) () ")"))) (; ";")) (} "}")))) (if_statement "if (pcVar16 != (char *)0x0) {\n                *(char **)(puVar10 + -0x10) = pcVar16;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c28;\n                free(*(void **)(puVar10 + -0x10));\n              }" (if "if") (parenthesized_expression "(pcVar16 != (char *)0x0)" (( "(") (binary_expression "pcVar16 != (char *)0x0" (identifier "pcVar16") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                *(char **)(puVar10 + -0x10) = pcVar16;\n                *(undefined4 *)(puVar10 + -0x14) = 0x11c28;\n                free(*(void **)(puVar10 + -0x10));\n              }" ({ "{") (expression_statement "*(char **)(puVar10 + -0x10) = pcVar16;" (assignment_expression "*(char **)(puVar10 + -0x10) = pcVar16" (pointer_expression "*(char **)(puVar10 + -0x10)" (* "*") (cast_expression "(char **)(puVar10 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0x10)" (( "(") (binary_expression "puVar10 + -0x10" (identifier "puVar10") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "pcVar16")) (; ";")) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x11c28;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x11c28" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar10 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -0x14)" (( "(") (binary_expression "puVar10 + -0x14" (identifier "puVar10") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x11c28")) (; ";")) (expression_statement "free(*(void **)(puVar10 + -0x10));" (call_expression "free(*(void **)(puVar10 + -0x10))" (identifier "free") (argument_list "(*(void **)(puVar10 + -0x10))" (( "(") (pointer_expression "*(void **)(puVar10 + -0x10)" (* "*") (cast_expression "(void **)(puVar10 + -0x10)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0x10)" (( "(") (binary_expression "puVar10 + -0x10" (identifier "puVar10") (+ "+") (number_literal "-0x10")) () ")")))) () ")"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "pcVar5 = DAT_00018238;" (assignment_expression "pcVar5 = DAT_00018238" (identifier "pcVar5") (= "=") (identifier "DAT_00018238")) (; ";")) (if_statement "if (DAT_00018254 == 0) {\nLAB_00011c5e:\n              pcVar5 = DAT_00018238;\n              if (DAT_00018238 == (char *)0x0) {\nLAB_00011d70:\n                pcVar5 = local_98;\n              }\n            }\n            else {\n              if (DAT_00018238 == (char *)0x0) goto LAB_00011d70;\n              *(undefined4 *)(puVar10 + -0xc) = 0x2f;\n              *(char **)(puVar10 + -0x10) = DAT_00018238;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11c4e;\n              pcVar6 = strrchr(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc));\n              if (pcVar6 != (char *)0x0) {\n                DAT_00018238 = pcVar6 + 1;\n                goto LAB_00011c5e;\n              }\n            }" (if "if") (parenthesized_expression "(DAT_00018254 == 0)" (( "(") (binary_expression "DAT_00018254 == 0" (identifier "DAT_00018254") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00011c5e:\n              pcVar5 = DAT_00018238;\n              if (DAT_00018238 == (char *)0x0) {\nLAB_00011d70:\n                pcVar5 = local_98;\n              }\n            }" ({ "{") (labeled_statement "LAB_00011c5e:\n              pcVar5 = DAT_00018238;" (statement_identifier "LAB_00011c5e") (: ":") (expression_statement "pcVar5 = DAT_00018238;" (assignment_expression "pcVar5 = DAT_00018238" (identifier "pcVar5") (= "=") (identifier "DAT_00018238")) (; ";"))) (if_statement "if (DAT_00018238 == (char *)0x0) {\nLAB_00011d70:\n                pcVar5 = local_98;\n              }" (if "if") (parenthesized_expression "(DAT_00018238 == (char *)0x0)" (( "(") (binary_expression "DAT_00018238 == (char *)0x0" (identifier "DAT_00018238") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_00011d70:\n                pcVar5 = local_98;\n              }" ({ "{") (labeled_statement "LAB_00011d70:\n                pcVar5 = local_98;" (statement_identifier "LAB_00011d70") (: ":") (expression_statement "pcVar5 = local_98;" (assignment_expression "pcVar5 = local_98" (identifier "pcVar5") (= "=") (identifier "local_98")) (; ";"))) (} "}"))) (} "}")) (else_clause "else {\n              if (DAT_00018238 == (char *)0x0) goto LAB_00011d70;\n              *(undefined4 *)(puVar10 + -0xc) = 0x2f;\n              *(char **)(puVar10 + -0x10) = DAT_00018238;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11c4e;\n              pcVar6 = strrchr(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc));\n              if (pcVar6 != (char *)0x0) {\n                DAT_00018238 = pcVar6 + 1;\n                goto LAB_00011c5e;\n              }\n            }" (else "else") (compound_statement "{\n              if (DAT_00018238 == (char *)0x0) goto LAB_00011d70;\n              *(undefined4 *)(puVar10 + -0xc) = 0x2f;\n              *(char **)(puVar10 + -0x10) = DAT_00018238;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11c4e;\n              pcVar6 = strrchr(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc));\n              if (pcVar6 != (char *)0x0) {\n                DAT_00018238 = pcVar6 + 1;\n                goto LAB_00011c5e;\n              }\n            }" ({ "{") (if_statement "if (DAT_00018238 == (char *)0x0) goto LAB_00011d70;" (if "if") (parenthesized_expression "(DAT_00018238 == (char *)0x0)" (( "(") (binary_expression "DAT_00018238 == (char *)0x0" (identifier "DAT_00018238") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00011d70;" (goto "goto") (statement_identifier "LAB_00011d70") (; ";"))) (expression_statement "*(undefined4 *)(puVar10 + -0xc) = 0x2f;" (assignment_expression "*(undefined4 *)(puVar10 + -0xc) = 0x2f" (pointer_expression "*(undefined4 *)(puVar10 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar10 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -0xc)" (( "(") (binary_expression "puVar10 + -0xc" (identifier "puVar10") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x2f")) (; ";")) (expression_statement "*(char **)(puVar10 + -0x10) = DAT_00018238;" (assignment_expression "*(char **)(puVar10 + -0x10) = DAT_00018238" (pointer_expression "*(char **)(puVar10 + -0x10)" (* "*") (cast_expression "(char **)(puVar10 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0x10)" (( "(") (binary_expression "puVar10 + -0x10" (identifier "puVar10") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "DAT_00018238")) (; ";")) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x11c4e;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x11c4e" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar10 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -0x14)" (( "(") (binary_expression "puVar10 + -0x14" (identifier "puVar10") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x11c4e")) (; ";")) (expression_statement "pcVar6 = strrchr(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc));" (assignment_expression "pcVar6 = strrchr(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc))" (identifier "pcVar6") (= "=") (call_expression "strrchr(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc))" (identifier "strrchr") (argument_list "(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc))" (( "(") (pointer_expression "*(char **)(puVar10 + -0x10)" (* "*") (cast_expression "(char **)(puVar10 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0x10)" (( "(") (binary_expression "puVar10 + -0x10" (identifier "puVar10") (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(int *)(puVar10 + -0xc)" (* "*") (cast_expression "(int *)(puVar10 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -0xc)" (( "(") (binary_expression "puVar10 + -0xc" (identifier "puVar10") (+ "+") (number_literal "-0xc")) () ")")))) () ")")))) (; ";")) (if_statement "if (pcVar6 != (char *)0x0) {\n                DAT_00018238 = pcVar6 + 1;\n                goto LAB_00011c5e;\n              }" (if "if") (parenthesized_expression "(pcVar6 != (char *)0x0)" (( "(") (binary_expression "pcVar6 != (char *)0x0" (identifier "pcVar6") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                DAT_00018238 = pcVar6 + 1;\n                goto LAB_00011c5e;\n              }" ({ "{") (expression_statement "DAT_00018238 = pcVar6 + 1;" (assignment_expression "DAT_00018238 = pcVar6 + 1" (identifier "DAT_00018238") (= "=") (binary_expression "pcVar6 + 1" (identifier "pcVar6") (+ "+") (number_literal "1"))) (; ";")) (goto_statement "goto LAB_00011c5e;" (goto "goto") (statement_identifier "LAB_00011c5e") (; ";")) (} "}"))) (} "}")))) (expression_statement "*(char **)(puVar10 + -0xc) = pcVar5;" (assignment_expression "*(char **)(puVar10 + -0xc) = pcVar5" (pointer_expression "*(char **)(puVar10 + -0xc)" (* "*") (cast_expression "(char **)(puVar10 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0xc)" (( "(") (binary_expression "puVar10 + -0xc" (identifier "puVar10") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "pcVar5")) (; ";")) (expression_statement "*(undefined **)(puVar10 + -0x10) = local_a0;" (assignment_expression "*(undefined **)(puVar10 + -0x10) = local_a0" (pointer_expression "*(undefined **)(puVar10 + -0x10)" (* "*") (cast_expression "(undefined **)(puVar10 + -0x10)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0x10)" (( "(") (binary_expression "puVar10 + -0x10" (identifier "puVar10") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_a0")) (; ";")) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x11c75;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x11c75" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar10 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -0x14)" (( "(") (binary_expression "puVar10 + -0x14" (identifier "puVar10") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x11c75")) (; ";")) (expression_statement "printf(*(char **)(puVar10 + -0x10));" (call_expression "printf(*(char **)(puVar10 + -0x10))" (identifier "printf") (argument_list "(*(char **)(puVar10 + -0x10))" (( "(") (pointer_expression "*(char **)(puVar10 + -0x10)" (* "*") (cast_expression "(char **)(puVar10 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0x10)" (( "(") (binary_expression "puVar10 + -0x10" (identifier "puVar10") (+ "+") (number_literal "-0x10")) () ")")))) () ")"))) (; ";")) (if_statement "if (DAT_00018230 == 0) {\n              *(undefined **)(puVar10 + -0x10) = &DAT_000153c0;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d5f;\n              puts(*(char **)(puVar10 + -0x10));\n            }\n            else if (DAT_0001822c == 0) {\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(undefined **)(puVar10 + -0x10) = &DAT_0001545d;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d48;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            else {\n              *(int *)(puVar10 + -8) = DAT_0001822c;\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(char **)(puVar10 + -0x10) = "%u (discriminator %u)\n";\n              *(undefined4 *)(puVar10 + -0x14) = 0x11ca5;\n              printf(*(char **)(puVar10 + -0x10));\n            }" (if "if") (parenthesized_expression "(DAT_00018230 == 0)" (( "(") (binary_expression "DAT_00018230 == 0" (identifier "DAT_00018230") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              *(undefined **)(puVar10 + -0x10) = &DAT_000153c0;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d5f;\n              puts(*(char **)(puVar10 + -0x10));\n            }" ({ "{") (expression_statement "*(undefined **)(puVar10 + -0x10) = &DAT_000153c0;" (assignment_expression "*(undefined **)(puVar10 + -0x10) = &DAT_000153c0" (pointer_expression "*(undefined **)(puVar10 + -0x10)" (* "*") (cast_expression "(undefined **)(puVar10 + -0x10)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0x10)" (( "(") (binary_expression "puVar10 + -0x10" (identifier "puVar10") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "&DAT_000153c0" (& "&") (identifier "DAT_000153c0"))) (; ";")) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x11d5f;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x11d5f" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar10 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -0x14)" (( "(") (binary_expression "puVar10 + -0x14" (identifier "puVar10") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x11d5f")) (; ";")) (expression_statement "puts(*(char **)(puVar10 + -0x10));" (call_expression "puts(*(char **)(puVar10 + -0x10))" (identifier "puts") (argument_list "(*(char **)(puVar10 + -0x10))" (( "(") (pointer_expression "*(char **)(puVar10 + -0x10)" (* "*") (cast_expression "(char **)(puVar10 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0x10)" (( "(") (binary_expression "puVar10 + -0x10" (identifier "puVar10") (+ "+") (number_literal "-0x10")) () ")")))) () ")"))) (; ";")) (} "}")) (else_clause "else if (DAT_0001822c == 0) {\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(undefined **)(puVar10 + -0x10) = &DAT_0001545d;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d48;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            else {\n              *(int *)(puVar10 + -8) = DAT_0001822c;\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(char **)(puVar10 + -0x10) = "%u (discriminator %u)\n";\n              *(undefined4 *)(puVar10 + -0x14) = 0x11ca5;\n              printf(*(char **)(puVar10 + -0x10));\n            }" (else "else") (if_statement "if (DAT_0001822c == 0) {\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(undefined **)(puVar10 + -0x10) = &DAT_0001545d;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d48;\n              printf(*(char **)(puVar10 + -0x10));\n            }\n            else {\n              *(int *)(puVar10 + -8) = DAT_0001822c;\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(char **)(puVar10 + -0x10) = "%u (discriminator %u)\n";\n              *(undefined4 *)(puVar10 + -0x14) = 0x11ca5;\n              printf(*(char **)(puVar10 + -0x10));\n            }" (if "if") (parenthesized_expression "(DAT_0001822c == 0)" (( "(") (binary_expression "DAT_0001822c == 0" (identifier "DAT_0001822c") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(undefined **)(puVar10 + -0x10) = &DAT_0001545d;\n              *(undefined4 *)(puVar10 + -0x14) = 0x11d48;\n              printf(*(char **)(puVar10 + -0x10));\n            }" ({ "{") (expression_statement "*(int *)(puVar10 + -0xc) = DAT_00018230;" (assignment_expression "*(int *)(puVar10 + -0xc) = DAT_00018230" (pointer_expression "*(int *)(puVar10 + -0xc)" (* "*") (cast_expression "(int *)(puVar10 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -0xc)" (( "(") (binary_expression "puVar10 + -0xc" (identifier "puVar10") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "DAT_00018230")) (; ";")) (expression_statement "*(undefined **)(puVar10 + -0x10) = &DAT_0001545d;" (assignment_expression "*(undefined **)(puVar10 + -0x10) = &DAT_0001545d" (pointer_expression "*(undefined **)(puVar10 + -0x10)" (* "*") (cast_expression "(undefined **)(puVar10 + -0x10)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0x10)" (( "(") (binary_expression "puVar10 + -0x10" (identifier "puVar10") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "&DAT_0001545d" (& "&") (identifier "DAT_0001545d"))) (; ";")) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x11d48;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x11d48" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar10 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -0x14)" (( "(") (binary_expression "puVar10 + -0x14" (identifier "puVar10") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x11d48")) (; ";")) (expression_statement "printf(*(char **)(puVar10 + -0x10));" (call_expression "printf(*(char **)(puVar10 + -0x10))" (identifier "printf") (argument_list "(*(char **)(puVar10 + -0x10))" (( "(") (pointer_expression "*(char **)(puVar10 + -0x10)" (* "*") (cast_expression "(char **)(puVar10 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0x10)" (( "(") (binary_expression "puVar10 + -0x10" (identifier "puVar10") (+ "+") (number_literal "-0x10")) () ")")))) () ")"))) (; ";")) (} "}")) (else_clause "else {\n              *(int *)(puVar10 + -8) = DAT_0001822c;\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(char **)(puVar10 + -0x10) = "%u (discriminator %u)\n";\n              *(undefined4 *)(puVar10 + -0x14) = 0x11ca5;\n              printf(*(char **)(puVar10 + -0x10));\n            }" (else "else") (compound_statement "{\n              *(int *)(puVar10 + -8) = DAT_0001822c;\n              *(int *)(puVar10 + -0xc) = DAT_00018230;\n              *(char **)(puVar10 + -0x10) = "%u (discriminator %u)\n";\n              *(undefined4 *)(puVar10 + -0x14) = 0x11ca5;\n              printf(*(char **)(puVar10 + -0x10));\n            }" ({ "{") (expression_statement "*(int *)(puVar10 + -8) = DAT_0001822c;" (assignment_expression "*(int *)(puVar10 + -8) = DAT_0001822c" (pointer_expression "*(int *)(puVar10 + -8)" (* "*") (cast_expression "(int *)(puVar10 + -8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -8)" (( "(") (binary_expression "puVar10 + -8" (identifier "puVar10") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "DAT_0001822c")) (; ";")) (expression_statement "*(int *)(puVar10 + -0xc) = DAT_00018230;" (assignment_expression "*(int *)(puVar10 + -0xc) = DAT_00018230" (pointer_expression "*(int *)(puVar10 + -0xc)" (* "*") (cast_expression "(int *)(puVar10 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -0xc)" (( "(") (binary_expression "puVar10 + -0xc" (identifier "puVar10") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "DAT_00018230")) (; ";")) (expression_statement "*(char **)(puVar10 + -0x10) = "%u (discriminator %u)\n";" (assignment_expression "*(char **)(puVar10 + -0x10) = "%u (discriminator %u)\n"" (pointer_expression "*(char **)(puVar10 + -0x10)" (* "*") (cast_expression "(char **)(puVar10 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0x10)" (( "(") (binary_expression "puVar10 + -0x10" (identifier "puVar10") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (string_literal ""%u (discriminator %u)\n"" (" """) (string_content "%u (discriminator %u)") (escape_sequence "\n") (" """))) (; ";")) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x11ca5;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x11ca5" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar10 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -0x14)" (( "(") (binary_expression "puVar10 + -0x14" (identifier "puVar10") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x11ca5")) (; ";")) (expression_statement "printf(*(char **)(puVar10 + -0x10));" (call_expression "printf(*(char **)(puVar10 + -0x10))" (identifier "printf") (argument_list "(*(char **)(puVar10 + -0x10))" (( "(") (pointer_expression "*(char **)(puVar10 + -0x10)" (* "*") (cast_expression "(char **)(puVar10 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0x10)" (( "(") (binary_expression "puVar10 + -0x10" (identifier "puVar10") (+ "+") (number_literal "-0x10")) () ")")))) () ")"))) (; ";")) (} "}")))))) (if_statement "if (DAT_00018268 == 0) {\n              DAT_00018228 = 0;\n              goto LAB_000119cc;\n            }" (if "if") (parenthesized_expression "(DAT_00018268 == 0)" (( "(") (binary_expression "DAT_00018268 == 0" (identifier "DAT_00018268") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              DAT_00018228 = 0;\n              goto LAB_000119cc;\n            }" ({ "{") (expression_statement "DAT_00018228 = 0;" (assignment_expression "DAT_00018228 = 0" (identifier "DAT_00018228") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_000119cc;" (goto "goto") (statement_identifier "LAB_000119cc") (; ";")) (} "}"))) (expression_statement "puVar2 = ppuVar4[1];" (assignment_expression "puVar2 = ppuVar4[1]" (identifier "puVar2") (= "=") (subscript_expression "ppuVar4[1]" (identifier "ppuVar4") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "*(int **)(puVar10 + -4) = &DAT_00018230;" (assignment_expression "*(int **)(puVar10 + -4) = &DAT_00018230" (pointer_expression "*(int **)(puVar10 + -4)" (* "*") (cast_expression "(int **)(puVar10 + -4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -4)" (( "(") (binary_expression "puVar10 + -4" (identifier "puVar10") (+ "+") (number_literal "-4")) () ")")))) (= "=") (pointer_expression "&DAT_00018230" (& "&") (identifier "DAT_00018230"))) (; ";")) (expression_statement "*(char ***)(puVar10 + -8) = &DAT_00018234;" (assignment_expression "*(char ***)(puVar10 + -8) = &DAT_00018234" (pointer_expression "*(char ***)(puVar10 + -8)" (* "*") (cast_expression "(char ***)(puVar10 + -8)" (( "(") (type_descriptor "char ***" (primitive_type "char") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar10 + -8)" (( "(") (binary_expression "puVar10 + -8" (identifier "puVar10") (+ "+") (number_literal "-8")) () ")")))) (= "=") (pointer_expression "&DAT_00018234" (& "&") (identifier "DAT_00018234"))) (; ";")) (expression_statement "*(char ***)(puVar10 + -0xc) = &DAT_00018238;" (assignment_expression "*(char ***)(puVar10 + -0xc) = &DAT_00018238" (pointer_expression "*(char ***)(puVar10 + -0xc)" (* "*") (cast_expression "(char ***)(puVar10 + -0xc)" (( "(") (type_descriptor "char ***" (primitive_type "char") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar10 + -0xc)" (( "(") (binary_expression "puVar10 + -0xc" (identifier "puVar10") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "&DAT_00018238" (& "&") (identifier "DAT_00018238"))) (; ";")) (expression_statement "*(undefined ***)(puVar10 + -0x10) = ppuVar4;" (assignment_expression "*(undefined ***)(puVar10 + -0x10) = ppuVar4" (pointer_expression "*(undefined ***)(puVar10 + -0x10)" (* "*") (cast_expression "(undefined ***)(puVar10 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar10 + -0x10)" (( "(") (binary_expression "puVar10 + -0x10" (identifier "puVar10") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "ppuVar4")) (; ";")) (expression_statement "pcVar1 = *(code **)(puVar2 + 0x130);" (assignment_expression "pcVar1 = *(code **)(puVar2 + 0x130)" (identifier "pcVar1") (= "=") (pointer_expression "*(code **)(puVar2 + 0x130)" (* "*") (cast_expression "(code **)(puVar2 + 0x130)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar2 + 0x130)" (( "(") (binary_expression "puVar2 + 0x130" (identifier "puVar2") (+ "+") (number_literal "0x130")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x11cef;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x11cef" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar10 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -0x14)" (( "(") (binary_expression "puVar10 + -0x14" (identifier "puVar10") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x11cef")) (; ";")) (expression_statement "DAT_00018228 = (*pcVar1)();" (assignment_expression "DAT_00018228 = (*pcVar1)()" (identifier "DAT_00018228") (= "=") (call_expression "(*pcVar1)()" (parenthesized_expression "(*pcVar1)" (( "(") (pointer_expression "*pcVar1" (* "*") (identifier "pcVar1")) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (DAT_00018228 == 0) goto LAB_000119cc;" (if "if") (parenthesized_expression "(DAT_00018228 == 0)" (( "(") (binary_expression "DAT_00018228 == 0" (identifier "DAT_00018228") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000119cc;" (goto "goto") (statement_identifier "LAB_000119cc") (; ";"))) (} "}")) (while "while") (parenthesized_expression "(DAT_00018258 == 0)" (( "(") (binary_expression "DAT_00018258 == 0" (identifier "DAT_00018258") (== "==") (number_literal "0")) () ")")) (; ";")) (expression_statement "*(undefined4 *)(puVar10 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar10 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar10 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar10 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -8)" (( "(") (binary_expression "puVar10 + -8" (identifier "puVar10") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "5")) (; ";")) (expression_statement "*(char **)(puVar10 + -0xc) = " (inlined by) ";" (assignment_expression "*(char **)(puVar10 + -0xc) = " (inlined by) "" (pointer_expression "*(char **)(puVar10 + -0xc)" (* "*") (cast_expression "(char **)(puVar10 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0xc)" (( "(") (binary_expression "puVar10 + -0xc" (identifier "puVar10") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (string_literal "" (inlined by) "" (" """) (string_content " (inlined by) ") (" """))) (; ";")) (expression_statement "*(undefined4 *)(puVar10 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar10 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar10 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar10 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -0x10)" (( "(") (binary_expression "puVar10 + -0x10" (identifier "puVar10") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x11d21;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x11d21" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar10 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -0x14)" (( "(") (binary_expression "puVar10 + -0x14" (identifier "puVar10") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x11d21")) (; ";")) (expression_statement "uVar7 = dcgettext();" (assignment_expression "uVar7 = dcgettext()" (identifier "uVar7") (= "=") (call_expression "dcgettext()" (identifier "dcgettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar10 + -0x10) = uVar7;" (assignment_expression "*(undefined4 *)(puVar10 + -0x10) = uVar7" (pointer_expression "*(undefined4 *)(puVar10 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar10 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -0x10)" (( "(") (binary_expression "puVar10 + -0x10" (identifier "puVar10") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x11d29;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x11d29" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar10 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -0x14)" (( "(") (binary_expression "puVar10 + -0x14" (identifier "puVar10") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x11d29")) (; ";")) (expression_statement "printf(*(char **)(puVar10 + -0x10));" (call_expression "printf(*(char **)(puVar10 + -0x10))" (identifier "printf") (argument_list "(*(char **)(puVar10 + -0x10))" (( "(") (pointer_expression "*(char **)(puVar10 + -0x10)" (* "*") (cast_expression "(char **)(puVar10 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0x10)" (( "(") (binary_expression "puVar10 + -0x10" (identifier "puVar10") (+ "+") (number_literal "-0x10")) () ")")))) () ")"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}"))) (} "}")) (else_clause "else if (((*(byte *)(local_a8 + 0x14) & 1) != 0) &&\n            (DAT_00018244 < *(uint *)(local_a8 + 0x30) ||\n             DAT_00018244 - *(uint *)(local_a8 + 0x30) <\n             (uint)(DAT_00018240 < *(uint *)(local_a8 + 0x2c)))) {\n      puVar2 = local_9c[1];\n      *(int **)(puVar10 + -0x10) = &DAT_0001822c;\n      *(int **)(puVar10 + -0x14) = &DAT_00018230;\n      *(char ***)(puVar10 + -0x18) = &DAT_00018234;\n      *(char ***)(puVar10 + -0x1c) = &DAT_00018238;\n      *(undefined8 *)(puVar10 + -0x24) = uVar19;\n      *(int *)(puVar10 + -0x28) = local_a8;\n      *(void **)(puVar10 + -0x2c) = DAT_00018248;\n      *(undefined ***)(puVar10 + -0x30) = local_9c;\n      pcVar1 = *(code **)(puVar2 + 0x128);\n      *(undefined4 *)(puVar10 + -0x34) = 0x1197f;\n      DAT_00018228 = (*pcVar1)();\n      ppuVar4 = local_9c;\n      goto joined_r0x00011b72;\n    }" (else "else") (if_statement "if (((*(byte *)(local_a8 + 0x14) & 1) != 0) &&\n            (DAT_00018244 < *(uint *)(local_a8 + 0x30) ||\n             DAT_00018244 - *(uint *)(local_a8 + 0x30) <\n             (uint)(DAT_00018240 < *(uint *)(local_a8 + 0x2c)))) {\n      puVar2 = local_9c[1];\n      *(int **)(puVar10 + -0x10) = &DAT_0001822c;\n      *(int **)(puVar10 + -0x14) = &DAT_00018230;\n      *(char ***)(puVar10 + -0x18) = &DAT_00018234;\n      *(char ***)(puVar10 + -0x1c) = &DAT_00018238;\n      *(undefined8 *)(puVar10 + -0x24) = uVar19;\n      *(int *)(puVar10 + -0x28) = local_a8;\n      *(void **)(puVar10 + -0x2c) = DAT_00018248;\n      *(undefined ***)(puVar10 + -0x30) = local_9c;\n      pcVar1 = *(code **)(puVar2 + 0x128);\n      *(undefined4 *)(puVar10 + -0x34) = 0x1197f;\n      DAT_00018228 = (*pcVar1)();\n      ppuVar4 = local_9c;\n      goto joined_r0x00011b72;\n    }" (if "if") (parenthesized_expression "(((*(byte *)(local_a8 + 0x14) & 1) != 0) &&\n            (DAT_00018244 < *(uint *)(local_a8 + 0x30) ||\n             DAT_00018244 - *(uint *)(local_a8 + 0x30) <\n             (uint)(DAT_00018240 < *(uint *)(local_a8 + 0x2c))))" (( "(") (binary_expression "((*(byte *)(local_a8 + 0x14) & 1) != 0) &&\n            (DAT_00018244 < *(uint *)(local_a8 + 0x30) ||\n             DAT_00018244 - *(uint *)(local_a8 + 0x30) <\n             (uint)(DAT_00018240 < *(uint *)(local_a8 + 0x2c)))" (parenthesized_expression "((*(byte *)(local_a8 + 0x14) & 1) != 0)" (( "(") (binary_expression "(*(byte *)(local_a8 + 0x14) & 1) != 0" (parenthesized_expression "(*(byte *)(local_a8 + 0x14) & 1)" (( "(") (binary_expression "*(byte *)(local_a8 + 0x14) & 1" (pointer_expression "*(byte *)(local_a8 + 0x14)" (* "*") (cast_expression "(byte *)(local_a8 + 0x14)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_a8 + 0x14)" (( "(") (binary_expression "local_a8 + 0x14" (identifier "local_a8") (+ "+") (number_literal "0x14")) () ")")))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(DAT_00018244 < *(uint *)(local_a8 + 0x30) ||\n             DAT_00018244 - *(uint *)(local_a8 + 0x30) <\n             (uint)(DAT_00018240 < *(uint *)(local_a8 + 0x2c)))" (( "(") (binary_expression "DAT_00018244 < *(uint *)(local_a8 + 0x30) ||\n             DAT_00018244 - *(uint *)(local_a8 + 0x30) <\n             (uint)(DAT_00018240 < *(uint *)(local_a8 + 0x2c))" (binary_expression "DAT_00018244 < *(uint *)(local_a8 + 0x30)" (identifier "DAT_00018244") (< "<") (pointer_expression "*(uint *)(local_a8 + 0x30)" (* "*") (cast_expression "(uint *)(local_a8 + 0x30)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_a8 + 0x30)" (( "(") (binary_expression "local_a8 + 0x30" (identifier "local_a8") (+ "+") (number_literal "0x30")) () ")"))))) (|| "||") (binary_expression "DAT_00018244 - *(uint *)(local_a8 + 0x30) <\n             (uint)(DAT_00018240 < *(uint *)(local_a8 + 0x2c))" (binary_expression "DAT_00018244 - *(uint *)(local_a8 + 0x30)" (identifier "DAT_00018244") (- "-") (pointer_expression "*(uint *)(local_a8 + 0x30)" (* "*") (cast_expression "(uint *)(local_a8 + 0x30)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_a8 + 0x30)" (( "(") (binary_expression "local_a8 + 0x30" (identifier "local_a8") (+ "+") (number_literal "0x30")) () ")"))))) (< "<") (call_expression "(uint)(DAT_00018240 < *(uint *)(local_a8 + 0x2c))" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(DAT_00018240 < *(uint *)(local_a8 + 0x2c))" (( "(") (binary_expression "DAT_00018240 < *(uint *)(local_a8 + 0x2c)" (identifier "DAT_00018240") (< "<") (pointer_expression "*(uint *)(local_a8 + 0x2c)" (* "*") (cast_expression "(uint *)(local_a8 + 0x2c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_a8 + 0x2c)" (( "(") (binary_expression "local_a8 + 0x2c" (identifier "local_a8") (+ "+") (number_literal "0x2c")) () ")"))))) () ")"))))) () ")"))) () ")")) (compound_statement "{\n      puVar2 = local_9c[1];\n      *(int **)(puVar10 + -0x10) = &DAT_0001822c;\n      *(int **)(puVar10 + -0x14) = &DAT_00018230;\n      *(char ***)(puVar10 + -0x18) = &DAT_00018234;\n      *(char ***)(puVar10 + -0x1c) = &DAT_00018238;\n      *(undefined8 *)(puVar10 + -0x24) = uVar19;\n      *(int *)(puVar10 + -0x28) = local_a8;\n      *(void **)(puVar10 + -0x2c) = DAT_00018248;\n      *(undefined ***)(puVar10 + -0x30) = local_9c;\n      pcVar1 = *(code **)(puVar2 + 0x128);\n      *(undefined4 *)(puVar10 + -0x34) = 0x1197f;\n      DAT_00018228 = (*pcVar1)();\n      ppuVar4 = local_9c;\n      goto joined_r0x00011b72;\n    }" ({ "{") (expression_statement "puVar2 = local_9c[1];" (assignment_expression "puVar2 = local_9c[1]" (identifier "puVar2") (= "=") (subscript_expression "local_9c[1]" (identifier "local_9c") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "*(int **)(puVar10 + -0x10) = &DAT_0001822c;" (assignment_expression "*(int **)(puVar10 + -0x10) = &DAT_0001822c" (pointer_expression "*(int **)(puVar10 + -0x10)" (* "*") (cast_expression "(int **)(puVar10 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0x10)" (( "(") (binary_expression "puVar10 + -0x10" (identifier "puVar10") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "&DAT_0001822c" (& "&") (identifier "DAT_0001822c"))) (; ";")) (expression_statement "*(int **)(puVar10 + -0x14) = &DAT_00018230;" (assignment_expression "*(int **)(puVar10 + -0x14) = &DAT_00018230" (pointer_expression "*(int **)(puVar10 + -0x14)" (* "*") (cast_expression "(int **)(puVar10 + -0x14)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0x14)" (( "(") (binary_expression "puVar10 + -0x14" (identifier "puVar10") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&DAT_00018230" (& "&") (identifier "DAT_00018230"))) (; ";")) (expression_statement "*(char ***)(puVar10 + -0x18) = &DAT_00018234;" (assignment_expression "*(char ***)(puVar10 + -0x18) = &DAT_00018234" (pointer_expression "*(char ***)(puVar10 + -0x18)" (* "*") (cast_expression "(char ***)(puVar10 + -0x18)" (( "(") (type_descriptor "char ***" (primitive_type "char") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar10 + -0x18)" (( "(") (binary_expression "puVar10 + -0x18" (identifier "puVar10") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (pointer_expression "&DAT_00018234" (& "&") (identifier "DAT_00018234"))) (; ";")) (expression_statement "*(char ***)(puVar10 + -0x1c) = &DAT_00018238;" (assignment_expression "*(char ***)(puVar10 + -0x1c) = &DAT_00018238" (pointer_expression "*(char ***)(puVar10 + -0x1c)" (* "*") (cast_expression "(char ***)(puVar10 + -0x1c)" (( "(") (type_descriptor "char ***" (primitive_type "char") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar10 + -0x1c)" (( "(") (binary_expression "puVar10 + -0x1c" (identifier "puVar10") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (pointer_expression "&DAT_00018238" (& "&") (identifier "DAT_00018238"))) (; ";")) (expression_statement "*(undefined8 *)(puVar10 + -0x24) = uVar19;" (assignment_expression "*(undefined8 *)(puVar10 + -0x24) = uVar19" (pointer_expression "*(undefined8 *)(puVar10 + -0x24)" (* "*") (cast_expression "(undefined8 *)(puVar10 + -0x24)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -0x24)" (( "(") (binary_expression "puVar10 + -0x24" (identifier "puVar10") (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (identifier "uVar19")) (; ";")) (expression_statement "*(int *)(puVar10 + -0x28) = local_a8;" (assignment_expression "*(int *)(puVar10 + -0x28) = local_a8" (pointer_expression "*(int *)(puVar10 + -0x28)" (* "*") (cast_expression "(int *)(puVar10 + -0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -0x28)" (( "(") (binary_expression "puVar10 + -0x28" (identifier "puVar10") (+ "+") (number_literal "-0x28")) () ")")))) (= "=") (identifier "local_a8")) (; ";")) (expression_statement "*(void **)(puVar10 + -0x2c) = DAT_00018248;" (assignment_expression "*(void **)(puVar10 + -0x2c) = DAT_00018248" (pointer_expression "*(void **)(puVar10 + -0x2c)" (* "*") (cast_expression "(void **)(puVar10 + -0x2c)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0x2c)" (( "(") (binary_expression "puVar10 + -0x2c" (identifier "puVar10") (+ "+") (number_literal "-0x2c")) () ")")))) (= "=") (identifier "DAT_00018248")) (; ";")) (expression_statement "*(undefined ***)(puVar10 + -0x30) = local_9c;" (assignment_expression "*(undefined ***)(puVar10 + -0x30) = local_9c" (pointer_expression "*(undefined ***)(puVar10 + -0x30)" (* "*") (cast_expression "(undefined ***)(puVar10 + -0x30)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar10 + -0x30)" (( "(") (binary_expression "puVar10 + -0x30" (identifier "puVar10") (+ "+") (number_literal "-0x30")) () ")")))) (= "=") (identifier "local_9c")) (; ";")) (expression_statement "pcVar1 = *(code **)(puVar2 + 0x128);" (assignment_expression "pcVar1 = *(code **)(puVar2 + 0x128)" (identifier "pcVar1") (= "=") (pointer_expression "*(code **)(puVar2 + 0x128)" (* "*") (cast_expression "(code **)(puVar2 + 0x128)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar2 + 0x128)" (( "(") (binary_expression "puVar2 + 0x128" (identifier "puVar2") (+ "+") (number_literal "0x128")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar10 + -0x34) = 0x1197f;" (assignment_expression "*(undefined4 *)(puVar10 + -0x34) = 0x1197f" (pointer_expression "*(undefined4 *)(puVar10 + -0x34)" (* "*") (cast_expression "(undefined4 *)(puVar10 + -0x34)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -0x34)" (( "(") (binary_expression "puVar10 + -0x34" (identifier "puVar10") (+ "+") (number_literal "-0x34")) () ")")))) (= "=") (number_literal "0x1197f")) (; ";")) (expression_statement "DAT_00018228 = (*pcVar1)();" (assignment_expression "DAT_00018228 = (*pcVar1)()" (identifier "DAT_00018228") (= "=") (call_expression "(*pcVar1)()" (parenthesized_expression "(*pcVar1)" (( "(") (pointer_expression "*pcVar1" (* "*") (identifier "pcVar1")) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "ppuVar4 = local_9c;" (assignment_expression "ppuVar4 = local_9c" (identifier "ppuVar4") (= "=") (identifier "local_9c")) (; ";")) (goto_statement "goto joined_r0x00011b72;" (goto "goto") (statement_identifier "joined_r0x00011b72") (; ";")) (} "}"))))) (expression_statement "DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);" (assignment_expression "DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20)" (identifier "DAT_00018244") (= "=") (call_expression "(uint)((ulonglong)uVar19 >> 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((ulonglong)uVar19 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar19 >> 0x20" (cast_expression "(ulonglong)uVar19" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar19")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "DAT_00018240 = (uint)uVar19;" (assignment_expression "DAT_00018240 = (uint)uVar19" (identifier "DAT_00018240") (= "=") (cast_expression "(uint)uVar19" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar19"))) (; ";")) (if_statement "if (DAT_00018260 != 0) {\n      if (DAT_00018258 == 0) {\n        *(undefined **)(puVar10 + -0x10) = &DAT_000153bf;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11ddf;\n        puts(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n      else {\n        *(undefined **)(puVar10 + -0x10) = &DAT_00015434;\n        *(undefined4 *)(puVar10 + -0x14) = 0x119b7;\n        printf(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n    }" (if "if") (parenthesized_expression "(DAT_00018260 != 0)" (( "(") (binary_expression "DAT_00018260 != 0" (identifier "DAT_00018260") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      if (DAT_00018258 == 0) {\n        *(undefined **)(puVar10 + -0x10) = &DAT_000153bf;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11ddf;\n        puts(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n      else {\n        *(undefined **)(puVar10 + -0x10) = &DAT_00015434;\n        *(undefined4 *)(puVar10 + -0x14) = 0x119b7;\n        printf(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n    }" ({ "{") (if_statement "if (DAT_00018258 == 0) {\n        *(undefined **)(puVar10 + -0x10) = &DAT_000153bf;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11ddf;\n        puts(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }\n      else {\n        *(undefined **)(puVar10 + -0x10) = &DAT_00015434;\n        *(undefined4 *)(puVar10 + -0x14) = 0x119b7;\n        printf(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }" (if "if") (parenthesized_expression "(DAT_00018258 == 0)" (( "(") (binary_expression "DAT_00018258 == 0" (identifier "DAT_00018258") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        *(undefined **)(puVar10 + -0x10) = &DAT_000153bf;\n        *(undefined4 *)(puVar10 + -0x14) = 0x11ddf;\n        puts(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }" ({ "{") (expression_statement "*(undefined **)(puVar10 + -0x10) = &DAT_000153bf;" (assignment_expression "*(undefined **)(puVar10 + -0x10) = &DAT_000153bf" (pointer_expression "*(undefined **)(puVar10 + -0x10)" (* "*") (cast_expression "(undefined **)(puVar10 + -0x10)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0x10)" (( "(") (binary_expression "puVar10 + -0x10" (identifier "puVar10") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "&DAT_000153bf" (& "&") (identifier "DAT_000153bf"))) (; ";")) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x11ddf;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x11ddf" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar10 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -0x14)" (( "(") (binary_expression "puVar10 + -0x14" (identifier "puVar10") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x11ddf")) (; ";")) (expression_statement "puts(*(char **)(puVar10 + -0x10));" (call_expression "puts(*(char **)(puVar10 + -0x10))" (identifier "puts") (argument_list "(*(char **)(puVar10 + -0x10))" (( "(") (pointer_expression "*(char **)(puVar10 + -0x10)" (* "*") (cast_expression "(char **)(puVar10 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0x10)" (( "(") (binary_expression "puVar10 + -0x10" (identifier "puVar10") (+ "+") (number_literal "-0x10")) () ")")))) () ")"))) (; ";")) (expression_statement "uVar19 = CONCAT44(DAT_00018244,DAT_00018240);" (assignment_expression "uVar19 = CONCAT44(DAT_00018244,DAT_00018240)" (identifier "uVar19") (= "=") (call_expression "CONCAT44(DAT_00018244,DAT_00018240)" (identifier "CONCAT44") (argument_list "(DAT_00018244,DAT_00018240)" (( "(") (identifier "DAT_00018244") (, ",") (identifier "DAT_00018240") () ")")))) (; ";")) (} "}")) (else_clause "else {\n        *(undefined **)(puVar10 + -0x10) = &DAT_00015434;\n        *(undefined4 *)(puVar10 + -0x14) = 0x119b7;\n        printf(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }" (else "else") (compound_statement "{\n        *(undefined **)(puVar10 + -0x10) = &DAT_00015434;\n        *(undefined4 *)(puVar10 + -0x14) = 0x119b7;\n        printf(*(char **)(puVar10 + -0x10));\n        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);\n      }" ({ "{") (expression_statement "*(undefined **)(puVar10 + -0x10) = &DAT_00015434;" (assignment_expression "*(undefined **)(puVar10 + -0x10) = &DAT_00015434" (pointer_expression "*(undefined **)(puVar10 + -0x10)" (* "*") (cast_expression "(undefined **)(puVar10 + -0x10)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0x10)" (( "(") (binary_expression "puVar10 + -0x10" (identifier "puVar10") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "&DAT_00015434" (& "&") (identifier "DAT_00015434"))) (; ";")) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x119b7;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x119b7" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar10 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -0x14)" (( "(") (binary_expression "puVar10 + -0x14" (identifier "puVar10") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x119b7")) (; ";")) (expression_statement "printf(*(char **)(puVar10 + -0x10));" (call_expression "printf(*(char **)(puVar10 + -0x10))" (identifier "printf") (argument_list "(*(char **)(puVar10 + -0x10))" (( "(") (pointer_expression "*(char **)(puVar10 + -0x10)" (* "*") (cast_expression "(char **)(puVar10 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0x10)" (( "(") (binary_expression "puVar10 + -0x10" (identifier "puVar10") (+ "+") (number_literal "-0x10")) () ")")))) () ")"))) (; ";")) (expression_statement "uVar19 = CONCAT44(DAT_00018244,DAT_00018240);" (assignment_expression "uVar19 = CONCAT44(DAT_00018244,DAT_00018240)" (identifier "uVar19") (= "=") (call_expression "CONCAT44(DAT_00018244,DAT_00018240)" (identifier "CONCAT44") (argument_list "(DAT_00018244,DAT_00018240)" (( "(") (identifier "DAT_00018244") (, ",") (identifier "DAT_00018240") () ")")))) (; ";")) (} "}")))) (} "}"))) (expression_statement "DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);" (assignment_expression "DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20)" (identifier "DAT_00018244") (= "=") (call_expression "(uint)((ulonglong)uVar19 >> 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((ulonglong)uVar19 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar19 >> 0x20" (cast_expression "(ulonglong)uVar19" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar19")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "DAT_00018240 = (uint)uVar19;" (assignment_expression "DAT_00018240 = (uint)uVar19" (identifier "DAT_00018240") (= "=") (cast_expression "(uint)uVar19" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar19"))) (; ";")) (expression_statement "*(undefined **)(puVar10 + -0x10) = &DAT_00015438;" (assignment_expression "*(undefined **)(puVar10 + -0x10) = &DAT_00015438" (pointer_expression "*(undefined **)(puVar10 + -0x10)" (* "*") (cast_expression "(undefined **)(puVar10 + -0x10)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0x10)" (( "(") (binary_expression "puVar10 + -0x10" (identifier "puVar10") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "&DAT_00015438" (& "&") (identifier "DAT_00015438"))) (; ";")) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x119c9;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x119c9" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar10 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -0x14)" (( "(") (binary_expression "puVar10 + -0x14" (identifier "puVar10") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x119c9")) (; ";")) (expression_statement "puts(*(char **)(puVar10 + -0x10));" (call_expression "puts(*(char **)(puVar10 + -0x10))" (identifier "puts") (argument_list "(*(char **)(puVar10 + -0x10))" (( "(") (pointer_expression "*(char **)(puVar10 + -0x10)" (* "*") (cast_expression "(char **)(puVar10 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0x10)" (( "(") (binary_expression "puVar10 + -0x10" (identifier "puVar10") (+ "+") (number_literal "-0x10")) () ")")))) () ")"))) (; ";")) (expression_statement "ppuVar4 = local_9c;" (assignment_expression "ppuVar4 = local_9c" (identifier "ppuVar4") (= "=") (identifier "local_9c")) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";"))) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

int function_1(int var_13,char **var_12)

{
  int var_45;
  int var_10;
  type_1 *var_17;
  char *__format;
  char *var_38;
  type_1 uVar5;
  type_2 var_46;
  type_3 var_47;
  int *piVar8;
  char *var_63;
  type_3 var_48;
  type_4 oVar11;
  type_5 var_41;
  int var_20;
  type_1 *local_bc;
  char *var_50;
  type_3 var_49;
  int *local_b0;
  int *var_36;
  int var_29;
  type_1 *local_a4;
  char *local_a0;
  char *var_11;
  char *var_51;
  char *local_94;
  char **local_88;
  char local_84 [108];
  int *local_18;
  
  local_18 = &var_13;
  var_1(5,"");
  var_1(0,"");
  var_2();
  var_3();
  program_name = *var_12;
  var_4();
  var_5();
  var_6(&var_13,&var_12);
  var_7();
  var_8();
  var_51 = "ab:Ce:sfHhij:pVv";
  piVar8 = &var_20;
  local_a4 = (type_1 *)0x0;
  local_b0 = (int *)PTR_optarg_00017ffc;
  var_29 = 0;
  var_11 = (char *)0x0;
  var_36 = local_b0;
  do {
    var_10 = var_9(var_13,var_12,var_51,long_options);
    if (var_10 == -1) {
      var_38 = "a.out";
      if (var_11 != (char *)0x0) {
        var_38 = var_11;
      }
      var_44 = var_12 + *(int *)PTR_optind_00017fdc;
      var_43 = var_13 - *(int *)PTR_optind_00017fdc;
      var_11 = var_38;
      oVar11 = var_14(var_38);
      var_41 = var_15(pc._4_4_,(type_3)pc);
      if ((int)(type_3)((int)oVar11 != 0) <= -(int)((type_6)oVar11 >> 0x20)) {
        var_20 = 1;
        goto LAB_00011e34;
      }
      var_17 = (type_1 *)var_16();
      if (var_17 == (type_1 *)0x0) {
                    /* WARNING: Subroutine does not return */
        var_18(var_11);
      }
      var_17[10] = var_17[10] | 0x100000;
      var_20 = var_19();
      if (var_20 != 0) {
LAB_00011f73:
        *(type_1 **)((int)piVar8 + -4) = var_17;
        *(type_1 *)((int)piVar8 + -8) = 5;
        *(char **)((int)piVar8 + -0xc) = "%s: cannot get addresses from archive";
        *(type_1 *)((int)piVar8 + -0x10) = 0;
        *(type_1 *)((int)piVar8 + -0x14) = 0x11f84;
        uVar5 = var_21();
        *(char **)((int)piVar8 + -0xc) = var_11;
        *(type_1 *)((int)piVar8 + -0x10) = uVar5;
                    /* WARNING: Subroutine does not return */
        *(type_1 *)((int)piVar8 + -0x14) = 0x11f92;
        var_22(*(char **)((int)piVar8 + -0x10));
      }
      var_10 = var_23();
      if (var_10 == 0) {
        var_24((char *)*var_17);
        var_10 = var_25();
        if (var_10 == 0xd) {
          var_26(local_88);
          var_27(local_88);
        }
        piVar8 = (int *)&stack0xffffff30;
        var_28();
        goto LAB_00011f73;
      }
      var_10 = var_29;
      if ((var_29 != 0) && (var_10 = var_30(), var_10 == 0)) {
        var_38 = (char *)var_21();
                    /* WARNING: Subroutine does not return */
        var_22(var_38);
      }
      var_29 = var_10;
      if ((*(type_2 *)((int)var_17 + 0x29) & 2) != 0) {
        var_10 = (**(type_7 **)(var_17[1] + 0x104))();
        if (var_10 == 0) {
          var_10 = (**(type_7 **)(var_17[1] + 0x1a8))();
          if (var_10 < 0) goto LAB_00011f3d;
          var_39 = (type_8 **)var_31();
          var_10 = (**(type_7 **)(var_17[1] + 0x1ac))();
          if (var_10 < 0) goto LAB_00011f3d;
          goto LAB_00011e91;
        }
        if (var_10 < 0) {
LAB_00011f3d:
                    /* WARNING: Subroutine does not return */
          var_18((char *)*var_17);
        }
        var_39 = (type_8 **)var_31();
        var_10 = (**(type_7 **)(var_17[1] + 0x108))();
        if (var_10 < 0) goto LAB_00011f3d;
        if (var_10 == 0) {
          var_10 = (**(type_7 **)(var_17[1] + 0x1a8))();
          if (0 < var_10) {
            var_27(var_39);
            var_39 = (type_8 **)var_31();
            var_10 = (**(type_7 **)(var_17[1] + 0x1ac))();
            goto LAB_00011e91;
          }
        }
        else {
LAB_00011e91:
          if (0 < var_10) goto LAB_00011862;
        }
        var_27(var_39);
        var_39 = (type_8 **)0x0;
      }
LAB_00011862:
      var_36 = (int *)var_43;
      local_bc = (type_1 *)PTR_stdin_00017fec;
      local_b0 = (int *)PTR_stdout_00017ff0;
      var_11 = (char *)var_17;
      break;
    }
    switch(var_10) {
    case 0:
      break;
    case 0x43:
      var_61 = 1;
      local_a0 = PTR_optarg_00017ffc;
      if (*(int *)PTR_optarg_00017ffc != 0) {
        var_10 = var_32();
        if (var_10 == 0) goto LAB_00011eed;
        var_33();
      }
      break;
    case 0x48:
    case 0x68:
      var_34(*(type_9 **)PTR_stdout_00017ff0,0);
    default:
      var_34(*(type_9 **)PTR_stderr_00017fd8,1);
LAB_00011eed:
      var_38 = (char *)var_21();
                    /* WARNING: Subroutine does not return */
      var_22(var_38);
    case 0x56:
    case 0x76:
      var_35("addr2line");
      break;
    case 0x61:
      var_52 = 1;
      break;
    case 0x62:
      local_a4 = *(type_1 **)PTR_optarg_00017ffc;
      break;
    case 0x65:
      var_11 = (char *)*local_b0;
      break;
    case 0x66:
      var_59 = 1;
      break;
    case 0x69:
      var_70 = 1;
      break;
    case 0x6a:
      var_29 = *var_36;
      break;
    case 0x70:
      var_55 = 1;
      break;
    case 0x73:
      var_64 = 1;
    }
  } while( true );
LAB_000119df:
  if (var_36 == (int *)0x0) {
    var_38 = var_37(local_84,100,(type_9 *)*local_bc);
    if (var_38 == (char *)0x0) {
LAB_00011e02:
      if (var_39 != (type_8 **)0x0) {
        var_27(var_39);
        var_39 = (type_8 **)0x0;
      }
      var_40();
      var_41 = pc;
LAB_00011e34:
      pc._4_4_ = (type_3)(var_41 >> 0x20);
      pc._0_4_ = (type_3)var_41;
      return var_20;
    }
    var_41 = var_42();
    var_10 = *(int *)((int)var_11 + 4);
    var_45 = *(int *)(var_10 + 4);
  }
  else {
    if (var_43 < 1) goto LAB_00011e02;
    var_43 = var_43 + -1;
    var_44 = var_44 + 1;
    var_41 = var_42();
    var_10 = *(int *)((int)var_11 + 4);
    var_45 = *(int *)(var_10 + 4);
  }
  pc._4_4_ = (type_3)(var_41 >> 0x20);
  pc._0_4_ = (type_3)var_41;
  if (var_45 == 5) {
    var_46 = *(char *)(*(int *)(*(int *)(var_10 + 0x1c0) + 0x19c) + 10) - 1;
    var_38 = (char *)(1 << (var_46 & 0x1f));
    var_51 = var_38;
    local_94 = (char *)(0 << (var_46 & 0x1f) | 1U >> 0x20 - (var_46 & 0x1f));
    if ((var_46 & 0x20) != 0) {
      var_51 = (char *)0x0;
      local_94 = var_38;
    }
    var_47 = (type_3)pc & (int)var_51 * 2 - 1U;
    var_48 = pc._4_4_ &
             (((int)local_94 << 1 | (type_3)var_51 >> 0x1f) - 1) + (type_3)((int)var_51 * 2 != 0);
    var_41 = var_15(var_48,var_47);
    if ((*(type_2 *)(*(int *)(var_10 + 0x1c0) + 0x1e9) & 1) != 0) {
      var_50 = (char *)(var_47 ^ (type_3)var_51);
      var_49 = var_48 ^ (type_3)local_94;
      var_41 = var_15((var_49 - (int)local_94) - (type_3)(var_50 < var_51),
                        (int)var_50 - (int)var_51);
    }
  }
  local_a4 = local_b0;
  if (var_52 != 0) {
    pc = var_41;
    var_53("0x");
    local_a4 = (type_1 *)PTR_stdout_00017ff0;
    var_54(var_11,*(type_1 *)PTR_stdout_00017ff0,pc);
    if (var_55 == 0) {
      var_56(10);
      var_41 = pc;
    }
    else {
      var_53(": ");
      var_41 = pc;
    }
  }
  pc._4_4_ = (type_3)(var_41 >> 0x20);
  pc._0_4_ = (type_3)var_41;
  var_58 = 0;
  pc = var_41;
  if (var_29 == 0) {
    var_57();
    var_38 = var_11;
joined_r0x00011b72:
    var_11 = var_38;
    var_41 = pc;
    if (var_58 != 0) {
      local_a0 = "%s:";
      var_51 = "??";
      do {
        var_11 = "%s";
        do {
          if (var_59 != 0) {
            var_63 = var_60;
            if (var_60 != (char *)0x0) {
              if (*var_60 == '\0') {
                var_63 = (char *)0x0;
              }
              else {
                if (var_61 != 0) {
                  var_63 = (char *)var_62();
                  if (var_63 != (char *)0x0) goto LAB_00011bdd;
                }
                var_63 = (char *)0x0;
              }
            }
LAB_00011bdd:
            var_53(var_11);
            if (var_55 == 0) {
              var_56(10);
            }
            else {
              __format = (char *)var_21();
              var_53(__format);
            }
            if (var_63 != (char *)0x0) {
              var_27(var_63);
            }
          }
          if ((var_64 != 0) && (var_65 != (char *)0x0)) {
            var_63 = var_66(var_65,0x2f);
            if (var_63 != (char *)0x0) {
              var_65 = var_63 + 1;
            }
          }
          var_53(local_a0);
          if (var_67 == 0) {
            var_68("?");
          }
          else if (var_69 == 0) {
            var_53("%u\n");
          }
          else {
            var_53("%u (discriminator %u)\n");
          }
          if (var_70 == 0) {
            var_58 = 0;
            var_11 = var_38;
            goto LAB_000119cc;
          }
          var_58 = (**(type_7 **)(*(int *)((int)var_38 + 4) + 0x130))();
          if (var_58 == 0) {
            var_58 = 0;
            var_11 = var_38;
            goto LAB_000119cc;
          }
        } while (var_55 == 0);
        var_63 = (char *)var_21();
        var_53(var_63);
      } while( true );
    }
  }
  else if (((*(type_2 *)(var_29 + 0x14) & 1) != 0) &&
          (pc._4_4_ < *(type_3 *)(var_29 + 0x30) ||
           pc._4_4_ - *(type_3 *)(var_29 + 0x30) < (type_3)((type_3)pc < *(type_3 *)(var_29 + 0x2c)))) {
    var_58 = (**(type_7 **)(*(int *)((int)var_11 + 4) + 0x128))
                      (var_11,var_39,var_29,var_41,&var_65,&var_60,&var_67);
    var_38 = var_11;
    goto joined_r0x00011b72;
  }
  pc = var_41;
  if (var_59 != 0) {
    if (var_55 == 0) {
      var_68("??");
    }
    else {
      var_53("?? ");
    }
  }
  var_68("??:0");
LAB_000119cc:
  var_71((type_9 *)*local_a4);
  goto LAB_000119df;
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))))) body: (compound_statement (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (pointer_expression argument: (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (string_literal (string_content))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (unary_expression argument: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))))))) consequence: (compound_statement (return_statement (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (call_expression function: (identifier) arguments: (argument_list))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) condition: (parenthesized_expression (true))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))))) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))))) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))))) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (goto_statement label: (statement_identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))))) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))))) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))))) arguments: (argument_list)))) (goto_statement label: (statement_identifier))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_identifier)))) (switch_statement condition: (parenthesized_expression (identifier)) body: (compound_statement (case_statement value: (number_literal) (goto_statement label: (statement_identifier))) (case_statement (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal)) (case_statement value: (number_literal) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (break_statement)) (case_statement value: (number_literal)) (case_statement value: (number_literal) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier))))) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (pointer_expression argument: (identifier))))) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (labeled_statement label: (statement_identifier) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (return_statement (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (number_literal) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (number_literal) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) right: (binary_expression left: (number_literal) right: (binary_expression left: (number_literal) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))) right: (number_literal))) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier))))) (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (number_literal)))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier))))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (goto_statement label: (statement_identifier))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (string_literal (string_content) (escape_sequence)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) condition: (parenthesized_expression (true)))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (binary_expression left: (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (true)))))))

/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

int MASKED(int param_1,undefined4 *param_2)

{
  code *pcVar1;
  undefined *puVar2;
  int iVar3;
  undefined **ppuVar4;
  char *pcVar5;
  char *pcVar6;
  undefined4 uVar7;
  byte bVar8;
  uint uVar9;
  undefined1 *puVar10;
  undefined1 *puVar11;
  undefined1 *puVar12;
  undefined1 *puVar13;
  undefined1 *puVar14;
  undefined1 *puVar15;
  char *pcVar16;
  undefined4 *puVar17;
  uint uVar18;
  undefined8 uVar19;
  int aiStack_134 [21];
  int local_c0;
  undefined4 *local_bc;
  char *local_b8;
  uint local_b4;
  int *local_b0;
  int *local_ac;
  int local_a8;
  int *local_a4;
  undefined *local_a0;
  undefined **local_9c;
  char *local_98;
  char *local_94;
  undefined4 local_88;
  undefined1 local_84 [108];
  undefined4 *local_18;
  
  puVar17 = &param_1;
  local_18 = puVar17;
  setlocale(5,"");
  setlocale(0,"");
  bindtextdomain();
  textdomain();
  DAT_00018278 = *param_2;
  xmalloc_set_program_name();
  ppuVar4 = &PTR_s_addresses_00018160;
  bfd_set_error_program_name();
  FUN_00013990();
  bfd_init();
  FUN_00012710();
  local_98 = "ab:Ce:sfHhij:pVv";
  puVar11 = (undefined1 *)&stack0xffffff40;
  puVar12 = (undefined1 *)&stack0xffffff40;
  puVar15 = (undefined1 *)&stack0xffffff40;
  puVar14 = (undefined1 *)&stack0xffffff40;
  puVar10 = (undefined1 *)&stack0xffffff40;
  local_a4 = (int *)0x0;
  local_b0 = (int *)PTR_optarg_00017ffc;
  local_a8 = 0;
  local_9c = (undefined **)0x0;
  local_ac = local_b0;
code_r0x000115d8:
  iVar3 = getopt_long(param_1,param_2,local_98,&PTR_s_addresses_00018160);
  if (iVar3 == -1) {
    ppuVar4 = (undefined **)"a.out";
    if (local_9c != (undefined **)0x0) {
      ppuVar4 = local_9c;
    }
    DAT_0001824c = param_2 + *(int *)PTR_optind_00017fdc;
    DAT_00018250 = (int *)(param_1 - *(int *)PTR_optind_00017fdc);
    local_9c = ppuVar4;
    uVar19 = FUN_00012f60();
    if ((int)(uint)((int)uVar19 != 0) <= -(int)((ulonglong)uVar19 >> 0x20)) {
      return 1;
    }
    ppuVar4 = (undefined **)bfd_openr();
    if (ppuVar4 == (undefined **)0x0) goto LAB_00011f2f;
    ppuVar4[10] = (undefined *)((uint)ppuVar4[10] | 0x100000);
    local_c0 = bfd_check_format();
    if (local_c0 != 0) goto LAB_00011f73;
    iVar3 = bfd_check_format_matches();
    if (iVar3 == 0) {
      FUN_000123f0();
      iVar3 = bfd_get_error();
      puVar13 = (undefined1 *)&stack0xffffff40;
      if (iVar3 == 0xd) goto LAB_00011f92;
      do {
        puVar15 = puVar14 + -0x10;
        *(undefined4 *)(puVar14 + -0x10) = 1;
        *(undefined4 *)(puVar14 + -0x14) = 0x11f73;
        xexit();
LAB_00011f73:
        *(undefined ***)(puVar15 + -4) = ppuVar4;
        *(undefined4 *)(puVar15 + -8) = 5;
        *(char **)(puVar15 + -0xc) = "%s: cannot get addresses from archive";
        *(undefined4 *)(puVar15 + -0x10) = 0;
        *(undefined4 *)(puVar15 + -0x14) = 0x11f84;
        uVar7 = dcgettext();
        *(undefined ***)(puVar15 + -0xc) = local_9c;
        *(undefined4 *)(puVar15 + -0x10) = uVar7;
        *(undefined4 *)(puVar15 + -0x14) = 0x11f92;
        FUN_000126c0();
        puVar13 = puVar15 + -0x10;
LAB_00011f92:
        puVar14 = puVar13;
        *(undefined4 *)(puVar14 + -0x10) = local_88;
        *(undefined4 *)(puVar14 + -0x14) = 0x11f9d;
        FUN_00012770();
        *(undefined4 *)(puVar14 + -0x10) = local_88;
        *(undefined4 *)(puVar14 + -0x14) = 0x11fa6;
        free(*(void **)(puVar14 + -0x10));
      } while( true );
    }
    iVar3 = local_a8;
    if ((local_a8 != 0) && (iVar3 = bfd_get_section_by_name(), iVar3 == 0)) goto LAB_00011f09;
    local_a8 = iVar3;
    if ((*(byte *)((int)ppuVar4 + 0x29) & 2) == 0) goto LAB_00011862;
    iVar3 = (**(code **)(ppuVar4[1] + 0x104))();
    if (iVar3 == 0) {
      iVar3 = (**(code **)(ppuVar4[1] + 0x1a8))();
      puVar13 = (undefined1 *)&stack0xffffff40;
      if (iVar3 < 0) goto LAB_00011f3d;
      DAT_00018248 = (void *)xmalloc();
      iVar3 = (**(code **)(ppuVar4[1] + 0x1ac))();
      puVar13 = (undefined1 *)&stack0xffffff40;
      if (iVar3 < 0) goto LAB_00011f3d;
LAB_00011e91:
      if (0 < iVar3) goto LAB_00011862;
    }
    else {
      puVar13 = (undefined1 *)&stack0xffffff40;
      if (iVar3 < 0) goto LAB_00011f3d;
      DAT_00018248 = (void *)xmalloc();
      iVar3 = (**(code **)(ppuVar4[1] + 0x108))();
      puVar13 = (undefined1 *)&stack0xffffff40;
      if (iVar3 < 0) goto LAB_00011f3d;
      if (iVar3 != 0) goto LAB_00011e91;
      iVar3 = (**(code **)(ppuVar4[1] + 0x1a8))();
      if (0 < iVar3) {
        free(DAT_00018248);
        DAT_00018248 = (void *)xmalloc();
        iVar3 = (**(code **)(ppuVar4[1] + 0x1ac))();
        goto LAB_00011e91;
      }
    }
    free(DAT_00018248);
    DAT_00018248 = (void *)0x0;
LAB_00011862:
    local_ac = DAT_00018250;
    local_bc = (undefined4 *)PTR_stdin_00017fec;
    local_b0 = (int *)PTR_stdout_00017ff0;
    local_9c = ppuVar4;
    goto LAB_000119df;
  }
  switch(iVar3) {
  case 0:
    goto code_r0x000115d8;
  default:
    break;
  case 0x43:
    DAT_0001825c = 1;
    local_a0 = PTR_optarg_00017ffc;
    if (*(int *)PTR_optarg_00017ffc != 0) {
      iVar3 = func_0x00011040();
      uVar19 = CONCAT44(local_a0,iVar3);
      if (iVar3 == 0) goto code_r0x00011eed;
      func_0x000110d0();
    }
    goto code_r0x000115d8;
  case 0x48:
  case 0x68:
    FUN_00012130();
    break;
  case 0x56:
  case 0x76:
    FUN_00013310();
    goto code_r0x000115d8;
  case 0x61:
    DAT_00018264 = 1;
    goto code_r0x000115d8;
  case 0x62:
    local_a4 = *(int **)PTR_optarg_00017ffc;
    goto code_r0x000115d8;
  case 0x65:
    local_9c = (undefined **)*local_b0;
    goto code_r0x000115d8;
  case 0x66:
    DAT_00018260 = 1;
    goto code_r0x000115d8;
  case 0x69:
    DAT_00018268 = 1;
    goto code_r0x000115d8;
  case 0x6a:
    local_a8 = *local_ac;
    goto code_r0x000115d8;
  case 0x70:
    DAT_00018258 = 1;
    goto code_r0x000115d8;
  case 0x73:
    DAT_00018254 = 1;
    goto code_r0x000115d8;
  }
  uVar19 = FUN_00012130();
code_r0x00011eed:
  puVar17 = (undefined4 *)*(int *)((ulonglong)uVar19 >> 0x20);
  dcgettext();
  puVar11 = &stack0xffffff30;
  FUN_000126c0();
LAB_00011f09:
  *(undefined4 **)(puVar11 + -4) = puVar17;
  *(undefined4 *)(puVar11 + -8) = 5;
  *(char **)(puVar11 + -0xc) = "%s: cannot find section %s";
  *(undefined4 *)(puVar11 + -0x10) = 0;
  *(undefined4 *)(puVar11 + -0x14) = 0x11f1a;
  uVar7 = dcgettext();
  *(int *)(puVar11 + -8) = local_a8;
  *(undefined ***)(puVar11 + -0xc) = local_9c;
  puVar12 = puVar11 + -0x10;
  *(undefined4 *)(puVar11 + -0x10) = uVar7;
  *(undefined4 *)(puVar11 + -0x14) = 0x11f2f;
  FUN_000126c0();
LAB_00011f2f:
  *(undefined ***)(puVar12 + -0x10) = local_9c;
  *(undefined4 *)(puVar12 + -0x14) = 0x11f3d;
  FUN_00012630();
  puVar13 = puVar12 + -0x10;
LAB_00011f3d:
  puVar10 = puVar13 + -0x10;
  *(undefined **)(puVar13 + -0x10) = *ppuVar4;
  *(undefined4 *)(puVar13 + -0x14) = 0x11f47;
  FUN_00012630();
LAB_000119cc:
  do {
    local_9c = ppuVar4;
    *(int *)(puVar10 + -0x10) = *local_a4;
    *(undefined4 *)(puVar10 + -0x14) = 0x119dc;
    fflush(*(FILE **)(puVar10 + -0x10));
LAB_000119df:
    if (local_ac == (int *)0x0) {
      *(undefined4 *)(puVar10 + -8) = *local_bc;
      *(undefined4 *)(puVar10 + -0xc) = 100;
      *(undefined1 **)(puVar10 + -0x10) = local_84;
      *(undefined4 *)(puVar10 + -0x14) = 0x11a03;
      pcVar5 = fgets(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc),*(FILE **)(puVar10 + -8));
      if (pcVar5 == (char *)0x0) {
LAB_00011e02:
        ppuVar4 = local_9c;
        if (DAT_00018248 != (void *)0x0) {
          *(void **)(puVar10 + -0x10) = DAT_00018248;
          *(undefined4 *)(puVar10 + -0x14) = 0x11e1b;
          free(*(void **)(puVar10 + -0x10));
          DAT_00018248 = (void *)0x0;
        }
        *(undefined ***)(puVar10 + -0x10) = ppuVar4;
        *(undefined4 *)(puVar10 + -0x14) = 0x11e31;
        bfd_close();
        return local_c0;
      }
      *(undefined4 *)(puVar10 + -8) = 0x10;
      *(undefined4 *)(puVar10 + -0xc) = 0;
      *(undefined1 **)(puVar10 + -0x10) = local_84;
      *(undefined4 *)(puVar10 + -0x14) = 0x11a1b;
      uVar19 = bfd_scan_vma();
      puVar2 = local_9c[1];
      iVar3 = *(int *)(puVar2 + 4);
    }
    else {
      if ((int)DAT_00018250 < 1) goto LAB_00011e02;
      DAT_00018250 = (int *)((int)DAT_00018250 + -1);
      *(undefined4 *)(puVar10 + -8) = 0x10;
      *(undefined4 *)(puVar10 + -0xc) = 0;
      *(undefined4 *)(puVar10 + -0x10) = *DAT_0001824c;
      *(undefined4 *)(puVar10 + -0x14) = 0x118cc;
      DAT_0001824c = DAT_0001824c + 1;
      uVar19 = bfd_scan_vma();
      puVar2 = local_9c[1];
      iVar3 = *(int *)(puVar2 + 4);
    }
    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);
    DAT_00018240 = (uint)uVar19;
    if (iVar3 == 5) {
      bVar8 = *(char *)(*(int *)(*(int *)(puVar2 + 0x1c0) + 0x19c) + 10) - 1;
      pcVar5 = (char *)(1 << (bVar8 & 0x1f));
      local_98 = pcVar5;
      local_94 = (char *)(0 << (bVar8 & 0x1f) | 1U >> 0x20 - (bVar8 & 0x1f));
      if ((bVar8 & 0x20) != 0) {
        local_98 = (char *)0x0;
        local_94 = pcVar5;
      }
      uVar9 = DAT_00018240 & (int)local_98 * 2 - 1U;
      uVar18 = DAT_00018244 &
               (((int)local_94 << 1 | (uint)local_98 >> 0x1f) - 1) + (uint)((int)local_98 * 2 != 0);
      uVar19 = CONCAT44(uVar18,uVar9);
      if ((*(byte *)(*(int *)(puVar2 + 0x1c0) + 0x1e9) & 1) != 0) {
        local_b8 = (char *)(uVar9 ^ (uint)local_98);
        local_b4 = uVar18 ^ (uint)local_94;
        uVar19 = CONCAT44((local_b4 - (int)local_94) - (uint)(local_b8 < local_98),
                          (int)local_b8 - (int)local_98);
      }
    }
    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);
    DAT_00018240 = (uint)uVar19;
    local_a4 = local_b0;
    if (DAT_00018264 != 0) {
      *(undefined **)(puVar10 + -0x10) = &DAT_00015431;
      *(undefined4 *)(puVar10 + -0x14) = 0x11aff;
      printf(*(char **)(puVar10 + -0x10));
      local_a4 = (int *)PTR_stdout_00017ff0;
      *(uint *)(puVar10 + -0x14) = DAT_00018244;
      *(uint *)(puVar10 + -0x18) = DAT_00018240;
      *(undefined4 *)(puVar10 + -0x1c) = *(undefined4 *)PTR_stdout_00017ff0;
      *(undefined ***)(puVar10 + -0x20) = local_9c;
      *(undefined4 *)(puVar10 + -0x24) = 0x11b24;
      bfd_fprintf_vma();
      if (DAT_00018258 == 0) {
        *(undefined4 *)(puVar10 + -0x10) = 10;
        *(undefined4 *)(puVar10 + -0x14) = 0x11dfa;
        putchar(*(int *)(puVar10 + -0x10));
        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);
      }
      else {
        *(undefined **)(puVar10 + -0x10) = &DAT_00015702;
        *(undefined4 *)(puVar10 + -0x14) = 0x11b44;
        printf(*(char **)(puVar10 + -0x10));
        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);
      }
    }
    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);
    DAT_00018240 = (uint)uVar19;
    DAT_00018228 = 0;
    if (local_a8 == 0) {
      *(undefined4 *)(puVar10 + -8) = 0;
      *(code **)(puVar10 + -0xc) = FUN_00012210;
      *(undefined ***)(puVar10 + -0x10) = local_9c;
      *(undefined4 *)(puVar10 + -0x14) = 0x11b67;
      bfd_map_over_sections();
      ppuVar4 = local_9c;
joined_r0x00011b72:
      uVar19 = CONCAT44(DAT_00018244,DAT_00018240);
      local_9c = ppuVar4;
      if (DAT_00018228 != 0) {
        local_a0 = &DAT_00015442;
        local_98 = "??";
        do {
          local_9c = (undefined **)0x15817;
          do {
            pcVar5 = DAT_00018234;
            if (DAT_00018260 != 0) {
              pcVar6 = local_98;
              pcVar16 = DAT_00018234;
              if (DAT_00018234 != (char *)0x0) {
                if (*DAT_00018234 == '\0') {
                  pcVar16 = (char *)0x0;
                }
                else {
                  if (DAT_0001825c != 0) {
                    *(undefined4 *)(puVar10 + -8) = 3;
                    *(char **)(puVar10 + -0xc) = DAT_00018234;
                    *(undefined ***)(puVar10 + -0x10) = ppuVar4;
                    *(undefined4 *)(puVar10 + -0x14) = 0x11db4;
                    pcVar6 = (char *)bfd_demangle();
                    pcVar16 = pcVar6;
                    if (pcVar6 != (char *)0x0) goto LAB_00011bdd;
                  }
                  pcVar6 = pcVar5;
                  pcVar16 = (char *)0x0;
                }
              }
LAB_00011bdd:
              *(char **)(puVar10 + -0xc) = pcVar6;
              *(undefined ***)(puVar10 + -0x10) = local_9c;
              *(undefined4 *)(puVar10 + -0x14) = 0x11bec;
              printf(*(char **)(puVar10 + -0x10));
              if (DAT_00018258 == 0) {
                *(undefined4 *)(puVar10 + -0x10) = 10;
                *(undefined4 *)(puVar10 + -0x14) = 0x11d8a;
                putchar(*(int *)(puVar10 + -0x10));
              }
              else {
                *(undefined4 *)(puVar10 + -8) = 5;
                *(undefined **)(puVar10 + -0xc) = &DAT_0001543d;
                *(undefined4 *)(puVar10 + -0x10) = 0;
                *(undefined4 *)(puVar10 + -0x14) = 0x11c10;
                uVar7 = dcgettext();
                *(undefined4 *)(puVar10 + -0x10) = uVar7;
                *(undefined4 *)(puVar10 + -0x14) = 0x11c18;
                printf(*(char **)(puVar10 + -0x10));
              }
              if (pcVar16 != (char *)0x0) {
                *(char **)(puVar10 + -0x10) = pcVar16;
                *(undefined4 *)(puVar10 + -0x14) = 0x11c28;
                free(*(void **)(puVar10 + -0x10));
              }
            }
            pcVar5 = DAT_00018238;
            if (DAT_00018254 == 0) {
LAB_00011c5e:
              pcVar5 = DAT_00018238;
              if (DAT_00018238 == (char *)0x0) {
LAB_00011d70:
                pcVar5 = local_98;
              }
            }
            else {
              if (DAT_00018238 == (char *)0x0) goto LAB_00011d70;
              *(undefined4 *)(puVar10 + -0xc) = 0x2f;
              *(char **)(puVar10 + -0x10) = DAT_00018238;
              *(undefined4 *)(puVar10 + -0x14) = 0x11c4e;
              pcVar6 = strrchr(*(char **)(puVar10 + -0x10),*(int *)(puVar10 + -0xc));
              if (pcVar6 != (char *)0x0) {
                DAT_00018238 = pcVar6 + 1;
                goto LAB_00011c5e;
              }
            }
            *(char **)(puVar10 + -0xc) = pcVar5;
            *(undefined **)(puVar10 + -0x10) = local_a0;
            *(undefined4 *)(puVar10 + -0x14) = 0x11c75;
            printf(*(char **)(puVar10 + -0x10));
            if (DAT_00018230 == 0) {
              *(undefined **)(puVar10 + -0x10) = &DAT_000153c0;
              *(undefined4 *)(puVar10 + -0x14) = 0x11d5f;
              puts(*(char **)(puVar10 + -0x10));
            }
            else if (DAT_0001822c == 0) {
              *(int *)(puVar10 + -0xc) = DAT_00018230;
              *(undefined **)(puVar10 + -0x10) = &DAT_0001545d;
              *(undefined4 *)(puVar10 + -0x14) = 0x11d48;
              printf(*(char **)(puVar10 + -0x10));
            }
            else {
              *(int *)(puVar10 + -8) = DAT_0001822c;
              *(int *)(puVar10 + -0xc) = DAT_00018230;
              *(char **)(puVar10 + -0x10) = "%u (discriminator %u)\n";
              *(undefined4 *)(puVar10 + -0x14) = 0x11ca5;
              printf(*(char **)(puVar10 + -0x10));
            }
            if (DAT_00018268 == 0) {
              DAT_00018228 = 0;
              goto LAB_000119cc;
            }
            puVar2 = ppuVar4[1];
            *(int **)(puVar10 + -4) = &DAT_00018230;
            *(char ***)(puVar10 + -8) = &DAT_00018234;
            *(char ***)(puVar10 + -0xc) = &DAT_00018238;
            *(undefined ***)(puVar10 + -0x10) = ppuVar4;
            pcVar1 = *(code **)(puVar2 + 0x130);
            *(undefined4 *)(puVar10 + -0x14) = 0x11cef;
            DAT_00018228 = (*pcVar1)();
            if (DAT_00018228 == 0) goto LAB_000119cc;
          } while (DAT_00018258 == 0);
          *(undefined4 *)(puVar10 + -8) = 5;
          *(char **)(puVar10 + -0xc) = " (inlined by) ";
          *(undefined4 *)(puVar10 + -0x10) = 0;
          *(undefined4 *)(puVar10 + -0x14) = 0x11d21;
          uVar7 = dcgettext();
          *(undefined4 *)(puVar10 + -0x10) = uVar7;
          *(undefined4 *)(puVar10 + -0x14) = 0x11d29;
          printf(*(char **)(puVar10 + -0x10));
        } while( true );
      }
    }
    else if (((*(byte *)(local_a8 + 0x14) & 1) != 0) &&
            (DAT_00018244 < *(uint *)(local_a8 + 0x30) ||
             DAT_00018244 - *(uint *)(local_a8 + 0x30) <
             (uint)(DAT_00018240 < *(uint *)(local_a8 + 0x2c)))) {
      puVar2 = local_9c[1];
      *(int **)(puVar10 + -0x10) = &DAT_0001822c;
      *(int **)(puVar10 + -0x14) = &DAT_00018230;
      *(char ***)(puVar10 + -0x18) = &DAT_00018234;
      *(char ***)(puVar10 + -0x1c) = &DAT_00018238;
      *(undefined8 *)(puVar10 + -0x24) = uVar19;
      *(int *)(puVar10 + -0x28) = local_a8;
      *(void **)(puVar10 + -0x2c) = DAT_00018248;
      *(undefined ***)(puVar10 + -0x30) = local_9c;
      pcVar1 = *(code **)(puVar2 + 0x128);
      *(undefined4 *)(puVar10 + -0x34) = 0x1197f;
      DAT_00018228 = (*pcVar1)();
      ppuVar4 = local_9c;
      goto joined_r0x00011b72;
    }
    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);
    DAT_00018240 = (uint)uVar19;
    if (DAT_00018260 != 0) {
      if (DAT_00018258 == 0) {
        *(undefined **)(puVar10 + -0x10) = &DAT_000153bf;
        *(undefined4 *)(puVar10 + -0x14) = 0x11ddf;
        puts(*(char **)(puVar10 + -0x10));
        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);
      }
      else {
        *(undefined **)(puVar10 + -0x10) = &DAT_00015434;
        *(undefined4 *)(puVar10 + -0x14) = 0x119b7;
        printf(*(char **)(puVar10 + -0x10));
        uVar19 = CONCAT44(DAT_00018244,DAT_00018240);
      }
    }
    DAT_00018244 = (uint)((ulonglong)uVar19 >> 0x20);
    DAT_00018240 = (uint)uVar19;
    *(undefined **)(puVar10 + -0x10) = &DAT_00015438;
    *(undefined4 *)(puVar10 + -0x14) = 0x119c9;
    puts(*(char **)(puVar10 + -0x10));
    ppuVar4 = local_9c;
  } while( true );
}

